1 /*
2 Open Asset Import Library (ASSIMP)
3 ----------------------------------------------------------------------
4 
5 Copyright (c) 2006-2018, ASSIMP Development Team
6 All rights reserved.
7 
8 Redistribution and use of this software in source and binary forms,
9 with or without modification, are permitted provided that the
10 following conditions are met:
11 
12 * Redistributions of source code must retain the above
13   copyright notice, this list of conditions and the
14   following disclaimer.
15 
16 * Redistributions in binary form must reproduce the above
17   copyright notice, this list of conditions and the
18   following disclaimer in the documentation and/or other
19   materials provided with the distribution.
20 
21 * Neither the name of the ASSIMP team, nor the names of its
22   contributors may be used to endorse or promote products
23   derived from this software without specific prior
24   written permission of the ASSIMP Development Team.
25 
26 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
27 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
28 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
29 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
30 OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
31 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
32 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
33 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
34 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
35 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
36 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 
38 ----------------------------------------------------------------------
39 */
40 
41 /** MACHINE-GENERATED by scripts/ICFImporter/CppGenerator.py */
42 
43 #ifndef INCLUDED_STEPFILE_READER_GEN_H
44 #define INCLUDED_STEPFILE_READER_GEN_H
45 
46 #include "code/Step/STEPFile.h"
47 
48 namespace Assimp {
49 namespace StepFile {
50 	using namespace STEP;
51 	using namespace STEP::EXPRESS;
52 
53 
54 	struct NotImplemented : public ObjectHelper<NotImplemented,0> {
55 
56 	};
57 
58 
59 	// ******************************************************************************
60 	// StepFile Custom data types
61 	// ******************************************************************************
62 
63 
64     // C++ wrapper type for absorbed_dose_measure
65     typedef REAL absorbed_dose_measure;
66     // C++ wrapper type for acceleration_measure
67     typedef REAL acceleration_measure;
68     // C++ wrapper type for action_items
69     typedef SELECT action_items;
70     // C++ wrapper type for action_method_items
71     typedef SELECT action_method_items;
72     // C++ wrapper type for action_request_item
73     typedef SELECT action_request_item;
74     // C++ wrapper type for ahead_or_behind
75     typedef ENUMERATION ahead_or_behind;
76     // C++ wrapper type for amount_of_substance_measure
77     typedef REAL amount_of_substance_measure;
78     // C++ wrapper type for angle_direction_reference_select
79     typedef SELECT angle_direction_reference_select;
80     // C++ wrapper type for angle_direction_reference_with_a2p3d_select
81     typedef SELECT angle_direction_reference_with_a2p3d_select;
82     // C++ wrapper type for angle_relator
83     typedef ENUMERATION angle_relator;
84     // C++ wrapper type for annotation_plane_element
85     typedef SELECT annotation_plane_element;
86     // C++ wrapper type for annotation_representation_select
87     typedef SELECT annotation_representation_select;
88     // C++ wrapper type for annotation_symbol_occurrence_item
89     typedef SELECT annotation_symbol_occurrence_item;
90     // C++ wrapper type for annotation_text_occurrence_item
91     typedef SELECT annotation_text_occurrence_item;
92     // C++ wrapper type for approval_item
93     typedef SELECT approval_item;
94     // C++ wrapper type for approved_item
95     typedef SELECT approved_item;
96     // C++ wrapper type for area_measure
97     typedef REAL area_measure;
98     // C++ wrapper type for area_or_view
99     typedef SELECT area_or_view;
100     // C++ wrapper type for attribute_classification_item
101     typedef SELECT attribute_classification_item;
102     // C++ wrapper type for attribute_language_item
103     typedef SELECT attribute_language_item;
104     // C++ wrapper type for attribute_type
105     typedef SELECT attribute_type;
106     // C++ wrapper type for axis2_placement
107     typedef SELECT axis2_placement;
108     // C++ wrapper type for b_spline_curve_form
109     typedef ENUMERATION b_spline_curve_form;
110     // C++ wrapper type for b_spline_surface_form
111     typedef ENUMERATION b_spline_surface_form;
112     // C++ wrapper type for base_solid_select
113     typedef SELECT base_solid_select;
114     // C++ wrapper type for blend_end_condition_select
115     typedef SELECT blend_end_condition_select;
116     // C++ wrapper type for blend_radius_variation_type
117     typedef ENUMERATION blend_radius_variation_type;
118     // C++ wrapper type for boolean_operand
119     typedef SELECT boolean_operand;
120     // C++ wrapper type for boolean_operator
121     typedef ENUMERATION boolean_operator;
122     // C++ wrapper type for box_characteristic_select
123     typedef SELECT box_characteristic_select;
124     // C++ wrapper type for box_height
125     typedef REAL box_height;
126     // C++ wrapper type for box_rotate_angle
127     typedef REAL box_rotate_angle;
128     // C++ wrapper type for box_slant_angle
129     typedef REAL box_slant_angle;
130     // C++ wrapper type for box_width
131     typedef REAL box_width;
132     // C++ wrapper type for camera_model_d3_multi_clipping_interection_select
133     typedef SELECT camera_model_d3_multi_clipping_interection_select;
134     // C++ wrapper type for camera_model_d3_multi_clipping_union_select
135     typedef SELECT camera_model_d3_multi_clipping_union_select;
136     // C++ wrapper type for capacitance_measure
137     typedef REAL capacitance_measure;
138     // C++ wrapper type for category_usage_item
139     typedef SELECT category_usage_item;
140     // C++ wrapper type for cc_classified_item
141     typedef SELECT cc_classified_item;
142     // C++ wrapper type for cc_person_organization_item
143     typedef SELECT cc_person_organization_item;
144     // C++ wrapper type for cc_specified_item
145     typedef SELECT cc_specified_item;
146     // C++ wrapper type for celsius_temperature_measure
147     typedef REAL celsius_temperature_measure;
148     // C++ wrapper type for central_or_parallel
149     typedef ENUMERATION central_or_parallel;
150     // C++ wrapper type for certification_item
151     typedef SELECT certification_item;
152     // C++ wrapper type for certified_item
153     typedef SELECT certified_item;
154     // C++ wrapper type for change_request_item
155     typedef SELECT change_request_item;
156     // C++ wrapper type for character_spacing_select
157     typedef SELECT character_spacing_select;
158     // C++ wrapper type for character_style_select
159     typedef SELECT character_style_select;
160     // C++ wrapper type for characterized_action_definition
161     typedef SELECT characterized_action_definition;
162     // C++ wrapper type for characterized_definition
163     typedef SELECT characterized_definition;
164     // C++ wrapper type for characterized_material_property
165     typedef SELECT characterized_material_property;
166     // C++ wrapper type for characterized_product_composition_value
167     typedef SELECT characterized_product_composition_value;
168     // C++ wrapper type for characterized_product_definition
169     typedef SELECT characterized_product_definition;
170     // C++ wrapper type for class_usage_effectivity_context_item
171     typedef SELECT class_usage_effectivity_context_item;
172     // C++ wrapper type for classification_item
173     typedef SELECT classification_item;
174     // C++ wrapper type for classified_item
175     typedef SELECT classified_item;
176     // C++ wrapper type for compound_item_definition
177     typedef SELECT compound_item_definition;
178     // C++ wrapper type for conductance_measure
179     typedef REAL conductance_measure;
180     // C++ wrapper type for configuration_design_item
181     typedef SELECT configuration_design_item;
182     // C++ wrapper type for configured_effectivity_context_item
183     typedef SELECT configured_effectivity_context_item;
184     // C++ wrapper type for configured_effectivity_item
185     typedef SELECT configured_effectivity_item;
186     // C++ wrapper type for constructive_geometry_representation_or_shape_represenation
187     typedef SELECT constructive_geometry_representation_or_shape_represenation;
188     // C++ wrapper type for context_dependent_measure
189     typedef REAL context_dependent_measure;
190     // C++ wrapper type for contract_item
191     typedef SELECT contract_item;
192     // C++ wrapper type for contracted_item
193     typedef SELECT contracted_item;
194     // C++ wrapper type for count_measure
195     typedef NUMBER count_measure;
196     // C++ wrapper type for csg_primitive
197     typedef SELECT csg_primitive;
198     // C++ wrapper type for csg_select
199     typedef SELECT csg_select;
200     // C++ wrapper type for curve_font_or_scaled_curve_font_select
201     typedef SELECT curve_font_or_scaled_curve_font_select;
202     // C++ wrapper type for curve_on_surface
203     typedef SELECT curve_on_surface;
204     // C++ wrapper type for curve_or_annotation_curve_occurrence
205     typedef SELECT curve_or_annotation_curve_occurrence;
206     // C++ wrapper type for curve_or_render
207     typedef SELECT curve_or_render;
208     // C++ wrapper type for curve_style_font_select
209     typedef SELECT curve_style_font_select;
210     // C++ wrapper type for date_and_time_item
211     typedef SELECT date_and_time_item;
212     // C++ wrapper type for date_item
213     typedef SELECT date_item;
214     // C++ wrapper type for date_time_item
215     typedef SELECT date_time_item;
216     // C++ wrapper type for date_time_or_event_occurrence
217     typedef SELECT date_time_or_event_occurrence;
218     // C++ wrapper type for date_time_select
219     typedef SELECT date_time_select;
220     // C++ wrapper type for day_in_month_number
221     typedef INTEGER day_in_month_number;
222     // C++ wrapper type for day_in_week_number
223     typedef INTEGER day_in_week_number;
224     // C++ wrapper type for day_in_year_number
225     typedef INTEGER day_in_year_number;
226     // C++ wrapper type for defined_symbol_select
227     typedef SELECT defined_symbol_select;
228     // C++ wrapper type for derived_property_select
229     typedef SELECT derived_property_select;
230     // C++ wrapper type for description_attribute_select
231     typedef SELECT description_attribute_select;
232     // C++ wrapper type for descriptive_measure
233     typedef STRING descriptive_measure;
234     // C++ wrapper type for dimension_count
235     typedef INTEGER dimension_count;
236     // C++ wrapper type for dimension_extent_usage
237     typedef ENUMERATION dimension_extent_usage;
238     // C++ wrapper type for dimensional_characteristic
239     typedef SELECT dimensional_characteristic;
240     // C++ wrapper type for direction_count_select
241     typedef SELECT direction_count_select;
242     // C++ wrapper type for document_identifier_assigned_item
243     typedef SELECT document_identifier_assigned_item;
244     // C++ wrapper type for document_reference_item
245     typedef SELECT document_reference_item;
246     // C++ wrapper type for dose_equivalent_measure
247     typedef REAL dose_equivalent_measure;
248     // C++ wrapper type for draughting_callout_element
249     typedef SELECT draughting_callout_element;
250     // C++ wrapper type for draughting_model_item_association_select
251     typedef SELECT draughting_model_item_association_select;
252     // C++ wrapper type for draughting_model_item_select
253     typedef SELECT draughting_model_item_select;
254     // C++ wrapper type for draughting_titled_item
255     typedef SELECT draughting_titled_item;
256     // C++ wrapper type for effectivity_item
257     typedef SELECT effectivity_item;
258     // C++ wrapper type for electric_charge_measure
259     typedef REAL electric_charge_measure;
260     // C++ wrapper type for electric_current_measure
261     typedef REAL electric_current_measure;
262     // C++ wrapper type for electric_potential_measure
263     typedef REAL electric_potential_measure;
264     // C++ wrapper type for energy_measure
265     typedef REAL energy_measure;
266     // C++ wrapper type for event_occurrence_item
267     typedef SELECT event_occurrence_item;
268     // C++ wrapper type for external_identification_item
269     typedef SELECT external_identification_item;
270     // C++ wrapper type for fill_area_style_tile_shape_select
271     typedef SELECT fill_area_style_tile_shape_select;
272     // C++ wrapper type for fill_style_select
273     typedef SELECT fill_style_select;
274     // C++ wrapper type for font_select
275     typedef SELECT font_select;
276     // C++ wrapper type for force_measure
277     typedef REAL force_measure;
278     // C++ wrapper type for founded_item_select
279     typedef SELECT founded_item_select;
280     // C++ wrapper type for frequency_measure
281     typedef REAL frequency_measure;
282     // C++ wrapper type for generalized_surface_select
283     typedef SELECT generalized_surface_select;
284     // C++ wrapper type for geometric_item_specific_usage_select
285     typedef SELECT geometric_item_specific_usage_select;
286     // C++ wrapper type for geometric_set_select
287     typedef SELECT geometric_set_select;
288     // C++ wrapper type for groupable_item
289     typedef SELECT groupable_item;
290     // C++ wrapper type for hour_in_day
291     typedef INTEGER hour_in_day;
292     // C++ wrapper type for id_attribute_select
293     typedef SELECT id_attribute_select;
294     // C++ wrapper type for identification_item
295     typedef SELECT identification_item;
296     // C++ wrapper type for identifier
297     typedef STRING identifier;
298     // C++ wrapper type for illuminance_measure
299     typedef REAL illuminance_measure;
300     // C++ wrapper type for inductance_measure
301     typedef REAL inductance_measure;
302     // C++ wrapper type for instance_usage_context_select
303     typedef SELECT instance_usage_context_select;
304     // C++ wrapper type for invisibility_context
305     typedef SELECT invisibility_context;
306     // C++ wrapper type for invisible_item
307     typedef SELECT invisible_item;
308     // C++ wrapper type for ir_usage_item
309     typedef SELECT ir_usage_item;
310     // C++ wrapper type for knot_type
311     typedef ENUMERATION knot_type;
312     // C++ wrapper type for label
313     typedef STRING label;
314     // C++ wrapper type for layered_item
315     typedef SELECT layered_item;
316     // C++ wrapper type for length_measure
317     typedef REAL length_measure;
318     // C++ wrapper type for limit_condition
319     typedef ENUMERATION limit_condition;
320     // C++ wrapper type for list_of_reversible_topology_item
321     typedef ListOf< SELECT, 0, 0 > list_of_reversible_topology_item;
322     // C++ wrapper type for luminous_flux_measure
323     typedef REAL luminous_flux_measure;
324     // C++ wrapper type for luminous_intensity_measure
325     typedef REAL luminous_intensity_measure;
326     // C++ wrapper type for magnetic_flux_density_measure
327     typedef REAL magnetic_flux_density_measure;
328     // C++ wrapper type for magnetic_flux_measure
329     typedef REAL magnetic_flux_measure;
330     // C++ wrapper type for marker_select
331     typedef SELECT marker_select;
332     // C++ wrapper type for marker_type
333     typedef ENUMERATION marker_type;
334     // C++ wrapper type for mass_measure
335     typedef REAL mass_measure;
336     // C++ wrapper type for measure_value
337     typedef SELECT measure_value;
338     // C++ wrapper type for mechanical_design_and_draughting_relationship_select
339     typedef SELECT mechanical_design_and_draughting_relationship_select;
340     // C++ wrapper type for mechanical_design_geometric_presentation_area_items
341     typedef SELECT mechanical_design_geometric_presentation_area_items;
342     // C++ wrapper type for mechanical_design_geometric_presentation_representation_items
343     typedef SELECT mechanical_design_geometric_presentation_representation_items;
344     // C++ wrapper type for message
345     typedef STRING message;
346     // C++ wrapper type for minute_in_hour
347     typedef INTEGER minute_in_hour;
348     // C++ wrapper type for month_in_year_number
349     typedef INTEGER month_in_year_number;
350     // C++ wrapper type for multi_language_attribute_item
351     typedef SELECT multi_language_attribute_item;
352     // C++ wrapper type for name_attribute_select
353     typedef SELECT name_attribute_select;
354     // C++ wrapper type for name_item
355     typedef SELECT name_item;
356     // C++ wrapper type for non_negative_length_measure
357     typedef REAL non_negative_length_measure;
358     // C++ wrapper type for nonnegative_integer
359     typedef INTEGER nonnegative_integer;
360     // C++ wrapper type for null_style
361     typedef ENUMERATION null_style;
362     // C++ wrapper type for numeric_measure
363     typedef NUMBER numeric_measure;
364     // C++ wrapper type for organization_item
365     typedef SELECT organization_item;
366     // C++ wrapper type for orientation_basis_select
367     typedef SELECT orientation_basis_select;
368     // C++ wrapper type for parameter_value
369     typedef REAL parameter_value;
370     // C++ wrapper type for pcurve_or_surface
371     typedef SELECT pcurve_or_surface;
372     // C++ wrapper type for person_and_organization_item
373     typedef SELECT person_and_organization_item;
374     // C++ wrapper type for person_organization_select
375     typedef SELECT person_organization_select;
376     // C++ wrapper type for picture_representation_item_select
377     typedef SELECT picture_representation_item_select;
378     // C++ wrapper type for plane_angle_measure
379     typedef REAL plane_angle_measure;
380     // C++ wrapper type for plane_or_planar_box
381     typedef SELECT plane_or_planar_box;
382     // C++ wrapper type for point_and_vector_member
383     typedef SELECT point_and_vector_member;
384     // C++ wrapper type for point_and_vector_members
385     typedef ListOf< SELECT, 2, 3 > point_and_vector_members;
386     // C++ wrapper type for positive_integer
387     typedef INTEGER positive_integer;
388     // C++ wrapper type for positive_length_measure
389     typedef REAL positive_length_measure;
390     // C++ wrapper type for positive_plane_angle_measure
391     typedef REAL positive_plane_angle_measure;
392     // C++ wrapper type for positive_ratio_measure
393     typedef REAL positive_ratio_measure;
394     // C++ wrapper type for power_measure
395     typedef REAL power_measure;
396     // C++ wrapper type for preferred_surface_curve_representation
397     typedef ENUMERATION preferred_surface_curve_representation;
398     // C++ wrapper type for presentable_text
399     typedef STRING presentable_text;
400     // C++ wrapper type for presentation_representation_select
401     typedef SELECT presentation_representation_select;
402     // C++ wrapper type for presentation_size_assignment_select
403     typedef SELECT presentation_size_assignment_select;
404     // C++ wrapper type for presentation_style_select
405     typedef SELECT presentation_style_select;
406     // C++ wrapper type for presented_item_select
407     typedef SELECT presented_item_select;
408     // C++ wrapper type for pressure_measure
409     typedef REAL pressure_measure;
410     // C++ wrapper type for product_definition_or_assembly_relationship
411     typedef SELECT product_definition_or_assembly_relationship;
412     // C++ wrapper type for product_definition_or_breakdown_element_usage
413     typedef SELECT product_definition_or_breakdown_element_usage;
414     // C++ wrapper type for product_definition_or_product_definition_relationship
415     typedef SELECT product_definition_or_product_definition_relationship;
416     // C++ wrapper type for product_or_formation_or_definition
417     typedef SELECT product_or_formation_or_definition;
418     // C++ wrapper type for project_item
419     typedef SELECT project_item;
420     // C++ wrapper type for radioactivity_measure
421     typedef REAL radioactivity_measure;
422     // C++ wrapper type for ratio_measure
423     typedef REAL ratio_measure;
424     // C++ wrapper type for rendering_properties_select
425     typedef SELECT rendering_properties_select;
426     // C++ wrapper type for represented_definition
427     typedef SELECT represented_definition;
428     // C++ wrapper type for requirement_assigned_item
429     typedef SELECT requirement_assigned_item;
430     // C++ wrapper type for requirement_satisfaction_item
431     typedef SELECT requirement_satisfaction_item;
432     // C++ wrapper type for requirement_source_item
433     typedef SELECT requirement_source_item;
434     // C++ wrapper type for resistance_measure
435     typedef REAL resistance_measure;
436     // C++ wrapper type for reversible_topology
437     typedef SELECT reversible_topology;
438     // C++ wrapper type for reversible_topology_item
439     typedef SELECT reversible_topology_item;
440     // C++ wrapper type for role_select
441     typedef SELECT role_select;
442     // C++ wrapper type for rule_superseded_item
443     typedef SELECT rule_superseded_item;
444     // C++ wrapper type for second_in_minute
445     typedef REAL second_in_minute;
446     // C++ wrapper type for security_classification_item
447     typedef SELECT security_classification_item;
448     // C++ wrapper type for set_of_reversible_topology_item
449     typedef ListOf< SELECT, 0, 0 > set_of_reversible_topology_item;
450     // C++ wrapper type for shading_curve_method
451     typedef ENUMERATION shading_curve_method;
452     // C++ wrapper type for shading_surface_method
453     typedef ENUMERATION shading_surface_method;
454     // C++ wrapper type for shape_definition
455     typedef SELECT shape_definition;
456     // C++ wrapper type for shell
457     typedef SELECT shell;
458     // C++ wrapper type for si_prefix
459     typedef ENUMERATION si_prefix;
460     // C++ wrapper type for si_unit_name
461     typedef ENUMERATION si_unit_name;
462     // C++ wrapper type for size_select
463     typedef SELECT size_select;
464     // C++ wrapper type for sketch_basis_select
465     typedef SELECT sketch_basis_select;
466     // C++ wrapper type for solid_angle_measure
467     typedef REAL solid_angle_measure;
468     // C++ wrapper type for source
469     typedef ENUMERATION source;
470     // C++ wrapper type for source_item
471     typedef SELECT source_item;
472     // C++ wrapper type for start_request_item
473     typedef SELECT start_request_item;
474     // C++ wrapper type for string_representation_item_select
475     typedef SELECT string_representation_item_select;
476     // C++ wrapper type for style_context_select
477     typedef SELECT style_context_select;
478     // C++ wrapper type for surface_side
479     typedef ENUMERATION surface_side;
480     // C++ wrapper type for surface_side_style_select
481     typedef SELECT surface_side_style_select;
482     // C++ wrapper type for surface_style_element_select
483     typedef SELECT surface_style_element_select;
484     // C++ wrapper type for symbol_style_select
485     typedef SELECT symbol_style_select;
486     // C++ wrapper type for text
487     typedef STRING text;
488     // C++ wrapper type for text_alignment
489     typedef STRING text_alignment;
490     // C++ wrapper type for text_delineation
491     typedef STRING text_delineation;
492     // C++ wrapper type for text_or_character
493     typedef SELECT text_or_character;
494     // C++ wrapper type for text_path
495     typedef ENUMERATION text_path;
496     // C++ wrapper type for text_string_representation_item
497     typedef SELECT text_string_representation_item;
498     // C++ wrapper type for thermodynamic_temperature_measure
499     typedef REAL thermodynamic_temperature_measure;
500     // C++ wrapper type for time_interval_item
501     typedef SELECT time_interval_item;
502     // C++ wrapper type for time_measure
503     typedef REAL time_measure;
504     // C++ wrapper type for tolerance_method_definition
505     typedef SELECT tolerance_method_definition;
506     // C++ wrapper type for transformation
507     typedef SELECT transformation;
508     // C++ wrapper type for transition_code
509     typedef ENUMERATION transition_code;
510     // C++ wrapper type for trim_condition_select
511     typedef SELECT trim_condition_select;
512     // C++ wrapper type for trim_intent
513     typedef ENUMERATION trim_intent;
514     // C++ wrapper type for trimming_preference
515     typedef ENUMERATION trimming_preference;
516     // C++ wrapper type for trimming_select
517     typedef SELECT trimming_select;
518     // C++ wrapper type for u_direction_count
519     typedef INTEGER u_direction_count;
520     // C++ wrapper type for unit
521     typedef SELECT unit;
522     // C++ wrapper type for v_direction_count
523     typedef INTEGER v_direction_count;
524     // C++ wrapper type for value_qualifier
525     typedef SELECT value_qualifier;
526     // C++ wrapper type for vector_or_direction
527     typedef SELECT vector_or_direction;
528     // C++ wrapper type for velocity_measure
529     typedef REAL velocity_measure;
530     // C++ wrapper type for volume_measure
531     typedef REAL volume_measure;
532     // C++ wrapper type for week_in_year_number
533     typedef INTEGER week_in_year_number;
534     // C++ wrapper type for work_item
535     typedef SELECT work_item;
536     // C++ wrapper type for year_number
537     typedef INTEGER year_number;
538 
539 
540 	// ******************************************************************************
541 	// StepFile Entities
542 	// ******************************************************************************
543 
544 	struct measure_with_unit;
545 	struct absorbed_dose_measure_with_unit;
546 	struct derived_unit;
547 	struct absorbed_dose_unit;
548 	struct abstract_variable;
549 	struct acceleration_measure_with_unit;
550 	struct acceleration_unit;
551 	struct action;
552 	struct action_assignment;
553 	typedef NotImplemented action_directive; // (not currently used by Assimp)
554 	struct action_method;
555 	struct action_method_assignment;
556 	struct action_method_relationship;
557 	typedef NotImplemented action_method_role; // (not currently used by Assimp)
558 	typedef NotImplemented action_property; // (not currently used by Assimp)
559 	typedef NotImplemented action_property_representation; // (not currently used by Assimp)
560 	typedef NotImplemented action_relationship; // (not currently used by Assimp)
561 	struct action_request_assignment;
562 	typedef NotImplemented action_request_solution; // (not currently used by Assimp)
563 	typedef NotImplemented action_request_status; // (not currently used by Assimp)
564 	typedef NotImplemented action_status; // (not currently used by Assimp)
565 	struct address;
566 	struct representation;
567 	struct shape_representation;
568 	struct advanced_brep_shape_representation;
569 	struct face_surface;
570 	struct advanced_face;
571 	typedef NotImplemented alternate_product_relationship; // (not currently used by Assimp)
572 	struct amount_of_substance_measure_with_unit;
573 	struct named_unit;
574 	struct amount_of_substance_unit;
575 	struct angle_direction_reference;
576 	struct representation_item;
577 	struct geometric_representation_item;
578 	struct draughting_callout;
579 	struct dimension_curve_directed_callout;
580 	struct angular_dimension;
581 	struct shape_aspect_relationship;
582 	struct dimensional_location;
583 	struct angular_location;
584 	struct dimensional_size;
585 	struct angular_size;
586 	struct geometric_tolerance;
587 	struct geometric_tolerance_with_datum_reference;
588 	struct angularity_tolerance;
589 	struct styled_item;
590 	struct annotation_occurrence;
591 	struct annotation_curve_occurrence;
592 	struct annotation_fill_area;
593 	struct annotation_fill_area_occurrence;
594 	struct annotation_occurrence_relationship;
595 	struct annotation_occurrence_associativity;
596 	struct annotation_plane;
597 	struct annotation_symbol_occurrence;
598 	struct annotation_subfigure_occurrence;
599 	struct mapped_item;
600 	struct annotation_symbol;
601 	struct annotation_text;
602 	struct annotation_text_character;
603 	struct annotation_text_occurrence;
604 	struct shape_aspect;
605 	struct derived_shape_aspect;
606 	struct apex;
607 	typedef NotImplemented application_context; // (not currently used by Assimp)
608 	struct application_context_element;
609 	typedef NotImplemented application_protocol_definition; // (not currently used by Assimp)
610 	struct applied_action_assignment;
611 	struct applied_action_method_assignment;
612 	struct applied_action_request_assignment;
613 	struct approval_assignment;
614 	struct applied_approval_assignment;
615 	struct attribute_classification_assignment;
616 	struct applied_attribute_classification_assignment;
617 	struct certification_assignment;
618 	struct applied_certification_assignment;
619 	struct classification_assignment;
620 	struct applied_classification_assignment;
621 	struct contract_assignment;
622 	struct applied_contract_assignment;
623 	struct date_and_time_assignment;
624 	struct applied_date_and_time_assignment;
625 	struct date_assignment;
626 	struct applied_date_assignment;
627 	struct document_reference;
628 	struct applied_document_reference;
629 	struct document_usage_constraint_assignment;
630 	struct applied_document_usage_constraint_assignment;
631 	struct effectivity_assignment;
632 	struct applied_effectivity_assignment;
633 	struct event_occurrence_assignment;
634 	struct applied_event_occurrence_assignment;
635 	struct identification_assignment;
636 	struct external_identification_assignment;
637 	struct applied_external_identification_assignment;
638 	struct group_assignment;
639 	struct applied_group_assignment;
640 	struct applied_identification_assignment;
641 	struct name_assignment;
642 	struct applied_name_assignment;
643 	struct organization_assignment;
644 	struct applied_organization_assignment;
645 	struct organizational_project_assignment;
646 	struct applied_organizational_project_assignment;
647 	struct person_and_organization_assignment;
648 	struct applied_person_and_organization_assignment;
649 	struct presented_item;
650 	struct applied_presented_item;
651 	struct security_classification_assignment;
652 	struct applied_security_classification_assignment;
653 	struct time_interval_assignment;
654 	struct applied_time_interval_assignment;
655 	struct applied_usage_right;
656 	typedef NotImplemented approval; // (not currently used by Assimp)
657 	typedef NotImplemented approval_date_time; // (not currently used by Assimp)
658 	typedef NotImplemented approval_person_organization; // (not currently used by Assimp)
659 	typedef NotImplemented approval_relationship; // (not currently used by Assimp)
660 	typedef NotImplemented approval_role; // (not currently used by Assimp)
661 	typedef NotImplemented approval_status; // (not currently used by Assimp)
662 	struct area_in_set;
663 	struct area_measure_with_unit;
664 	struct area_unit;
665 	struct product_definition_relationship;
666 	struct product_definition_usage;
667 	struct assembly_component_usage;
668 	typedef NotImplemented assembly_component_usage_substitute; // (not currently used by Assimp)
669 	struct assigned_requirement;
670 	struct compound_representation_item;
671 	struct atomic_formula;
672 	struct attribute_assertion;
673 	struct attribute_language_assignment;
674 	struct attribute_value_assignment;
675 	typedef NotImplemented attribute_value_role; // (not currently used by Assimp)
676 	struct auxiliary_geometric_representation_item;
677 	struct placement;
678 	struct axis1_placement;
679 	struct axis2_placement_2d;
680 	struct axis2_placement_3d;
681 	struct curve;
682 	struct bounded_curve;
683 	struct b_spline_curve;
684 	struct b_spline_curve_with_knots;
685 	struct surface;
686 	struct bounded_surface;
687 	struct b_spline_surface;
688 	struct b_spline_surface_with_knots;
689 	struct product_definition;
690 	struct rule_software_definition;
691 	struct rule_definition;
692 	struct back_chaining_rule;
693 	struct back_chaining_rule_body;
694 	struct colour;
695 	struct background_colour;
696 	struct beveled_sheet_representation;
697 	struct bezier_curve;
698 	struct bezier_surface;
699 	struct generic_expression;
700 	struct binary_generic_expression;
701 	struct binary_numeric_expression;
702 	struct binary_representation_item;
703 	struct block;
704 	struct expression;
705 	struct boolean_expression;
706 	struct boolean_literal;
707 	struct boolean_representation_item;
708 	struct boolean_result;
709 	struct composite_curve;
710 	struct composite_curve_on_surface;
711 	struct boundary_curve;
712 	struct bounded_pcurve;
713 	struct bounded_surface_curve;
714 	struct founded_item;
715 	struct box_domain;
716 	struct half_space_solid;
717 	struct boxed_half_space;
718 	struct breakdown_context;
719 	struct breakdown_element_group_assignment;
720 	struct breakdown_element_realization;
721 	struct breakdown_element_usage;
722 	struct breakdown_of;
723 	struct solid_model;
724 	struct manifold_solid_brep;
725 	struct brep_with_voids;
726 	struct bytes_representation_item;
727 	struct date;
728 	struct calendar_date;
729 	struct camera_image;
730 	struct camera_image_3d_with_scale;
731 	struct camera_model;
732 	struct camera_model_d3;
733 	struct camera_model_d3_multi_clipping;
734 	struct camera_model_d3_multi_clipping_intersection;
735 	struct camera_model_d3_multi_clipping_union;
736 	struct camera_model_d3_with_hlhsr;
737 	struct camera_model_with_light_sources;
738 	struct representation_map;
739 	struct camera_usage;
740 	struct capacitance_measure_with_unit;
741 	struct capacitance_unit;
742 	struct point;
743 	struct cartesian_point;
744 	struct cartesian_transformation_operator;
745 	struct cartesian_transformation_operator_2d;
746 	struct cartesian_transformation_operator_3d;
747 	struct cc_design_approval;
748 	struct cc_design_certification;
749 	struct cc_design_contract;
750 	struct cc_design_date_and_time_assignment;
751 	struct cc_design_person_and_organization_assignment;
752 	struct cc_design_security_classification;
753 	struct cc_design_specification_reference;
754 	struct celsius_temperature_measure_with_unit;
755 	struct centre_of_symmetry;
756 	typedef NotImplemented certification; // (not currently used by Assimp)
757 	typedef NotImplemented certification_type; // (not currently used by Assimp)
758 	struct change;
759 	struct change_request;
760 	typedef NotImplemented character_glyph_font_usage; // (not currently used by Assimp)
761 	struct character_glyph_style_outline;
762 	struct character_glyph_style_stroke;
763 	struct symbol_representation;
764 	struct generic_character_glyph_symbol;
765 	struct character_glyph_symbol;
766 	struct character_glyph_symbol_outline;
767 	struct character_glyph_symbol_stroke;
768 	struct general_property;
769 	struct characteristic_data_column_header;
770 	struct general_property_relationship;
771 	struct characteristic_data_column_header_link;
772 	struct characteristic_data_table_header;
773 	struct characteristic_data_table_header_decomposition;
774 	struct group;
775 	struct characteristic_type;
776 	struct characterized_class;
777 	struct characterized_object;
778 	struct conic;
779 	struct circle;
780 	struct circular_runout_tolerance;
781 	typedef NotImplemented class_t; // (not currently used by Assimp)
782 	struct class_by_extension;
783 	struct class_by_intension;
784 	struct class_system;
785 	struct effectivity_context_assignment;
786 	struct class_usage_effectivity_context_assignment;
787 	typedef NotImplemented classification_role; // (not currently used by Assimp)
788 	struct topological_representation_item;
789 	struct connected_face_set;
790 	struct closed_shell;
791 	struct coaxiality_tolerance;
792 	struct colour_specification;
793 	struct colour_rgb;
794 	struct common_datum;
795 	struct comparison_expression;
796 	struct complex_clause;
797 	struct complex_conjunctive_clause;
798 	struct complex_disjunctive_clause;
799 	struct modified_solid;
800 	struct shelled_solid;
801 	struct complex_shelled_solid;
802 	struct composite_assembly_definition;
803 	struct composite_assembly_sequence_definition;
804 	struct laminate_table;
805 	struct part_laminate_table;
806 	struct composite_assembly_table;
807 	struct composite_curve_segment;
808 	struct material_designation;
809 	struct composite_material_designation;
810 	struct composite_shape_aspect;
811 	struct composite_sheet_representation;
812 	struct composite_text;
813 	struct composite_text_with_associated_curves;
814 	struct composite_text_with_blanking_box;
815 	struct composite_text_with_delineation;
816 	struct composite_text_with_extent;
817 	struct compound_shape_representation;
818 	struct concentricity_tolerance;
819 	typedef NotImplemented concept_feature_operator; // (not currently used by Assimp)
820 	struct concept_feature_relationship;
821 	struct concept_feature_relationship_with_condition;
822 	struct product_concept_feature;
823 	struct conditional_concept_feature;
824 	struct conductance_measure_with_unit;
825 	struct conductance_unit;
826 	struct configuration_item;
827 	struct configurable_item;
828 	typedef NotImplemented configuration_design; // (not currently used by Assimp)
829 	struct effectivity;
830 	struct product_definition_effectivity;
831 	struct configuration_effectivity;
832 	struct configuration_item_relationship;
833 	struct configuration_item_hierarchical_relationship;
834 	struct configuration_item_revision_sequence;
835 	struct configured_effectivity_assignment;
836 	struct configured_effectivity_context_assignment;
837 	struct conical_stepped_hole_transition;
838 	struct elementary_surface;
839 	struct conical_surface;
840 	struct connected_edge_set;
841 	struct connected_face_sub_set;
842 	struct constructive_geometry_representation;
843 	struct representation_relationship;
844 	struct constructive_geometry_representation_relationship;
845 	struct contact_ratio_representation;
846 	struct invisibility;
847 	struct context_dependent_invisibility;
848 	struct over_riding_styled_item;
849 	struct context_dependent_over_riding_styled_item;
850 	typedef NotImplemented context_dependent_shape_representation; // (not currently used by Assimp)
851 	struct context_dependent_unit;
852 	typedef NotImplemented contract; // (not currently used by Assimp)
853 	typedef NotImplemented contract_relationship; // (not currently used by Assimp)
854 	typedef NotImplemented contract_type; // (not currently used by Assimp)
855 	struct conversion_based_unit;
856 	typedef NotImplemented coordinated_universal_time_offset; // (not currently used by Assimp)
857 	struct csg_shape_representation;
858 	struct csg_solid;
859 	struct currency;
860 	struct currency_measure_with_unit;
861 	struct curve_bounded_surface;
862 	struct curve_dimension;
863 	struct curve_replica;
864 	struct curve_style;
865 	struct curve_style_font;
866 	struct curve_style_font_and_scaling;
867 	struct curve_style_font_pattern;
868 	typedef NotImplemented curve_style_rendering; // (not currently used by Assimp)
869 	struct curve_swept_solid_shape_representation;
870 	struct cylindrical_surface;
871 	struct cylindricity_tolerance;
872 	typedef NotImplemented data_environment; // (not currently used by Assimp)
873 	typedef NotImplemented date_and_time; // (not currently used by Assimp)
874 	struct date_representation_item;
875 	typedef NotImplemented date_role; // (not currently used by Assimp)
876 	struct date_time_representation_item;
877 	typedef NotImplemented date_time_role; // (not currently used by Assimp)
878 	struct dated_effectivity;
879 	struct datum;
880 	struct datum_feature;
881 	struct datum_feature_callout;
882 	struct datum_reference;
883 	struct datum_target;
884 	struct datum_target_callout;
885 	struct default_tolerance_table;
886 	struct default_tolerance_table_cell;
887 	struct defined_symbol;
888 	struct definitional_representation;
889 	struct definitional_representation_relationship;
890 	struct definitional_representation_relationship_with_same_context;
891 	struct degenerate_pcurve;
892 	struct toroidal_surface;
893 	struct degenerate_toroidal_surface;
894 	typedef NotImplemented derived_unit_element; // (not currently used by Assimp)
895 	typedef NotImplemented description_attribute; // (not currently used by Assimp)
896 	struct descriptive_representation_item;
897 	struct product_definition_context;
898 	struct design_context;
899 	struct design_make_from_relationship;
900 	struct diameter_dimension;
901 	struct ratio_measure_with_unit;
902 	struct dielectric_constant_measure_with_unit;
903 	struct dimension_callout;
904 	struct draughting_callout_relationship;
905 	struct dimension_callout_component_relationship;
906 	struct dimension_callout_relationship;
907 	struct dimension_curve;
908 	struct terminator_symbol;
909 	struct dimension_curve_terminator;
910 	struct dimension_curve_terminator_to_projection_curve_associativity;
911 	struct dimension_pair;
912 	typedef NotImplemented dimension_related_tolerance_zone_element; // (not currently used by Assimp)
913 	struct dimension_text_associativity;
914 	typedef NotImplemented dimensional_characteristic_representation; // (not currently used by Assimp)
915 	typedef NotImplemented dimensional_exponents; // (not currently used by Assimp)
916 	struct dimensional_location_with_path;
917 	struct dimensional_size_with_path;
918 	struct executed_action;
919 	struct directed_action;
920 	struct directed_dimensional_location;
921 	struct direction;
922 	typedef NotImplemented document; // (not currently used by Assimp)
923 	struct document_file;
924 	struct document_identifier;
925 	struct document_identifier_assignment;
926 	struct document_product_association;
927 	struct document_product_equivalence;
928 	typedef NotImplemented document_relationship; // (not currently used by Assimp)
929 	typedef NotImplemented document_representation_type; // (not currently used by Assimp)
930 	typedef NotImplemented document_type; // (not currently used by Assimp)
931 	typedef NotImplemented document_usage_constraint; // (not currently used by Assimp)
932 	typedef NotImplemented document_usage_role; // (not currently used by Assimp)
933 	struct dose_equivalent_measure_with_unit;
934 	struct dose_equivalent_unit;
935 	struct double_offset_shelled_solid;
936 	struct item_defined_transformation;
937 	struct transformation_with_derived_angle;
938 	struct draped_defined_transformation;
939 	struct draughting_annotation_occurrence;
940 	struct draughting_elements;
941 	struct draughting_model;
942 	struct item_identified_representation_usage;
943 	struct draughting_model_item_association;
944 	struct pre_defined_colour;
945 	struct draughting_pre_defined_colour;
946 	struct pre_defined_item;
947 	struct pre_defined_curve_font;
948 	struct draughting_pre_defined_curve_font;
949 	struct pre_defined_text_font;
950 	struct draughting_pre_defined_text_font;
951 	struct draughting_subfigure_representation;
952 	struct draughting_symbol_representation;
953 	struct text_literal;
954 	struct text_literal_with_delineation;
955 	struct draughting_text_literal_with_delineation;
956 	typedef NotImplemented draughting_title; // (not currently used by Assimp)
957 	typedef NotImplemented drawing_definition; // (not currently used by Assimp)
958 	struct presentation_set;
959 	struct drawing_revision;
960 	typedef NotImplemented drawing_revision_sequence; // (not currently used by Assimp)
961 	struct presentation_representation;
962 	struct presentation_area;
963 	struct drawing_sheet_revision;
964 	struct drawing_sheet_revision_sequence;
965 	struct drawing_sheet_revision_usage;
966 	struct edge;
967 	struct edge_based_wireframe_model;
968 	struct edge_based_wireframe_shape_representation;
969 	struct edge_blended_solid;
970 	struct edge_curve;
971 	struct edge_loop;
972 	typedef NotImplemented effectivity_context_role; // (not currently used by Assimp)
973 	typedef NotImplemented effectivity_relationship; // (not currently used by Assimp)
974 	struct electric_charge_measure_with_unit;
975 	struct electric_charge_unit;
976 	struct electric_current_measure_with_unit;
977 	struct electric_current_unit;
978 	struct electric_potential_measure_with_unit;
979 	struct electric_potential_unit;
980 	struct elementary_brep_shape_representation;
981 	struct ellipse;
982 	struct energy_measure_with_unit;
983 	struct energy_unit;
984 	struct property_definition;
985 	struct fact_type;
986 	struct entity_assertion;
987 	struct enum_reference_prefix;
988 	typedef NotImplemented environment; // (not currently used by Assimp)
989 	struct evaluated_characteristic;
990 	struct evaluated_degenerate_pcurve;
991 	struct evaluation_product_definition;
992 	struct event_occurrence;
993 	typedef NotImplemented event_occurrence_relationship; // (not currently used by Assimp)
994 	typedef NotImplemented event_occurrence_role; // (not currently used by Assimp)
995 	struct product_concept_feature_category;
996 	struct exclusive_product_concept_feature_category;
997 	struct uncertainty_qualifier;
998 	struct standard_uncertainty;
999 	struct expanded_uncertainty;
1000 	struct representation_item_relationship;
1001 	struct explicit_procedural_representation_item_relationship;
1002 	struct explicit_procedural_geometric_representation_item_relationship;
1003 	struct explicit_procedural_representation_relationship;
1004 	struct explicit_procedural_shape_representation_relationship;
1005 	struct expression_conversion_based_unit;
1006 	struct extension;
1007 	struct extent;
1008 	struct external_source;
1009 	struct external_class_library;
1010 	typedef NotImplemented external_source_relationship; // (not currently used by Assimp)
1011 	struct externally_defined_class;
1012 	struct externally_defined_colour;
1013 	struct externally_defined_context_dependent_unit;
1014 	struct externally_defined_conversion_based_unit;
1015 	struct externally_defined_currency;
1016 	struct externally_defined_item;
1017 	struct externally_defined_curve_font;
1018 	struct externally_defined_dimension_definition;
1019 	struct externally_defined_general_property;
1020 	struct externally_defined_hatch_style;
1021 	typedef NotImplemented externally_defined_item_relationship; // (not currently used by Assimp)
1022 	struct externally_defined_marker;
1023 	struct picture_representation_item;
1024 	struct externally_defined_picture_representation_item;
1025 	struct externally_defined_representation_item;
1026 	struct externally_defined_string;
1027 	struct externally_defined_symbol;
1028 	struct externally_defined_terminator_symbol;
1029 	struct externally_defined_text_font;
1030 	struct externally_defined_tile;
1031 	struct externally_defined_tile_style;
1032 	struct swept_area_solid;
1033 	struct extruded_area_solid;
1034 	struct swept_face_solid;
1035 	struct extruded_face_solid;
1036 	struct extruded_face_solid_with_trim_conditions;
1037 	struct extruded_face_solid_with_draft_angle;
1038 	struct extruded_face_solid_with_multiple_draft_angles;
1039 	struct face;
1040 	struct face_based_surface_model;
1041 	struct face_bound;
1042 	struct face_outer_bound;
1043 	struct faceted_brep;
1044 	struct faceted_brep_shape_representation;
1045 	struct fill_area_style;
1046 	typedef NotImplemented fill_area_style_colour; // (not currently used by Assimp)
1047 	struct fill_area_style_hatching;
1048 	struct fill_area_style_tile_coloured_region;
1049 	struct fill_area_style_tile_curve_with_style;
1050 	struct fill_area_style_tile_symbol_with_style;
1051 	struct fill_area_style_tiles;
1052 	struct shape_representation_relationship;
1053 	struct flat_pattern_ply_representation_relationship;
1054 	struct flatness_tolerance;
1055 	struct force_measure_with_unit;
1056 	struct force_unit;
1057 	struct forward_chaining_rule;
1058 	struct forward_chaining_rule_premise;
1059 	struct frequency_measure_with_unit;
1060 	struct frequency_unit;
1061 	struct func;
1062 	struct functional_breakdown_context;
1063 	struct functional_element_usage;
1064 	typedef NotImplemented functionally_defined_transformation; // (not currently used by Assimp)
1065 	struct general_material_property;
1066 	typedef NotImplemented general_property_association; // (not currently used by Assimp)
1067 	struct simple_generic_expression;
1068 	struct generic_literal;
1069 	struct generic_variable;
1070 	struct geometric_alignment;
1071 	struct geometric_set;
1072 	struct geometric_curve_set;
1073 	struct geometric_intersection;
1074 	struct geometric_item_specific_usage;
1075 	struct geometric_model_element_relationship;
1076 	struct representation_context;
1077 	struct geometric_representation_context;
1078 	typedef NotImplemented geometric_tolerance_relationship; // (not currently used by Assimp)
1079 	struct geometric_tolerance_with_defined_unit;
1080 	struct geometrical_tolerance_callout;
1081 	struct geometrically_bounded_2d_wireframe_representation;
1082 	struct geometrically_bounded_surface_shape_representation;
1083 	struct geometrically_bounded_wireframe_shape_representation;
1084 	struct global_assignment;
1085 	struct global_uncertainty_assigned_context;
1086 	struct global_unit_assigned_context;
1087 	struct ground_fact;
1088 	typedef NotImplemented group_relationship; // (not currently used by Assimp)
1089 	struct hardness_representation;
1090 	struct hidden_element_over_riding_styled_item;
1091 	struct hyperbola;
1092 	typedef NotImplemented id_attribute; // (not currently used by Assimp)
1093 	typedef NotImplemented identification_role; // (not currently used by Assimp)
1094 	struct illuminance_measure_with_unit;
1095 	struct illuminance_unit;
1096 	struct included_text_block;
1097 	struct inclusion_product_concept_feature;
1098 	struct user_selected_elements;
1099 	struct indirectly_selected_elements;
1100 	struct indirectly_selected_shape_elements;
1101 	struct inductance_measure_with_unit;
1102 	struct inductance_unit;
1103 	struct information_right;
1104 	struct information_usage_right;
1105 	struct instance_usage_context_assignment;
1106 	struct instanced_feature;
1107 	struct literal_number;
1108 	struct int_literal;
1109 	struct integer_representation_item;
1110 	struct surface_curve;
1111 	struct intersection_curve;
1112 	struct interval_expression;
1113 	struct iso4217_currency;
1114 	struct known_source;
1115 	struct laid_defined_transformation;
1116 	struct language;
1117 	struct leader_curve;
1118 	struct leader_directed_callout;
1119 	struct leader_directed_dimension;
1120 	struct leader_terminator;
1121 	struct length_measure_with_unit;
1122 	struct length_unit;
1123 	struct light_source;
1124 	struct light_source_ambient;
1125 	struct light_source_directional;
1126 	struct light_source_positional;
1127 	struct light_source_spot;
1128 	typedef NotImplemented limits_and_fits; // (not currently used by Assimp)
1129 	struct line;
1130 	struct line_profile_tolerance;
1131 	struct linear_dimension;
1132 	struct simple_clause;
1133 	struct literal_conjunction;
1134 	struct literal_disjunction;
1135 	typedef NotImplemented local_time; // (not currently used by Assimp)
1136 	struct logical_literal;
1137 	struct logical_representation_item;
1138 	struct loop;
1139 	struct loss_tangent_measure_with_unit;
1140 	struct lot_effectivity;
1141 	struct luminous_flux_measure_with_unit;
1142 	struct luminous_flux_unit;
1143 	struct luminous_intensity_measure_with_unit;
1144 	struct luminous_intensity_unit;
1145 	struct magnetic_flux_density_measure_with_unit;
1146 	struct magnetic_flux_density_unit;
1147 	struct magnetic_flux_measure_with_unit;
1148 	struct magnetic_flux_unit;
1149 	struct make_from_usage_option;
1150 	struct manifold_subsurface_shape_representation;
1151 	struct manifold_surface_shape_representation;
1152 	struct mass_measure_with_unit;
1153 	struct mass_unit;
1154 	typedef NotImplemented material_designation_characterization; // (not currently used by Assimp)
1155 	struct material_property;
1156 	struct property_definition_representation;
1157 	struct material_property_representation;
1158 	typedef NotImplemented measure_qualification; // (not currently used by Assimp)
1159 	struct measure_representation_item;
1160 	struct product_context;
1161 	struct mechanical_context;
1162 	struct mechanical_design_and_draughting_relationship;
1163 	struct mechanical_design_geometric_presentation_area;
1164 	struct mechanical_design_geometric_presentation_representation;
1165 	struct mechanical_design_presentation_representation_with_draughting;
1166 	struct mechanical_design_shaded_presentation_area;
1167 	struct mechanical_design_shaded_presentation_representation;
1168 	struct min_and_major_ply_orientation_basis;
1169 	struct modified_geometric_tolerance;
1170 	struct modified_solid_with_placed_configuration;
1171 	struct moments_of_inertia_representation;
1172 	struct multi_language_attribute_assignment;
1173 	struct multiple_arity_boolean_expression;
1174 	struct multiple_arity_generic_expression;
1175 	struct multiple_arity_numeric_expression;
1176 	typedef NotImplemented name_attribute; // (not currently used by Assimp)
1177 	struct next_assembly_usage_occurrence;
1178 	struct non_manifold_surface_shape_representation;
1179 	struct null_representation_item;
1180 	struct numeric_expression;
1181 	typedef NotImplemented object_role; // (not currently used by Assimp)
1182 	struct offset_curve_2d;
1183 	struct offset_curve_3d;
1184 	struct offset_surface;
1185 	struct one_direction_repeat_factor;
1186 	struct open_shell;
1187 	struct ordinal_date;
1188 	struct projection_directed_callout;
1189 	struct ordinate_dimension;
1190 	typedef NotImplemented organization; // (not currently used by Assimp)
1191 	typedef NotImplemented organization_relationship; // (not currently used by Assimp)
1192 	typedef NotImplemented organization_role; // (not currently used by Assimp)
1193 	struct organizational_address;
1194 	typedef NotImplemented organizational_project; // (not currently used by Assimp)
1195 	typedef NotImplemented organizational_project_relationship; // (not currently used by Assimp)
1196 	typedef NotImplemented organizational_project_role; // (not currently used by Assimp)
1197 	struct oriented_closed_shell;
1198 	struct oriented_edge;
1199 	struct oriented_face;
1200 	struct oriented_open_shell;
1201 	struct path;
1202 	struct oriented_path;
1203 	struct oriented_surface;
1204 	struct outer_boundary_curve;
1205 	struct package_product_concept_feature;
1206 	struct parabola;
1207 	struct parallel_offset;
1208 	struct parallelism_tolerance;
1209 	struct parametric_representation_context;
1210 	struct partial_document_with_structured_text_representation_assignment;
1211 	struct pcurve;
1212 	struct percentage_laminate_definition;
1213 	struct zone_structural_makeup;
1214 	struct percentage_laminate_table;
1215 	struct percentage_ply_definition;
1216 	struct perpendicular_to;
1217 	struct perpendicularity_tolerance;
1218 	typedef NotImplemented person; // (not currently used by Assimp)
1219 	typedef NotImplemented person_and_organization; // (not currently used by Assimp)
1220 	struct person_and_organization_address;
1221 	typedef NotImplemented person_and_organization_role; // (not currently used by Assimp)
1222 	struct personal_address;
1223 	struct physical_breakdown_context;
1224 	struct physical_element_usage;
1225 	struct presentation_view;
1226 	struct picture_representation;
1227 	struct placed_datum_target_feature;
1228 	struct placed_feature;
1229 	struct planar_extent;
1230 	struct planar_box;
1231 	struct plane;
1232 	struct plane_angle_measure_with_unit;
1233 	struct plane_angle_unit;
1234 	typedef NotImplemented plus_minus_tolerance; // (not currently used by Assimp)
1235 	struct ply_laminate_definition;
1236 	struct ply_laminate_sequence_definition;
1237 	struct ply_laminate_table;
1238 	struct point_and_vector;
1239 	struct point_on_curve;
1240 	struct point_on_surface;
1241 	struct point_path;
1242 	struct point_replica;
1243 	struct point_style;
1244 	struct polar_complex_number_literal;
1245 	struct poly_loop;
1246 	struct polyline;
1247 	struct position_tolerance;
1248 	struct positioned_sketch;
1249 	struct power_measure_with_unit;
1250 	struct power_unit;
1251 	struct pre_defined_symbol;
1252 	struct pre_defined_dimension_symbol;
1253 	struct pre_defined_geometrical_tolerance_symbol;
1254 	struct pre_defined_marker;
1255 	struct pre_defined_point_marker_symbol;
1256 	struct pre_defined_surface_condition_symbol;
1257 	struct pre_defined_surface_side_style;
1258 	struct pre_defined_terminator_symbol;
1259 	struct pre_defined_tile;
1260 	typedef NotImplemented precision_qualifier; // (not currently used by Assimp)
1261 	struct predefined_picture_representation_item;
1262 	typedef NotImplemented presentation_layer_assignment; // (not currently used by Assimp)
1263 	typedef NotImplemented presentation_size; // (not currently used by Assimp)
1264 	struct presentation_style_assignment;
1265 	struct presentation_style_by_context;
1266 	typedef NotImplemented presented_item_representation; // (not currently used by Assimp)
1267 	struct pressure_measure_with_unit;
1268 	struct pressure_unit;
1269 	struct procedural_representation;
1270 	struct procedural_representation_sequence;
1271 	struct procedural_shape_representation;
1272 	struct procedural_shape_representation_sequence;
1273 	typedef NotImplemented product; // (not currently used by Assimp)
1274 	struct product_category;
1275 	struct product_class;
1276 	typedef NotImplemented product_concept; // (not currently used by Assimp)
1277 	struct product_concept_context;
1278 	typedef NotImplemented product_concept_feature_association; // (not currently used by Assimp)
1279 	struct product_concept_feature_category_usage;
1280 	typedef NotImplemented product_concept_relationship; // (not currently used by Assimp)
1281 	typedef NotImplemented product_definition_context_association; // (not currently used by Assimp)
1282 	typedef NotImplemented product_definition_context_role; // (not currently used by Assimp)
1283 	struct product_definition_element_relationship;
1284 	struct product_definition_formation;
1285 	typedef NotImplemented product_definition_formation_relationship; // (not currently used by Assimp)
1286 	struct product_definition_formation_with_specified_source;
1287 	struct product_definition_group_assignment;
1288 	typedef NotImplemented product_definition_occurrence_relationship; // (not currently used by Assimp)
1289 	struct product_definition_shape;
1290 	typedef NotImplemented product_definition_substitute; // (not currently used by Assimp)
1291 	struct product_definition_with_associated_documents;
1292 	struct product_identification;
1293 	struct product_material_composition_relationship;
1294 	struct product_related_product_category;
1295 	struct product_specification;
1296 	struct tolerance_zone_definition;
1297 	struct projected_zone_definition;
1298 	struct projection_curve;
1299 	struct promissory_usage_occurrence;
1300 	typedef NotImplemented property_definition_relationship; // (not currently used by Assimp)
1301 	struct qualified_representation_item;
1302 	struct qualitative_uncertainty;
1303 	struct quantified_assembly_component_usage;
1304 	struct quasi_uniform_curve;
1305 	struct quasi_uniform_surface;
1306 	struct radioactivity_measure_with_unit;
1307 	struct radioactivity_unit;
1308 	struct radius_dimension;
1309 	struct range_characteristic;
1310 	struct ratio_unit;
1311 	struct rational_b_spline_curve;
1312 	struct rational_b_spline_surface;
1313 	struct rational_representation_item;
1314 	struct real_literal;
1315 	struct real_representation_item;
1316 	struct rectangular_composite_surface;
1317 	struct rectangular_trimmed_surface;
1318 	struct referenced_modified_datum;
1319 	struct relative_event_occurrence;
1320 	struct rep_item_group;
1321 	struct reparametrised_composite_curve_segment;
1322 	struct representation_relationship_with_transformation;
1323 	struct requirement_assigned_object;
1324 	struct requirement_assignment;
1325 	struct requirement_source;
1326 	struct requirement_view_definition_relationship;
1327 	struct resistance_measure_with_unit;
1328 	struct resistance_unit;
1329 	struct revolved_area_solid;
1330 	struct revolved_face_solid;
1331 	struct revolved_face_solid_with_trim_conditions;
1332 	struct right_angular_wedge;
1333 	struct right_circular_cone;
1334 	struct right_circular_cylinder;
1335 	struct right_to_usage_association;
1336 	typedef NotImplemented role_association; // (not currently used by Assimp)
1337 	struct roundness_tolerance;
1338 	struct row_representation_item;
1339 	struct row_value;
1340 	struct row_variable;
1341 	struct rule_action;
1342 	struct rule_condition;
1343 	struct rule_set;
1344 	struct rule_set_group;
1345 	struct rule_superseded_assignment;
1346 	struct rule_supersedence;
1347 	struct surface_curve_swept_area_solid;
1348 	struct ruled_surface_swept_area_solid;
1349 	struct runout_zone_definition;
1350 	struct runout_zone_orientation;
1351 	struct runout_zone_orientation_reference_direction;
1352 	struct satisfied_requirement;
1353 	struct satisfies_requirement;
1354 	struct satisfying_item;
1355 	struct scalar_variable;
1356 	struct scattering_parameter;
1357 	struct sculptured_solid;
1358 	struct seam_curve;
1359 	typedef NotImplemented security_classification; // (not currently used by Assimp)
1360 	typedef NotImplemented security_classification_level; // (not currently used by Assimp)
1361 	struct serial_numbered_effectivity;
1362 	struct shape_aspect_associativity;
1363 	struct shape_aspect_deriving_relationship;
1364 	struct shape_definition_representation;
1365 	struct shape_dimension_representation;
1366 	struct shape_feature_definition;
1367 	struct shape_representation_with_parameters;
1368 	struct shell_based_surface_model;
1369 	struct shell_based_wireframe_model;
1370 	struct shell_based_wireframe_shape_representation;
1371 	struct si_absorbed_dose_unit;
1372 	struct si_capacitance_unit;
1373 	struct si_conductance_unit;
1374 	struct si_dose_equivalent_unit;
1375 	struct si_electric_charge_unit;
1376 	struct si_electric_potential_unit;
1377 	struct si_energy_unit;
1378 	struct si_force_unit;
1379 	struct si_frequency_unit;
1380 	struct si_illuminance_unit;
1381 	struct si_inductance_unit;
1382 	struct si_magnetic_flux_density_unit;
1383 	struct si_magnetic_flux_unit;
1384 	struct si_power_unit;
1385 	struct si_pressure_unit;
1386 	struct si_radioactivity_unit;
1387 	struct si_resistance_unit;
1388 	struct si_unit;
1389 	struct simple_boolean_expression;
1390 	struct simple_numeric_expression;
1391 	struct slash_expression;
1392 	struct smeared_material_definition;
1393 	struct solid_angle_measure_with_unit;
1394 	struct solid_angle_unit;
1395 	struct solid_curve_font;
1396 	struct solid_replica;
1397 	struct solid_with_chamfered_edges;
1398 	struct solid_with_angle_based_chamfer;
1399 	struct solid_with_shape_element_pattern;
1400 	struct solid_with_circular_pattern;
1401 	struct solid_with_depression;
1402 	struct solid_with_pocket;
1403 	struct solid_with_circular_pocket;
1404 	struct solid_with_protrusion;
1405 	struct solid_with_circular_protrusion;
1406 	struct solid_with_hole;
1407 	struct solid_with_stepped_round_hole;
1408 	struct solid_with_conical_bottom_round_hole;
1409 	struct solid_with_constant_radius_edge_blend;
1410 	struct solid_with_slot;
1411 	struct solid_with_curved_slot;
1412 	struct solid_with_double_offset_chamfer;
1413 	struct solid_with_flat_bottom_round_hole;
1414 	struct solid_with_general_pocket;
1415 	struct solid_with_general_protrusion;
1416 	struct solid_with_groove;
1417 	struct solid_with_incomplete_circular_pattern;
1418 	struct solid_with_rectangular_pattern;
1419 	struct solid_with_incomplete_rectangular_pattern;
1420 	struct solid_with_rectangular_pocket;
1421 	struct solid_with_rectangular_protrusion;
1422 	struct solid_with_single_offset_chamfer;
1423 	struct solid_with_spherical_bottom_round_hole;
1424 	struct solid_with_stepped_round_hole_and_conical_transitions;
1425 	struct solid_with_straight_slot;
1426 	struct solid_with_tee_section_slot;
1427 	struct solid_with_through_depression;
1428 	struct solid_with_trapezoidal_section_slot;
1429 	struct solid_with_variable_radius_edge_blend;
1430 	struct source_for_requirement;
1431 	struct sourced_requirement;
1432 	struct specification_definition;
1433 	struct specified_higher_usage_occurrence;
1434 	struct sphere;
1435 	struct spherical_surface;
1436 	struct start_request;
1437 	struct start_work;
1438 	struct straightness_tolerance;
1439 	struct structured_dimension_callout;
1440 	struct structured_text_composition;
1441 	struct structured_text_representation;
1442 	struct subedge;
1443 	struct subface;
1444 	struct supplied_part_relationship;
1445 	struct surface_condition_callout;
1446 	struct swept_surface;
1447 	struct surface_of_linear_extrusion;
1448 	struct surface_of_revolution;
1449 	struct surface_patch;
1450 	struct surface_profile_tolerance;
1451 	typedef NotImplemented surface_rendering_properties; // (not currently used by Assimp)
1452 	struct surface_replica;
1453 	struct surface_side_style;
1454 	struct surface_style_boundary;
1455 	struct surface_style_control_grid;
1456 	struct surface_style_fill_area;
1457 	struct surface_style_parameter_line;
1458 	struct surface_style_reflectance_ambient;
1459 	struct surface_style_reflectance_ambient_diffuse;
1460 	struct surface_style_reflectance_ambient_diffuse_specular;
1461 	struct surface_style_rendering;
1462 	struct surface_style_rendering_with_properties;
1463 	struct surface_style_segmentation_curve;
1464 	struct surface_style_silhouette;
1465 	typedef NotImplemented surface_style_transparent; // (not currently used by Assimp)
1466 	struct surface_style_usage;
1467 	struct surface_texture_representation;
1468 	struct surfaced_open_shell;
1469 	struct swept_disk_solid;
1470 	struct symbol;
1471 	typedef NotImplemented symbol_colour; // (not currently used by Assimp)
1472 	struct symbol_representation_map;
1473 	struct symbol_style;
1474 	struct symbol_target;
1475 	struct symmetric_shape_aspect;
1476 	struct symmetry_tolerance;
1477 	struct table_representation_item;
1478 	struct tactile_appearance_representation;
1479 	struct tagged_text_format;
1480 	struct tagged_text_item;
1481 	struct tangent;
1482 	typedef NotImplemented text_font; // (not currently used by Assimp)
1483 	typedef NotImplemented text_font_family; // (not currently used by Assimp)
1484 	typedef NotImplemented text_font_in_family; // (not currently used by Assimp)
1485 	struct text_literal_with_associated_curves;
1486 	struct text_literal_with_blanking_box;
1487 	struct text_literal_with_extent;
1488 	struct text_string_representation;
1489 	struct text_style;
1490 	typedef NotImplemented text_style_for_defined_font; // (not currently used by Assimp)
1491 	struct text_style_with_box_characteristics;
1492 	struct text_style_with_mirror;
1493 	struct text_style_with_spacing;
1494 	struct thermal_resistance_measure_with_unit;
1495 	struct thermal_resistance_unit;
1496 	struct thermodynamic_temperature_measure_with_unit;
1497 	struct thermodynamic_temperature_unit;
1498 	struct thickened_face_solid;
1499 	struct thickness_laminate_definition;
1500 	struct thickness_laminate_table;
1501 	struct time_interval;
1502 	struct time_interval_based_effectivity;
1503 	typedef NotImplemented time_interval_relationship; // (not currently used by Assimp)
1504 	typedef NotImplemented time_interval_role; // (not currently used by Assimp)
1505 	struct time_interval_with_bounds;
1506 	struct time_measure_with_unit;
1507 	struct time_unit;
1508 	typedef NotImplemented tolerance_value; // (not currently used by Assimp)
1509 	struct tolerance_zone;
1510 	typedef NotImplemented tolerance_zone_form; // (not currently used by Assimp)
1511 	struct torus;
1512 	struct total_runout_tolerance;
1513 	struct track_blended_solid;
1514 	struct track_blended_solid_with_end_conditions;
1515 	struct trimmed_curve;
1516 	struct two_direction_repeat_factor;
1517 	typedef NotImplemented type_qualifier; // (not currently used by Assimp)
1518 	struct unary_generic_expression;
1519 	struct unary_numeric_expression;
1520 	struct uncertainty_assigned_representation;
1521 	struct uncertainty_measure_with_unit;
1522 	struct uniform_curve;
1523 	struct uniform_resource_identifier;
1524 	struct uniform_surface;
1525 	struct usage_association;
1526 	struct user_defined_curve_font;
1527 	struct user_defined_marker;
1528 	struct user_defined_terminator_symbol;
1529 	struct user_selected_shape_elements;
1530 	struct value_range;
1531 	struct value_representation_item;
1532 	struct variable_semantics;
1533 	struct variational_representation_item;
1534 	struct vector;
1535 	struct vector_style;
1536 	struct velocity_measure_with_unit;
1537 	struct velocity_unit;
1538 	typedef NotImplemented versioned_action_request; // (not currently used by Assimp)
1539 	struct vertex;
1540 	struct vertex_loop;
1541 	struct vertex_point;
1542 	struct vertex_shell;
1543 	struct view_volume;
1544 	struct visual_appearance_representation;
1545 	struct volume_measure_with_unit;
1546 	struct volume_unit;
1547 	struct week_of_year_and_day_date;
1548 	struct wire_shell;
1549 	struct year_month;
1550 
1551 
1552 
1553     // C++ wrapper for measure_with_unit
measure_with_unitmeasure_with_unit1554     struct measure_with_unit :  ObjectHelper<measure_with_unit,2> { measure_with_unit() : Object("measure_with_unit") {}
1555 		measure_value::Out value_component;
1556 		unit::Out unit_component;
1557     };
1558 
1559     // C++ wrapper for absorbed_dose_measure_with_unit
absorbed_dose_measure_with_unitabsorbed_dose_measure_with_unit1560     struct absorbed_dose_measure_with_unit : measure_with_unit, ObjectHelper<absorbed_dose_measure_with_unit,0> { absorbed_dose_measure_with_unit() : Object("absorbed_dose_measure_with_unit") {}
1561 
1562     };
1563 
1564     // C++ wrapper for derived_unit
derived_unitderived_unit1565     struct derived_unit :  ObjectHelper<derived_unit,1> { derived_unit() : Object("derived_unit") {}
1566 		ListOf< Lazy< NotImplemented >, 1, 0 > elements;
1567     };
1568 
1569     // C++ wrapper for absorbed_dose_unit
absorbed_dose_unitabsorbed_dose_unit1570     struct absorbed_dose_unit : derived_unit, ObjectHelper<absorbed_dose_unit,0> { absorbed_dose_unit() : Object("absorbed_dose_unit") {}
1571 
1572     };
1573 
1574     // C++ wrapper for abstract_variable
abstract_variableabstract_variable1575     struct abstract_variable :  ObjectHelper<abstract_variable,0> { abstract_variable() : Object("abstract_variable") {}
1576 
1577     };
1578 
1579     // C++ wrapper for acceleration_measure_with_unit
acceleration_measure_with_unitacceleration_measure_with_unit1580     struct acceleration_measure_with_unit : measure_with_unit, ObjectHelper<acceleration_measure_with_unit,0> { acceleration_measure_with_unit() : Object("acceleration_measure_with_unit") {}
1581 
1582     };
1583 
1584     // C++ wrapper for acceleration_unit
acceleration_unitacceleration_unit1585     struct acceleration_unit : derived_unit, ObjectHelper<acceleration_unit,0> { acceleration_unit() : Object("acceleration_unit") {}
1586 
1587     };
1588 
1589     // C++ wrapper for action
actionaction1590     struct action :  ObjectHelper<action,3> { action() : Object("action") {}
1591 		label::Out name;
1592 		Maybe< text::Out > description;
1593 		Lazy< action_method > chosen_method;
1594     };
1595 
1596     // C++ wrapper for action_assignment
action_assignmentaction_assignment1597     struct action_assignment :  ObjectHelper<action_assignment,1> { action_assignment() : Object("action_assignment") {}
1598 		Lazy< action > assigned_action;
1599     };
1600 
1601     // C++ wrapper for action_method
action_methodaction_method1602     struct action_method :  ObjectHelper<action_method,4> { action_method() : Object("action_method") {}
1603 		label::Out name;
1604 		Maybe< text::Out > description;
1605 		text::Out consequence;
1606 		text::Out purpose;
1607     };
1608 
1609     // C++ wrapper for action_method_assignment
action_method_assignmentaction_method_assignment1610     struct action_method_assignment :  ObjectHelper<action_method_assignment,2> { action_method_assignment() : Object("action_method_assignment") {}
1611 		Lazy< action_method > assigned_action_method;
1612 		Lazy< NotImplemented > role;
1613     };
1614 
1615     // C++ wrapper for action_method_relationship
action_method_relationshipaction_method_relationship1616     struct action_method_relationship :  ObjectHelper<action_method_relationship,4> { action_method_relationship() : Object("action_method_relationship") {}
1617 		label::Out name;
1618 		Maybe< text::Out > description;
1619 		Lazy< action_method > relating_method;
1620 		Lazy< action_method > related_method;
1621     };
1622 
1623     // C++ wrapper for action_request_assignment
action_request_assignmentaction_request_assignment1624     struct action_request_assignment :  ObjectHelper<action_request_assignment,1> { action_request_assignment() : Object("action_request_assignment") {}
1625 		Lazy< NotImplemented > assigned_action_request;
1626     };
1627 
1628     // C++ wrapper for address
addressaddress1629     struct address :  ObjectHelper<address,12> { address() : Object("address") {}
1630 		Maybe< label::Out > internal_location;
1631 		Maybe< label::Out > street_number;
1632 		Maybe< label::Out > street;
1633 		Maybe< label::Out > postal_box;
1634 		Maybe< label::Out > town;
1635 		Maybe< label::Out > region;
1636 		Maybe< label::Out > postal_code;
1637 		Maybe< label::Out > country;
1638 		Maybe< label::Out > facsimile_number;
1639 		Maybe< label::Out > telephone_number;
1640 		Maybe< label::Out > electronic_mail_address;
1641 		Maybe< label::Out > telex_number;
1642     };
1643 
1644     // C++ wrapper for representation
representationrepresentation1645     struct representation :  ObjectHelper<representation,3> { representation() : Object("representation") {}
1646 		label::Out name;
1647 		ListOf< Lazy< representation_item >, 1, 0 > items;
1648 		Lazy< representation_context > context_of_items;
1649     };
1650 
1651     // C++ wrapper for shape_representation
shape_representationshape_representation1652     struct shape_representation : representation, ObjectHelper<shape_representation,0> { shape_representation() : Object("shape_representation") {}
1653 
1654     };
1655 
1656     // C++ wrapper for advanced_brep_shape_representation
advanced_brep_shape_representationadvanced_brep_shape_representation1657     struct advanced_brep_shape_representation : shape_representation, ObjectHelper<advanced_brep_shape_representation,0> { advanced_brep_shape_representation() : Object("advanced_brep_shape_representation") {}
1658 
1659     };
1660 
1661     // C++ wrapper for face_surface
face_surfaceface_surface1662     struct face_surface :  ObjectHelper<face_surface,2> { face_surface() : Object("face_surface") {}
1663 		Lazy< surface > face_geometry;
1664 		BOOLEAN::Out same_sense;
1665     };
1666 
1667     // C++ wrapper for advanced_face
advanced_faceadvanced_face1668     struct advanced_face : face_surface, ObjectHelper<advanced_face,0> { advanced_face() : Object("advanced_face") {}
1669 
1670     };
1671 
1672     // C++ wrapper for amount_of_substance_measure_with_unit
amount_of_substance_measure_with_unitamount_of_substance_measure_with_unit1673     struct amount_of_substance_measure_with_unit : measure_with_unit, ObjectHelper<amount_of_substance_measure_with_unit,0> { amount_of_substance_measure_with_unit() : Object("amount_of_substance_measure_with_unit") {}
1674 
1675     };
1676 
1677     // C++ wrapper for named_unit
named_unitnamed_unit1678     struct named_unit :  ObjectHelper<named_unit,1> { named_unit() : Object("named_unit") {}
1679 		Lazy< NotImplemented > dimensions;
1680     };
1681 
1682     // C++ wrapper for amount_of_substance_unit
amount_of_substance_unitamount_of_substance_unit1683     struct amount_of_substance_unit : named_unit, ObjectHelper<amount_of_substance_unit,0> { amount_of_substance_unit() : Object("amount_of_substance_unit") {}
1684 
1685     };
1686 
1687     // C++ wrapper for angle_direction_reference
angle_direction_referenceangle_direction_reference1688     struct angle_direction_reference :  ObjectHelper<angle_direction_reference,0> { angle_direction_reference() : Object("angle_direction_reference") {}
1689 
1690     };
1691 
1692     // C++ wrapper for representation_item
representation_itemrepresentation_item1693     struct representation_item :  ObjectHelper<representation_item,1> { representation_item() : Object("representation_item") {}
1694 		label::Out name;
1695     };
1696 
1697     // C++ wrapper for geometric_representation_item
geometric_representation_itemgeometric_representation_item1698     struct geometric_representation_item : representation_item, ObjectHelper<geometric_representation_item,0> { geometric_representation_item() : Object("geometric_representation_item") {}
1699 
1700     };
1701 
1702     // C++ wrapper for draughting_callout
draughting_calloutdraughting_callout1703     struct draughting_callout : geometric_representation_item, ObjectHelper<draughting_callout,1> { draughting_callout() : Object("draughting_callout") {}
1704 		ListOf< draughting_callout_element, 1, 0 >::Out contents;
1705     };
1706 
1707     // C++ wrapper for dimension_curve_directed_callout
dimension_curve_directed_calloutdimension_curve_directed_callout1708     struct dimension_curve_directed_callout : draughting_callout, ObjectHelper<dimension_curve_directed_callout,0> { dimension_curve_directed_callout() : Object("dimension_curve_directed_callout") {}
1709 
1710     };
1711 
1712     // C++ wrapper for angular_dimension
angular_dimensionangular_dimension1713     struct angular_dimension : dimension_curve_directed_callout, ObjectHelper<angular_dimension,0> { angular_dimension() : Object("angular_dimension") {}
1714 
1715     };
1716 
1717     // C++ wrapper for shape_aspect_relationship
shape_aspect_relationshipshape_aspect_relationship1718     struct shape_aspect_relationship :  ObjectHelper<shape_aspect_relationship,4> { shape_aspect_relationship() : Object("shape_aspect_relationship") {}
1719 		label::Out name;
1720 		Maybe< text::Out > description;
1721 		Lazy< shape_aspect > relating_shape_aspect;
1722 		Lazy< shape_aspect > related_shape_aspect;
1723     };
1724 
1725     // C++ wrapper for dimensional_location
dimensional_locationdimensional_location1726     struct dimensional_location : shape_aspect_relationship, ObjectHelper<dimensional_location,0> { dimensional_location() : Object("dimensional_location") {}
1727 
1728     };
1729 
1730     // C++ wrapper for angular_location
angular_locationangular_location1731     struct angular_location : dimensional_location, ObjectHelper<angular_location,1> { angular_location() : Object("angular_location") {}
1732 		angle_relator::Out angle_selection;
1733     };
1734 
1735     // C++ wrapper for dimensional_size
dimensional_sizedimensional_size1736     struct dimensional_size :  ObjectHelper<dimensional_size,2> { dimensional_size() : Object("dimensional_size") {}
1737 		Lazy< shape_aspect > applies_to;
1738 		label::Out name;
1739     };
1740 
1741     // C++ wrapper for angular_size
angular_sizeangular_size1742     struct angular_size : dimensional_size, ObjectHelper<angular_size,1> { angular_size() : Object("angular_size") {}
1743 		angle_relator::Out angle_selection;
1744     };
1745 
1746     // C++ wrapper for geometric_tolerance
geometric_tolerancegeometric_tolerance1747     struct geometric_tolerance :  ObjectHelper<geometric_tolerance,4> { geometric_tolerance() : Object("geometric_tolerance") {}
1748 		label::Out name;
1749 		text::Out description;
1750 		Lazy< measure_with_unit > magnitude;
1751 		Lazy< shape_aspect > toleranced_shape_aspect;
1752     };
1753 
1754     // C++ wrapper for geometric_tolerance_with_datum_reference
geometric_tolerance_with_datum_referencegeometric_tolerance_with_datum_reference1755     struct geometric_tolerance_with_datum_reference : geometric_tolerance, ObjectHelper<geometric_tolerance_with_datum_reference,1> { geometric_tolerance_with_datum_reference() : Object("geometric_tolerance_with_datum_reference") {}
1756 		ListOf< Lazy< datum_reference >, 1, 0 > datum_system;
1757     };
1758 
1759     // C++ wrapper for angularity_tolerance
angularity_toleranceangularity_tolerance1760     struct angularity_tolerance : geometric_tolerance_with_datum_reference, ObjectHelper<angularity_tolerance,0> { angularity_tolerance() : Object("angularity_tolerance") {}
1761 
1762     };
1763 
1764     // C++ wrapper for styled_item
styled_itemstyled_item1765     struct styled_item : representation_item, ObjectHelper<styled_item,2> { styled_item() : Object("styled_item") {}
1766 		ListOf< Lazy< presentation_style_assignment >, 1, 0 > styles;
1767 		Lazy< representation_item > item;
1768     };
1769 
1770     // C++ wrapper for annotation_occurrence
annotation_occurrenceannotation_occurrence1771     struct annotation_occurrence : styled_item, ObjectHelper<annotation_occurrence,0> { annotation_occurrence() : Object("annotation_occurrence") {}
1772 
1773     };
1774 
1775     // C++ wrapper for annotation_curve_occurrence
annotation_curve_occurrenceannotation_curve_occurrence1776     struct annotation_curve_occurrence : annotation_occurrence, ObjectHelper<annotation_curve_occurrence,0> { annotation_curve_occurrence() : Object("annotation_curve_occurrence") {}
1777 
1778     };
1779 
1780     // C++ wrapper for annotation_fill_area
annotation_fill_areaannotation_fill_area1781     struct annotation_fill_area : geometric_representation_item, ObjectHelper<annotation_fill_area,1> { annotation_fill_area() : Object("annotation_fill_area") {}
1782 		ListOf< Lazy< curve >, 1, 0 > boundaries;
1783     };
1784 
1785     // C++ wrapper for annotation_fill_area_occurrence
annotation_fill_area_occurrenceannotation_fill_area_occurrence1786     struct annotation_fill_area_occurrence : annotation_occurrence, ObjectHelper<annotation_fill_area_occurrence,1> { annotation_fill_area_occurrence() : Object("annotation_fill_area_occurrence") {}
1787 		Lazy< point > fill_style_target;
1788     };
1789 
1790     // C++ wrapper for annotation_occurrence_relationship
annotation_occurrence_relationshipannotation_occurrence_relationship1791     struct annotation_occurrence_relationship :  ObjectHelper<annotation_occurrence_relationship,4> { annotation_occurrence_relationship() : Object("annotation_occurrence_relationship") {}
1792 		label::Out name;
1793 		text::Out description;
1794 		Lazy< annotation_occurrence > relating_annotation_occurrence;
1795 		Lazy< annotation_occurrence > related_annotation_occurrence;
1796     };
1797 
1798     // C++ wrapper for annotation_occurrence_associativity
annotation_occurrence_associativityannotation_occurrence_associativity1799     struct annotation_occurrence_associativity : annotation_occurrence_relationship, ObjectHelper<annotation_occurrence_associativity,0> { annotation_occurrence_associativity() : Object("annotation_occurrence_associativity") {}
1800 
1801     };
1802 
1803     // C++ wrapper for annotation_plane
annotation_planeannotation_plane1804     struct annotation_plane :  ObjectHelper<annotation_plane,1> { annotation_plane() : Object("annotation_plane") {}
1805 		Maybe< ListOf< annotation_plane_element, 1, 0 >::Out > elements;
1806     };
1807 
1808     // C++ wrapper for annotation_symbol_occurrence
annotation_symbol_occurrenceannotation_symbol_occurrence1809     struct annotation_symbol_occurrence : annotation_occurrence, ObjectHelper<annotation_symbol_occurrence,0> { annotation_symbol_occurrence() : Object("annotation_symbol_occurrence") {}
1810 
1811     };
1812 
1813     // C++ wrapper for annotation_subfigure_occurrence
annotation_subfigure_occurrenceannotation_subfigure_occurrence1814     struct annotation_subfigure_occurrence : annotation_symbol_occurrence, ObjectHelper<annotation_subfigure_occurrence,0> { annotation_subfigure_occurrence() : Object("annotation_subfigure_occurrence") {}
1815 
1816     };
1817 
1818     // C++ wrapper for mapped_item
mapped_itemmapped_item1819     struct mapped_item : representation_item, ObjectHelper<mapped_item,2> { mapped_item() : Object("mapped_item") {}
1820 		Lazy< representation_map > mapping_source;
1821 		Lazy< representation_item > mapping_target;
1822     };
1823 
1824     // C++ wrapper for annotation_symbol
annotation_symbolannotation_symbol1825     struct annotation_symbol : mapped_item, ObjectHelper<annotation_symbol,0> { annotation_symbol() : Object("annotation_symbol") {}
1826 
1827     };
1828 
1829     // C++ wrapper for annotation_text
annotation_textannotation_text1830     struct annotation_text : mapped_item, ObjectHelper<annotation_text,0> { annotation_text() : Object("annotation_text") {}
1831 
1832     };
1833 
1834     // C++ wrapper for annotation_text_character
annotation_text_characterannotation_text_character1835     struct annotation_text_character : mapped_item, ObjectHelper<annotation_text_character,1> { annotation_text_character() : Object("annotation_text_character") {}
1836 		text_alignment::Out alignment;
1837     };
1838 
1839     // C++ wrapper for annotation_text_occurrence
annotation_text_occurrenceannotation_text_occurrence1840     struct annotation_text_occurrence : annotation_occurrence, ObjectHelper<annotation_text_occurrence,0> { annotation_text_occurrence() : Object("annotation_text_occurrence") {}
1841 
1842     };
1843 
1844     // C++ wrapper for shape_aspect
shape_aspectshape_aspect1845     struct shape_aspect :  ObjectHelper<shape_aspect,4> { shape_aspect() : Object("shape_aspect") {}
1846 		label::Out name;
1847 		Maybe< text::Out > description;
1848 		Lazy< product_definition_shape > of_shape;
1849 		LOGICAL::Out product_definitional;
1850     };
1851 
1852     // C++ wrapper for derived_shape_aspect
derived_shape_aspectderived_shape_aspect1853     struct derived_shape_aspect : shape_aspect, ObjectHelper<derived_shape_aspect,0> { derived_shape_aspect() : Object("derived_shape_aspect") {}
1854 
1855     };
1856 
1857     // C++ wrapper for apex
apexapex1858     struct apex : derived_shape_aspect, ObjectHelper<apex,0> { apex() : Object("apex") {}
1859 
1860     };
1861 
1862     // C++ wrapper for application_context_element
application_context_elementapplication_context_element1863     struct application_context_element :  ObjectHelper<application_context_element,2> { application_context_element() : Object("application_context_element") {}
1864 		label::Out name;
1865 		Lazy< NotImplemented > frame_of_reference;
1866     };
1867 
1868     // C++ wrapper for applied_action_assignment
applied_action_assignmentapplied_action_assignment1869     struct applied_action_assignment : action_assignment, ObjectHelper<applied_action_assignment,1> { applied_action_assignment() : Object("applied_action_assignment") {}
1870 		ListOf< action_items, 1, 0 >::Out items;
1871     };
1872 
1873     // C++ wrapper for applied_action_method_assignment
applied_action_method_assignmentapplied_action_method_assignment1874     struct applied_action_method_assignment : action_method_assignment, ObjectHelper<applied_action_method_assignment,1> { applied_action_method_assignment() : Object("applied_action_method_assignment") {}
1875 		ListOf< action_method_items, 1, 0 >::Out items;
1876     };
1877 
1878     // C++ wrapper for applied_action_request_assignment
applied_action_request_assignmentapplied_action_request_assignment1879     struct applied_action_request_assignment : action_request_assignment, ObjectHelper<applied_action_request_assignment,1> { applied_action_request_assignment() : Object("applied_action_request_assignment") {}
1880 		ListOf< action_request_item, 1, 0 >::Out items;
1881     };
1882 
1883     // C++ wrapper for approval_assignment
approval_assignmentapproval_assignment1884     struct approval_assignment :  ObjectHelper<approval_assignment,1> { approval_assignment() : Object("approval_assignment") {}
1885 		Lazy< NotImplemented > assigned_approval;
1886     };
1887 
1888     // C++ wrapper for applied_approval_assignment
applied_approval_assignmentapplied_approval_assignment1889     struct applied_approval_assignment : approval_assignment, ObjectHelper<applied_approval_assignment,1> { applied_approval_assignment() : Object("applied_approval_assignment") {}
1890 		ListOf< approval_item, 1, 0 >::Out items;
1891     };
1892 
1893     // C++ wrapper for attribute_classification_assignment
attribute_classification_assignmentattribute_classification_assignment1894     struct attribute_classification_assignment :  ObjectHelper<attribute_classification_assignment,3> { attribute_classification_assignment() : Object("attribute_classification_assignment") {}
1895 		Lazy< group > assigned_class;
1896 		label::Out attribute_name;
1897 		Lazy< NotImplemented > role;
1898     };
1899 
1900     // C++ wrapper for applied_attribute_classification_assignment
applied_attribute_classification_assignmentapplied_attribute_classification_assignment1901     struct applied_attribute_classification_assignment : attribute_classification_assignment, ObjectHelper<applied_attribute_classification_assignment,1> { applied_attribute_classification_assignment() : Object("applied_attribute_classification_assignment") {}
1902 		ListOf< attribute_classification_item, 1, 0 >::Out items;
1903     };
1904 
1905     // C++ wrapper for certification_assignment
certification_assignmentcertification_assignment1906     struct certification_assignment :  ObjectHelper<certification_assignment,1> { certification_assignment() : Object("certification_assignment") {}
1907 		Lazy< NotImplemented > assigned_certification;
1908     };
1909 
1910     // C++ wrapper for applied_certification_assignment
applied_certification_assignmentapplied_certification_assignment1911     struct applied_certification_assignment : certification_assignment, ObjectHelper<applied_certification_assignment,1> { applied_certification_assignment() : Object("applied_certification_assignment") {}
1912 		ListOf< certification_item, 1, 0 >::Out items;
1913     };
1914 
1915     // C++ wrapper for classification_assignment
classification_assignmentclassification_assignment1916     struct classification_assignment :  ObjectHelper<classification_assignment,2> { classification_assignment() : Object("classification_assignment") {}
1917 		Lazy< group > assigned_class;
1918 		Lazy< NotImplemented > role;
1919     };
1920 
1921     // C++ wrapper for applied_classification_assignment
applied_classification_assignmentapplied_classification_assignment1922     struct applied_classification_assignment : classification_assignment, ObjectHelper<applied_classification_assignment,1> { applied_classification_assignment() : Object("applied_classification_assignment") {}
1923 		ListOf< classification_item, 1, 0 >::Out items;
1924     };
1925 
1926     // C++ wrapper for contract_assignment
contract_assignmentcontract_assignment1927     struct contract_assignment :  ObjectHelper<contract_assignment,1> { contract_assignment() : Object("contract_assignment") {}
1928 		Lazy< NotImplemented > assigned_contract;
1929     };
1930 
1931     // C++ wrapper for applied_contract_assignment
applied_contract_assignmentapplied_contract_assignment1932     struct applied_contract_assignment : contract_assignment, ObjectHelper<applied_contract_assignment,1> { applied_contract_assignment() : Object("applied_contract_assignment") {}
1933 		ListOf< contract_item, 1, 0 >::Out items;
1934     };
1935 
1936     // C++ wrapper for date_and_time_assignment
date_and_time_assignmentdate_and_time_assignment1937     struct date_and_time_assignment :  ObjectHelper<date_and_time_assignment,2> { date_and_time_assignment() : Object("date_and_time_assignment") {}
1938 		Lazy< NotImplemented > assigned_date_and_time;
1939 		Lazy< NotImplemented > role;
1940     };
1941 
1942     // C++ wrapper for applied_date_and_time_assignment
applied_date_and_time_assignmentapplied_date_and_time_assignment1943     struct applied_date_and_time_assignment : date_and_time_assignment, ObjectHelper<applied_date_and_time_assignment,1> { applied_date_and_time_assignment() : Object("applied_date_and_time_assignment") {}
1944 		ListOf< date_and_time_item, 1, 0 >::Out items;
1945     };
1946 
1947     // C++ wrapper for date_assignment
date_assignmentdate_assignment1948     struct date_assignment :  ObjectHelper<date_assignment,2> { date_assignment() : Object("date_assignment") {}
1949 		Lazy< date > assigned_date;
1950 		Lazy< NotImplemented > role;
1951     };
1952 
1953     // C++ wrapper for applied_date_assignment
applied_date_assignmentapplied_date_assignment1954     struct applied_date_assignment : date_assignment, ObjectHelper<applied_date_assignment,1> { applied_date_assignment() : Object("applied_date_assignment") {}
1955 		ListOf< date_item, 1, 0 >::Out items;
1956     };
1957 
1958     // C++ wrapper for document_reference
document_referencedocument_reference1959     struct document_reference :  ObjectHelper<document_reference,2> { document_reference() : Object("document_reference") {}
1960 		Lazy< NotImplemented > assigned_document;
1961 		label::Out source;
1962     };
1963 
1964     // C++ wrapper for applied_document_reference
applied_document_referenceapplied_document_reference1965     struct applied_document_reference : document_reference, ObjectHelper<applied_document_reference,1> { applied_document_reference() : Object("applied_document_reference") {}
1966 		ListOf< document_reference_item, 1, 0 >::Out items;
1967     };
1968 
1969     // C++ wrapper for document_usage_constraint_assignment
document_usage_constraint_assignmentdocument_usage_constraint_assignment1970     struct document_usage_constraint_assignment :  ObjectHelper<document_usage_constraint_assignment,2> { document_usage_constraint_assignment() : Object("document_usage_constraint_assignment") {}
1971 		Lazy< NotImplemented > assigned_document_usage;
1972 		Lazy< NotImplemented > role;
1973     };
1974 
1975     // C++ wrapper for applied_document_usage_constraint_assignment
applied_document_usage_constraint_assignmentapplied_document_usage_constraint_assignment1976     struct applied_document_usage_constraint_assignment : document_usage_constraint_assignment, ObjectHelper<applied_document_usage_constraint_assignment,1> { applied_document_usage_constraint_assignment() : Object("applied_document_usage_constraint_assignment") {}
1977 		ListOf< document_reference_item, 1, 0 >::Out items;
1978     };
1979 
1980     // C++ wrapper for effectivity_assignment
effectivity_assignmenteffectivity_assignment1981     struct effectivity_assignment :  ObjectHelper<effectivity_assignment,1> { effectivity_assignment() : Object("effectivity_assignment") {}
1982 		Lazy< effectivity > assigned_effectivity;
1983     };
1984 
1985     // C++ wrapper for applied_effectivity_assignment
applied_effectivity_assignmentapplied_effectivity_assignment1986     struct applied_effectivity_assignment : effectivity_assignment, ObjectHelper<applied_effectivity_assignment,1> { applied_effectivity_assignment() : Object("applied_effectivity_assignment") {}
1987 		ListOf< effectivity_item, 1, 0 >::Out items;
1988     };
1989 
1990     // C++ wrapper for event_occurrence_assignment
event_occurrence_assignmentevent_occurrence_assignment1991     struct event_occurrence_assignment :  ObjectHelper<event_occurrence_assignment,2> { event_occurrence_assignment() : Object("event_occurrence_assignment") {}
1992 		Lazy< event_occurrence > assigned_event_occurrence;
1993 		Lazy< NotImplemented > role;
1994     };
1995 
1996     // C++ wrapper for applied_event_occurrence_assignment
applied_event_occurrence_assignmentapplied_event_occurrence_assignment1997     struct applied_event_occurrence_assignment : event_occurrence_assignment, ObjectHelper<applied_event_occurrence_assignment,1> { applied_event_occurrence_assignment() : Object("applied_event_occurrence_assignment") {}
1998 		ListOf< event_occurrence_item, 1, 0 >::Out items;
1999     };
2000 
2001     // C++ wrapper for identification_assignment
identification_assignmentidentification_assignment2002     struct identification_assignment :  ObjectHelper<identification_assignment,2> { identification_assignment() : Object("identification_assignment") {}
2003 		identifier::Out assigned_id;
2004 		Lazy< NotImplemented > role;
2005     };
2006 
2007     // C++ wrapper for external_identification_assignment
external_identification_assignmentexternal_identification_assignment2008     struct external_identification_assignment : identification_assignment, ObjectHelper<external_identification_assignment,1> { external_identification_assignment() : Object("external_identification_assignment") {}
2009 		Lazy< external_source > source;
2010     };
2011 
2012     // C++ wrapper for applied_external_identification_assignment
applied_external_identification_assignmentapplied_external_identification_assignment2013     struct applied_external_identification_assignment : external_identification_assignment, ObjectHelper<applied_external_identification_assignment,1> { applied_external_identification_assignment() : Object("applied_external_identification_assignment") {}
2014 		ListOf< external_identification_item, 1, 0 >::Out items;
2015     };
2016 
2017     // C++ wrapper for group_assignment
group_assignmentgroup_assignment2018     struct group_assignment :  ObjectHelper<group_assignment,1> { group_assignment() : Object("group_assignment") {}
2019 		Lazy< group > assigned_group;
2020     };
2021 
2022     // C++ wrapper for applied_group_assignment
applied_group_assignmentapplied_group_assignment2023     struct applied_group_assignment : group_assignment, ObjectHelper<applied_group_assignment,1> { applied_group_assignment() : Object("applied_group_assignment") {}
2024 		ListOf< groupable_item, 1, 0 >::Out items;
2025     };
2026 
2027     // C++ wrapper for applied_identification_assignment
applied_identification_assignmentapplied_identification_assignment2028     struct applied_identification_assignment : identification_assignment, ObjectHelper<applied_identification_assignment,1> { applied_identification_assignment() : Object("applied_identification_assignment") {}
2029 		ListOf< identification_item, 1, 0 >::Out items;
2030     };
2031 
2032     // C++ wrapper for name_assignment
name_assignmentname_assignment2033     struct name_assignment :  ObjectHelper<name_assignment,1> { name_assignment() : Object("name_assignment") {}
2034 		label::Out assigned_name;
2035     };
2036 
2037     // C++ wrapper for applied_name_assignment
applied_name_assignmentapplied_name_assignment2038     struct applied_name_assignment : name_assignment, ObjectHelper<applied_name_assignment,1> { applied_name_assignment() : Object("applied_name_assignment") {}
2039 		name_item::Out item;
2040     };
2041 
2042     // C++ wrapper for organization_assignment
organization_assignmentorganization_assignment2043     struct organization_assignment :  ObjectHelper<organization_assignment,2> { organization_assignment() : Object("organization_assignment") {}
2044 		Lazy< NotImplemented > assigned_organization;
2045 		Lazy< NotImplemented > role;
2046     };
2047 
2048     // C++ wrapper for applied_organization_assignment
applied_organization_assignmentapplied_organization_assignment2049     struct applied_organization_assignment : organization_assignment, ObjectHelper<applied_organization_assignment,1> { applied_organization_assignment() : Object("applied_organization_assignment") {}
2050 		ListOf< organization_item, 1, 0 >::Out items;
2051     };
2052 
2053     // C++ wrapper for organizational_project_assignment
organizational_project_assignmentorganizational_project_assignment2054     struct organizational_project_assignment :  ObjectHelper<organizational_project_assignment,2> { organizational_project_assignment() : Object("organizational_project_assignment") {}
2055 		Lazy< NotImplemented > assigned_organizational_project;
2056 		Lazy< NotImplemented > role;
2057     };
2058 
2059     // C++ wrapper for applied_organizational_project_assignment
applied_organizational_project_assignmentapplied_organizational_project_assignment2060     struct applied_organizational_project_assignment : organizational_project_assignment, ObjectHelper<applied_organizational_project_assignment,1> { applied_organizational_project_assignment() : Object("applied_organizational_project_assignment") {}
2061 		ListOf< project_item, 1, 0 >::Out items;
2062     };
2063 
2064     // C++ wrapper for person_and_organization_assignment
person_and_organization_assignmentperson_and_organization_assignment2065     struct person_and_organization_assignment :  ObjectHelper<person_and_organization_assignment,2> { person_and_organization_assignment() : Object("person_and_organization_assignment") {}
2066 		Lazy< NotImplemented > assigned_person_and_organization;
2067 		Lazy< NotImplemented > role;
2068     };
2069 
2070     // C++ wrapper for applied_person_and_organization_assignment
applied_person_and_organization_assignmentapplied_person_and_organization_assignment2071     struct applied_person_and_organization_assignment : person_and_organization_assignment, ObjectHelper<applied_person_and_organization_assignment,1> { applied_person_and_organization_assignment() : Object("applied_person_and_organization_assignment") {}
2072 		ListOf< person_and_organization_item, 1, 0 >::Out items;
2073     };
2074 
2075     // C++ wrapper for presented_item
presented_itempresented_item2076     struct presented_item :  ObjectHelper<presented_item,0> { presented_item() : Object("presented_item") {}
2077 
2078     };
2079 
2080     // C++ wrapper for applied_presented_item
applied_presented_itemapplied_presented_item2081     struct applied_presented_item : presented_item, ObjectHelper<applied_presented_item,1> { applied_presented_item() : Object("applied_presented_item") {}
2082 		ListOf< presented_item_select, 1, 0 >::Out items;
2083     };
2084 
2085     // C++ wrapper for security_classification_assignment
security_classification_assignmentsecurity_classification_assignment2086     struct security_classification_assignment :  ObjectHelper<security_classification_assignment,1> { security_classification_assignment() : Object("security_classification_assignment") {}
2087 		Lazy< NotImplemented > assigned_security_classification;
2088     };
2089 
2090     // C++ wrapper for applied_security_classification_assignment
applied_security_classification_assignmentapplied_security_classification_assignment2091     struct applied_security_classification_assignment : security_classification_assignment, ObjectHelper<applied_security_classification_assignment,1> { applied_security_classification_assignment() : Object("applied_security_classification_assignment") {}
2092 		ListOf< security_classification_item, 1, 0 >::Out items;
2093     };
2094 
2095     // C++ wrapper for time_interval_assignment
time_interval_assignmenttime_interval_assignment2096     struct time_interval_assignment :  ObjectHelper<time_interval_assignment,2> { time_interval_assignment() : Object("time_interval_assignment") {}
2097 		Lazy< time_interval > assigned_time_interval;
2098 		Lazy< NotImplemented > role;
2099     };
2100 
2101     // C++ wrapper for applied_time_interval_assignment
applied_time_interval_assignmentapplied_time_interval_assignment2102     struct applied_time_interval_assignment : time_interval_assignment, ObjectHelper<applied_time_interval_assignment,1> { applied_time_interval_assignment() : Object("applied_time_interval_assignment") {}
2103 		ListOf< time_interval_item, 0, 0 >::Out items;
2104     };
2105 
2106     // C++ wrapper for applied_usage_right
applied_usage_rightapplied_usage_right2107     struct applied_usage_right : applied_action_assignment, ObjectHelper<applied_usage_right,0> { applied_usage_right() : Object("applied_usage_right") {}
2108 
2109     };
2110 
2111     // C++ wrapper for area_in_set
area_in_setarea_in_set2112     struct area_in_set :  ObjectHelper<area_in_set,2> { area_in_set() : Object("area_in_set") {}
2113 		Lazy< presentation_area > area;
2114 		Lazy< presentation_set > in_set;
2115     };
2116 
2117     // C++ wrapper for area_measure_with_unit
area_measure_with_unitarea_measure_with_unit2118     struct area_measure_with_unit : measure_with_unit, ObjectHelper<area_measure_with_unit,0> { area_measure_with_unit() : Object("area_measure_with_unit") {}
2119 
2120     };
2121 
2122     // C++ wrapper for area_unit
area_unitarea_unit2123     struct area_unit : derived_unit, ObjectHelper<area_unit,0> { area_unit() : Object("area_unit") {}
2124 
2125     };
2126 
2127     // C++ wrapper for product_definition_relationship
product_definition_relationshipproduct_definition_relationship2128     struct product_definition_relationship :  ObjectHelper<product_definition_relationship,5> { product_definition_relationship() : Object("product_definition_relationship") {}
2129 		identifier::Out id;
2130 		label::Out name;
2131 		Maybe< text::Out > description;
2132 		Lazy< product_definition > relating_product_definition;
2133 		Lazy< product_definition > related_product_definition;
2134     };
2135 
2136     // C++ wrapper for product_definition_usage
product_definition_usageproduct_definition_usage2137     struct product_definition_usage : product_definition_relationship, ObjectHelper<product_definition_usage,0> { product_definition_usage() : Object("product_definition_usage") {}
2138 
2139     };
2140 
2141     // C++ wrapper for assembly_component_usage
assembly_component_usageassembly_component_usage2142     struct assembly_component_usage : product_definition_usage, ObjectHelper<assembly_component_usage,1> { assembly_component_usage() : Object("assembly_component_usage") {}
2143 		Maybe< identifier::Out > reference_designator;
2144     };
2145 
2146     // C++ wrapper for assigned_requirement
assigned_requirementassigned_requirement2147     struct assigned_requirement : group_assignment, ObjectHelper<assigned_requirement,1> { assigned_requirement() : Object("assigned_requirement") {}
2148 		ListOf< Lazy< product_definition >, 1, 1 > items;
2149     };
2150 
2151     // C++ wrapper for compound_representation_item
compound_representation_itemcompound_representation_item2152     struct compound_representation_item : representation_item, ObjectHelper<compound_representation_item,1> { compound_representation_item() : Object("compound_representation_item") {}
2153 		compound_item_definition::Out item_element;
2154     };
2155 
2156     // C++ wrapper for atomic_formula
atomic_formulaatomic_formula2157     struct atomic_formula : compound_representation_item, ObjectHelper<atomic_formula,0> { atomic_formula() : Object("atomic_formula") {}
2158 
2159     };
2160 
2161     // C++ wrapper for attribute_assertion
attribute_assertionattribute_assertion2162     struct attribute_assertion :  ObjectHelper<attribute_assertion,0> { attribute_assertion() : Object("attribute_assertion") {}
2163 
2164     };
2165 
2166     // C++ wrapper for attribute_language_assignment
attribute_language_assignmentattribute_language_assignment2167     struct attribute_language_assignment : attribute_classification_assignment, ObjectHelper<attribute_language_assignment,1> { attribute_language_assignment() : Object("attribute_language_assignment") {}
2168 		ListOf< attribute_language_item, 1, 0 >::Out items;
2169     };
2170 
2171     // C++ wrapper for attribute_value_assignment
attribute_value_assignmentattribute_value_assignment2172     struct attribute_value_assignment :  ObjectHelper<attribute_value_assignment,3> { attribute_value_assignment() : Object("attribute_value_assignment") {}
2173 		label::Out attribute_name;
2174 		attribute_type::Out attribute_value;
2175 		Lazy< NotImplemented > role;
2176     };
2177 
2178     // C++ wrapper for auxiliary_geometric_representation_item
auxiliary_geometric_representation_itemauxiliary_geometric_representation_item2179     struct auxiliary_geometric_representation_item :  ObjectHelper<auxiliary_geometric_representation_item,0> { auxiliary_geometric_representation_item() : Object("auxiliary_geometric_representation_item") {}
2180 
2181     };
2182 
2183     // C++ wrapper for placement
placementplacement2184     struct placement : geometric_representation_item, ObjectHelper<placement,1> { placement() : Object("placement") {}
2185 		Lazy< cartesian_point > location;
2186     };
2187 
2188     // C++ wrapper for axis1_placement
axis1_placementaxis1_placement2189     struct axis1_placement : placement, ObjectHelper<axis1_placement,1> { axis1_placement() : Object("axis1_placement") {}
2190 		Maybe< Lazy< direction > > axis;
2191     };
2192 
2193     // C++ wrapper for axis2_placement_2d
axis2_placement_2daxis2_placement_2d2194     struct axis2_placement_2d : placement, ObjectHelper<axis2_placement_2d,1> { axis2_placement_2d() : Object("axis2_placement_2d") {}
2195 		Maybe< Lazy< direction > > ref_direction;
2196     };
2197 
2198     // C++ wrapper for axis2_placement_3d
axis2_placement_3daxis2_placement_3d2199     struct axis2_placement_3d : placement, ObjectHelper<axis2_placement_3d,2> { axis2_placement_3d() : Object("axis2_placement_3d") {}
2200 		Maybe< Lazy< direction > > axis;
2201 		Maybe< Lazy< direction > > ref_direction;
2202     };
2203 
2204     // C++ wrapper for curve
curvecurve2205     struct curve : geometric_representation_item, ObjectHelper<curve,0> { curve() : Object("curve") {}
2206 
2207     };
2208 
2209     // C++ wrapper for bounded_curve
bounded_curvebounded_curve2210     struct bounded_curve : curve, ObjectHelper<bounded_curve,0> { bounded_curve() : Object("bounded_curve") {}
2211 
2212     };
2213 
2214     // C++ wrapper for b_spline_curve
b_spline_curveb_spline_curve2215     struct b_spline_curve : bounded_curve, ObjectHelper<b_spline_curve,5> { b_spline_curve() : Object("b_spline_curve") {}
2216 		INTEGER::Out degree;
2217 		ListOf< Lazy< cartesian_point >, 2, 0 > control_points_list;
2218 		b_spline_curve_form::Out curve_form;
2219 		LOGICAL::Out closed_curve;
2220 		LOGICAL::Out self_intersect;
2221     };
2222 
2223     // C++ wrapper for b_spline_curve_with_knots
b_spline_curve_with_knotsb_spline_curve_with_knots2224     struct b_spline_curve_with_knots : b_spline_curve, ObjectHelper<b_spline_curve_with_knots,3> { b_spline_curve_with_knots() : Object("b_spline_curve_with_knots") {}
2225 		ListOf< INTEGER, 2, 0 >::Out knot_multiplicities;
2226 		ListOf< parameter_value, 2, 0 >::Out knots;
2227 		knot_type::Out knot_spec;
2228     };
2229 
2230     // C++ wrapper for surface
surfacesurface2231     struct surface : geometric_representation_item, ObjectHelper<surface,0> { surface() : Object("surface") {}
2232 
2233     };
2234 
2235     // C++ wrapper for bounded_surface
bounded_surfacebounded_surface2236     struct bounded_surface : surface, ObjectHelper<bounded_surface,0> { bounded_surface() : Object("bounded_surface") {}
2237 
2238     };
2239 
2240     // C++ wrapper for b_spline_surface
b_spline_surfaceb_spline_surface2241     struct b_spline_surface : bounded_surface, ObjectHelper<b_spline_surface,6> { b_spline_surface() : Object("b_spline_surface") {}
2242 		INTEGER::Out u_degree;
2243 		INTEGER::Out v_degree;
2244 		b_spline_surface_form::Out surface_form;
2245 		LOGICAL::Out u_closed;
2246 		LOGICAL::Out v_closed;
2247 		LOGICAL::Out self_intersect;
2248     };
2249 
2250     // C++ wrapper for b_spline_surface_with_knots
b_spline_surface_with_knotsb_spline_surface_with_knots2251     struct b_spline_surface_with_knots : b_spline_surface, ObjectHelper<b_spline_surface_with_knots,5> { b_spline_surface_with_knots() : Object("b_spline_surface_with_knots") {}
2252 		ListOf< INTEGER, 2, 0 >::Out u_multiplicities;
2253 		ListOf< INTEGER, 2, 0 >::Out v_multiplicities;
2254 		ListOf< parameter_value, 2, 0 >::Out u_knots;
2255 		ListOf< parameter_value, 2, 0 >::Out v_knots;
2256 		knot_type::Out knot_spec;
2257     };
2258 
2259     // C++ wrapper for product_definition
product_definitionproduct_definition2260     struct product_definition :  ObjectHelper<product_definition,4> { product_definition() : Object("product_definition") {}
2261 		identifier::Out id;
2262 		Maybe< text::Out > description;
2263 		Lazy< product_definition_formation > formation;
2264 		Lazy< product_definition_context > frame_of_reference;
2265     };
2266 
2267     // C++ wrapper for rule_software_definition
rule_software_definitionrule_software_definition2268     struct rule_software_definition : product_definition, ObjectHelper<rule_software_definition,0> { rule_software_definition() : Object("rule_software_definition") {}
2269 
2270     };
2271 
2272     // C++ wrapper for rule_definition
rule_definitionrule_definition2273     struct rule_definition : rule_software_definition, ObjectHelper<rule_definition,0> { rule_definition() : Object("rule_definition") {}
2274 
2275     };
2276 
2277     // C++ wrapper for back_chaining_rule
back_chaining_ruleback_chaining_rule2278     struct back_chaining_rule : rule_definition, ObjectHelper<back_chaining_rule,0> { back_chaining_rule() : Object("back_chaining_rule") {}
2279 
2280     };
2281 
2282     // C++ wrapper for back_chaining_rule_body
back_chaining_rule_bodyback_chaining_rule_body2283     struct back_chaining_rule_body :  ObjectHelper<back_chaining_rule_body,0> { back_chaining_rule_body() : Object("back_chaining_rule_body") {}
2284 
2285     };
2286 
2287     // C++ wrapper for colour
colourcolour2288     struct colour :  ObjectHelper<colour,0> { colour() : Object("colour") {}
2289 
2290     };
2291 
2292     // C++ wrapper for background_colour
background_colourbackground_colour2293     struct background_colour : colour, ObjectHelper<background_colour,1> { background_colour() : Object("background_colour") {}
2294 		area_or_view::Out presentation;
2295     };
2296 
2297     // C++ wrapper for beveled_sheet_representation
beveled_sheet_representationbeveled_sheet_representation2298     struct beveled_sheet_representation : shape_representation, ObjectHelper<beveled_sheet_representation,0> { beveled_sheet_representation() : Object("beveled_sheet_representation") {}
2299 
2300     };
2301 
2302     // C++ wrapper for bezier_curve
bezier_curvebezier_curve2303     struct bezier_curve : b_spline_curve, ObjectHelper<bezier_curve,0> { bezier_curve() : Object("bezier_curve") {}
2304 
2305     };
2306 
2307     // C++ wrapper for bezier_surface
bezier_surfacebezier_surface2308     struct bezier_surface : b_spline_surface, ObjectHelper<bezier_surface,0> { bezier_surface() : Object("bezier_surface") {}
2309 
2310     };
2311 
2312     // C++ wrapper for generic_expression
generic_expressiongeneric_expression2313     struct generic_expression :  ObjectHelper<generic_expression,0> { generic_expression() : Object("generic_expression") {}
2314 
2315     };
2316 
2317     // C++ wrapper for binary_generic_expression
binary_generic_expressionbinary_generic_expression2318     struct binary_generic_expression : generic_expression, ObjectHelper<binary_generic_expression,1> { binary_generic_expression() : Object("binary_generic_expression") {}
2319 		ListOf< Lazy< generic_expression >, 2, 2 > operands;
2320     };
2321 
2322     // C++ wrapper for binary_numeric_expression
binary_numeric_expressionbinary_numeric_expression2323     struct binary_numeric_expression :  ObjectHelper<binary_numeric_expression,0> { binary_numeric_expression() : Object("binary_numeric_expression") {}
2324 
2325     };
2326 
2327     // C++ wrapper for binary_representation_item
binary_representation_itembinary_representation_item2328     struct binary_representation_item : representation_item, ObjectHelper<binary_representation_item,1> { binary_representation_item() : Object("binary_representation_item") {}
2329 		BINARY::Out binary_value;
2330     };
2331 
2332     // C++ wrapper for block
blockblock2333     struct block : geometric_representation_item, ObjectHelper<block,4> { block() : Object("block") {}
2334 		Lazy< axis2_placement_3d > position;
2335 		positive_length_measure::Out x;
2336 		positive_length_measure::Out y;
2337 		positive_length_measure::Out z;
2338     };
2339 
2340     // C++ wrapper for expression
expressionexpression2341     struct expression : generic_expression, ObjectHelper<expression,0> { expression() : Object("expression") {}
2342 
2343     };
2344 
2345     // C++ wrapper for boolean_expression
boolean_expressionboolean_expression2346     struct boolean_expression : expression, ObjectHelper<boolean_expression,0> { boolean_expression() : Object("boolean_expression") {}
2347 
2348     };
2349 
2350     // C++ wrapper for boolean_literal
boolean_literalboolean_literal2351     struct boolean_literal :  ObjectHelper<boolean_literal,1> { boolean_literal() : Object("boolean_literal") {}
2352 		BOOLEAN::Out the_value;
2353     };
2354 
2355     // C++ wrapper for boolean_representation_item
boolean_representation_itemboolean_representation_item2356     struct boolean_representation_item :  ObjectHelper<boolean_representation_item,0> { boolean_representation_item() : Object("boolean_representation_item") {}
2357 
2358     };
2359 
2360     // C++ wrapper for boolean_result
boolean_resultboolean_result2361     struct boolean_result : geometric_representation_item, ObjectHelper<boolean_result,3> { boolean_result() : Object("boolean_result") {}
2362 		boolean_operator::Out operator_;
2363 		boolean_operand::Out first_operand;
2364 		boolean_operand::Out second_operand;
2365     };
2366 
2367     // C++ wrapper for composite_curve
composite_curvecomposite_curve2368     struct composite_curve : bounded_curve, ObjectHelper<composite_curve,2> { composite_curve() : Object("composite_curve") {}
2369 		ListOf< Lazy< composite_curve_segment >, 1, 0 > segments;
2370 		LOGICAL::Out self_intersect;
2371     };
2372 
2373     // C++ wrapper for composite_curve_on_surface
composite_curve_on_surfacecomposite_curve_on_surface2374     struct composite_curve_on_surface : composite_curve, ObjectHelper<composite_curve_on_surface,0> { composite_curve_on_surface() : Object("composite_curve_on_surface") {}
2375 
2376     };
2377 
2378     // C++ wrapper for boundary_curve
boundary_curveboundary_curve2379     struct boundary_curve : composite_curve_on_surface, ObjectHelper<boundary_curve,0> { boundary_curve() : Object("boundary_curve") {}
2380 
2381     };
2382 
2383     // C++ wrapper for bounded_pcurve
bounded_pcurvebounded_pcurve2384     struct bounded_pcurve :  ObjectHelper<bounded_pcurve,0> { bounded_pcurve() : Object("bounded_pcurve") {}
2385 
2386     };
2387 
2388     // C++ wrapper for bounded_surface_curve
bounded_surface_curvebounded_surface_curve2389     struct bounded_surface_curve :  ObjectHelper<bounded_surface_curve,0> { bounded_surface_curve() : Object("bounded_surface_curve") {}
2390 
2391     };
2392 
2393     // C++ wrapper for founded_item
founded_itemfounded_item2394     struct founded_item :  ObjectHelper<founded_item,0> { founded_item() : Object("founded_item") {}
2395 
2396     };
2397 
2398     // C++ wrapper for box_domain
box_domainbox_domain2399     struct box_domain : founded_item, ObjectHelper<box_domain,4> { box_domain() : Object("box_domain") {}
2400 		Lazy< cartesian_point > corner;
2401 		positive_length_measure::Out xlength;
2402 		positive_length_measure::Out ylength;
2403 		positive_length_measure::Out zlength;
2404     };
2405 
2406     // C++ wrapper for half_space_solid
half_space_solidhalf_space_solid2407     struct half_space_solid : geometric_representation_item, ObjectHelper<half_space_solid,2> { half_space_solid() : Object("half_space_solid") {}
2408 		Lazy< surface > base_surface;
2409 		BOOLEAN::Out agreement_flag;
2410     };
2411 
2412     // C++ wrapper for boxed_half_space
boxed_half_spaceboxed_half_space2413     struct boxed_half_space : half_space_solid, ObjectHelper<boxed_half_space,1> { boxed_half_space() : Object("boxed_half_space") {}
2414 		Lazy< box_domain > enclosure;
2415     };
2416 
2417     // C++ wrapper for breakdown_context
breakdown_contextbreakdown_context2418     struct breakdown_context : product_definition_relationship, ObjectHelper<breakdown_context,0> { breakdown_context() : Object("breakdown_context") {}
2419 
2420     };
2421 
2422     // C++ wrapper for breakdown_element_group_assignment
breakdown_element_group_assignmentbreakdown_element_group_assignment2423     struct breakdown_element_group_assignment : group_assignment, ObjectHelper<breakdown_element_group_assignment,1> { breakdown_element_group_assignment() : Object("breakdown_element_group_assignment") {}
2424 		ListOf< product_definition_or_breakdown_element_usage, 1, 1 >::Out items;
2425     };
2426 
2427     // C++ wrapper for breakdown_element_realization
breakdown_element_realizationbreakdown_element_realization2428     struct breakdown_element_realization :  ObjectHelper<breakdown_element_realization,0> { breakdown_element_realization() : Object("breakdown_element_realization") {}
2429 
2430     };
2431 
2432     // C++ wrapper for breakdown_element_usage
breakdown_element_usagebreakdown_element_usage2433     struct breakdown_element_usage : product_definition_relationship, ObjectHelper<breakdown_element_usage,0> { breakdown_element_usage() : Object("breakdown_element_usage") {}
2434 
2435     };
2436 
2437     // C++ wrapper for breakdown_of
breakdown_ofbreakdown_of2438     struct breakdown_of : product_definition_relationship, ObjectHelper<breakdown_of,0> { breakdown_of() : Object("breakdown_of") {}
2439 
2440     };
2441 
2442     // C++ wrapper for solid_model
solid_modelsolid_model2443     struct solid_model : geometric_representation_item, ObjectHelper<solid_model,0> { solid_model() : Object("solid_model") {}
2444 
2445     };
2446 
2447     // C++ wrapper for manifold_solid_brep
manifold_solid_brepmanifold_solid_brep2448     struct manifold_solid_brep : solid_model, ObjectHelper<manifold_solid_brep,1> { manifold_solid_brep() : Object("manifold_solid_brep") {}
2449 		Lazy< closed_shell > outer;
2450     };
2451 
2452     // C++ wrapper for brep_with_voids
brep_with_voidsbrep_with_voids2453     struct brep_with_voids : manifold_solid_brep, ObjectHelper<brep_with_voids,1> { brep_with_voids() : Object("brep_with_voids") {}
2454 		ListOf< Lazy< oriented_closed_shell >, 1, 0 > voids;
2455     };
2456 
2457     // C++ wrapper for bytes_representation_item
bytes_representation_itembytes_representation_item2458     struct bytes_representation_item : binary_representation_item, ObjectHelper<bytes_representation_item,0> { bytes_representation_item() : Object("bytes_representation_item") {}
2459 
2460     };
2461 
2462     // C++ wrapper for date
datedate2463     struct date :  ObjectHelper<date,1> { date() : Object("date") {}
2464 		year_number::Out year_component;
2465     };
2466 
2467     // C++ wrapper for calendar_date
calendar_datecalendar_date2468     struct calendar_date : date, ObjectHelper<calendar_date,2> { calendar_date() : Object("calendar_date") {}
2469 		day_in_month_number::Out day_component;
2470 		month_in_year_number::Out month_component;
2471     };
2472 
2473     // C++ wrapper for camera_image
camera_imagecamera_image2474     struct camera_image : mapped_item, ObjectHelper<camera_image,0> { camera_image() : Object("camera_image") {}
2475 
2476     };
2477 
2478     // C++ wrapper for camera_image_3d_with_scale
camera_image_3d_with_scalecamera_image_3d_with_scale2479     struct camera_image_3d_with_scale : camera_image, ObjectHelper<camera_image_3d_with_scale,0> { camera_image_3d_with_scale() : Object("camera_image_3d_with_scale") {}
2480 
2481     };
2482 
2483     // C++ wrapper for camera_model
camera_modelcamera_model2484     struct camera_model : geometric_representation_item, ObjectHelper<camera_model,0> { camera_model() : Object("camera_model") {}
2485 
2486     };
2487 
2488     // C++ wrapper for camera_model_d3
camera_model_d3camera_model_d32489     struct camera_model_d3 : camera_model, ObjectHelper<camera_model_d3,2> { camera_model_d3() : Object("camera_model_d3") {}
2490 		Lazy< axis2_placement_3d > view_reference_system;
2491 		Lazy< view_volume > perspective_of_volume;
2492     };
2493 
2494     // C++ wrapper for camera_model_d3_multi_clipping
camera_model_d3_multi_clippingcamera_model_d3_multi_clipping2495     struct camera_model_d3_multi_clipping : camera_model_d3, ObjectHelper<camera_model_d3_multi_clipping,1> { camera_model_d3_multi_clipping() : Object("camera_model_d3_multi_clipping") {}
2496 		ListOf< camera_model_d3_multi_clipping_interection_select, 1, 0 >::Out shape_clipping;
2497     };
2498 
2499     // C++ wrapper for camera_model_d3_multi_clipping_intersection
camera_model_d3_multi_clipping_intersectioncamera_model_d3_multi_clipping_intersection2500     struct camera_model_d3_multi_clipping_intersection : geometric_representation_item, ObjectHelper<camera_model_d3_multi_clipping_intersection,1> { camera_model_d3_multi_clipping_intersection() : Object("camera_model_d3_multi_clipping_intersection") {}
2501 		ListOf< camera_model_d3_multi_clipping_interection_select, 2, 0 >::Out shape_clipping;
2502     };
2503 
2504     // C++ wrapper for camera_model_d3_multi_clipping_union
camera_model_d3_multi_clipping_unioncamera_model_d3_multi_clipping_union2505     struct camera_model_d3_multi_clipping_union : geometric_representation_item, ObjectHelper<camera_model_d3_multi_clipping_union,1> { camera_model_d3_multi_clipping_union() : Object("camera_model_d3_multi_clipping_union") {}
2506 		ListOf< camera_model_d3_multi_clipping_union_select, 2, 0 >::Out shape_clipping;
2507     };
2508 
2509     // C++ wrapper for camera_model_d3_with_hlhsr
camera_model_d3_with_hlhsrcamera_model_d3_with_hlhsr2510     struct camera_model_d3_with_hlhsr : camera_model_d3, ObjectHelper<camera_model_d3_with_hlhsr,1> { camera_model_d3_with_hlhsr() : Object("camera_model_d3_with_hlhsr") {}
2511 		BOOLEAN::Out hidden_line_surface_removal;
2512     };
2513 
2514     // C++ wrapper for camera_model_with_light_sources
camera_model_with_light_sourcescamera_model_with_light_sources2515     struct camera_model_with_light_sources : camera_model_d3, ObjectHelper<camera_model_with_light_sources,1> { camera_model_with_light_sources() : Object("camera_model_with_light_sources") {}
2516 		ListOf< Lazy< light_source >, 1, 0 > sources;
2517     };
2518 
2519     // C++ wrapper for representation_map
representation_maprepresentation_map2520     struct representation_map :  ObjectHelper<representation_map,2> { representation_map() : Object("representation_map") {}
2521 		Lazy< representation_item > mapping_origin;
2522 		Lazy< representation > mapped_representation;
2523     };
2524 
2525     // C++ wrapper for camera_usage
camera_usagecamera_usage2526     struct camera_usage : representation_map, ObjectHelper<camera_usage,0> { camera_usage() : Object("camera_usage") {}
2527 
2528     };
2529 
2530     // C++ wrapper for capacitance_measure_with_unit
capacitance_measure_with_unitcapacitance_measure_with_unit2531     struct capacitance_measure_with_unit : measure_with_unit, ObjectHelper<capacitance_measure_with_unit,0> { capacitance_measure_with_unit() : Object("capacitance_measure_with_unit") {}
2532 
2533     };
2534 
2535     // C++ wrapper for capacitance_unit
capacitance_unitcapacitance_unit2536     struct capacitance_unit : derived_unit, ObjectHelper<capacitance_unit,0> { capacitance_unit() : Object("capacitance_unit") {}
2537 
2538     };
2539 
2540     // C++ wrapper for point
pointpoint2541     struct point : geometric_representation_item, ObjectHelper<point,0> { point() : Object("point") {}
2542 
2543     };
2544 
2545     // C++ wrapper for cartesian_point
cartesian_pointcartesian_point2546     struct cartesian_point : point, ObjectHelper<cartesian_point,1> { cartesian_point() : Object("cartesian_point") {}
2547 		ListOf< length_measure, 1, 3 >::Out coordinates;
2548     };
2549 
2550     // C++ wrapper for cartesian_transformation_operator
cartesian_transformation_operatorcartesian_transformation_operator2551     struct cartesian_transformation_operator :  ObjectHelper<cartesian_transformation_operator,4> { cartesian_transformation_operator() : Object("cartesian_transformation_operator") {}
2552 		Maybe< Lazy< direction > > axis1;
2553 		Maybe< Lazy< direction > > axis2;
2554 		Lazy< cartesian_point > local_origin;
2555 		Maybe< REAL::Out > scale;
2556     };
2557 
2558     // C++ wrapper for cartesian_transformation_operator_2d
cartesian_transformation_operator_2dcartesian_transformation_operator_2d2559     struct cartesian_transformation_operator_2d : cartesian_transformation_operator, ObjectHelper<cartesian_transformation_operator_2d,0> { cartesian_transformation_operator_2d() : Object("cartesian_transformation_operator_2d") {}
2560 
2561     };
2562 
2563     // C++ wrapper for cartesian_transformation_operator_3d
cartesian_transformation_operator_3dcartesian_transformation_operator_3d2564     struct cartesian_transformation_operator_3d : cartesian_transformation_operator, ObjectHelper<cartesian_transformation_operator_3d,1> { cartesian_transformation_operator_3d() : Object("cartesian_transformation_operator_3d") {}
2565 		Maybe< Lazy< direction > > axis3;
2566     };
2567 
2568     // C++ wrapper for cc_design_approval
cc_design_approvalcc_design_approval2569     struct cc_design_approval : approval_assignment, ObjectHelper<cc_design_approval,1> { cc_design_approval() : Object("cc_design_approval") {}
2570 		ListOf< approved_item, 1, 0 >::Out items;
2571     };
2572 
2573     // C++ wrapper for cc_design_certification
cc_design_certificationcc_design_certification2574     struct cc_design_certification : certification_assignment, ObjectHelper<cc_design_certification,1> { cc_design_certification() : Object("cc_design_certification") {}
2575 		ListOf< certified_item, 1, 0 >::Out items;
2576     };
2577 
2578     // C++ wrapper for cc_design_contract
cc_design_contractcc_design_contract2579     struct cc_design_contract : contract_assignment, ObjectHelper<cc_design_contract,1> { cc_design_contract() : Object("cc_design_contract") {}
2580 		ListOf< contracted_item, 1, 0 >::Out items;
2581     };
2582 
2583     // C++ wrapper for cc_design_date_and_time_assignment
cc_design_date_and_time_assignmentcc_design_date_and_time_assignment2584     struct cc_design_date_and_time_assignment : date_and_time_assignment, ObjectHelper<cc_design_date_and_time_assignment,1> { cc_design_date_and_time_assignment() : Object("cc_design_date_and_time_assignment") {}
2585 		ListOf< date_time_item, 1, 0 >::Out items;
2586     };
2587 
2588     // C++ wrapper for cc_design_person_and_organization_assignment
cc_design_person_and_organization_assignmentcc_design_person_and_organization_assignment2589     struct cc_design_person_and_organization_assignment : person_and_organization_assignment, ObjectHelper<cc_design_person_and_organization_assignment,1> { cc_design_person_and_organization_assignment() : Object("cc_design_person_and_organization_assignment") {}
2590 		ListOf< cc_person_organization_item, 1, 0 >::Out items;
2591     };
2592 
2593     // C++ wrapper for cc_design_security_classification
cc_design_security_classificationcc_design_security_classification2594     struct cc_design_security_classification : security_classification_assignment, ObjectHelper<cc_design_security_classification,1> { cc_design_security_classification() : Object("cc_design_security_classification") {}
2595 		ListOf< cc_classified_item, 1, 0 >::Out items;
2596     };
2597 
2598     // C++ wrapper for cc_design_specification_reference
cc_design_specification_referencecc_design_specification_reference2599     struct cc_design_specification_reference : document_reference, ObjectHelper<cc_design_specification_reference,1> { cc_design_specification_reference() : Object("cc_design_specification_reference") {}
2600 		ListOf< cc_specified_item, 1, 0 >::Out items;
2601     };
2602 
2603     // C++ wrapper for celsius_temperature_measure_with_unit
celsius_temperature_measure_with_unitcelsius_temperature_measure_with_unit2604     struct celsius_temperature_measure_with_unit : measure_with_unit, ObjectHelper<celsius_temperature_measure_with_unit,0> { celsius_temperature_measure_with_unit() : Object("celsius_temperature_measure_with_unit") {}
2605 
2606     };
2607 
2608     // C++ wrapper for centre_of_symmetry
centre_of_symmetrycentre_of_symmetry2609     struct centre_of_symmetry : derived_shape_aspect, ObjectHelper<centre_of_symmetry,0> { centre_of_symmetry() : Object("centre_of_symmetry") {}
2610 
2611     };
2612 
2613     // C++ wrapper for change
changechange2614     struct change : action_assignment, ObjectHelper<change,1> { change() : Object("change") {}
2615 		ListOf< work_item, 1, 0 >::Out items;
2616     };
2617 
2618     // C++ wrapper for change_request
change_requestchange_request2619     struct change_request : action_request_assignment, ObjectHelper<change_request,1> { change_request() : Object("change_request") {}
2620 		ListOf< change_request_item, 1, 0 >::Out items;
2621     };
2622 
2623     // C++ wrapper for character_glyph_style_outline
character_glyph_style_outlinecharacter_glyph_style_outline2624     struct character_glyph_style_outline : founded_item, ObjectHelper<character_glyph_style_outline,1> { character_glyph_style_outline() : Object("character_glyph_style_outline") {}
2625 		Lazy< curve_style > outline_style;
2626     };
2627 
2628     // C++ wrapper for character_glyph_style_stroke
character_glyph_style_strokecharacter_glyph_style_stroke2629     struct character_glyph_style_stroke : founded_item, ObjectHelper<character_glyph_style_stroke,1> { character_glyph_style_stroke() : Object("character_glyph_style_stroke") {}
2630 		Lazy< curve_style > stroke_style;
2631     };
2632 
2633     // C++ wrapper for symbol_representation
symbol_representationsymbol_representation2634     struct symbol_representation : representation, ObjectHelper<symbol_representation,0> { symbol_representation() : Object("symbol_representation") {}
2635 
2636     };
2637 
2638     // C++ wrapper for generic_character_glyph_symbol
generic_character_glyph_symbolgeneric_character_glyph_symbol2639     struct generic_character_glyph_symbol : symbol_representation, ObjectHelper<generic_character_glyph_symbol,0> { generic_character_glyph_symbol() : Object("generic_character_glyph_symbol") {}
2640 
2641     };
2642 
2643     // C++ wrapper for character_glyph_symbol
character_glyph_symbolcharacter_glyph_symbol2644     struct character_glyph_symbol : generic_character_glyph_symbol, ObjectHelper<character_glyph_symbol,2> { character_glyph_symbol() : Object("character_glyph_symbol") {}
2645 		Lazy< planar_extent > character_box;
2646 		ratio_measure::Out baseline_ratio;
2647     };
2648 
2649     // C++ wrapper for character_glyph_symbol_outline
character_glyph_symbol_outlinecharacter_glyph_symbol_outline2650     struct character_glyph_symbol_outline : character_glyph_symbol, ObjectHelper<character_glyph_symbol_outline,1> { character_glyph_symbol_outline() : Object("character_glyph_symbol_outline") {}
2651 		ListOf< Lazy< annotation_fill_area >, 1, 0 > outlines;
2652     };
2653 
2654     // C++ wrapper for character_glyph_symbol_stroke
character_glyph_symbol_strokecharacter_glyph_symbol_stroke2655     struct character_glyph_symbol_stroke : character_glyph_symbol, ObjectHelper<character_glyph_symbol_stroke,1> { character_glyph_symbol_stroke() : Object("character_glyph_symbol_stroke") {}
2656 		ListOf< Lazy< curve >, 1, 0 > strokes;
2657     };
2658 
2659     // C++ wrapper for general_property
general_propertygeneral_property2660     struct general_property :  ObjectHelper<general_property,3> { general_property() : Object("general_property") {}
2661 		identifier::Out id;
2662 		label::Out name;
2663 		Maybe< text::Out > description;
2664     };
2665 
2666     // C++ wrapper for characteristic_data_column_header
characteristic_data_column_headercharacteristic_data_column_header2667     struct characteristic_data_column_header : general_property, ObjectHelper<characteristic_data_column_header,0> { characteristic_data_column_header() : Object("characteristic_data_column_header") {}
2668 
2669     };
2670 
2671     // C++ wrapper for general_property_relationship
general_property_relationshipgeneral_property_relationship2672     struct general_property_relationship :  ObjectHelper<general_property_relationship,4> { general_property_relationship() : Object("general_property_relationship") {}
2673 		label::Out name;
2674 		Maybe< text::Out > description;
2675 		Lazy< general_property > relating_property;
2676 		Lazy< general_property > related_property;
2677     };
2678 
2679     // C++ wrapper for characteristic_data_column_header_link
characteristic_data_column_header_linkcharacteristic_data_column_header_link2680     struct characteristic_data_column_header_link : general_property_relationship, ObjectHelper<characteristic_data_column_header_link,0> { characteristic_data_column_header_link() : Object("characteristic_data_column_header_link") {}
2681 
2682     };
2683 
2684     // C++ wrapper for characteristic_data_table_header
characteristic_data_table_headercharacteristic_data_table_header2685     struct characteristic_data_table_header : general_property, ObjectHelper<characteristic_data_table_header,0> { characteristic_data_table_header() : Object("characteristic_data_table_header") {}
2686 
2687     };
2688 
2689     // C++ wrapper for characteristic_data_table_header_decomposition
characteristic_data_table_header_decompositioncharacteristic_data_table_header_decomposition2690     struct characteristic_data_table_header_decomposition : general_property_relationship, ObjectHelper<characteristic_data_table_header_decomposition,0> { characteristic_data_table_header_decomposition() : Object("characteristic_data_table_header_decomposition") {}
2691 
2692     };
2693 
2694     // C++ wrapper for group
groupgroup2695     struct group :  ObjectHelper<group,2> { group() : Object("group") {}
2696 		label::Out name;
2697 		Maybe< text::Out > description;
2698     };
2699 
2700     // C++ wrapper for characteristic_type
characteristic_typecharacteristic_type2701     struct characteristic_type : group, ObjectHelper<characteristic_type,0> { characteristic_type() : Object("characteristic_type") {}
2702 
2703     };
2704 
2705     // C++ wrapper for characterized_class
characterized_classcharacterized_class2706     struct characterized_class :  ObjectHelper<characterized_class,0> { characterized_class() : Object("characterized_class") {}
2707 
2708     };
2709 
2710     // C++ wrapper for characterized_object
characterized_objectcharacterized_object2711     struct characterized_object :  ObjectHelper<characterized_object,2> { characterized_object() : Object("characterized_object") {}
2712 		label::Out name;
2713 		Maybe< text::Out > description;
2714     };
2715 
2716     // C++ wrapper for conic
conicconic2717     struct conic : curve, ObjectHelper<conic,1> { conic() : Object("conic") {}
2718 		axis2_placement::Out position;
2719     };
2720 
2721     // C++ wrapper for circle
circlecircle2722     struct circle : conic, ObjectHelper<circle,1> { circle() : Object("circle") {}
2723 		positive_length_measure::Out radius;
2724     };
2725 
2726     // C++ wrapper for circular_runout_tolerance
circular_runout_tolerancecircular_runout_tolerance2727     struct circular_runout_tolerance : geometric_tolerance_with_datum_reference, ObjectHelper<circular_runout_tolerance,0> { circular_runout_tolerance() : Object("circular_runout_tolerance") {}
2728 
2729     };
2730 
2731     // C++ wrapper for class_by_extension
class_by_extensionclass_by_extension2732     struct class_by_extension : class_t, ObjectHelper<class_by_extension,0> { class_by_extension() : Object("class_by_extension") {}
2733 
2734     };
2735 
2736     // C++ wrapper for class_by_intension
class_by_intensionclass_by_intension2737     struct class_by_intension : class_t, ObjectHelper<class_by_intension,0> { class_by_intension() : Object("class_by_intension") {}
2738 
2739     };
2740 
2741     // C++ wrapper for class_system
class_systemclass_system2742     struct class_system : group, ObjectHelper<class_system,0> { class_system() : Object("class_system") {}
2743 
2744     };
2745 
2746     // C++ wrapper for effectivity_context_assignment
effectivity_context_assignmenteffectivity_context_assignment2747     struct effectivity_context_assignment :  ObjectHelper<effectivity_context_assignment,2> { effectivity_context_assignment() : Object("effectivity_context_assignment") {}
2748 		Lazy< effectivity_assignment > assigned_effectivity_assignment;
2749 		Lazy< NotImplemented > role;
2750     };
2751 
2752     // C++ wrapper for class_usage_effectivity_context_assignment
class_usage_effectivity_context_assignmentclass_usage_effectivity_context_assignment2753     struct class_usage_effectivity_context_assignment : effectivity_context_assignment, ObjectHelper<class_usage_effectivity_context_assignment,1> { class_usage_effectivity_context_assignment() : Object("class_usage_effectivity_context_assignment") {}
2754 		ListOf< class_usage_effectivity_context_item, 1, 0 >::Out items;
2755     };
2756 
2757     // C++ wrapper for topological_representation_item
topological_representation_itemtopological_representation_item2758     struct topological_representation_item : representation_item, ObjectHelper<topological_representation_item,0> { topological_representation_item() : Object("topological_representation_item") {}
2759 
2760     };
2761 
2762     // C++ wrapper for connected_face_set
connected_face_setconnected_face_set2763     struct connected_face_set : topological_representation_item, ObjectHelper<connected_face_set,1> { connected_face_set() : Object("connected_face_set") {}
2764 		ListOf< Lazy< face >, 1, 0 > cfs_faces;
2765     };
2766 
2767     // C++ wrapper for closed_shell
closed_shellclosed_shell2768     struct closed_shell : connected_face_set, ObjectHelper<closed_shell,0> { closed_shell() : Object("closed_shell") {}
2769 
2770     };
2771 
2772     // C++ wrapper for coaxiality_tolerance
coaxiality_tolerancecoaxiality_tolerance2773     struct coaxiality_tolerance : geometric_tolerance_with_datum_reference, ObjectHelper<coaxiality_tolerance,0> { coaxiality_tolerance() : Object("coaxiality_tolerance") {}
2774 
2775     };
2776 
2777     // C++ wrapper for colour_specification
colour_specificationcolour_specification2778     struct colour_specification : colour, ObjectHelper<colour_specification,1> { colour_specification() : Object("colour_specification") {}
2779 		label::Out name;
2780     };
2781 
2782     // C++ wrapper for colour_rgb
colour_rgbcolour_rgb2783     struct colour_rgb : colour_specification, ObjectHelper<colour_rgb,3> { colour_rgb() : Object("colour_rgb") {}
2784 		REAL::Out red;
2785 		REAL::Out green;
2786 		REAL::Out blue;
2787     };
2788 
2789     // C++ wrapper for common_datum
common_datumcommon_datum2790     struct common_datum :  ObjectHelper<common_datum,0> { common_datum() : Object("common_datum") {}
2791 
2792     };
2793 
2794     // C++ wrapper for comparison_expression
comparison_expressioncomparison_expression2795     struct comparison_expression :  ObjectHelper<comparison_expression,0> { comparison_expression() : Object("comparison_expression") {}
2796 
2797     };
2798 
2799     // C++ wrapper for complex_clause
complex_clausecomplex_clause2800     struct complex_clause : compound_representation_item, ObjectHelper<complex_clause,0> { complex_clause() : Object("complex_clause") {}
2801 
2802     };
2803 
2804     // C++ wrapper for complex_conjunctive_clause
complex_conjunctive_clausecomplex_conjunctive_clause2805     struct complex_conjunctive_clause : complex_clause, ObjectHelper<complex_conjunctive_clause,0> { complex_conjunctive_clause() : Object("complex_conjunctive_clause") {}
2806 
2807     };
2808 
2809     // C++ wrapper for complex_disjunctive_clause
complex_disjunctive_clausecomplex_disjunctive_clause2810     struct complex_disjunctive_clause : complex_clause, ObjectHelper<complex_disjunctive_clause,0> { complex_disjunctive_clause() : Object("complex_disjunctive_clause") {}
2811 
2812     };
2813 
2814     // C++ wrapper for modified_solid
modified_solidmodified_solid2815     struct modified_solid : solid_model, ObjectHelper<modified_solid,2> { modified_solid() : Object("modified_solid") {}
2816 		text::Out rationale;
2817 		base_solid_select::Out base_solid;
2818     };
2819 
2820     // C++ wrapper for shelled_solid
shelled_solidshelled_solid2821     struct shelled_solid : modified_solid, ObjectHelper<shelled_solid,2> { shelled_solid() : Object("shelled_solid") {}
2822 		ListOf< Lazy< face_surface >, 1, 0 > deleted_face_set;
2823 		length_measure::Out thickness;
2824     };
2825 
2826     // C++ wrapper for complex_shelled_solid
complex_shelled_solidcomplex_shelled_solid2827     struct complex_shelled_solid : shelled_solid, ObjectHelper<complex_shelled_solid,1> { complex_shelled_solid() : Object("complex_shelled_solid") {}
2828 		ListOf< length_measure, 1, 0 >::Out thickness_list;
2829     };
2830 
2831     // C++ wrapper for composite_assembly_definition
composite_assembly_definitioncomposite_assembly_definition2832     struct composite_assembly_definition : product_definition, ObjectHelper<composite_assembly_definition,0> { composite_assembly_definition() : Object("composite_assembly_definition") {}
2833 
2834     };
2835 
2836     // C++ wrapper for composite_assembly_sequence_definition
composite_assembly_sequence_definitioncomposite_assembly_sequence_definition2837     struct composite_assembly_sequence_definition : product_definition, ObjectHelper<composite_assembly_sequence_definition,0> { composite_assembly_sequence_definition() : Object("composite_assembly_sequence_definition") {}
2838 
2839     };
2840 
2841     // C++ wrapper for laminate_table
laminate_tablelaminate_table2842     struct laminate_table : product_definition, ObjectHelper<laminate_table,0> { laminate_table() : Object("laminate_table") {}
2843 
2844     };
2845 
2846     // C++ wrapper for part_laminate_table
part_laminate_tablepart_laminate_table2847     struct part_laminate_table : laminate_table, ObjectHelper<part_laminate_table,0> { part_laminate_table() : Object("part_laminate_table") {}
2848 
2849     };
2850 
2851     // C++ wrapper for composite_assembly_table
composite_assembly_tablecomposite_assembly_table2852     struct composite_assembly_table : part_laminate_table, ObjectHelper<composite_assembly_table,0> { composite_assembly_table() : Object("composite_assembly_table") {}
2853 
2854     };
2855 
2856     // C++ wrapper for composite_curve_segment
composite_curve_segmentcomposite_curve_segment2857     struct composite_curve_segment : founded_item, ObjectHelper<composite_curve_segment,3> { composite_curve_segment() : Object("composite_curve_segment") {}
2858 		transition_code::Out transition;
2859 		BOOLEAN::Out same_sense;
2860 		Lazy< curve > parent_curve;
2861     };
2862 
2863     // C++ wrapper for material_designation
material_designationmaterial_designation2864     struct material_designation :  ObjectHelper<material_designation,2> { material_designation() : Object("material_designation") {}
2865 		label::Out name;
2866 		ListOf< characterized_definition, 1, 0 >::Out definitions;
2867     };
2868 
2869     // C++ wrapper for composite_material_designation
composite_material_designationcomposite_material_designation2870     struct composite_material_designation : material_designation, ObjectHelper<composite_material_designation,0> { composite_material_designation() : Object("composite_material_designation") {}
2871 
2872     };
2873 
2874     // C++ wrapper for composite_shape_aspect
composite_shape_aspectcomposite_shape_aspect2875     struct composite_shape_aspect : shape_aspect, ObjectHelper<composite_shape_aspect,0> { composite_shape_aspect() : Object("composite_shape_aspect") {}
2876 
2877     };
2878 
2879     // C++ wrapper for composite_sheet_representation
composite_sheet_representationcomposite_sheet_representation2880     struct composite_sheet_representation : shape_representation, ObjectHelper<composite_sheet_representation,0> { composite_sheet_representation() : Object("composite_sheet_representation") {}
2881 
2882     };
2883 
2884     // C++ wrapper for composite_text
composite_textcomposite_text2885     struct composite_text : geometric_representation_item, ObjectHelper<composite_text,1> { composite_text() : Object("composite_text") {}
2886 		ListOf< text_or_character, 2, 0 >::Out collected_text;
2887     };
2888 
2889     // C++ wrapper for composite_text_with_associated_curves
composite_text_with_associated_curvescomposite_text_with_associated_curves2890     struct composite_text_with_associated_curves : composite_text, ObjectHelper<composite_text_with_associated_curves,1> { composite_text_with_associated_curves() : Object("composite_text_with_associated_curves") {}
2891 		ListOf< Lazy< curve >, 1, 0 > associated_curves;
2892     };
2893 
2894     // C++ wrapper for composite_text_with_blanking_box
composite_text_with_blanking_boxcomposite_text_with_blanking_box2895     struct composite_text_with_blanking_box : composite_text, ObjectHelper<composite_text_with_blanking_box,1> { composite_text_with_blanking_box() : Object("composite_text_with_blanking_box") {}
2896 		Lazy< planar_box > blanking;
2897     };
2898 
2899     // C++ wrapper for composite_text_with_delineation
composite_text_with_delineationcomposite_text_with_delineation2900     struct composite_text_with_delineation : composite_text, ObjectHelper<composite_text_with_delineation,1> { composite_text_with_delineation() : Object("composite_text_with_delineation") {}
2901 		text_delineation::Out delineation;
2902     };
2903 
2904     // C++ wrapper for composite_text_with_extent
composite_text_with_extentcomposite_text_with_extent2905     struct composite_text_with_extent : composite_text, ObjectHelper<composite_text_with_extent,1> { composite_text_with_extent() : Object("composite_text_with_extent") {}
2906 		Lazy< planar_extent > extent;
2907     };
2908 
2909     // C++ wrapper for compound_shape_representation
compound_shape_representationcompound_shape_representation2910     struct compound_shape_representation : shape_representation, ObjectHelper<compound_shape_representation,0> { compound_shape_representation() : Object("compound_shape_representation") {}
2911 
2912     };
2913 
2914     // C++ wrapper for concentricity_tolerance
concentricity_toleranceconcentricity_tolerance2915     struct concentricity_tolerance : geometric_tolerance_with_datum_reference, ObjectHelper<concentricity_tolerance,0> { concentricity_tolerance() : Object("concentricity_tolerance") {}
2916 
2917     };
2918 
2919     // C++ wrapper for concept_feature_relationship
concept_feature_relationshipconcept_feature_relationship2920     struct concept_feature_relationship :  ObjectHelper<concept_feature_relationship,4> { concept_feature_relationship() : Object("concept_feature_relationship") {}
2921 		label::Out name;
2922 		Maybe< text::Out > description;
2923 		Lazy< product_concept_feature > relating_product_concept_feature;
2924 		Lazy< product_concept_feature > related_product_concept_feature;
2925     };
2926 
2927     // C++ wrapper for concept_feature_relationship_with_condition
concept_feature_relationship_with_conditionconcept_feature_relationship_with_condition2928     struct concept_feature_relationship_with_condition : concept_feature_relationship, ObjectHelper<concept_feature_relationship_with_condition,1> { concept_feature_relationship_with_condition() : Object("concept_feature_relationship_with_condition") {}
2929 		Lazy< NotImplemented > conditional_operator;
2930     };
2931 
2932     // C++ wrapper for product_concept_feature
product_concept_featureproduct_concept_feature2933     struct product_concept_feature :  ObjectHelper<product_concept_feature,3> { product_concept_feature() : Object("product_concept_feature") {}
2934 		identifier::Out id;
2935 		label::Out name;
2936 		Maybe< text::Out > description;
2937     };
2938 
2939     // C++ wrapper for conditional_concept_feature
conditional_concept_featureconditional_concept_feature2940     struct conditional_concept_feature : product_concept_feature, ObjectHelper<conditional_concept_feature,1> { conditional_concept_feature() : Object("conditional_concept_feature") {}
2941 		Lazy< concept_feature_relationship_with_condition > condition;
2942     };
2943 
2944     // C++ wrapper for conductance_measure_with_unit
conductance_measure_with_unitconductance_measure_with_unit2945     struct conductance_measure_with_unit : measure_with_unit, ObjectHelper<conductance_measure_with_unit,0> { conductance_measure_with_unit() : Object("conductance_measure_with_unit") {}
2946 
2947     };
2948 
2949     // C++ wrapper for conductance_unit
conductance_unitconductance_unit2950     struct conductance_unit : derived_unit, ObjectHelper<conductance_unit,0> { conductance_unit() : Object("conductance_unit") {}
2951 
2952     };
2953 
2954     // C++ wrapper for configuration_item
configuration_itemconfiguration_item2955     struct configuration_item :  ObjectHelper<configuration_item,5> { configuration_item() : Object("configuration_item") {}
2956 		identifier::Out id;
2957 		label::Out name;
2958 		Maybe< text::Out > description;
2959 		Lazy< NotImplemented > item_concept;
2960 		Maybe< label::Out > purpose;
2961     };
2962 
2963     // C++ wrapper for configurable_item
configurable_itemconfigurable_item2964     struct configurable_item : configuration_item, ObjectHelper<configurable_item,1> { configurable_item() : Object("configurable_item") {}
2965 		ListOf< Lazy< NotImplemented >, 1, 0 > item_concept_feature;
2966     };
2967 
2968     // C++ wrapper for effectivity
effectivityeffectivity2969     struct effectivity :  ObjectHelper<effectivity,1> { effectivity() : Object("effectivity") {}
2970 		identifier::Out id;
2971     };
2972 
2973     // C++ wrapper for product_definition_effectivity
product_definition_effectivityproduct_definition_effectivity2974     struct product_definition_effectivity : effectivity, ObjectHelper<product_definition_effectivity,1> { product_definition_effectivity() : Object("product_definition_effectivity") {}
2975 		Lazy< product_definition_relationship > usage;
2976     };
2977 
2978     // C++ wrapper for configuration_effectivity
configuration_effectivityconfiguration_effectivity2979     struct configuration_effectivity : product_definition_effectivity, ObjectHelper<configuration_effectivity,1> { configuration_effectivity() : Object("configuration_effectivity") {}
2980 		Lazy< NotImplemented > configuration;
2981     };
2982 
2983     // C++ wrapper for configuration_item_relationship
configuration_item_relationshipconfiguration_item_relationship2984     struct configuration_item_relationship :  ObjectHelper<configuration_item_relationship,4> { configuration_item_relationship() : Object("configuration_item_relationship") {}
2985 		label::Out name;
2986 		Maybe< text::Out > description;
2987 		Lazy< configuration_item > relating_configuration_item;
2988 		Lazy< configuration_item > related_configuration_item;
2989     };
2990 
2991     // C++ wrapper for configuration_item_hierarchical_relationship
configuration_item_hierarchical_relationshipconfiguration_item_hierarchical_relationship2992     struct configuration_item_hierarchical_relationship : configuration_item_relationship, ObjectHelper<configuration_item_hierarchical_relationship,0> { configuration_item_hierarchical_relationship() : Object("configuration_item_hierarchical_relationship") {}
2993 
2994     };
2995 
2996     // C++ wrapper for configuration_item_revision_sequence
configuration_item_revision_sequenceconfiguration_item_revision_sequence2997     struct configuration_item_revision_sequence : configuration_item_relationship, ObjectHelper<configuration_item_revision_sequence,0> { configuration_item_revision_sequence() : Object("configuration_item_revision_sequence") {}
2998 
2999     };
3000 
3001     // C++ wrapper for configured_effectivity_assignment
configured_effectivity_assignmentconfigured_effectivity_assignment3002     struct configured_effectivity_assignment : effectivity_assignment, ObjectHelper<configured_effectivity_assignment,1> { configured_effectivity_assignment() : Object("configured_effectivity_assignment") {}
3003 		ListOf< configured_effectivity_item, 1, 0 >::Out items;
3004     };
3005 
3006     // C++ wrapper for configured_effectivity_context_assignment
configured_effectivity_context_assignmentconfigured_effectivity_context_assignment3007     struct configured_effectivity_context_assignment : effectivity_context_assignment, ObjectHelper<configured_effectivity_context_assignment,1> { configured_effectivity_context_assignment() : Object("configured_effectivity_context_assignment") {}
3008 		ListOf< configured_effectivity_context_item, 1, 0 >::Out items;
3009     };
3010 
3011     // C++ wrapper for conical_stepped_hole_transition
conical_stepped_hole_transitionconical_stepped_hole_transition3012     struct conical_stepped_hole_transition : geometric_representation_item, ObjectHelper<conical_stepped_hole_transition,3> { conical_stepped_hole_transition() : Object("conical_stepped_hole_transition") {}
3013 		positive_integer::Out transition_number;
3014 		plane_angle_measure::Out cone_apex_angle;
3015 		positive_length_measure::Out cone_base_radius;
3016     };
3017 
3018     // C++ wrapper for elementary_surface
elementary_surfaceelementary_surface3019     struct elementary_surface : surface, ObjectHelper<elementary_surface,1> { elementary_surface() : Object("elementary_surface") {}
3020 		Lazy< axis2_placement_3d > position;
3021     };
3022 
3023     // C++ wrapper for conical_surface
conical_surfaceconical_surface3024     struct conical_surface : elementary_surface, ObjectHelper<conical_surface,2> { conical_surface() : Object("conical_surface") {}
3025 		length_measure::Out radius;
3026 		plane_angle_measure::Out semi_angle;
3027     };
3028 
3029     // C++ wrapper for connected_edge_set
connected_edge_setconnected_edge_set3030     struct connected_edge_set : topological_representation_item, ObjectHelper<connected_edge_set,1> { connected_edge_set() : Object("connected_edge_set") {}
3031 		ListOf< Lazy< edge >, 1, 0 > ces_edges;
3032     };
3033 
3034     // C++ wrapper for connected_face_sub_set
connected_face_sub_setconnected_face_sub_set3035     struct connected_face_sub_set : connected_face_set, ObjectHelper<connected_face_sub_set,1> { connected_face_sub_set() : Object("connected_face_sub_set") {}
3036 		Lazy< connected_face_set > parent_face_set;
3037     };
3038 
3039     // C++ wrapper for constructive_geometry_representation
constructive_geometry_representationconstructive_geometry_representation3040     struct constructive_geometry_representation : representation, ObjectHelper<constructive_geometry_representation,0> { constructive_geometry_representation() : Object("constructive_geometry_representation") {}
3041 
3042     };
3043 
3044     // C++ wrapper for representation_relationship
representation_relationshiprepresentation_relationship3045     struct representation_relationship :  ObjectHelper<representation_relationship,4> { representation_relationship() : Object("representation_relationship") {}
3046 		label::Out name;
3047 		Maybe< text::Out > description;
3048 		Lazy< representation > rep_1;
3049 		Lazy< representation > rep_2;
3050     };
3051 
3052     // C++ wrapper for constructive_geometry_representation_relationship
constructive_geometry_representation_relationshipconstructive_geometry_representation_relationship3053     struct constructive_geometry_representation_relationship : representation_relationship, ObjectHelper<constructive_geometry_representation_relationship,0> { constructive_geometry_representation_relationship() : Object("constructive_geometry_representation_relationship") {}
3054 
3055     };
3056 
3057     // C++ wrapper for contact_ratio_representation
contact_ratio_representationcontact_ratio_representation3058     struct contact_ratio_representation : representation, ObjectHelper<contact_ratio_representation,0> { contact_ratio_representation() : Object("contact_ratio_representation") {}
3059 
3060     };
3061 
3062     // C++ wrapper for invisibility
invisibilityinvisibility3063     struct invisibility :  ObjectHelper<invisibility,1> { invisibility() : Object("invisibility") {}
3064 		ListOf< invisible_item, 1, 0 >::Out invisible_items;
3065     };
3066 
3067     // C++ wrapper for context_dependent_invisibility
context_dependent_invisibilitycontext_dependent_invisibility3068     struct context_dependent_invisibility : invisibility, ObjectHelper<context_dependent_invisibility,1> { context_dependent_invisibility() : Object("context_dependent_invisibility") {}
3069 		invisibility_context::Out presentation_context;
3070     };
3071 
3072     // C++ wrapper for over_riding_styled_item
over_riding_styled_itemover_riding_styled_item3073     struct over_riding_styled_item : styled_item, ObjectHelper<over_riding_styled_item,1> { over_riding_styled_item() : Object("over_riding_styled_item") {}
3074 		Lazy< styled_item > over_ridden_style;
3075     };
3076 
3077     // C++ wrapper for context_dependent_over_riding_styled_item
context_dependent_over_riding_styled_itemcontext_dependent_over_riding_styled_item3078     struct context_dependent_over_riding_styled_item : over_riding_styled_item, ObjectHelper<context_dependent_over_riding_styled_item,1> { context_dependent_over_riding_styled_item() : Object("context_dependent_over_riding_styled_item") {}
3079 		ListOf< style_context_select, 1, 0 >::Out style_context;
3080     };
3081 
3082     // C++ wrapper for context_dependent_unit
context_dependent_unitcontext_dependent_unit3083     struct context_dependent_unit : named_unit, ObjectHelper<context_dependent_unit,1> { context_dependent_unit() : Object("context_dependent_unit") {}
3084 		label::Out name;
3085     };
3086 
3087     // C++ wrapper for conversion_based_unit
conversion_based_unitconversion_based_unit3088     struct conversion_based_unit : named_unit, ObjectHelper<conversion_based_unit,2> { conversion_based_unit() : Object("conversion_based_unit") {}
3089 		label::Out name;
3090 		Lazy< measure_with_unit > conversion_factor;
3091     };
3092 
3093     // C++ wrapper for csg_shape_representation
csg_shape_representationcsg_shape_representation3094     struct csg_shape_representation : shape_representation, ObjectHelper<csg_shape_representation,0> { csg_shape_representation() : Object("csg_shape_representation") {}
3095 
3096     };
3097 
3098     // C++ wrapper for csg_solid
csg_solidcsg_solid3099     struct csg_solid : solid_model, ObjectHelper<csg_solid,1> { csg_solid() : Object("csg_solid") {}
3100 		csg_select::Out tree_root_expression;
3101     };
3102 
3103     // C++ wrapper for currency
currencycurrency3104     struct currency : context_dependent_unit, ObjectHelper<currency,0> { currency() : Object("currency") {}
3105 
3106     };
3107 
3108     // C++ wrapper for currency_measure_with_unit
currency_measure_with_unitcurrency_measure_with_unit3109     struct currency_measure_with_unit : measure_with_unit, ObjectHelper<currency_measure_with_unit,0> { currency_measure_with_unit() : Object("currency_measure_with_unit") {}
3110 
3111     };
3112 
3113     // C++ wrapper for curve_bounded_surface
curve_bounded_surfacecurve_bounded_surface3114     struct curve_bounded_surface : bounded_surface, ObjectHelper<curve_bounded_surface,3> { curve_bounded_surface() : Object("curve_bounded_surface") {}
3115 		Lazy< surface > basis_surface;
3116 		ListOf< Lazy< boundary_curve >, 1, 0 > boundaries;
3117 		BOOLEAN::Out implicit_outer;
3118     };
3119 
3120     // C++ wrapper for curve_dimension
curve_dimensioncurve_dimension3121     struct curve_dimension : dimension_curve_directed_callout, ObjectHelper<curve_dimension,0> { curve_dimension() : Object("curve_dimension") {}
3122 
3123     };
3124 
3125     // C++ wrapper for curve_replica
curve_replicacurve_replica3126     struct curve_replica : curve, ObjectHelper<curve_replica,2> { curve_replica() : Object("curve_replica") {}
3127 		Lazy< curve > parent_curve;
3128 		Lazy< cartesian_transformation_operator > transformation;
3129     };
3130 
3131     // C++ wrapper for curve_style
curve_stylecurve_style3132     struct curve_style : founded_item, ObjectHelper<curve_style,4> { curve_style() : Object("curve_style") {}
3133 		label::Out name;
3134 		curve_font_or_scaled_curve_font_select::Out curve_font;
3135 		size_select::Out curve_width;
3136 		Lazy< colour > curve_colour;
3137     };
3138 
3139     // C++ wrapper for curve_style_font
curve_style_fontcurve_style_font3140     struct curve_style_font : founded_item, ObjectHelper<curve_style_font,2> { curve_style_font() : Object("curve_style_font") {}
3141 		label::Out name;
3142 		ListOf< Lazy< curve_style_font_pattern >, 1, 0 > pattern_list;
3143     };
3144 
3145     // C++ wrapper for curve_style_font_and_scaling
curve_style_font_and_scalingcurve_style_font_and_scaling3146     struct curve_style_font_and_scaling : founded_item, ObjectHelper<curve_style_font_and_scaling,3> { curve_style_font_and_scaling() : Object("curve_style_font_and_scaling") {}
3147 		label::Out name;
3148 		curve_style_font_select::Out curve_font;
3149 		REAL::Out curve_font_scaling;
3150     };
3151 
3152     // C++ wrapper for curve_style_font_pattern
curve_style_font_patterncurve_style_font_pattern3153     struct curve_style_font_pattern : founded_item, ObjectHelper<curve_style_font_pattern,2> { curve_style_font_pattern() : Object("curve_style_font_pattern") {}
3154 		positive_length_measure::Out visible_segment_length;
3155 		positive_length_measure::Out invisible_segment_length;
3156     };
3157 
3158     // C++ wrapper for curve_swept_solid_shape_representation
curve_swept_solid_shape_representationcurve_swept_solid_shape_representation3159     struct curve_swept_solid_shape_representation : shape_representation, ObjectHelper<curve_swept_solid_shape_representation,0> { curve_swept_solid_shape_representation() : Object("curve_swept_solid_shape_representation") {}
3160 
3161     };
3162 
3163     // C++ wrapper for cylindrical_surface
cylindrical_surfacecylindrical_surface3164     struct cylindrical_surface : elementary_surface, ObjectHelper<cylindrical_surface,1> { cylindrical_surface() : Object("cylindrical_surface") {}
3165 		positive_length_measure::Out radius;
3166     };
3167 
3168     // C++ wrapper for cylindricity_tolerance
cylindricity_tolerancecylindricity_tolerance3169     struct cylindricity_tolerance : geometric_tolerance, ObjectHelper<cylindricity_tolerance,0> { cylindricity_tolerance() : Object("cylindricity_tolerance") {}
3170 
3171     };
3172 
3173     // C++ wrapper for date_representation_item
date_representation_itemdate_representation_item3174     struct date_representation_item :  ObjectHelper<date_representation_item,0> { date_representation_item() : Object("date_representation_item") {}
3175 
3176     };
3177 
3178     // C++ wrapper for date_time_representation_item
date_time_representation_itemdate_time_representation_item3179     struct date_time_representation_item :  ObjectHelper<date_time_representation_item,0> { date_time_representation_item() : Object("date_time_representation_item") {}
3180 
3181     };
3182 
3183     // C++ wrapper for dated_effectivity
dated_effectivitydated_effectivity3184     struct dated_effectivity : effectivity, ObjectHelper<dated_effectivity,2> { dated_effectivity() : Object("dated_effectivity") {}
3185 		Maybe< date_time_or_event_occurrence::Out > effectivity_end_date;
3186 		date_time_or_event_occurrence::Out effectivity_start_date;
3187     };
3188 
3189     // C++ wrapper for datum
datumdatum3190     struct datum : shape_aspect, ObjectHelper<datum,1> { datum() : Object("datum") {}
3191 		identifier::Out identification;
3192     };
3193 
3194     // C++ wrapper for datum_feature
datum_featuredatum_feature3195     struct datum_feature : shape_aspect, ObjectHelper<datum_feature,0> { datum_feature() : Object("datum_feature") {}
3196 
3197     };
3198 
3199     // C++ wrapper for datum_feature_callout
datum_feature_calloutdatum_feature_callout3200     struct datum_feature_callout : draughting_callout, ObjectHelper<datum_feature_callout,0> { datum_feature_callout() : Object("datum_feature_callout") {}
3201 
3202     };
3203 
3204     // C++ wrapper for datum_reference
datum_referencedatum_reference3205     struct datum_reference :  ObjectHelper<datum_reference,2> { datum_reference() : Object("datum_reference") {}
3206 		INTEGER::Out precedence;
3207 		Lazy< datum > referenced_datum;
3208     };
3209 
3210     // C++ wrapper for datum_target
datum_targetdatum_target3211     struct datum_target : shape_aspect, ObjectHelper<datum_target,1> { datum_target() : Object("datum_target") {}
3212 		identifier::Out target_id;
3213     };
3214 
3215     // C++ wrapper for datum_target_callout
datum_target_calloutdatum_target_callout3216     struct datum_target_callout : draughting_callout, ObjectHelper<datum_target_callout,0> { datum_target_callout() : Object("datum_target_callout") {}
3217 
3218     };
3219 
3220     // C++ wrapper for default_tolerance_table
default_tolerance_tabledefault_tolerance_table3221     struct default_tolerance_table : representation, ObjectHelper<default_tolerance_table,0> { default_tolerance_table() : Object("default_tolerance_table") {}
3222 
3223     };
3224 
3225     // C++ wrapper for default_tolerance_table_cell
default_tolerance_table_celldefault_tolerance_table_cell3226     struct default_tolerance_table_cell : compound_representation_item, ObjectHelper<default_tolerance_table_cell,0> { default_tolerance_table_cell() : Object("default_tolerance_table_cell") {}
3227 
3228     };
3229 
3230     // C++ wrapper for defined_symbol
defined_symboldefined_symbol3231     struct defined_symbol : geometric_representation_item, ObjectHelper<defined_symbol,2> { defined_symbol() : Object("defined_symbol") {}
3232 		defined_symbol_select::Out definition;
3233 		Lazy< symbol_target > target;
3234     };
3235 
3236     // C++ wrapper for definitional_representation
definitional_representationdefinitional_representation3237     struct definitional_representation : representation, ObjectHelper<definitional_representation,0> { definitional_representation() : Object("definitional_representation") {}
3238 
3239     };
3240 
3241     // C++ wrapper for definitional_representation_relationship
definitional_representation_relationshipdefinitional_representation_relationship3242     struct definitional_representation_relationship : representation_relationship, ObjectHelper<definitional_representation_relationship,0> { definitional_representation_relationship() : Object("definitional_representation_relationship") {}
3243 
3244     };
3245 
3246     // C++ wrapper for definitional_representation_relationship_with_same_context
definitional_representation_relationship_with_same_contextdefinitional_representation_relationship_with_same_context3247     struct definitional_representation_relationship_with_same_context : definitional_representation_relationship, ObjectHelper<definitional_representation_relationship_with_same_context,0> { definitional_representation_relationship_with_same_context() : Object("definitional_representation_relationship_with_same_context") {}
3248 
3249     };
3250 
3251     // C++ wrapper for degenerate_pcurve
degenerate_pcurvedegenerate_pcurve3252     struct degenerate_pcurve : point, ObjectHelper<degenerate_pcurve,2> { degenerate_pcurve() : Object("degenerate_pcurve") {}
3253 		Lazy< surface > basis_surface;
3254 		Lazy< definitional_representation > reference_to_curve;
3255     };
3256 
3257     // C++ wrapper for toroidal_surface
toroidal_surfacetoroidal_surface3258     struct toroidal_surface : elementary_surface, ObjectHelper<toroidal_surface,2> { toroidal_surface() : Object("toroidal_surface") {}
3259 		positive_length_measure::Out major_radius;
3260 		positive_length_measure::Out minor_radius;
3261     };
3262 
3263     // C++ wrapper for degenerate_toroidal_surface
degenerate_toroidal_surfacedegenerate_toroidal_surface3264     struct degenerate_toroidal_surface : toroidal_surface, ObjectHelper<degenerate_toroidal_surface,1> { degenerate_toroidal_surface() : Object("degenerate_toroidal_surface") {}
3265 		BOOLEAN::Out select_outer;
3266     };
3267 
3268     // C++ wrapper for descriptive_representation_item
descriptive_representation_itemdescriptive_representation_item3269     struct descriptive_representation_item : representation_item, ObjectHelper<descriptive_representation_item,1> { descriptive_representation_item() : Object("descriptive_representation_item") {}
3270 		text::Out description;
3271     };
3272 
3273     // C++ wrapper for product_definition_context
product_definition_contextproduct_definition_context3274     struct product_definition_context : application_context_element, ObjectHelper<product_definition_context,1> { product_definition_context() : Object("product_definition_context") {}
3275 		label::Out life_cycle_stage;
3276     };
3277 
3278     // C++ wrapper for design_context
design_contextdesign_context3279     struct design_context : product_definition_context, ObjectHelper<design_context,0> { design_context() : Object("design_context") {}
3280 
3281     };
3282 
3283     // C++ wrapper for design_make_from_relationship
design_make_from_relationshipdesign_make_from_relationship3284     struct design_make_from_relationship : product_definition_relationship, ObjectHelper<design_make_from_relationship,0> { design_make_from_relationship() : Object("design_make_from_relationship") {}
3285 
3286     };
3287 
3288     // C++ wrapper for diameter_dimension
diameter_dimensiondiameter_dimension3289     struct diameter_dimension : dimension_curve_directed_callout, ObjectHelper<diameter_dimension,0> { diameter_dimension() : Object("diameter_dimension") {}
3290 
3291     };
3292 
3293     // C++ wrapper for ratio_measure_with_unit
ratio_measure_with_unitratio_measure_with_unit3294     struct ratio_measure_with_unit : measure_with_unit, ObjectHelper<ratio_measure_with_unit,0> { ratio_measure_with_unit() : Object("ratio_measure_with_unit") {}
3295 
3296     };
3297 
3298     // C++ wrapper for dielectric_constant_measure_with_unit
dielectric_constant_measure_with_unitdielectric_constant_measure_with_unit3299     struct dielectric_constant_measure_with_unit : ratio_measure_with_unit, ObjectHelper<dielectric_constant_measure_with_unit,0> { dielectric_constant_measure_with_unit() : Object("dielectric_constant_measure_with_unit") {}
3300 
3301     };
3302 
3303     // C++ wrapper for dimension_callout
dimension_calloutdimension_callout3304     struct dimension_callout : draughting_callout, ObjectHelper<dimension_callout,0> { dimension_callout() : Object("dimension_callout") {}
3305 
3306     };
3307 
3308     // C++ wrapper for draughting_callout_relationship
draughting_callout_relationshipdraughting_callout_relationship3309     struct draughting_callout_relationship :  ObjectHelper<draughting_callout_relationship,4> { draughting_callout_relationship() : Object("draughting_callout_relationship") {}
3310 		label::Out name;
3311 		text::Out description;
3312 		Lazy< draughting_callout > relating_draughting_callout;
3313 		Lazy< draughting_callout > related_draughting_callout;
3314     };
3315 
3316     // C++ wrapper for dimension_callout_component_relationship
dimension_callout_component_relationshipdimension_callout_component_relationship3317     struct dimension_callout_component_relationship : draughting_callout_relationship, ObjectHelper<dimension_callout_component_relationship,0> { dimension_callout_component_relationship() : Object("dimension_callout_component_relationship") {}
3318 
3319     };
3320 
3321     // C++ wrapper for dimension_callout_relationship
dimension_callout_relationshipdimension_callout_relationship3322     struct dimension_callout_relationship : draughting_callout_relationship, ObjectHelper<dimension_callout_relationship,0> { dimension_callout_relationship() : Object("dimension_callout_relationship") {}
3323 
3324     };
3325 
3326     // C++ wrapper for dimension_curve
dimension_curvedimension_curve3327     struct dimension_curve : annotation_curve_occurrence, ObjectHelper<dimension_curve,0> { dimension_curve() : Object("dimension_curve") {}
3328 
3329     };
3330 
3331     // C++ wrapper for terminator_symbol
terminator_symbolterminator_symbol3332     struct terminator_symbol : annotation_symbol_occurrence, ObjectHelper<terminator_symbol,1> { terminator_symbol() : Object("terminator_symbol") {}
3333 		Lazy< annotation_curve_occurrence > annotated_curve;
3334     };
3335 
3336     // C++ wrapper for dimension_curve_terminator
dimension_curve_terminatordimension_curve_terminator3337     struct dimension_curve_terminator : terminator_symbol, ObjectHelper<dimension_curve_terminator,1> { dimension_curve_terminator() : Object("dimension_curve_terminator") {}
3338 		dimension_extent_usage::Out role;
3339     };
3340 
3341     // C++ wrapper for dimension_curve_terminator_to_projection_curve_associativity
dimension_curve_terminator_to_projection_curve_associativitydimension_curve_terminator_to_projection_curve_associativity3342     struct dimension_curve_terminator_to_projection_curve_associativity : annotation_occurrence_associativity, ObjectHelper<dimension_curve_terminator_to_projection_curve_associativity,0> { dimension_curve_terminator_to_projection_curve_associativity() : Object("dimension_curve_terminator_to_projection_curve_associativity") {}
3343 
3344     };
3345 
3346     // C++ wrapper for dimension_pair
dimension_pairdimension_pair3347     struct dimension_pair : draughting_callout_relationship, ObjectHelper<dimension_pair,0> { dimension_pair() : Object("dimension_pair") {}
3348 
3349     };
3350 
3351     // C++ wrapper for dimension_text_associativity
dimension_text_associativitydimension_text_associativity3352     struct dimension_text_associativity :  ObjectHelper<dimension_text_associativity,0> { dimension_text_associativity() : Object("dimension_text_associativity") {}
3353 
3354     };
3355 
3356     // C++ wrapper for dimensional_location_with_path
dimensional_location_with_pathdimensional_location_with_path3357     struct dimensional_location_with_path : dimensional_location, ObjectHelper<dimensional_location_with_path,1> { dimensional_location_with_path() : Object("dimensional_location_with_path") {}
3358 		Lazy< shape_aspect > path;
3359     };
3360 
3361     // C++ wrapper for dimensional_size_with_path
dimensional_size_with_pathdimensional_size_with_path3362     struct dimensional_size_with_path : dimensional_size, ObjectHelper<dimensional_size_with_path,1> { dimensional_size_with_path() : Object("dimensional_size_with_path") {}
3363 		Lazy< shape_aspect > path;
3364     };
3365 
3366     // C++ wrapper for executed_action
executed_actionexecuted_action3367     struct executed_action : action, ObjectHelper<executed_action,0> { executed_action() : Object("executed_action") {}
3368 
3369     };
3370 
3371     // C++ wrapper for directed_action
directed_actiondirected_action3372     struct directed_action : executed_action, ObjectHelper<directed_action,1> { directed_action() : Object("directed_action") {}
3373 		Lazy< NotImplemented > directive;
3374     };
3375 
3376     // C++ wrapper for directed_dimensional_location
directed_dimensional_locationdirected_dimensional_location3377     struct directed_dimensional_location : dimensional_location, ObjectHelper<directed_dimensional_location,0> { directed_dimensional_location() : Object("directed_dimensional_location") {}
3378 
3379     };
3380 
3381     // C++ wrapper for direction
directiondirection3382     struct direction : geometric_representation_item, ObjectHelper<direction,1> { direction() : Object("direction") {}
3383 		ListOf< REAL, 2, 3 >::Out direction_ratios;
3384     };
3385 
3386     // C++ wrapper for document_file
document_filedocument_file3387     struct document_file :  ObjectHelper<document_file,0> { document_file() : Object("document_file") {}
3388 
3389     };
3390 
3391     // C++ wrapper for document_identifier
document_identifierdocument_identifier3392     struct document_identifier : group, ObjectHelper<document_identifier,0> { document_identifier() : Object("document_identifier") {}
3393 
3394     };
3395 
3396     // C++ wrapper for document_identifier_assignment
document_identifier_assignmentdocument_identifier_assignment3397     struct document_identifier_assignment : group_assignment, ObjectHelper<document_identifier_assignment,1> { document_identifier_assignment() : Object("document_identifier_assignment") {}
3398 		ListOf< document_identifier_assigned_item, 1, 0 >::Out items;
3399     };
3400 
3401     // C++ wrapper for document_product_association
document_product_associationdocument_product_association3402     struct document_product_association :  ObjectHelper<document_product_association,4> { document_product_association() : Object("document_product_association") {}
3403 		label::Out name;
3404 		Maybe< text::Out > description;
3405 		Lazy< NotImplemented > relating_document;
3406 		product_or_formation_or_definition::Out related_product;
3407     };
3408 
3409     // C++ wrapper for document_product_equivalence
document_product_equivalencedocument_product_equivalence3410     struct document_product_equivalence : document_product_association, ObjectHelper<document_product_equivalence,0> { document_product_equivalence() : Object("document_product_equivalence") {}
3411 
3412     };
3413 
3414     // C++ wrapper for dose_equivalent_measure_with_unit
dose_equivalent_measure_with_unitdose_equivalent_measure_with_unit3415     struct dose_equivalent_measure_with_unit : measure_with_unit, ObjectHelper<dose_equivalent_measure_with_unit,0> { dose_equivalent_measure_with_unit() : Object("dose_equivalent_measure_with_unit") {}
3416 
3417     };
3418 
3419     // C++ wrapper for dose_equivalent_unit
dose_equivalent_unitdose_equivalent_unit3420     struct dose_equivalent_unit : derived_unit, ObjectHelper<dose_equivalent_unit,0> { dose_equivalent_unit() : Object("dose_equivalent_unit") {}
3421 
3422     };
3423 
3424     // C++ wrapper for double_offset_shelled_solid
double_offset_shelled_soliddouble_offset_shelled_solid3425     struct double_offset_shelled_solid : shelled_solid, ObjectHelper<double_offset_shelled_solid,1> { double_offset_shelled_solid() : Object("double_offset_shelled_solid") {}
3426 		length_measure::Out thickness2;
3427     };
3428 
3429     // C++ wrapper for item_defined_transformation
item_defined_transformationitem_defined_transformation3430     struct item_defined_transformation :  ObjectHelper<item_defined_transformation,4> { item_defined_transformation() : Object("item_defined_transformation") {}
3431 		label::Out name;
3432 		Maybe< text::Out > description;
3433 		Lazy< representation_item > transform_item_1;
3434 		Lazy< representation_item > transform_item_2;
3435     };
3436 
3437     // C++ wrapper for transformation_with_derived_angle
transformation_with_derived_angletransformation_with_derived_angle3438     struct transformation_with_derived_angle : item_defined_transformation, ObjectHelper<transformation_with_derived_angle,0> { transformation_with_derived_angle() : Object("transformation_with_derived_angle") {}
3439 
3440     };
3441 
3442     // C++ wrapper for draped_defined_transformation
draped_defined_transformationdraped_defined_transformation3443     struct draped_defined_transformation : transformation_with_derived_angle, ObjectHelper<draped_defined_transformation,0> { draped_defined_transformation() : Object("draped_defined_transformation") {}
3444 
3445     };
3446 
3447     // C++ wrapper for draughting_annotation_occurrence
draughting_annotation_occurrencedraughting_annotation_occurrence3448     struct draughting_annotation_occurrence : annotation_occurrence, ObjectHelper<draughting_annotation_occurrence,0> { draughting_annotation_occurrence() : Object("draughting_annotation_occurrence") {}
3449 
3450     };
3451 
3452     // C++ wrapper for draughting_elements
draughting_elementsdraughting_elements3453     struct draughting_elements : draughting_callout, ObjectHelper<draughting_elements,0> { draughting_elements() : Object("draughting_elements") {}
3454 
3455     };
3456 
3457     // C++ wrapper for draughting_model
draughting_modeldraughting_model3458     struct draughting_model : representation, ObjectHelper<draughting_model,0> { draughting_model() : Object("draughting_model") {}
3459 
3460     };
3461 
3462     // C++ wrapper for item_identified_representation_usage
item_identified_representation_usageitem_identified_representation_usage3463     struct item_identified_representation_usage :  ObjectHelper<item_identified_representation_usage,5> { item_identified_representation_usage() : Object("item_identified_representation_usage") {}
3464 		label::Out name;
3465 		Maybe< text::Out > description;
3466 		represented_definition::Out definition;
3467 		Lazy< representation > used_representation;
3468 		Lazy< representation_item > identified_item;
3469     };
3470 
3471     // C++ wrapper for draughting_model_item_association
draughting_model_item_associationdraughting_model_item_association3472     struct draughting_model_item_association : item_identified_representation_usage, ObjectHelper<draughting_model_item_association,0> { draughting_model_item_association() : Object("draughting_model_item_association") {}
3473 
3474     };
3475 
3476     // C++ wrapper for pre_defined_colour
pre_defined_colourpre_defined_colour3477     struct pre_defined_colour :  ObjectHelper<pre_defined_colour,0> { pre_defined_colour() : Object("pre_defined_colour") {}
3478 
3479     };
3480 
3481     // C++ wrapper for draughting_pre_defined_colour
draughting_pre_defined_colourdraughting_pre_defined_colour3482     struct draughting_pre_defined_colour : pre_defined_colour, ObjectHelper<draughting_pre_defined_colour,0> { draughting_pre_defined_colour() : Object("draughting_pre_defined_colour") {}
3483 
3484     };
3485 
3486     // C++ wrapper for pre_defined_item
pre_defined_itempre_defined_item3487     struct pre_defined_item :  ObjectHelper<pre_defined_item,1> { pre_defined_item() : Object("pre_defined_item") {}
3488 		label::Out name;
3489     };
3490 
3491     // C++ wrapper for pre_defined_curve_font
pre_defined_curve_fontpre_defined_curve_font3492     struct pre_defined_curve_font : pre_defined_item, ObjectHelper<pre_defined_curve_font,0> { pre_defined_curve_font() : Object("pre_defined_curve_font") {}
3493 
3494     };
3495 
3496     // C++ wrapper for draughting_pre_defined_curve_font
draughting_pre_defined_curve_fontdraughting_pre_defined_curve_font3497     struct draughting_pre_defined_curve_font : pre_defined_curve_font, ObjectHelper<draughting_pre_defined_curve_font,0> { draughting_pre_defined_curve_font() : Object("draughting_pre_defined_curve_font") {}
3498 
3499     };
3500 
3501     // C++ wrapper for pre_defined_text_font
pre_defined_text_fontpre_defined_text_font3502     struct pre_defined_text_font : pre_defined_item, ObjectHelper<pre_defined_text_font,0> { pre_defined_text_font() : Object("pre_defined_text_font") {}
3503 
3504     };
3505 
3506     // C++ wrapper for draughting_pre_defined_text_font
draughting_pre_defined_text_fontdraughting_pre_defined_text_font3507     struct draughting_pre_defined_text_font : pre_defined_text_font, ObjectHelper<draughting_pre_defined_text_font,0> { draughting_pre_defined_text_font() : Object("draughting_pre_defined_text_font") {}
3508 
3509     };
3510 
3511     // C++ wrapper for draughting_subfigure_representation
draughting_subfigure_representationdraughting_subfigure_representation3512     struct draughting_subfigure_representation : symbol_representation, ObjectHelper<draughting_subfigure_representation,0> { draughting_subfigure_representation() : Object("draughting_subfigure_representation") {}
3513 
3514     };
3515 
3516     // C++ wrapper for draughting_symbol_representation
draughting_symbol_representationdraughting_symbol_representation3517     struct draughting_symbol_representation : symbol_representation, ObjectHelper<draughting_symbol_representation,0> { draughting_symbol_representation() : Object("draughting_symbol_representation") {}
3518 
3519     };
3520 
3521     // C++ wrapper for text_literal
text_literaltext_literal3522     struct text_literal : geometric_representation_item, ObjectHelper<text_literal,5> { text_literal() : Object("text_literal") {}
3523 		presentable_text::Out literal;
3524 		axis2_placement::Out placement;
3525 		text_alignment::Out alignment;
3526 		text_path::Out path;
3527 		font_select::Out font;
3528     };
3529 
3530     // C++ wrapper for text_literal_with_delineation
text_literal_with_delineationtext_literal_with_delineation3531     struct text_literal_with_delineation : text_literal, ObjectHelper<text_literal_with_delineation,1> { text_literal_with_delineation() : Object("text_literal_with_delineation") {}
3532 		text_delineation::Out delineation;
3533     };
3534 
3535     // C++ wrapper for draughting_text_literal_with_delineation
draughting_text_literal_with_delineationdraughting_text_literal_with_delineation3536     struct draughting_text_literal_with_delineation : text_literal_with_delineation, ObjectHelper<draughting_text_literal_with_delineation,0> { draughting_text_literal_with_delineation() : Object("draughting_text_literal_with_delineation") {}
3537 
3538     };
3539 
3540     // C++ wrapper for presentation_set
presentation_setpresentation_set3541     struct presentation_set :  ObjectHelper<presentation_set,0> { presentation_set() : Object("presentation_set") {}
3542 
3543     };
3544 
3545     // C++ wrapper for drawing_revision
drawing_revisiondrawing_revision3546     struct drawing_revision : presentation_set, ObjectHelper<drawing_revision,3> { drawing_revision() : Object("drawing_revision") {}
3547 		identifier::Out revision_identifier;
3548 		Lazy< NotImplemented > drawing_identifier;
3549 		Maybe< text::Out > intended_scale;
3550     };
3551 
3552     // C++ wrapper for presentation_representation
presentation_representationpresentation_representation3553     struct presentation_representation : representation, ObjectHelper<presentation_representation,0> { presentation_representation() : Object("presentation_representation") {}
3554 
3555     };
3556 
3557     // C++ wrapper for presentation_area
presentation_areapresentation_area3558     struct presentation_area : presentation_representation, ObjectHelper<presentation_area,0> { presentation_area() : Object("presentation_area") {}
3559 
3560     };
3561 
3562     // C++ wrapper for drawing_sheet_revision
drawing_sheet_revisiondrawing_sheet_revision3563     struct drawing_sheet_revision : presentation_area, ObjectHelper<drawing_sheet_revision,1> { drawing_sheet_revision() : Object("drawing_sheet_revision") {}
3564 		identifier::Out revision_identifier;
3565     };
3566 
3567     // C++ wrapper for drawing_sheet_revision_sequence
drawing_sheet_revision_sequencedrawing_sheet_revision_sequence3568     struct drawing_sheet_revision_sequence : representation_relationship, ObjectHelper<drawing_sheet_revision_sequence,0> { drawing_sheet_revision_sequence() : Object("drawing_sheet_revision_sequence") {}
3569 
3570     };
3571 
3572     // C++ wrapper for drawing_sheet_revision_usage
drawing_sheet_revision_usagedrawing_sheet_revision_usage3573     struct drawing_sheet_revision_usage : area_in_set, ObjectHelper<drawing_sheet_revision_usage,1> { drawing_sheet_revision_usage() : Object("drawing_sheet_revision_usage") {}
3574 		identifier::Out sheet_number;
3575     };
3576 
3577     // C++ wrapper for edge
edgeedge3578     struct edge : topological_representation_item, ObjectHelper<edge,2> { edge() : Object("edge") {}
3579 		Lazy< vertex > edge_start;
3580 		Lazy< vertex > edge_end;
3581     };
3582 
3583     // C++ wrapper for edge_based_wireframe_model
edge_based_wireframe_modeledge_based_wireframe_model3584     struct edge_based_wireframe_model : geometric_representation_item, ObjectHelper<edge_based_wireframe_model,1> { edge_based_wireframe_model() : Object("edge_based_wireframe_model") {}
3585 		ListOf< Lazy< connected_edge_set >, 1, 0 > ebwm_boundary;
3586     };
3587 
3588     // C++ wrapper for edge_based_wireframe_shape_representation
edge_based_wireframe_shape_representationedge_based_wireframe_shape_representation3589     struct edge_based_wireframe_shape_representation : shape_representation, ObjectHelper<edge_based_wireframe_shape_representation,0> { edge_based_wireframe_shape_representation() : Object("edge_based_wireframe_shape_representation") {}
3590 
3591     };
3592 
3593     // C++ wrapper for edge_blended_solid
edge_blended_solidedge_blended_solid3594     struct edge_blended_solid : modified_solid, ObjectHelper<edge_blended_solid,1> { edge_blended_solid() : Object("edge_blended_solid") {}
3595 		ListOf< Lazy< edge_curve >, 1, 0 > blended_edges;
3596     };
3597 
3598     // C++ wrapper for edge_curve
edge_curveedge_curve3599     struct edge_curve :  ObjectHelper<edge_curve,2> { edge_curve() : Object("edge_curve") {}
3600 		Lazy< curve > edge_geometry;
3601 		BOOLEAN::Out same_sense;
3602     };
3603 
3604     // C++ wrapper for edge_loop
edge_loopedge_loop3605     struct edge_loop :  ObjectHelper<edge_loop,0> { edge_loop() : Object("edge_loop") {}
3606 
3607     };
3608 
3609     // C++ wrapper for electric_charge_measure_with_unit
electric_charge_measure_with_unitelectric_charge_measure_with_unit3610     struct electric_charge_measure_with_unit : measure_with_unit, ObjectHelper<electric_charge_measure_with_unit,0> { electric_charge_measure_with_unit() : Object("electric_charge_measure_with_unit") {}
3611 
3612     };
3613 
3614     // C++ wrapper for electric_charge_unit
electric_charge_unitelectric_charge_unit3615     struct electric_charge_unit : derived_unit, ObjectHelper<electric_charge_unit,0> { electric_charge_unit() : Object("electric_charge_unit") {}
3616 
3617     };
3618 
3619     // C++ wrapper for electric_current_measure_with_unit
electric_current_measure_with_unitelectric_current_measure_with_unit3620     struct electric_current_measure_with_unit : measure_with_unit, ObjectHelper<electric_current_measure_with_unit,0> { electric_current_measure_with_unit() : Object("electric_current_measure_with_unit") {}
3621 
3622     };
3623 
3624     // C++ wrapper for electric_current_unit
electric_current_unitelectric_current_unit3625     struct electric_current_unit : named_unit, ObjectHelper<electric_current_unit,0> { electric_current_unit() : Object("electric_current_unit") {}
3626 
3627     };
3628 
3629     // C++ wrapper for electric_potential_measure_with_unit
electric_potential_measure_with_unitelectric_potential_measure_with_unit3630     struct electric_potential_measure_with_unit : measure_with_unit, ObjectHelper<electric_potential_measure_with_unit,0> { electric_potential_measure_with_unit() : Object("electric_potential_measure_with_unit") {}
3631 
3632     };
3633 
3634     // C++ wrapper for electric_potential_unit
electric_potential_unitelectric_potential_unit3635     struct electric_potential_unit : derived_unit, ObjectHelper<electric_potential_unit,0> { electric_potential_unit() : Object("electric_potential_unit") {}
3636 
3637     };
3638 
3639     // C++ wrapper for elementary_brep_shape_representation
elementary_brep_shape_representationelementary_brep_shape_representation3640     struct elementary_brep_shape_representation : shape_representation, ObjectHelper<elementary_brep_shape_representation,0> { elementary_brep_shape_representation() : Object("elementary_brep_shape_representation") {}
3641 
3642     };
3643 
3644     // C++ wrapper for ellipse
ellipseellipse3645     struct ellipse : conic, ObjectHelper<ellipse,2> { ellipse() : Object("ellipse") {}
3646 		positive_length_measure::Out semi_axis_1;
3647 		positive_length_measure::Out semi_axis_2;
3648     };
3649 
3650     // C++ wrapper for energy_measure_with_unit
energy_measure_with_unitenergy_measure_with_unit3651     struct energy_measure_with_unit : measure_with_unit, ObjectHelper<energy_measure_with_unit,0> { energy_measure_with_unit() : Object("energy_measure_with_unit") {}
3652 
3653     };
3654 
3655     // C++ wrapper for energy_unit
energy_unitenergy_unit3656     struct energy_unit : derived_unit, ObjectHelper<energy_unit,0> { energy_unit() : Object("energy_unit") {}
3657 
3658     };
3659 
3660     // C++ wrapper for property_definition
property_definitionproperty_definition3661     struct property_definition :  ObjectHelper<property_definition,3> { property_definition() : Object("property_definition") {}
3662 		label::Out name;
3663 		Maybe< text::Out > description;
3664 		characterized_definition::Out definition;
3665     };
3666 
3667     // C++ wrapper for fact_type
fact_typefact_type3668     struct fact_type : property_definition, ObjectHelper<fact_type,0> { fact_type() : Object("fact_type") {}
3669 
3670     };
3671 
3672     // C++ wrapper for entity_assertion
entity_assertionentity_assertion3673     struct entity_assertion : fact_type, ObjectHelper<entity_assertion,0> { entity_assertion() : Object("entity_assertion") {}
3674 
3675     };
3676 
3677     // C++ wrapper for enum_reference_prefix
enum_reference_prefixenum_reference_prefix3678     struct enum_reference_prefix : descriptive_representation_item, ObjectHelper<enum_reference_prefix,0> { enum_reference_prefix() : Object("enum_reference_prefix") {}
3679 
3680     };
3681 
3682     // C++ wrapper for evaluated_characteristic
evaluated_characteristicevaluated_characteristic3683     struct evaluated_characteristic :  ObjectHelper<evaluated_characteristic,0> { evaluated_characteristic() : Object("evaluated_characteristic") {}
3684 
3685     };
3686 
3687     // C++ wrapper for evaluated_degenerate_pcurve
evaluated_degenerate_pcurveevaluated_degenerate_pcurve3688     struct evaluated_degenerate_pcurve : degenerate_pcurve, ObjectHelper<evaluated_degenerate_pcurve,1> { evaluated_degenerate_pcurve() : Object("evaluated_degenerate_pcurve") {}
3689 		Lazy< cartesian_point > equivalent_point;
3690     };
3691 
3692     // C++ wrapper for evaluation_product_definition
evaluation_product_definitionevaluation_product_definition3693     struct evaluation_product_definition : product_definition, ObjectHelper<evaluation_product_definition,0> { evaluation_product_definition() : Object("evaluation_product_definition") {}
3694 
3695     };
3696 
3697     // C++ wrapper for event_occurrence
event_occurrenceevent_occurrence3698     struct event_occurrence :  ObjectHelper<event_occurrence,3> { event_occurrence() : Object("event_occurrence") {}
3699 		identifier::Out id;
3700 		label::Out name;
3701 		Maybe< text::Out > description;
3702     };
3703 
3704     // C++ wrapper for product_concept_feature_category
product_concept_feature_categoryproduct_concept_feature_category3705     struct product_concept_feature_category : group, ObjectHelper<product_concept_feature_category,0> { product_concept_feature_category() : Object("product_concept_feature_category") {}
3706 
3707     };
3708 
3709     // C++ wrapper for exclusive_product_concept_feature_category
exclusive_product_concept_feature_categoryexclusive_product_concept_feature_category3710     struct exclusive_product_concept_feature_category : product_concept_feature_category, ObjectHelper<exclusive_product_concept_feature_category,0> { exclusive_product_concept_feature_category() : Object("exclusive_product_concept_feature_category") {}
3711 
3712     };
3713 
3714     // C++ wrapper for uncertainty_qualifier
uncertainty_qualifieruncertainty_qualifier3715     struct uncertainty_qualifier :  ObjectHelper<uncertainty_qualifier,2> { uncertainty_qualifier() : Object("uncertainty_qualifier") {}
3716 		label::Out measure_name;
3717 		text::Out description;
3718     };
3719 
3720     // C++ wrapper for standard_uncertainty
standard_uncertaintystandard_uncertainty3721     struct standard_uncertainty : uncertainty_qualifier, ObjectHelper<standard_uncertainty,1> { standard_uncertainty() : Object("standard_uncertainty") {}
3722 		REAL::Out uncertainty_value;
3723     };
3724 
3725     // C++ wrapper for expanded_uncertainty
expanded_uncertaintyexpanded_uncertainty3726     struct expanded_uncertainty : standard_uncertainty, ObjectHelper<expanded_uncertainty,1> { expanded_uncertainty() : Object("expanded_uncertainty") {}
3727 		REAL::Out coverage_factor;
3728     };
3729 
3730     // C++ wrapper for representation_item_relationship
representation_item_relationshiprepresentation_item_relationship3731     struct representation_item_relationship :  ObjectHelper<representation_item_relationship,4> { representation_item_relationship() : Object("representation_item_relationship") {}
3732 		label::Out name;
3733 		Maybe< text::Out > description;
3734 		Lazy< representation_item > relating_representation_item;
3735 		Lazy< representation_item > related_representation_item;
3736     };
3737 
3738     // C++ wrapper for explicit_procedural_representation_item_relationship
explicit_procedural_representation_item_relationshipexplicit_procedural_representation_item_relationship3739     struct explicit_procedural_representation_item_relationship : representation_item_relationship, ObjectHelper<explicit_procedural_representation_item_relationship,0> { explicit_procedural_representation_item_relationship() : Object("explicit_procedural_representation_item_relationship") {}
3740 
3741     };
3742 
3743     // C++ wrapper for explicit_procedural_geometric_representation_item_relationship
explicit_procedural_geometric_representation_item_relationshipexplicit_procedural_geometric_representation_item_relationship3744     struct explicit_procedural_geometric_representation_item_relationship : explicit_procedural_representation_item_relationship, ObjectHelper<explicit_procedural_geometric_representation_item_relationship,0> { explicit_procedural_geometric_representation_item_relationship() : Object("explicit_procedural_geometric_representation_item_relationship") {}
3745 
3746     };
3747 
3748     // C++ wrapper for explicit_procedural_representation_relationship
explicit_procedural_representation_relationshipexplicit_procedural_representation_relationship3749     struct explicit_procedural_representation_relationship : representation_relationship, ObjectHelper<explicit_procedural_representation_relationship,0> { explicit_procedural_representation_relationship() : Object("explicit_procedural_representation_relationship") {}
3750 
3751     };
3752 
3753     // C++ wrapper for explicit_procedural_shape_representation_relationship
explicit_procedural_shape_representation_relationshipexplicit_procedural_shape_representation_relationship3754     struct explicit_procedural_shape_representation_relationship : explicit_procedural_representation_relationship, ObjectHelper<explicit_procedural_shape_representation_relationship,0> { explicit_procedural_shape_representation_relationship() : Object("explicit_procedural_shape_representation_relationship") {}
3755 
3756     };
3757 
3758     // C++ wrapper for expression_conversion_based_unit
expression_conversion_based_unitexpression_conversion_based_unit3759     struct expression_conversion_based_unit :  ObjectHelper<expression_conversion_based_unit,0> { expression_conversion_based_unit() : Object("expression_conversion_based_unit") {}
3760 
3761     };
3762 
3763     // C++ wrapper for extension
extensionextension3764     struct extension : derived_shape_aspect, ObjectHelper<extension,0> { extension() : Object("extension") {}
3765 
3766     };
3767 
3768     // C++ wrapper for extent
extentextent3769     struct extent : characterized_object, ObjectHelper<extent,0> { extent() : Object("extent") {}
3770 
3771     };
3772 
3773     // C++ wrapper for external_source
external_sourceexternal_source3774     struct external_source :  ObjectHelper<external_source,1> { external_source() : Object("external_source") {}
3775 		source_item::Out source_id;
3776     };
3777 
3778     // C++ wrapper for external_class_library
external_class_libraryexternal_class_library3779     struct external_class_library : external_source, ObjectHelper<external_class_library,0> { external_class_library() : Object("external_class_library") {}
3780 
3781     };
3782 
3783     // C++ wrapper for externally_defined_class
externally_defined_classexternally_defined_class3784     struct externally_defined_class :  ObjectHelper<externally_defined_class,0> { externally_defined_class() : Object("externally_defined_class") {}
3785 
3786     };
3787 
3788     // C++ wrapper for externally_defined_colour
externally_defined_colourexternally_defined_colour3789     struct externally_defined_colour :  ObjectHelper<externally_defined_colour,0> { externally_defined_colour() : Object("externally_defined_colour") {}
3790 
3791     };
3792 
3793     // C++ wrapper for externally_defined_context_dependent_unit
externally_defined_context_dependent_unitexternally_defined_context_dependent_unit3794     struct externally_defined_context_dependent_unit :  ObjectHelper<externally_defined_context_dependent_unit,0> { externally_defined_context_dependent_unit() : Object("externally_defined_context_dependent_unit") {}
3795 
3796     };
3797 
3798     // C++ wrapper for externally_defined_conversion_based_unit
externally_defined_conversion_based_unitexternally_defined_conversion_based_unit3799     struct externally_defined_conversion_based_unit :  ObjectHelper<externally_defined_conversion_based_unit,0> { externally_defined_conversion_based_unit() : Object("externally_defined_conversion_based_unit") {}
3800 
3801     };
3802 
3803     // C++ wrapper for externally_defined_currency
externally_defined_currencyexternally_defined_currency3804     struct externally_defined_currency :  ObjectHelper<externally_defined_currency,0> { externally_defined_currency() : Object("externally_defined_currency") {}
3805 
3806     };
3807 
3808     // C++ wrapper for externally_defined_item
externally_defined_itemexternally_defined_item3809     struct externally_defined_item :  ObjectHelper<externally_defined_item,2> { externally_defined_item() : Object("externally_defined_item") {}
3810 		source_item::Out item_id;
3811 		Lazy< external_source > source;
3812     };
3813 
3814     // C++ wrapper for externally_defined_curve_font
externally_defined_curve_fontexternally_defined_curve_font3815     struct externally_defined_curve_font : externally_defined_item, ObjectHelper<externally_defined_curve_font,0> { externally_defined_curve_font() : Object("externally_defined_curve_font") {}
3816 
3817     };
3818 
3819     // C++ wrapper for externally_defined_dimension_definition
externally_defined_dimension_definitionexternally_defined_dimension_definition3820     struct externally_defined_dimension_definition :  ObjectHelper<externally_defined_dimension_definition,0> { externally_defined_dimension_definition() : Object("externally_defined_dimension_definition") {}
3821 
3822     };
3823 
3824     // C++ wrapper for externally_defined_general_property
externally_defined_general_propertyexternally_defined_general_property3825     struct externally_defined_general_property :  ObjectHelper<externally_defined_general_property,0> { externally_defined_general_property() : Object("externally_defined_general_property") {}
3826 
3827     };
3828 
3829     // C++ wrapper for externally_defined_hatch_style
externally_defined_hatch_styleexternally_defined_hatch_style3830     struct externally_defined_hatch_style :  ObjectHelper<externally_defined_hatch_style,0> { externally_defined_hatch_style() : Object("externally_defined_hatch_style") {}
3831 
3832     };
3833 
3834     // C++ wrapper for externally_defined_marker
externally_defined_markerexternally_defined_marker3835     struct externally_defined_marker :  ObjectHelper<externally_defined_marker,0> { externally_defined_marker() : Object("externally_defined_marker") {}
3836 
3837     };
3838 
3839     // C++ wrapper for picture_representation_item
picture_representation_itempicture_representation_item3840     struct picture_representation_item : bytes_representation_item, ObjectHelper<picture_representation_item,0> { picture_representation_item() : Object("picture_representation_item") {}
3841 
3842     };
3843 
3844     // C++ wrapper for externally_defined_picture_representation_item
externally_defined_picture_representation_itemexternally_defined_picture_representation_item3845     struct externally_defined_picture_representation_item : picture_representation_item, ObjectHelper<externally_defined_picture_representation_item,0> { externally_defined_picture_representation_item() : Object("externally_defined_picture_representation_item") {}
3846 
3847     };
3848 
3849     // C++ wrapper for externally_defined_representation_item
externally_defined_representation_itemexternally_defined_representation_item3850     struct externally_defined_representation_item :  ObjectHelper<externally_defined_representation_item,0> { externally_defined_representation_item() : Object("externally_defined_representation_item") {}
3851 
3852     };
3853 
3854     // C++ wrapper for externally_defined_string
externally_defined_stringexternally_defined_string3855     struct externally_defined_string : externally_defined_representation_item, ObjectHelper<externally_defined_string,0> { externally_defined_string() : Object("externally_defined_string") {}
3856 
3857     };
3858 
3859     // C++ wrapper for externally_defined_symbol
externally_defined_symbolexternally_defined_symbol3860     struct externally_defined_symbol : externally_defined_item, ObjectHelper<externally_defined_symbol,0> { externally_defined_symbol() : Object("externally_defined_symbol") {}
3861 
3862     };
3863 
3864     // C++ wrapper for externally_defined_terminator_symbol
externally_defined_terminator_symbolexternally_defined_terminator_symbol3865     struct externally_defined_terminator_symbol : externally_defined_symbol, ObjectHelper<externally_defined_terminator_symbol,0> { externally_defined_terminator_symbol() : Object("externally_defined_terminator_symbol") {}
3866 
3867     };
3868 
3869     // C++ wrapper for externally_defined_text_font
externally_defined_text_fontexternally_defined_text_font3870     struct externally_defined_text_font : externally_defined_item, ObjectHelper<externally_defined_text_font,0> { externally_defined_text_font() : Object("externally_defined_text_font") {}
3871 
3872     };
3873 
3874     // C++ wrapper for externally_defined_tile
externally_defined_tileexternally_defined_tile3875     struct externally_defined_tile : externally_defined_item, ObjectHelper<externally_defined_tile,0> { externally_defined_tile() : Object("externally_defined_tile") {}
3876 
3877     };
3878 
3879     // C++ wrapper for externally_defined_tile_style
externally_defined_tile_styleexternally_defined_tile_style3880     struct externally_defined_tile_style :  ObjectHelper<externally_defined_tile_style,0> { externally_defined_tile_style() : Object("externally_defined_tile_style") {}
3881 
3882     };
3883 
3884     // C++ wrapper for swept_area_solid
swept_area_solidswept_area_solid3885     struct swept_area_solid : solid_model, ObjectHelper<swept_area_solid,1> { swept_area_solid() : Object("swept_area_solid") {}
3886 		Lazy< curve_bounded_surface > swept_area;
3887     };
3888 
3889     // C++ wrapper for extruded_area_solid
extruded_area_solidextruded_area_solid3890     struct extruded_area_solid : swept_area_solid, ObjectHelper<extruded_area_solid,2> { extruded_area_solid() : Object("extruded_area_solid") {}
3891 		Lazy< direction > extruded_direction;
3892 		positive_length_measure::Out depth;
3893     };
3894 
3895     // C++ wrapper for swept_face_solid
swept_face_solidswept_face_solid3896     struct swept_face_solid : solid_model, ObjectHelper<swept_face_solid,1> { swept_face_solid() : Object("swept_face_solid") {}
3897 		Lazy< face_surface > swept_face;
3898     };
3899 
3900     // C++ wrapper for extruded_face_solid
extruded_face_solidextruded_face_solid3901     struct extruded_face_solid : swept_face_solid, ObjectHelper<extruded_face_solid,2> { extruded_face_solid() : Object("extruded_face_solid") {}
3902 		Lazy< direction > extruded_direction;
3903 		positive_length_measure::Out depth;
3904     };
3905 
3906     // C++ wrapper for extruded_face_solid_with_trim_conditions
extruded_face_solid_with_trim_conditionsextruded_face_solid_with_trim_conditions3907     struct extruded_face_solid_with_trim_conditions : extruded_face_solid, ObjectHelper<extruded_face_solid_with_trim_conditions,6> { extruded_face_solid_with_trim_conditions() : Object("extruded_face_solid_with_trim_conditions") {}
3908 		trim_condition_select::Out first_trim_condition;
3909 		trim_condition_select::Out second_trim_condition;
3910 		trim_intent::Out first_trim_intent;
3911 		trim_intent::Out second_trim_intent;
3912 		non_negative_length_measure::Out first_offset;
3913 		non_negative_length_measure::Out second_offset;
3914     };
3915 
3916     // C++ wrapper for extruded_face_solid_with_draft_angle
extruded_face_solid_with_draft_angleextruded_face_solid_with_draft_angle3917     struct extruded_face_solid_with_draft_angle : extruded_face_solid_with_trim_conditions, ObjectHelper<extruded_face_solid_with_draft_angle,1> { extruded_face_solid_with_draft_angle() : Object("extruded_face_solid_with_draft_angle") {}
3918 		plane_angle_measure::Out draft_angle;
3919     };
3920 
3921     // C++ wrapper for extruded_face_solid_with_multiple_draft_angles
extruded_face_solid_with_multiple_draft_anglesextruded_face_solid_with_multiple_draft_angles3922     struct extruded_face_solid_with_multiple_draft_angles : extruded_face_solid_with_trim_conditions, ObjectHelper<extruded_face_solid_with_multiple_draft_angles,1> { extruded_face_solid_with_multiple_draft_angles() : Object("extruded_face_solid_with_multiple_draft_angles") {}
3923 		ListOf< plane_angle_measure, 2, 0 >::Out draft_angles;
3924     };
3925 
3926     // C++ wrapper for face
faceface3927     struct face : topological_representation_item, ObjectHelper<face,1> { face() : Object("face") {}
3928 		ListOf< Lazy< face_bound >, 1, 0 > bounds;
3929     };
3930 
3931     // C++ wrapper for face_based_surface_model
face_based_surface_modelface_based_surface_model3932     struct face_based_surface_model : geometric_representation_item, ObjectHelper<face_based_surface_model,1> { face_based_surface_model() : Object("face_based_surface_model") {}
3933 		ListOf< Lazy< connected_face_set >, 1, 0 > fbsm_faces;
3934     };
3935 
3936     // C++ wrapper for face_bound
face_boundface_bound3937     struct face_bound : topological_representation_item, ObjectHelper<face_bound,2> { face_bound() : Object("face_bound") {}
3938 		Lazy< loop > bound;
3939 		BOOLEAN::Out orientation;
3940     };
3941 
3942     // C++ wrapper for face_outer_bound
face_outer_boundface_outer_bound3943     struct face_outer_bound : face_bound, ObjectHelper<face_outer_bound,0> { face_outer_bound() : Object("face_outer_bound") {}
3944 
3945     };
3946 
3947     // C++ wrapper for faceted_brep
faceted_brepfaceted_brep3948     struct faceted_brep : manifold_solid_brep, ObjectHelper<faceted_brep,0> { faceted_brep() : Object("faceted_brep") {}
3949 
3950     };
3951 
3952     // C++ wrapper for faceted_brep_shape_representation
faceted_brep_shape_representationfaceted_brep_shape_representation3953     struct faceted_brep_shape_representation : shape_representation, ObjectHelper<faceted_brep_shape_representation,0> { faceted_brep_shape_representation() : Object("faceted_brep_shape_representation") {}
3954 
3955     };
3956 
3957     // C++ wrapper for fill_area_style
fill_area_stylefill_area_style3958     struct fill_area_style : founded_item, ObjectHelper<fill_area_style,2> { fill_area_style() : Object("fill_area_style") {}
3959 		label::Out name;
3960 		ListOf< fill_style_select, 1, 0 >::Out fill_styles;
3961     };
3962 
3963     // C++ wrapper for fill_area_style_hatching
fill_area_style_hatchingfill_area_style_hatching3964     struct fill_area_style_hatching : geometric_representation_item, ObjectHelper<fill_area_style_hatching,5> { fill_area_style_hatching() : Object("fill_area_style_hatching") {}
3965 		Lazy< curve_style > hatch_line_appearance;
3966 		Lazy< one_direction_repeat_factor > start_of_next_hatch_line;
3967 		Lazy< cartesian_point > point_of_reference_hatch_line;
3968 		Lazy< cartesian_point > pattern_start;
3969 		plane_angle_measure::Out hatch_line_angle;
3970     };
3971 
3972     // C++ wrapper for fill_area_style_tile_coloured_region
fill_area_style_tile_coloured_regionfill_area_style_tile_coloured_region3973     struct fill_area_style_tile_coloured_region : geometric_representation_item, ObjectHelper<fill_area_style_tile_coloured_region,2> { fill_area_style_tile_coloured_region() : Object("fill_area_style_tile_coloured_region") {}
3974 		curve_or_annotation_curve_occurrence::Out closed_curve;
3975 		Lazy< colour > region_colour;
3976     };
3977 
3978     // C++ wrapper for fill_area_style_tile_curve_with_style
fill_area_style_tile_curve_with_stylefill_area_style_tile_curve_with_style3979     struct fill_area_style_tile_curve_with_style : geometric_representation_item, ObjectHelper<fill_area_style_tile_curve_with_style,1> { fill_area_style_tile_curve_with_style() : Object("fill_area_style_tile_curve_with_style") {}
3980 		Lazy< annotation_curve_occurrence > styled_curve;
3981     };
3982 
3983     // C++ wrapper for fill_area_style_tile_symbol_with_style
fill_area_style_tile_symbol_with_stylefill_area_style_tile_symbol_with_style3984     struct fill_area_style_tile_symbol_with_style : geometric_representation_item, ObjectHelper<fill_area_style_tile_symbol_with_style,1> { fill_area_style_tile_symbol_with_style() : Object("fill_area_style_tile_symbol_with_style") {}
3985 		Lazy< annotation_symbol_occurrence > symbol;
3986     };
3987 
3988     // C++ wrapper for fill_area_style_tiles
fill_area_style_tilesfill_area_style_tiles3989     struct fill_area_style_tiles : geometric_representation_item, ObjectHelper<fill_area_style_tiles,3> { fill_area_style_tiles() : Object("fill_area_style_tiles") {}
3990 		Lazy< two_direction_repeat_factor > tiling_pattern;
3991 		ListOf< fill_area_style_tile_shape_select, 1, 0 >::Out tiles;
3992 		positive_ratio_measure::Out tiling_scale;
3993     };
3994 
3995     // C++ wrapper for shape_representation_relationship
shape_representation_relationshipshape_representation_relationship3996     struct shape_representation_relationship : representation_relationship, ObjectHelper<shape_representation_relationship,0> { shape_representation_relationship() : Object("shape_representation_relationship") {}
3997 
3998     };
3999 
4000     // C++ wrapper for flat_pattern_ply_representation_relationship
flat_pattern_ply_representation_relationshipflat_pattern_ply_representation_relationship4001     struct flat_pattern_ply_representation_relationship : shape_representation_relationship, ObjectHelper<flat_pattern_ply_representation_relationship,0> { flat_pattern_ply_representation_relationship() : Object("flat_pattern_ply_representation_relationship") {}
4002 
4003     };
4004 
4005     // C++ wrapper for flatness_tolerance
flatness_toleranceflatness_tolerance4006     struct flatness_tolerance : geometric_tolerance, ObjectHelper<flatness_tolerance,0> { flatness_tolerance() : Object("flatness_tolerance") {}
4007 
4008     };
4009 
4010     // C++ wrapper for force_measure_with_unit
force_measure_with_unitforce_measure_with_unit4011     struct force_measure_with_unit : measure_with_unit, ObjectHelper<force_measure_with_unit,0> { force_measure_with_unit() : Object("force_measure_with_unit") {}
4012 
4013     };
4014 
4015     // C++ wrapper for force_unit
force_unitforce_unit4016     struct force_unit : derived_unit, ObjectHelper<force_unit,0> { force_unit() : Object("force_unit") {}
4017 
4018     };
4019 
4020     // C++ wrapper for forward_chaining_rule
forward_chaining_ruleforward_chaining_rule4021     struct forward_chaining_rule : rule_definition, ObjectHelper<forward_chaining_rule,0> { forward_chaining_rule() : Object("forward_chaining_rule") {}
4022 
4023     };
4024 
4025     // C++ wrapper for forward_chaining_rule_premise
forward_chaining_rule_premiseforward_chaining_rule_premise4026     struct forward_chaining_rule_premise :  ObjectHelper<forward_chaining_rule_premise,0> { forward_chaining_rule_premise() : Object("forward_chaining_rule_premise") {}
4027 
4028     };
4029 
4030     // C++ wrapper for frequency_measure_with_unit
frequency_measure_with_unitfrequency_measure_with_unit4031     struct frequency_measure_with_unit : measure_with_unit, ObjectHelper<frequency_measure_with_unit,0> { frequency_measure_with_unit() : Object("frequency_measure_with_unit") {}
4032 
4033     };
4034 
4035     // C++ wrapper for frequency_unit
frequency_unitfrequency_unit4036     struct frequency_unit : derived_unit, ObjectHelper<frequency_unit,0> { frequency_unit() : Object("frequency_unit") {}
4037 
4038     };
4039 
4040     // C++ wrapper for func
funcfunc4041     struct func : compound_representation_item, ObjectHelper<func,0> { func() : Object("func") {}
4042 
4043     };
4044 
4045     // C++ wrapper for functional_breakdown_context
functional_breakdown_contextfunctional_breakdown_context4046     struct functional_breakdown_context : breakdown_context, ObjectHelper<functional_breakdown_context,0> { functional_breakdown_context() : Object("functional_breakdown_context") {}
4047 
4048     };
4049 
4050     // C++ wrapper for functional_element_usage
functional_element_usagefunctional_element_usage4051     struct functional_element_usage : breakdown_element_usage, ObjectHelper<functional_element_usage,0> { functional_element_usage() : Object("functional_element_usage") {}
4052 
4053     };
4054 
4055     // C++ wrapper for general_material_property
general_material_propertygeneral_material_property4056     struct general_material_property : general_property, ObjectHelper<general_material_property,0> { general_material_property() : Object("general_material_property") {}
4057 
4058     };
4059 
4060     // C++ wrapper for simple_generic_expression
simple_generic_expressionsimple_generic_expression4061     struct simple_generic_expression : generic_expression, ObjectHelper<simple_generic_expression,0> { simple_generic_expression() : Object("simple_generic_expression") {}
4062 
4063     };
4064 
4065     // C++ wrapper for generic_literal
generic_literalgeneric_literal4066     struct generic_literal : simple_generic_expression, ObjectHelper<generic_literal,0> { generic_literal() : Object("generic_literal") {}
4067 
4068     };
4069 
4070     // C++ wrapper for generic_variable
generic_variablegeneric_variable4071     struct generic_variable : simple_generic_expression, ObjectHelper<generic_variable,0> { generic_variable() : Object("generic_variable") {}
4072 
4073     };
4074 
4075     // C++ wrapper for geometric_alignment
geometric_alignmentgeometric_alignment4076     struct geometric_alignment : derived_shape_aspect, ObjectHelper<geometric_alignment,0> { geometric_alignment() : Object("geometric_alignment") {}
4077 
4078     };
4079 
4080     // C++ wrapper for geometric_set
geometric_setgeometric_set4081     struct geometric_set : geometric_representation_item, ObjectHelper<geometric_set,1> { geometric_set() : Object("geometric_set") {}
4082 		ListOf< geometric_set_select, 1, 0 >::Out elements;
4083     };
4084 
4085     // C++ wrapper for geometric_curve_set
geometric_curve_setgeometric_curve_set4086     struct geometric_curve_set : geometric_set, ObjectHelper<geometric_curve_set,0> { geometric_curve_set() : Object("geometric_curve_set") {}
4087 
4088     };
4089 
4090     // C++ wrapper for geometric_intersection
geometric_intersectiongeometric_intersection4091     struct geometric_intersection : derived_shape_aspect, ObjectHelper<geometric_intersection,0> { geometric_intersection() : Object("geometric_intersection") {}
4092 
4093     };
4094 
4095     // C++ wrapper for geometric_item_specific_usage
geometric_item_specific_usagegeometric_item_specific_usage4096     struct geometric_item_specific_usage : item_identified_representation_usage, ObjectHelper<geometric_item_specific_usage,0> { geometric_item_specific_usage() : Object("geometric_item_specific_usage") {}
4097 
4098     };
4099 
4100     // C++ wrapper for geometric_model_element_relationship
geometric_model_element_relationshipgeometric_model_element_relationship4101     struct geometric_model_element_relationship :  ObjectHelper<geometric_model_element_relationship,0> { geometric_model_element_relationship() : Object("geometric_model_element_relationship") {}
4102 
4103     };
4104 
4105     // C++ wrapper for representation_context
representation_contextrepresentation_context4106     struct representation_context :  ObjectHelper<representation_context,2> { representation_context() : Object("representation_context") {}
4107 		identifier::Out context_identifier;
4108 		text::Out context_type;
4109     };
4110 
4111     // C++ wrapper for geometric_representation_context
geometric_representation_contextgeometric_representation_context4112     struct geometric_representation_context : representation_context, ObjectHelper<geometric_representation_context,1> { geometric_representation_context() : Object("geometric_representation_context") {}
4113 		dimension_count::Out coordinate_space_dimension;
4114     };
4115 
4116     // C++ wrapper for geometric_tolerance_with_defined_unit
geometric_tolerance_with_defined_unitgeometric_tolerance_with_defined_unit4117     struct geometric_tolerance_with_defined_unit : geometric_tolerance, ObjectHelper<geometric_tolerance_with_defined_unit,1> { geometric_tolerance_with_defined_unit() : Object("geometric_tolerance_with_defined_unit") {}
4118 		Lazy< measure_with_unit > unit_size;
4119     };
4120 
4121     // C++ wrapper for geometrical_tolerance_callout
geometrical_tolerance_calloutgeometrical_tolerance_callout4122     struct geometrical_tolerance_callout : draughting_callout, ObjectHelper<geometrical_tolerance_callout,0> { geometrical_tolerance_callout() : Object("geometrical_tolerance_callout") {}
4123 
4124     };
4125 
4126     // C++ wrapper for geometrically_bounded_2d_wireframe_representation
geometrically_bounded_2d_wireframe_representationgeometrically_bounded_2d_wireframe_representation4127     struct geometrically_bounded_2d_wireframe_representation : shape_representation, ObjectHelper<geometrically_bounded_2d_wireframe_representation,0> { geometrically_bounded_2d_wireframe_representation() : Object("geometrically_bounded_2d_wireframe_representation") {}
4128 
4129     };
4130 
4131     // C++ wrapper for geometrically_bounded_surface_shape_representation
geometrically_bounded_surface_shape_representationgeometrically_bounded_surface_shape_representation4132     struct geometrically_bounded_surface_shape_representation : shape_representation, ObjectHelper<geometrically_bounded_surface_shape_representation,0> { geometrically_bounded_surface_shape_representation() : Object("geometrically_bounded_surface_shape_representation") {}
4133 
4134     };
4135 
4136     // C++ wrapper for geometrically_bounded_wireframe_shape_representation
geometrically_bounded_wireframe_shape_representationgeometrically_bounded_wireframe_shape_representation4137     struct geometrically_bounded_wireframe_shape_representation : shape_representation, ObjectHelper<geometrically_bounded_wireframe_shape_representation,0> { geometrically_bounded_wireframe_shape_representation() : Object("geometrically_bounded_wireframe_shape_representation") {}
4138 
4139     };
4140 
4141     // C++ wrapper for global_assignment
global_assignmentglobal_assignment4142     struct global_assignment : representation_item_relationship, ObjectHelper<global_assignment,0> { global_assignment() : Object("global_assignment") {}
4143 
4144     };
4145 
4146     // C++ wrapper for global_uncertainty_assigned_context
global_uncertainty_assigned_contextglobal_uncertainty_assigned_context4147     struct global_uncertainty_assigned_context : representation_context, ObjectHelper<global_uncertainty_assigned_context,1> { global_uncertainty_assigned_context() : Object("global_uncertainty_assigned_context") {}
4148 		ListOf< Lazy< uncertainty_measure_with_unit >, 1, 0 > uncertainty;
4149     };
4150 
4151     // C++ wrapper for global_unit_assigned_context
global_unit_assigned_contextglobal_unit_assigned_context4152     struct global_unit_assigned_context : representation_context, ObjectHelper<global_unit_assigned_context,1> { global_unit_assigned_context() : Object("global_unit_assigned_context") {}
4153 		ListOf< unit, 1, 0 >::Out units;
4154     };
4155 
4156     // C++ wrapper for ground_fact
ground_factground_fact4157     struct ground_fact : atomic_formula, ObjectHelper<ground_fact,0> { ground_fact() : Object("ground_fact") {}
4158 
4159     };
4160 
4161     // C++ wrapper for hardness_representation
hardness_representationhardness_representation4162     struct hardness_representation : representation, ObjectHelper<hardness_representation,0> { hardness_representation() : Object("hardness_representation") {}
4163 
4164     };
4165 
4166     // C++ wrapper for hidden_element_over_riding_styled_item
hidden_element_over_riding_styled_itemhidden_element_over_riding_styled_item4167     struct hidden_element_over_riding_styled_item : context_dependent_over_riding_styled_item, ObjectHelper<hidden_element_over_riding_styled_item,0> { hidden_element_over_riding_styled_item() : Object("hidden_element_over_riding_styled_item") {}
4168 
4169     };
4170 
4171     // C++ wrapper for hyperbola
hyperbolahyperbola4172     struct hyperbola : conic, ObjectHelper<hyperbola,2> { hyperbola() : Object("hyperbola") {}
4173 		positive_length_measure::Out semi_axis;
4174 		positive_length_measure::Out semi_imag_axis;
4175     };
4176 
4177     // C++ wrapper for illuminance_measure_with_unit
illuminance_measure_with_unitilluminance_measure_with_unit4178     struct illuminance_measure_with_unit : measure_with_unit, ObjectHelper<illuminance_measure_with_unit,0> { illuminance_measure_with_unit() : Object("illuminance_measure_with_unit") {}
4179 
4180     };
4181 
4182     // C++ wrapper for illuminance_unit
illuminance_unitilluminance_unit4183     struct illuminance_unit : derived_unit, ObjectHelper<illuminance_unit,0> { illuminance_unit() : Object("illuminance_unit") {}
4184 
4185     };
4186 
4187     // C++ wrapper for included_text_block
included_text_blockincluded_text_block4188     struct included_text_block : mapped_item, ObjectHelper<included_text_block,0> { included_text_block() : Object("included_text_block") {}
4189 
4190     };
4191 
4192     // C++ wrapper for inclusion_product_concept_feature
inclusion_product_concept_featureinclusion_product_concept_feature4193     struct inclusion_product_concept_feature : conditional_concept_feature, ObjectHelper<inclusion_product_concept_feature,0> { inclusion_product_concept_feature() : Object("inclusion_product_concept_feature") {}
4194 
4195     };
4196 
4197     // C++ wrapper for user_selected_elements
user_selected_elementsuser_selected_elements4198     struct user_selected_elements : representation_item, ObjectHelper<user_selected_elements,1> { user_selected_elements() : Object("user_selected_elements") {}
4199 		ListOf< Lazy< representation_item >, 1, 0 > picked_items;
4200     };
4201 
4202     // C++ wrapper for indirectly_selected_elements
indirectly_selected_elementsindirectly_selected_elements4203     struct indirectly_selected_elements : user_selected_elements, ObjectHelper<indirectly_selected_elements,1> { indirectly_selected_elements() : Object("indirectly_selected_elements") {}
4204 		ListOf< Lazy< representation_item >, 1, 0 > indirectly_picked_items;
4205     };
4206 
4207     // C++ wrapper for indirectly_selected_shape_elements
indirectly_selected_shape_elementsindirectly_selected_shape_elements4208     struct indirectly_selected_shape_elements :  ObjectHelper<indirectly_selected_shape_elements,0> { indirectly_selected_shape_elements() : Object("indirectly_selected_shape_elements") {}
4209 
4210     };
4211 
4212     // C++ wrapper for inductance_measure_with_unit
inductance_measure_with_unitinductance_measure_with_unit4213     struct inductance_measure_with_unit : measure_with_unit, ObjectHelper<inductance_measure_with_unit,0> { inductance_measure_with_unit() : Object("inductance_measure_with_unit") {}
4214 
4215     };
4216 
4217     // C++ wrapper for inductance_unit
inductance_unitinductance_unit4218     struct inductance_unit : derived_unit, ObjectHelper<inductance_unit,0> { inductance_unit() : Object("inductance_unit") {}
4219 
4220     };
4221 
4222     // C++ wrapper for information_right
information_rightinformation_right4223     struct information_right : action_method, ObjectHelper<information_right,0> { information_right() : Object("information_right") {}
4224 
4225     };
4226 
4227     // C++ wrapper for information_usage_right
information_usage_rightinformation_usage_right4228     struct information_usage_right : action_method, ObjectHelper<information_usage_right,0> { information_usage_right() : Object("information_usage_right") {}
4229 
4230     };
4231 
4232     // C++ wrapper for instance_usage_context_assignment
instance_usage_context_assignmentinstance_usage_context_assignment4233     struct instance_usage_context_assignment : product_definition_context, ObjectHelper<instance_usage_context_assignment,1> { instance_usage_context_assignment() : Object("instance_usage_context_assignment") {}
4234 		ListOf< instance_usage_context_select, 1, 0 >::Out items;
4235     };
4236 
4237     // C++ wrapper for instanced_feature
instanced_featureinstanced_feature4238     struct instanced_feature :  ObjectHelper<instanced_feature,0> { instanced_feature() : Object("instanced_feature") {}
4239 
4240     };
4241 
4242     // C++ wrapper for literal_number
literal_numberliteral_number4243     struct literal_number :  ObjectHelper<literal_number,1> { literal_number() : Object("literal_number") {}
4244 		NUMBER::Out the_value;
4245     };
4246 
4247     // C++ wrapper for int_literal
int_literalint_literal4248     struct int_literal : literal_number, ObjectHelper<int_literal,0> { int_literal() : Object("int_literal") {}
4249 
4250     };
4251 
4252     // C++ wrapper for integer_representation_item
integer_representation_iteminteger_representation_item4253     struct integer_representation_item :  ObjectHelper<integer_representation_item,0> { integer_representation_item() : Object("integer_representation_item") {}
4254 
4255     };
4256 
4257     // C++ wrapper for surface_curve
surface_curvesurface_curve4258     struct surface_curve : curve, ObjectHelper<surface_curve,3> { surface_curve() : Object("surface_curve") {}
4259 		Lazy< curve > curve_3d;
4260 		ListOf< pcurve_or_surface, 1, 2 >::Out associated_geometry;
4261 		preferred_surface_curve_representation::Out master_representation;
4262     };
4263 
4264     // C++ wrapper for intersection_curve
intersection_curveintersection_curve4265     struct intersection_curve : surface_curve, ObjectHelper<intersection_curve,0> { intersection_curve() : Object("intersection_curve") {}
4266 
4267     };
4268 
4269     // C++ wrapper for interval_expression
interval_expressioninterval_expression4270     struct interval_expression :  ObjectHelper<interval_expression,0> { interval_expression() : Object("interval_expression") {}
4271 
4272     };
4273 
4274     // C++ wrapper for iso4217_currency
iso4217_currencyiso4217_currency4275     struct iso4217_currency : currency, ObjectHelper<iso4217_currency,0> { iso4217_currency() : Object("iso4217_currency") {}
4276 
4277     };
4278 
4279     // C++ wrapper for known_source
known_sourceknown_source4280     struct known_source :  ObjectHelper<known_source,0> { known_source() : Object("known_source") {}
4281 
4282     };
4283 
4284     // C++ wrapper for laid_defined_transformation
laid_defined_transformationlaid_defined_transformation4285     struct laid_defined_transformation : transformation_with_derived_angle, ObjectHelper<laid_defined_transformation,0> { laid_defined_transformation() : Object("laid_defined_transformation") {}
4286 
4287     };
4288 
4289     // C++ wrapper for language
languagelanguage4290     struct language : group, ObjectHelper<language,0> { language() : Object("language") {}
4291 
4292     };
4293 
4294     // C++ wrapper for leader_curve
leader_curveleader_curve4295     struct leader_curve : annotation_curve_occurrence, ObjectHelper<leader_curve,0> { leader_curve() : Object("leader_curve") {}
4296 
4297     };
4298 
4299     // C++ wrapper for leader_directed_callout
leader_directed_calloutleader_directed_callout4300     struct leader_directed_callout : draughting_callout, ObjectHelper<leader_directed_callout,0> { leader_directed_callout() : Object("leader_directed_callout") {}
4301 
4302     };
4303 
4304     // C++ wrapper for leader_directed_dimension
leader_directed_dimensionleader_directed_dimension4305     struct leader_directed_dimension : leader_directed_callout, ObjectHelper<leader_directed_dimension,0> { leader_directed_dimension() : Object("leader_directed_dimension") {}
4306 
4307     };
4308 
4309     // C++ wrapper for leader_terminator
leader_terminatorleader_terminator4310     struct leader_terminator : terminator_symbol, ObjectHelper<leader_terminator,0> { leader_terminator() : Object("leader_terminator") {}
4311 
4312     };
4313 
4314     // C++ wrapper for length_measure_with_unit
length_measure_with_unitlength_measure_with_unit4315     struct length_measure_with_unit : measure_with_unit, ObjectHelper<length_measure_with_unit,0> { length_measure_with_unit() : Object("length_measure_with_unit") {}
4316 
4317     };
4318 
4319     // C++ wrapper for length_unit
length_unitlength_unit4320     struct length_unit : named_unit, ObjectHelper<length_unit,0> { length_unit() : Object("length_unit") {}
4321 
4322     };
4323 
4324     // C++ wrapper for light_source
light_sourcelight_source4325     struct light_source : geometric_representation_item, ObjectHelper<light_source,1> { light_source() : Object("light_source") {}
4326 		Lazy< colour > light_colour;
4327     };
4328 
4329     // C++ wrapper for light_source_ambient
light_source_ambientlight_source_ambient4330     struct light_source_ambient : light_source, ObjectHelper<light_source_ambient,0> { light_source_ambient() : Object("light_source_ambient") {}
4331 
4332     };
4333 
4334     // C++ wrapper for light_source_directional
light_source_directionallight_source_directional4335     struct light_source_directional : light_source, ObjectHelper<light_source_directional,1> { light_source_directional() : Object("light_source_directional") {}
4336 		Lazy< direction > orientation;
4337     };
4338 
4339     // C++ wrapper for light_source_positional
light_source_positionallight_source_positional4340     struct light_source_positional : light_source, ObjectHelper<light_source_positional,3> { light_source_positional() : Object("light_source_positional") {}
4341 		Lazy< cartesian_point > position;
4342 		REAL::Out constant_attenuation;
4343 		REAL::Out distance_attenuation;
4344     };
4345 
4346     // C++ wrapper for light_source_spot
light_source_spotlight_source_spot4347     struct light_source_spot : light_source, ObjectHelper<light_source_spot,6> { light_source_spot() : Object("light_source_spot") {}
4348 		Lazy< cartesian_point > position;
4349 		Lazy< direction > orientation;
4350 		REAL::Out concentration_exponent;
4351 		REAL::Out constant_attenuation;
4352 		REAL::Out distance_attenuation;
4353 		positive_plane_angle_measure::Out spread_angle;
4354     };
4355 
4356     // C++ wrapper for line
lineline4357     struct line : curve, ObjectHelper<line,2> { line() : Object("line") {}
4358 		Lazy< cartesian_point > pnt;
4359 		Lazy< vector > dir;
4360     };
4361 
4362     // C++ wrapper for line_profile_tolerance
line_profile_toleranceline_profile_tolerance4363     struct line_profile_tolerance : geometric_tolerance, ObjectHelper<line_profile_tolerance,0> { line_profile_tolerance() : Object("line_profile_tolerance") {}
4364 
4365     };
4366 
4367     // C++ wrapper for linear_dimension
linear_dimensionlinear_dimension4368     struct linear_dimension : dimension_curve_directed_callout, ObjectHelper<linear_dimension,0> { linear_dimension() : Object("linear_dimension") {}
4369 
4370     };
4371 
4372     // C++ wrapper for simple_clause
simple_clausesimple_clause4373     struct simple_clause : compound_representation_item, ObjectHelper<simple_clause,0> { simple_clause() : Object("simple_clause") {}
4374 
4375     };
4376 
4377     // C++ wrapper for literal_conjunction
literal_conjunctionliteral_conjunction4378     struct literal_conjunction : simple_clause, ObjectHelper<literal_conjunction,0> { literal_conjunction() : Object("literal_conjunction") {}
4379 
4380     };
4381 
4382     // C++ wrapper for literal_disjunction
literal_disjunctionliteral_disjunction4383     struct literal_disjunction : simple_clause, ObjectHelper<literal_disjunction,0> { literal_disjunction() : Object("literal_disjunction") {}
4384 
4385     };
4386 
4387     // C++ wrapper for logical_literal
logical_literallogical_literal4388     struct logical_literal : generic_literal, ObjectHelper<logical_literal,1> { logical_literal() : Object("logical_literal") {}
4389 		LOGICAL::Out lit_value;
4390     };
4391 
4392     // C++ wrapper for logical_representation_item
logical_representation_itemlogical_representation_item4393     struct logical_representation_item :  ObjectHelper<logical_representation_item,0> { logical_representation_item() : Object("logical_representation_item") {}
4394 
4395     };
4396 
4397     // C++ wrapper for loop
looploop4398     struct loop : topological_representation_item, ObjectHelper<loop,0> { loop() : Object("loop") {}
4399 
4400     };
4401 
4402     // C++ wrapper for loss_tangent_measure_with_unit
loss_tangent_measure_with_unitloss_tangent_measure_with_unit4403     struct loss_tangent_measure_with_unit : ratio_measure_with_unit, ObjectHelper<loss_tangent_measure_with_unit,0> { loss_tangent_measure_with_unit() : Object("loss_tangent_measure_with_unit") {}
4404 
4405     };
4406 
4407     // C++ wrapper for lot_effectivity
lot_effectivitylot_effectivity4408     struct lot_effectivity : effectivity, ObjectHelper<lot_effectivity,2> { lot_effectivity() : Object("lot_effectivity") {}
4409 		identifier::Out effectivity_lot_id;
4410 		Lazy< measure_with_unit > effectivity_lot_size;
4411     };
4412 
4413     // C++ wrapper for luminous_flux_measure_with_unit
luminous_flux_measure_with_unitluminous_flux_measure_with_unit4414     struct luminous_flux_measure_with_unit : measure_with_unit, ObjectHelper<luminous_flux_measure_with_unit,0> { luminous_flux_measure_with_unit() : Object("luminous_flux_measure_with_unit") {}
4415 
4416     };
4417 
4418     // C++ wrapper for luminous_flux_unit
luminous_flux_unitluminous_flux_unit4419     struct luminous_flux_unit : named_unit, ObjectHelper<luminous_flux_unit,0> { luminous_flux_unit() : Object("luminous_flux_unit") {}
4420 
4421     };
4422 
4423     // C++ wrapper for luminous_intensity_measure_with_unit
luminous_intensity_measure_with_unitluminous_intensity_measure_with_unit4424     struct luminous_intensity_measure_with_unit : measure_with_unit, ObjectHelper<luminous_intensity_measure_with_unit,0> { luminous_intensity_measure_with_unit() : Object("luminous_intensity_measure_with_unit") {}
4425 
4426     };
4427 
4428     // C++ wrapper for luminous_intensity_unit
luminous_intensity_unitluminous_intensity_unit4429     struct luminous_intensity_unit : named_unit, ObjectHelper<luminous_intensity_unit,0> { luminous_intensity_unit() : Object("luminous_intensity_unit") {}
4430 
4431     };
4432 
4433     // C++ wrapper for magnetic_flux_density_measure_with_unit
magnetic_flux_density_measure_with_unitmagnetic_flux_density_measure_with_unit4434     struct magnetic_flux_density_measure_with_unit : measure_with_unit, ObjectHelper<magnetic_flux_density_measure_with_unit,0> { magnetic_flux_density_measure_with_unit() : Object("magnetic_flux_density_measure_with_unit") {}
4435 
4436     };
4437 
4438     // C++ wrapper for magnetic_flux_density_unit
magnetic_flux_density_unitmagnetic_flux_density_unit4439     struct magnetic_flux_density_unit : derived_unit, ObjectHelper<magnetic_flux_density_unit,0> { magnetic_flux_density_unit() : Object("magnetic_flux_density_unit") {}
4440 
4441     };
4442 
4443     // C++ wrapper for magnetic_flux_measure_with_unit
magnetic_flux_measure_with_unitmagnetic_flux_measure_with_unit4444     struct magnetic_flux_measure_with_unit : measure_with_unit, ObjectHelper<magnetic_flux_measure_with_unit,0> { magnetic_flux_measure_with_unit() : Object("magnetic_flux_measure_with_unit") {}
4445 
4446     };
4447 
4448     // C++ wrapper for magnetic_flux_unit
magnetic_flux_unitmagnetic_flux_unit4449     struct magnetic_flux_unit : derived_unit, ObjectHelper<magnetic_flux_unit,0> { magnetic_flux_unit() : Object("magnetic_flux_unit") {}
4450 
4451     };
4452 
4453     // C++ wrapper for make_from_usage_option
make_from_usage_optionmake_from_usage_option4454     struct make_from_usage_option : product_definition_usage, ObjectHelper<make_from_usage_option,3> { make_from_usage_option() : Object("make_from_usage_option") {}
4455 		INTEGER::Out ranking;
4456 		text::Out ranking_rationale;
4457 		Lazy< measure_with_unit > quantity;
4458     };
4459 
4460     // C++ wrapper for manifold_subsurface_shape_representation
manifold_subsurface_shape_representationmanifold_subsurface_shape_representation4461     struct manifold_subsurface_shape_representation : shape_representation, ObjectHelper<manifold_subsurface_shape_representation,0> { manifold_subsurface_shape_representation() : Object("manifold_subsurface_shape_representation") {}
4462 
4463     };
4464 
4465     // C++ wrapper for manifold_surface_shape_representation
manifold_surface_shape_representationmanifold_surface_shape_representation4466     struct manifold_surface_shape_representation : shape_representation, ObjectHelper<manifold_surface_shape_representation,0> { manifold_surface_shape_representation() : Object("manifold_surface_shape_representation") {}
4467 
4468     };
4469 
4470     // C++ wrapper for mass_measure_with_unit
mass_measure_with_unitmass_measure_with_unit4471     struct mass_measure_with_unit : measure_with_unit, ObjectHelper<mass_measure_with_unit,0> { mass_measure_with_unit() : Object("mass_measure_with_unit") {}
4472 
4473     };
4474 
4475     // C++ wrapper for mass_unit
mass_unitmass_unit4476     struct mass_unit : named_unit, ObjectHelper<mass_unit,0> { mass_unit() : Object("mass_unit") {}
4477 
4478     };
4479 
4480     // C++ wrapper for material_property
material_propertymaterial_property4481     struct material_property : property_definition, ObjectHelper<material_property,0> { material_property() : Object("material_property") {}
4482 
4483     };
4484 
4485     // C++ wrapper for property_definition_representation
property_definition_representationproperty_definition_representation4486     struct property_definition_representation :  ObjectHelper<property_definition_representation,2> { property_definition_representation() : Object("property_definition_representation") {}
4487 		represented_definition::Out definition;
4488 		Lazy< representation > used_representation;
4489     };
4490 
4491     // C++ wrapper for material_property_representation
material_property_representationmaterial_property_representation4492     struct material_property_representation : property_definition_representation, ObjectHelper<material_property_representation,1> { material_property_representation() : Object("material_property_representation") {}
4493 		Lazy< NotImplemented > dependent_environment;
4494     };
4495 
4496     // C++ wrapper for measure_representation_item
measure_representation_itemmeasure_representation_item4497     struct measure_representation_item :  ObjectHelper<measure_representation_item,0> { measure_representation_item() : Object("measure_representation_item") {}
4498 
4499     };
4500 
4501     // C++ wrapper for product_context
product_contextproduct_context4502     struct product_context : application_context_element, ObjectHelper<product_context,1> { product_context() : Object("product_context") {}
4503 		label::Out discipline_type;
4504     };
4505 
4506     // C++ wrapper for mechanical_context
mechanical_contextmechanical_context4507     struct mechanical_context : product_context, ObjectHelper<mechanical_context,0> { mechanical_context() : Object("mechanical_context") {}
4508 
4509     };
4510 
4511     // C++ wrapper for mechanical_design_and_draughting_relationship
mechanical_design_and_draughting_relationshipmechanical_design_and_draughting_relationship4512     struct mechanical_design_and_draughting_relationship : definitional_representation_relationship_with_same_context, ObjectHelper<mechanical_design_and_draughting_relationship,0> { mechanical_design_and_draughting_relationship() : Object("mechanical_design_and_draughting_relationship") {}
4513 
4514     };
4515 
4516     // C++ wrapper for mechanical_design_geometric_presentation_area
mechanical_design_geometric_presentation_areamechanical_design_geometric_presentation_area4517     struct mechanical_design_geometric_presentation_area : presentation_area, ObjectHelper<mechanical_design_geometric_presentation_area,0> { mechanical_design_geometric_presentation_area() : Object("mechanical_design_geometric_presentation_area") {}
4518 
4519     };
4520 
4521     // C++ wrapper for mechanical_design_geometric_presentation_representation
mechanical_design_geometric_presentation_representationmechanical_design_geometric_presentation_representation4522     struct mechanical_design_geometric_presentation_representation : representation, ObjectHelper<mechanical_design_geometric_presentation_representation,0> { mechanical_design_geometric_presentation_representation() : Object("mechanical_design_geometric_presentation_representation") {}
4523 
4524     };
4525 
4526     // C++ wrapper for mechanical_design_presentation_representation_with_draughting
mechanical_design_presentation_representation_with_draughtingmechanical_design_presentation_representation_with_draughting4527     struct mechanical_design_presentation_representation_with_draughting : representation, ObjectHelper<mechanical_design_presentation_representation_with_draughting,0> { mechanical_design_presentation_representation_with_draughting() : Object("mechanical_design_presentation_representation_with_draughting") {}
4528 
4529     };
4530 
4531     // C++ wrapper for mechanical_design_shaded_presentation_area
mechanical_design_shaded_presentation_areamechanical_design_shaded_presentation_area4532     struct mechanical_design_shaded_presentation_area : presentation_area, ObjectHelper<mechanical_design_shaded_presentation_area,0> { mechanical_design_shaded_presentation_area() : Object("mechanical_design_shaded_presentation_area") {}
4533 
4534     };
4535 
4536     // C++ wrapper for mechanical_design_shaded_presentation_representation
mechanical_design_shaded_presentation_representationmechanical_design_shaded_presentation_representation4537     struct mechanical_design_shaded_presentation_representation : representation, ObjectHelper<mechanical_design_shaded_presentation_representation,0> { mechanical_design_shaded_presentation_representation() : Object("mechanical_design_shaded_presentation_representation") {}
4538 
4539     };
4540 
4541     // C++ wrapper for min_and_major_ply_orientation_basis
min_and_major_ply_orientation_basismin_and_major_ply_orientation_basis4542     struct min_and_major_ply_orientation_basis :  ObjectHelper<min_and_major_ply_orientation_basis,0> { min_and_major_ply_orientation_basis() : Object("min_and_major_ply_orientation_basis") {}
4543 
4544     };
4545 
4546     // C++ wrapper for modified_geometric_tolerance
modified_geometric_tolerancemodified_geometric_tolerance4547     struct modified_geometric_tolerance : geometric_tolerance, ObjectHelper<modified_geometric_tolerance,1> { modified_geometric_tolerance() : Object("modified_geometric_tolerance") {}
4548 		limit_condition::Out modifier;
4549     };
4550 
4551     // C++ wrapper for modified_solid_with_placed_configuration
modified_solid_with_placed_configurationmodified_solid_with_placed_configuration4552     struct modified_solid_with_placed_configuration : modified_solid, ObjectHelper<modified_solid_with_placed_configuration,1> { modified_solid_with_placed_configuration() : Object("modified_solid_with_placed_configuration") {}
4553 		Lazy< axis2_placement_3d > placing;
4554     };
4555 
4556     // C++ wrapper for moments_of_inertia_representation
moments_of_inertia_representationmoments_of_inertia_representation4557     struct moments_of_inertia_representation : representation, ObjectHelper<moments_of_inertia_representation,0> { moments_of_inertia_representation() : Object("moments_of_inertia_representation") {}
4558 
4559     };
4560 
4561     // C++ wrapper for multi_language_attribute_assignment
multi_language_attribute_assignmentmulti_language_attribute_assignment4562     struct multi_language_attribute_assignment : attribute_value_assignment, ObjectHelper<multi_language_attribute_assignment,1> { multi_language_attribute_assignment() : Object("multi_language_attribute_assignment") {}
4563 		ListOf< multi_language_attribute_item, 1, 0 >::Out items;
4564     };
4565 
4566     // C++ wrapper for multiple_arity_boolean_expression
multiple_arity_boolean_expressionmultiple_arity_boolean_expression4567     struct multiple_arity_boolean_expression :  ObjectHelper<multiple_arity_boolean_expression,0> { multiple_arity_boolean_expression() : Object("multiple_arity_boolean_expression") {}
4568 
4569     };
4570 
4571     // C++ wrapper for multiple_arity_generic_expression
multiple_arity_generic_expressionmultiple_arity_generic_expression4572     struct multiple_arity_generic_expression : generic_expression, ObjectHelper<multiple_arity_generic_expression,1> { multiple_arity_generic_expression() : Object("multiple_arity_generic_expression") {}
4573 		ListOf< Lazy< generic_expression >, 2, 0 > operands;
4574     };
4575 
4576     // C++ wrapper for multiple_arity_numeric_expression
multiple_arity_numeric_expressionmultiple_arity_numeric_expression4577     struct multiple_arity_numeric_expression :  ObjectHelper<multiple_arity_numeric_expression,0> { multiple_arity_numeric_expression() : Object("multiple_arity_numeric_expression") {}
4578 
4579     };
4580 
4581     // C++ wrapper for next_assembly_usage_occurrence
next_assembly_usage_occurrencenext_assembly_usage_occurrence4582     struct next_assembly_usage_occurrence : assembly_component_usage, ObjectHelper<next_assembly_usage_occurrence,0> { next_assembly_usage_occurrence() : Object("next_assembly_usage_occurrence") {}
4583 
4584     };
4585 
4586     // C++ wrapper for non_manifold_surface_shape_representation
non_manifold_surface_shape_representationnon_manifold_surface_shape_representation4587     struct non_manifold_surface_shape_representation : shape_representation, ObjectHelper<non_manifold_surface_shape_representation,0> { non_manifold_surface_shape_representation() : Object("non_manifold_surface_shape_representation") {}
4588 
4589     };
4590 
4591     // C++ wrapper for null_representation_item
null_representation_itemnull_representation_item4592     struct null_representation_item : representation_item, ObjectHelper<null_representation_item,0> { null_representation_item() : Object("null_representation_item") {}
4593 
4594     };
4595 
4596     // C++ wrapper for numeric_expression
numeric_expressionnumeric_expression4597     struct numeric_expression : expression, ObjectHelper<numeric_expression,0> { numeric_expression() : Object("numeric_expression") {}
4598 
4599     };
4600 
4601     // C++ wrapper for offset_curve_2d
offset_curve_2doffset_curve_2d4602     struct offset_curve_2d : curve, ObjectHelper<offset_curve_2d,3> { offset_curve_2d() : Object("offset_curve_2d") {}
4603 		Lazy< curve > basis_curve;
4604 		length_measure::Out distance;
4605 		LOGICAL::Out self_intersect;
4606     };
4607 
4608     // C++ wrapper for offset_curve_3d
offset_curve_3doffset_curve_3d4609     struct offset_curve_3d : curve, ObjectHelper<offset_curve_3d,4> { offset_curve_3d() : Object("offset_curve_3d") {}
4610 		Lazy< curve > basis_curve;
4611 		length_measure::Out distance;
4612 		LOGICAL::Out self_intersect;
4613 		Lazy< direction > ref_direction;
4614     };
4615 
4616     // C++ wrapper for offset_surface
offset_surfaceoffset_surface4617     struct offset_surface : surface, ObjectHelper<offset_surface,3> { offset_surface() : Object("offset_surface") {}
4618 		Lazy< surface > basis_surface;
4619 		length_measure::Out distance;
4620 		LOGICAL::Out self_intersect;
4621     };
4622 
4623     // C++ wrapper for one_direction_repeat_factor
one_direction_repeat_factorone_direction_repeat_factor4624     struct one_direction_repeat_factor : geometric_representation_item, ObjectHelper<one_direction_repeat_factor,1> { one_direction_repeat_factor() : Object("one_direction_repeat_factor") {}
4625 		Lazy< vector > repeat_factor;
4626     };
4627 
4628     // C++ wrapper for open_shell
open_shellopen_shell4629     struct open_shell : connected_face_set, ObjectHelper<open_shell,0> { open_shell() : Object("open_shell") {}
4630 
4631     };
4632 
4633     // C++ wrapper for ordinal_date
ordinal_dateordinal_date4634     struct ordinal_date : date, ObjectHelper<ordinal_date,1> { ordinal_date() : Object("ordinal_date") {}
4635 		day_in_year_number::Out day_component;
4636     };
4637 
4638     // C++ wrapper for projection_directed_callout
projection_directed_calloutprojection_directed_callout4639     struct projection_directed_callout : draughting_callout, ObjectHelper<projection_directed_callout,0> { projection_directed_callout() : Object("projection_directed_callout") {}
4640 
4641     };
4642 
4643     // C++ wrapper for ordinate_dimension
ordinate_dimensionordinate_dimension4644     struct ordinate_dimension : projection_directed_callout, ObjectHelper<ordinate_dimension,0> { ordinate_dimension() : Object("ordinate_dimension") {}
4645 
4646     };
4647 
4648     // C++ wrapper for organizational_address
organizational_addressorganizational_address4649     struct organizational_address : address, ObjectHelper<organizational_address,2> { organizational_address() : Object("organizational_address") {}
4650 		ListOf< Lazy< NotImplemented >, 1, 0 > organizations;
4651 		Maybe< text::Out > description;
4652     };
4653 
4654     // C++ wrapper for oriented_closed_shell
oriented_closed_shelloriented_closed_shell4655     struct oriented_closed_shell : closed_shell, ObjectHelper<oriented_closed_shell,2> { oriented_closed_shell() : Object("oriented_closed_shell") {}
4656 		Lazy< closed_shell > closed_shell_element;
4657 		BOOLEAN::Out orientation;
4658     };
4659 
4660     // C++ wrapper for oriented_edge
oriented_edgeoriented_edge4661     struct oriented_edge : edge, ObjectHelper<oriented_edge,2> { oriented_edge() : Object("oriented_edge") {}
4662 		Lazy< edge > edge_element;
4663 		BOOLEAN::Out orientation;
4664     };
4665 
4666     // C++ wrapper for oriented_face
oriented_faceoriented_face4667     struct oriented_face : face, ObjectHelper<oriented_face,2> { oriented_face() : Object("oriented_face") {}
4668 		Lazy< face > face_element;
4669 		BOOLEAN::Out orientation;
4670     };
4671 
4672     // C++ wrapper for oriented_open_shell
oriented_open_shelloriented_open_shell4673     struct oriented_open_shell : open_shell, ObjectHelper<oriented_open_shell,2> { oriented_open_shell() : Object("oriented_open_shell") {}
4674 		Lazy< open_shell > open_shell_element;
4675 		BOOLEAN::Out orientation;
4676     };
4677 
4678     // C++ wrapper for path
pathpath4679     struct path : topological_representation_item, ObjectHelper<path,1> { path() : Object("path") {}
4680 		ListOf< Lazy< oriented_edge >, 1, 0 > edge_list;
4681     };
4682 
4683     // C++ wrapper for oriented_path
oriented_pathoriented_path4684     struct oriented_path : path, ObjectHelper<oriented_path,2> { oriented_path() : Object("oriented_path") {}
4685 		Lazy< path > path_element;
4686 		BOOLEAN::Out orientation;
4687     };
4688 
4689     // C++ wrapper for oriented_surface
oriented_surfaceoriented_surface4690     struct oriented_surface : surface, ObjectHelper<oriented_surface,1> { oriented_surface() : Object("oriented_surface") {}
4691 		BOOLEAN::Out orientation;
4692     };
4693 
4694     // C++ wrapper for outer_boundary_curve
outer_boundary_curveouter_boundary_curve4695     struct outer_boundary_curve : boundary_curve, ObjectHelper<outer_boundary_curve,0> { outer_boundary_curve() : Object("outer_boundary_curve") {}
4696 
4697     };
4698 
4699     // C++ wrapper for package_product_concept_feature
package_product_concept_featurepackage_product_concept_feature4700     struct package_product_concept_feature : product_concept_feature, ObjectHelper<package_product_concept_feature,0> { package_product_concept_feature() : Object("package_product_concept_feature") {}
4701 
4702     };
4703 
4704     // C++ wrapper for parabola
parabolaparabola4705     struct parabola : conic, ObjectHelper<parabola,1> { parabola() : Object("parabola") {}
4706 		length_measure::Out focal_dist;
4707     };
4708 
4709     // C++ wrapper for parallel_offset
parallel_offsetparallel_offset4710     struct parallel_offset : derived_shape_aspect, ObjectHelper<parallel_offset,1> { parallel_offset() : Object("parallel_offset") {}
4711 		Lazy< measure_with_unit > offset;
4712     };
4713 
4714     // C++ wrapper for parallelism_tolerance
parallelism_toleranceparallelism_tolerance4715     struct parallelism_tolerance : geometric_tolerance_with_datum_reference, ObjectHelper<parallelism_tolerance,0> { parallelism_tolerance() : Object("parallelism_tolerance") {}
4716 
4717     };
4718 
4719     // C++ wrapper for parametric_representation_context
parametric_representation_contextparametric_representation_context4720     struct parametric_representation_context : representation_context, ObjectHelper<parametric_representation_context,0> { parametric_representation_context() : Object("parametric_representation_context") {}
4721 
4722     };
4723 
4724     // C++ wrapper for partial_document_with_structured_text_representation_assignment
partial_document_with_structured_text_representation_assignmentpartial_document_with_structured_text_representation_assignment4725     struct partial_document_with_structured_text_representation_assignment :  ObjectHelper<partial_document_with_structured_text_representation_assignment,0> { partial_document_with_structured_text_representation_assignment() : Object("partial_document_with_structured_text_representation_assignment") {}
4726 
4727     };
4728 
4729     // C++ wrapper for pcurve
pcurvepcurve4730     struct pcurve : curve, ObjectHelper<pcurve,2> { pcurve() : Object("pcurve") {}
4731 		Lazy< surface > basis_surface;
4732 		Lazy< definitional_representation > reference_to_curve;
4733     };
4734 
4735     // C++ wrapper for percentage_laminate_definition
percentage_laminate_definitionpercentage_laminate_definition4736     struct percentage_laminate_definition : product_definition, ObjectHelper<percentage_laminate_definition,0> { percentage_laminate_definition() : Object("percentage_laminate_definition") {}
4737 
4738     };
4739 
4740     // C++ wrapper for zone_structural_makeup
zone_structural_makeupzone_structural_makeup4741     struct zone_structural_makeup : laminate_table, ObjectHelper<zone_structural_makeup,0> { zone_structural_makeup() : Object("zone_structural_makeup") {}
4742 
4743     };
4744 
4745     // C++ wrapper for percentage_laminate_table
percentage_laminate_tablepercentage_laminate_table4746     struct percentage_laminate_table : zone_structural_makeup, ObjectHelper<percentage_laminate_table,0> { percentage_laminate_table() : Object("percentage_laminate_table") {}
4747 
4748     };
4749 
4750     // C++ wrapper for percentage_ply_definition
percentage_ply_definitionpercentage_ply_definition4751     struct percentage_ply_definition : product_definition, ObjectHelper<percentage_ply_definition,0> { percentage_ply_definition() : Object("percentage_ply_definition") {}
4752 
4753     };
4754 
4755     // C++ wrapper for perpendicular_to
perpendicular_toperpendicular_to4756     struct perpendicular_to : derived_shape_aspect, ObjectHelper<perpendicular_to,0> { perpendicular_to() : Object("perpendicular_to") {}
4757 
4758     };
4759 
4760     // C++ wrapper for perpendicularity_tolerance
perpendicularity_toleranceperpendicularity_tolerance4761     struct perpendicularity_tolerance : geometric_tolerance_with_datum_reference, ObjectHelper<perpendicularity_tolerance,0> { perpendicularity_tolerance() : Object("perpendicularity_tolerance") {}
4762 
4763     };
4764 
4765     // C++ wrapper for person_and_organization_address
person_and_organization_addressperson_and_organization_address4766     struct person_and_organization_address :  ObjectHelper<person_and_organization_address,0> { person_and_organization_address() : Object("person_and_organization_address") {}
4767 
4768     };
4769 
4770     // C++ wrapper for personal_address
personal_addresspersonal_address4771     struct personal_address : address, ObjectHelper<personal_address,2> { personal_address() : Object("personal_address") {}
4772 		ListOf< Lazy< NotImplemented >, 1, 0 > people;
4773 		Maybe< text::Out > description;
4774     };
4775 
4776     // C++ wrapper for physical_breakdown_context
physical_breakdown_contextphysical_breakdown_context4777     struct physical_breakdown_context : breakdown_context, ObjectHelper<physical_breakdown_context,0> { physical_breakdown_context() : Object("physical_breakdown_context") {}
4778 
4779     };
4780 
4781     // C++ wrapper for physical_element_usage
physical_element_usagephysical_element_usage4782     struct physical_element_usage : breakdown_element_usage, ObjectHelper<physical_element_usage,0> { physical_element_usage() : Object("physical_element_usage") {}
4783 
4784     };
4785 
4786     // C++ wrapper for presentation_view
presentation_viewpresentation_view4787     struct presentation_view : presentation_representation, ObjectHelper<presentation_view,0> { presentation_view() : Object("presentation_view") {}
4788 
4789     };
4790 
4791     // C++ wrapper for picture_representation
picture_representationpicture_representation4792     struct picture_representation : presentation_view, ObjectHelper<picture_representation,0> { picture_representation() : Object("picture_representation") {}
4793 
4794     };
4795 
4796     // C++ wrapper for placed_datum_target_feature
placed_datum_target_featureplaced_datum_target_feature4797     struct placed_datum_target_feature : datum_target, ObjectHelper<placed_datum_target_feature,0> { placed_datum_target_feature() : Object("placed_datum_target_feature") {}
4798 
4799     };
4800 
4801     // C++ wrapper for placed_feature
placed_featureplaced_feature4802     struct placed_feature : shape_aspect, ObjectHelper<placed_feature,0> { placed_feature() : Object("placed_feature") {}
4803 
4804     };
4805 
4806     // C++ wrapper for planar_extent
planar_extentplanar_extent4807     struct planar_extent : geometric_representation_item, ObjectHelper<planar_extent,2> { planar_extent() : Object("planar_extent") {}
4808 		length_measure::Out size_in_x;
4809 		length_measure::Out size_in_y;
4810     };
4811 
4812     // C++ wrapper for planar_box
planar_boxplanar_box4813     struct planar_box : planar_extent, ObjectHelper<planar_box,1> { planar_box() : Object("planar_box") {}
4814 		axis2_placement::Out placement;
4815     };
4816 
4817     // C++ wrapper for plane
planeplane4818     struct plane : elementary_surface, ObjectHelper<plane,0> { plane() : Object("plane") {}
4819 
4820     };
4821 
4822     // C++ wrapper for plane_angle_measure_with_unit
plane_angle_measure_with_unitplane_angle_measure_with_unit4823     struct plane_angle_measure_with_unit : measure_with_unit, ObjectHelper<plane_angle_measure_with_unit,0> { plane_angle_measure_with_unit() : Object("plane_angle_measure_with_unit") {}
4824 
4825     };
4826 
4827     // C++ wrapper for plane_angle_unit
plane_angle_unitplane_angle_unit4828     struct plane_angle_unit : named_unit, ObjectHelper<plane_angle_unit,0> { plane_angle_unit() : Object("plane_angle_unit") {}
4829 
4830     };
4831 
4832     // C++ wrapper for ply_laminate_definition
ply_laminate_definitionply_laminate_definition4833     struct ply_laminate_definition : product_definition, ObjectHelper<ply_laminate_definition,0> { ply_laminate_definition() : Object("ply_laminate_definition") {}
4834 
4835     };
4836 
4837     // C++ wrapper for ply_laminate_sequence_definition
ply_laminate_sequence_definitionply_laminate_sequence_definition4838     struct ply_laminate_sequence_definition : product_definition, ObjectHelper<ply_laminate_sequence_definition,0> { ply_laminate_sequence_definition() : Object("ply_laminate_sequence_definition") {}
4839 
4840     };
4841 
4842     // C++ wrapper for ply_laminate_table
ply_laminate_tableply_laminate_table4843     struct ply_laminate_table : part_laminate_table, ObjectHelper<ply_laminate_table,0> { ply_laminate_table() : Object("ply_laminate_table") {}
4844 
4845     };
4846 
4847     // C++ wrapper for point_and_vector
point_and_vectorpoint_and_vector4848     struct point_and_vector :  ObjectHelper<point_and_vector,0> { point_and_vector() : Object("point_and_vector") {}
4849 
4850     };
4851 
4852     // C++ wrapper for point_on_curve
point_on_curvepoint_on_curve4853     struct point_on_curve : point, ObjectHelper<point_on_curve,2> { point_on_curve() : Object("point_on_curve") {}
4854 		Lazy< curve > basis_curve;
4855 		parameter_value::Out point_parameter;
4856     };
4857 
4858     // C++ wrapper for point_on_surface
point_on_surfacepoint_on_surface4859     struct point_on_surface : point, ObjectHelper<point_on_surface,3> { point_on_surface() : Object("point_on_surface") {}
4860 		Lazy< surface > basis_surface;
4861 		parameter_value::Out point_parameter_u;
4862 		parameter_value::Out point_parameter_v;
4863     };
4864 
4865     // C++ wrapper for point_path
point_pathpoint_path4866     struct point_path :  ObjectHelper<point_path,0> { point_path() : Object("point_path") {}
4867 
4868     };
4869 
4870     // C++ wrapper for point_replica
point_replicapoint_replica4871     struct point_replica : point, ObjectHelper<point_replica,2> { point_replica() : Object("point_replica") {}
4872 		Lazy< point > parent_pt;
4873 		Lazy< cartesian_transformation_operator > transformation;
4874     };
4875 
4876     // C++ wrapper for point_style
point_stylepoint_style4877     struct point_style : founded_item, ObjectHelper<point_style,4> { point_style() : Object("point_style") {}
4878 		label::Out name;
4879 		marker_select::Out marker;
4880 		size_select::Out marker_size;
4881 		Lazy< colour > marker_colour;
4882     };
4883 
4884     // C++ wrapper for polar_complex_number_literal
polar_complex_number_literalpolar_complex_number_literal4885     struct polar_complex_number_literal : generic_literal, ObjectHelper<polar_complex_number_literal,2> { polar_complex_number_literal() : Object("polar_complex_number_literal") {}
4886 		REAL::Out radius;
4887 		REAL::Out angle;
4888     };
4889 
4890     // C++ wrapper for poly_loop
poly_looppoly_loop4891     struct poly_loop :  ObjectHelper<poly_loop,1> { poly_loop() : Object("poly_loop") {}
4892 		ListOf< Lazy< cartesian_point >, 3, 0 > polygon;
4893     };
4894 
4895     // C++ wrapper for polyline
polylinepolyline4896     struct polyline : bounded_curve, ObjectHelper<polyline,1> { polyline() : Object("polyline") {}
4897 		ListOf< Lazy< cartesian_point >, 2, 0 > points;
4898     };
4899 
4900     // C++ wrapper for position_tolerance
position_toleranceposition_tolerance4901     struct position_tolerance : geometric_tolerance, ObjectHelper<position_tolerance,0> { position_tolerance() : Object("position_tolerance") {}
4902 
4903     };
4904 
4905     // C++ wrapper for positioned_sketch
positioned_sketchpositioned_sketch4906     struct positioned_sketch : geometric_representation_item, ObjectHelper<positioned_sketch,2> { positioned_sketch() : Object("positioned_sketch") {}
4907 		sketch_basis_select::Out sketch_basis;
4908 		ListOf< Lazy< auxiliary_geometric_representation_item >, 0, 0 > auxiliary_elements;
4909     };
4910 
4911     // C++ wrapper for power_measure_with_unit
power_measure_with_unitpower_measure_with_unit4912     struct power_measure_with_unit : measure_with_unit, ObjectHelper<power_measure_with_unit,0> { power_measure_with_unit() : Object("power_measure_with_unit") {}
4913 
4914     };
4915 
4916     // C++ wrapper for power_unit
power_unitpower_unit4917     struct power_unit : derived_unit, ObjectHelper<power_unit,0> { power_unit() : Object("power_unit") {}
4918 
4919     };
4920 
4921     // C++ wrapper for pre_defined_symbol
pre_defined_symbolpre_defined_symbol4922     struct pre_defined_symbol : pre_defined_item, ObjectHelper<pre_defined_symbol,0> { pre_defined_symbol() : Object("pre_defined_symbol") {}
4923 
4924     };
4925 
4926     // C++ wrapper for pre_defined_dimension_symbol
pre_defined_dimension_symbolpre_defined_dimension_symbol4927     struct pre_defined_dimension_symbol : pre_defined_symbol, ObjectHelper<pre_defined_dimension_symbol,0> { pre_defined_dimension_symbol() : Object("pre_defined_dimension_symbol") {}
4928 
4929     };
4930 
4931     // C++ wrapper for pre_defined_geometrical_tolerance_symbol
pre_defined_geometrical_tolerance_symbolpre_defined_geometrical_tolerance_symbol4932     struct pre_defined_geometrical_tolerance_symbol : pre_defined_symbol, ObjectHelper<pre_defined_geometrical_tolerance_symbol,0> { pre_defined_geometrical_tolerance_symbol() : Object("pre_defined_geometrical_tolerance_symbol") {}
4933 
4934     };
4935 
4936     // C++ wrapper for pre_defined_marker
pre_defined_markerpre_defined_marker4937     struct pre_defined_marker : pre_defined_item, ObjectHelper<pre_defined_marker,0> { pre_defined_marker() : Object("pre_defined_marker") {}
4938 
4939     };
4940 
4941     // C++ wrapper for pre_defined_point_marker_symbol
pre_defined_point_marker_symbolpre_defined_point_marker_symbol4942     struct pre_defined_point_marker_symbol :  ObjectHelper<pre_defined_point_marker_symbol,0> { pre_defined_point_marker_symbol() : Object("pre_defined_point_marker_symbol") {}
4943 
4944     };
4945 
4946     // C++ wrapper for pre_defined_surface_condition_symbol
pre_defined_surface_condition_symbolpre_defined_surface_condition_symbol4947     struct pre_defined_surface_condition_symbol : pre_defined_symbol, ObjectHelper<pre_defined_surface_condition_symbol,0> { pre_defined_surface_condition_symbol() : Object("pre_defined_surface_condition_symbol") {}
4948 
4949     };
4950 
4951     // C++ wrapper for pre_defined_surface_side_style
pre_defined_surface_side_stylepre_defined_surface_side_style4952     struct pre_defined_surface_side_style : pre_defined_item, ObjectHelper<pre_defined_surface_side_style,0> { pre_defined_surface_side_style() : Object("pre_defined_surface_side_style") {}
4953 
4954     };
4955 
4956     // C++ wrapper for pre_defined_terminator_symbol
pre_defined_terminator_symbolpre_defined_terminator_symbol4957     struct pre_defined_terminator_symbol : pre_defined_symbol, ObjectHelper<pre_defined_terminator_symbol,0> { pre_defined_terminator_symbol() : Object("pre_defined_terminator_symbol") {}
4958 
4959     };
4960 
4961     // C++ wrapper for pre_defined_tile
pre_defined_tilepre_defined_tile4962     struct pre_defined_tile : pre_defined_item, ObjectHelper<pre_defined_tile,0> { pre_defined_tile() : Object("pre_defined_tile") {}
4963 
4964     };
4965 
4966     // C++ wrapper for predefined_picture_representation_item
predefined_picture_representation_itempredefined_picture_representation_item4967     struct predefined_picture_representation_item : picture_representation_item, ObjectHelper<predefined_picture_representation_item,0> { predefined_picture_representation_item() : Object("predefined_picture_representation_item") {}
4968 
4969     };
4970 
4971     // C++ wrapper for presentation_style_assignment
presentation_style_assignmentpresentation_style_assignment4972     struct presentation_style_assignment : founded_item, ObjectHelper<presentation_style_assignment,1> { presentation_style_assignment() : Object("presentation_style_assignment") {}
4973 		ListOf< presentation_style_select, 1, 0 >::Out styles;
4974     };
4975 
4976     // C++ wrapper for presentation_style_by_context
presentation_style_by_contextpresentation_style_by_context4977     struct presentation_style_by_context : presentation_style_assignment, ObjectHelper<presentation_style_by_context,1> { presentation_style_by_context() : Object("presentation_style_by_context") {}
4978 		style_context_select::Out style_context;
4979     };
4980 
4981     // C++ wrapper for pressure_measure_with_unit
pressure_measure_with_unitpressure_measure_with_unit4982     struct pressure_measure_with_unit : measure_with_unit, ObjectHelper<pressure_measure_with_unit,0> { pressure_measure_with_unit() : Object("pressure_measure_with_unit") {}
4983 
4984     };
4985 
4986     // C++ wrapper for pressure_unit
pressure_unitpressure_unit4987     struct pressure_unit : derived_unit, ObjectHelper<pressure_unit,0> { pressure_unit() : Object("pressure_unit") {}
4988 
4989     };
4990 
4991     // C++ wrapper for procedural_representation
procedural_representationprocedural_representation4992     struct procedural_representation : representation, ObjectHelper<procedural_representation,0> { procedural_representation() : Object("procedural_representation") {}
4993 
4994     };
4995 
4996     // C++ wrapper for procedural_representation_sequence
procedural_representation_sequenceprocedural_representation_sequence4997     struct procedural_representation_sequence : representation_item, ObjectHelper<procedural_representation_sequence,3> { procedural_representation_sequence() : Object("procedural_representation_sequence") {}
4998 		ListOf< Lazy< representation_item >, 1, 0 > elements;
4999 		ListOf< Lazy< representation_item >, 0, 0 > suppressed_items;
5000 		text::Out rationale;
5001     };
5002 
5003     // C++ wrapper for procedural_shape_representation
procedural_shape_representationprocedural_shape_representation5004     struct procedural_shape_representation :  ObjectHelper<procedural_shape_representation,0> { procedural_shape_representation() : Object("procedural_shape_representation") {}
5005 
5006     };
5007 
5008     // C++ wrapper for procedural_shape_representation_sequence
procedural_shape_representation_sequenceprocedural_shape_representation_sequence5009     struct procedural_shape_representation_sequence :  ObjectHelper<procedural_shape_representation_sequence,0> { procedural_shape_representation_sequence() : Object("procedural_shape_representation_sequence") {}
5010 
5011     };
5012 
5013     // C++ wrapper for product_category
product_categoryproduct_category5014     struct product_category :  ObjectHelper<product_category,2> { product_category() : Object("product_category") {}
5015 		label::Out name;
5016 		Maybe< text::Out > description;
5017     };
5018 
5019     // C++ wrapper for product_class
product_classproduct_class5020     struct product_class :  ObjectHelper<product_class,0> { product_class() : Object("product_class") {}
5021 
5022     };
5023 
5024     // C++ wrapper for product_concept_context
product_concept_contextproduct_concept_context5025     struct product_concept_context : application_context_element, ObjectHelper<product_concept_context,1> { product_concept_context() : Object("product_concept_context") {}
5026 		label::Out market_segment_type;
5027     };
5028 
5029     // C++ wrapper for product_concept_feature_category_usage
product_concept_feature_category_usageproduct_concept_feature_category_usage5030     struct product_concept_feature_category_usage : group_assignment, ObjectHelper<product_concept_feature_category_usage,1> { product_concept_feature_category_usage() : Object("product_concept_feature_category_usage") {}
5031 		ListOf< category_usage_item, 1, 0 >::Out items;
5032     };
5033 
5034     // C++ wrapper for product_definition_element_relationship
product_definition_element_relationshipproduct_definition_element_relationship5035     struct product_definition_element_relationship : group, ObjectHelper<product_definition_element_relationship,0> { product_definition_element_relationship() : Object("product_definition_element_relationship") {}
5036 
5037     };
5038 
5039     // C++ wrapper for product_definition_formation
product_definition_formationproduct_definition_formation5040     struct product_definition_formation :  ObjectHelper<product_definition_formation,3> { product_definition_formation() : Object("product_definition_formation") {}
5041 		identifier::Out id;
5042 		Maybe< text::Out > description;
5043 		Lazy< NotImplemented > of_product;
5044     };
5045 
5046     // C++ wrapper for product_definition_formation_with_specified_source
product_definition_formation_with_specified_sourceproduct_definition_formation_with_specified_source5047     struct product_definition_formation_with_specified_source : product_definition_formation, ObjectHelper<product_definition_formation_with_specified_source,1> { product_definition_formation_with_specified_source() : Object("product_definition_formation_with_specified_source") {}
5048 		source::Out make_or_buy;
5049     };
5050 
5051     // C++ wrapper for product_definition_group_assignment
product_definition_group_assignmentproduct_definition_group_assignment5052     struct product_definition_group_assignment : group_assignment, ObjectHelper<product_definition_group_assignment,1> { product_definition_group_assignment() : Object("product_definition_group_assignment") {}
5053 		ListOf< product_definition_or_product_definition_relationship, 1, 1 >::Out items;
5054     };
5055 
5056     // C++ wrapper for product_definition_shape
product_definition_shapeproduct_definition_shape5057     struct product_definition_shape : property_definition, ObjectHelper<product_definition_shape,0> { product_definition_shape() : Object("product_definition_shape") {}
5058 
5059     };
5060 
5061     // C++ wrapper for product_definition_with_associated_documents
product_definition_with_associated_documentsproduct_definition_with_associated_documents5062     struct product_definition_with_associated_documents : product_definition, ObjectHelper<product_definition_with_associated_documents,1> { product_definition_with_associated_documents() : Object("product_definition_with_associated_documents") {}
5063 		ListOf< Lazy< NotImplemented >, 1, 0 > documentation_ids;
5064     };
5065 
5066     // C++ wrapper for product_identification
product_identificationproduct_identification5067     struct product_identification :  ObjectHelper<product_identification,0> { product_identification() : Object("product_identification") {}
5068 
5069     };
5070 
5071     // C++ wrapper for product_material_composition_relationship
product_material_composition_relationshipproduct_material_composition_relationship5072     struct product_material_composition_relationship : product_definition_relationship, ObjectHelper<product_material_composition_relationship,4> { product_material_composition_relationship() : Object("product_material_composition_relationship") {}
5073 		label::Out class_;
5074 		ListOf< characterized_product_composition_value, 1, 0 >::Out constituent_amount;
5075 		label::Out composition_basis;
5076 		text::Out determination_method;
5077     };
5078 
5079     // C++ wrapper for product_related_product_category
product_related_product_categoryproduct_related_product_category5080     struct product_related_product_category : product_category, ObjectHelper<product_related_product_category,1> { product_related_product_category() : Object("product_related_product_category") {}
5081 		ListOf< Lazy< NotImplemented >, 1, 0 > products;
5082     };
5083 
5084     // C++ wrapper for product_specification
product_specificationproduct_specification5085     struct product_specification :  ObjectHelper<product_specification,0> { product_specification() : Object("product_specification") {}
5086 
5087     };
5088 
5089     // C++ wrapper for tolerance_zone_definition
tolerance_zone_definitiontolerance_zone_definition5090     struct tolerance_zone_definition :  ObjectHelper<tolerance_zone_definition,2> { tolerance_zone_definition() : Object("tolerance_zone_definition") {}
5091 		Lazy< tolerance_zone > zone;
5092 		ListOf< Lazy< shape_aspect >, 1, 0 > boundaries;
5093     };
5094 
5095     // C++ wrapper for projected_zone_definition
projected_zone_definitionprojected_zone_definition5096     struct projected_zone_definition : tolerance_zone_definition, ObjectHelper<projected_zone_definition,2> { projected_zone_definition() : Object("projected_zone_definition") {}
5097 		Lazy< shape_aspect > projection_end;
5098 		Lazy< measure_with_unit > projected_length;
5099     };
5100 
5101     // C++ wrapper for projection_curve
projection_curveprojection_curve5102     struct projection_curve : annotation_curve_occurrence, ObjectHelper<projection_curve,0> { projection_curve() : Object("projection_curve") {}
5103 
5104     };
5105 
5106     // C++ wrapper for promissory_usage_occurrence
promissory_usage_occurrencepromissory_usage_occurrence5107     struct promissory_usage_occurrence : assembly_component_usage, ObjectHelper<promissory_usage_occurrence,0> { promissory_usage_occurrence() : Object("promissory_usage_occurrence") {}
5108 
5109     };
5110 
5111     // C++ wrapper for qualified_representation_item
qualified_representation_itemqualified_representation_item5112     struct qualified_representation_item : representation_item, ObjectHelper<qualified_representation_item,1> { qualified_representation_item() : Object("qualified_representation_item") {}
5113 		ListOf< value_qualifier, 1, 0 >::Out qualifiers;
5114     };
5115 
5116     // C++ wrapper for qualitative_uncertainty
qualitative_uncertaintyqualitative_uncertainty5117     struct qualitative_uncertainty : uncertainty_qualifier, ObjectHelper<qualitative_uncertainty,1> { qualitative_uncertainty() : Object("qualitative_uncertainty") {}
5118 		text::Out uncertainty_value;
5119     };
5120 
5121     // C++ wrapper for quantified_assembly_component_usage
quantified_assembly_component_usagequantified_assembly_component_usage5122     struct quantified_assembly_component_usage : assembly_component_usage, ObjectHelper<quantified_assembly_component_usage,1> { quantified_assembly_component_usage() : Object("quantified_assembly_component_usage") {}
5123 		Lazy< measure_with_unit > quantity;
5124     };
5125 
5126     // C++ wrapper for quasi_uniform_curve
quasi_uniform_curvequasi_uniform_curve5127     struct quasi_uniform_curve : b_spline_curve, ObjectHelper<quasi_uniform_curve,0> { quasi_uniform_curve() : Object("quasi_uniform_curve") {}
5128 
5129     };
5130 
5131     // C++ wrapper for quasi_uniform_surface
quasi_uniform_surfacequasi_uniform_surface5132     struct quasi_uniform_surface : b_spline_surface, ObjectHelper<quasi_uniform_surface,0> { quasi_uniform_surface() : Object("quasi_uniform_surface") {}
5133 
5134     };
5135 
5136     // C++ wrapper for radioactivity_measure_with_unit
radioactivity_measure_with_unitradioactivity_measure_with_unit5137     struct radioactivity_measure_with_unit : measure_with_unit, ObjectHelper<radioactivity_measure_with_unit,0> { radioactivity_measure_with_unit() : Object("radioactivity_measure_with_unit") {}
5138 
5139     };
5140 
5141     // C++ wrapper for radioactivity_unit
radioactivity_unitradioactivity_unit5142     struct radioactivity_unit : derived_unit, ObjectHelper<radioactivity_unit,0> { radioactivity_unit() : Object("radioactivity_unit") {}
5143 
5144     };
5145 
5146     // C++ wrapper for radius_dimension
radius_dimensionradius_dimension5147     struct radius_dimension : dimension_curve_directed_callout, ObjectHelper<radius_dimension,0> { radius_dimension() : Object("radius_dimension") {}
5148 
5149     };
5150 
5151     // C++ wrapper for range_characteristic
range_characteristicrange_characteristic5152     struct range_characteristic :  ObjectHelper<range_characteristic,0> { range_characteristic() : Object("range_characteristic") {}
5153 
5154     };
5155 
5156     // C++ wrapper for ratio_unit
ratio_unitratio_unit5157     struct ratio_unit : named_unit, ObjectHelper<ratio_unit,0> { ratio_unit() : Object("ratio_unit") {}
5158 
5159     };
5160 
5161     // C++ wrapper for rational_b_spline_curve
rational_b_spline_curverational_b_spline_curve5162     struct rational_b_spline_curve : b_spline_curve, ObjectHelper<rational_b_spline_curve,1> { rational_b_spline_curve() : Object("rational_b_spline_curve") {}
5163 		ListOf< REAL, 2, 0 >::Out weights_data;
5164     };
5165 
5166     // C++ wrapper for rational_b_spline_surface
rational_b_spline_surfacerational_b_spline_surface5167     struct rational_b_spline_surface : b_spline_surface, ObjectHelper<rational_b_spline_surface,0> { rational_b_spline_surface() : Object("rational_b_spline_surface") {}
5168 
5169     };
5170 
5171     // C++ wrapper for rational_representation_item
rational_representation_itemrational_representation_item5172     struct rational_representation_item :  ObjectHelper<rational_representation_item,0> { rational_representation_item() : Object("rational_representation_item") {}
5173 
5174     };
5175 
5176     // C++ wrapper for real_literal
real_literalreal_literal5177     struct real_literal : literal_number, ObjectHelper<real_literal,0> { real_literal() : Object("real_literal") {}
5178 
5179     };
5180 
5181     // C++ wrapper for real_representation_item
real_representation_itemreal_representation_item5182     struct real_representation_item :  ObjectHelper<real_representation_item,0> { real_representation_item() : Object("real_representation_item") {}
5183 
5184     };
5185 
5186     // C++ wrapper for rectangular_composite_surface
rectangular_composite_surfacerectangular_composite_surface5187     struct rectangular_composite_surface : bounded_surface, ObjectHelper<rectangular_composite_surface,0> { rectangular_composite_surface() : Object("rectangular_composite_surface") {}
5188 
5189     };
5190 
5191     // C++ wrapper for rectangular_trimmed_surface
rectangular_trimmed_surfacerectangular_trimmed_surface5192     struct rectangular_trimmed_surface : bounded_surface, ObjectHelper<rectangular_trimmed_surface,7> { rectangular_trimmed_surface() : Object("rectangular_trimmed_surface") {}
5193 		Lazy< surface > basis_surface;
5194 		parameter_value::Out u1;
5195 		parameter_value::Out u2;
5196 		parameter_value::Out v1;
5197 		parameter_value::Out v2;
5198 		BOOLEAN::Out usense;
5199 		BOOLEAN::Out vsense;
5200     };
5201 
5202     // C++ wrapper for referenced_modified_datum
referenced_modified_datumreferenced_modified_datum5203     struct referenced_modified_datum : datum_reference, ObjectHelper<referenced_modified_datum,1> { referenced_modified_datum() : Object("referenced_modified_datum") {}
5204 		limit_condition::Out modifier;
5205     };
5206 
5207     // C++ wrapper for relative_event_occurrence
relative_event_occurrencerelative_event_occurrence5208     struct relative_event_occurrence : event_occurrence, ObjectHelper<relative_event_occurrence,2> { relative_event_occurrence() : Object("relative_event_occurrence") {}
5209 		Lazy< event_occurrence > base_event;
5210 		Lazy< time_measure_with_unit > offset;
5211     };
5212 
5213     // C++ wrapper for rep_item_group
rep_item_grouprep_item_group5214     struct rep_item_group :  ObjectHelper<rep_item_group,0> { rep_item_group() : Object("rep_item_group") {}
5215 
5216     };
5217 
5218     // C++ wrapper for reparametrised_composite_curve_segment
reparametrised_composite_curve_segmentreparametrised_composite_curve_segment5219     struct reparametrised_composite_curve_segment : composite_curve_segment, ObjectHelper<reparametrised_composite_curve_segment,1> { reparametrised_composite_curve_segment() : Object("reparametrised_composite_curve_segment") {}
5220 		parameter_value::Out param_length;
5221     };
5222 
5223     // C++ wrapper for representation_relationship_with_transformation
representation_relationship_with_transformationrepresentation_relationship_with_transformation5224     struct representation_relationship_with_transformation : representation_relationship, ObjectHelper<representation_relationship_with_transformation,1> { representation_relationship_with_transformation() : Object("representation_relationship_with_transformation") {}
5225 		transformation::Out transformation_operator;
5226     };
5227 
5228     // C++ wrapper for requirement_assigned_object
requirement_assigned_objectrequirement_assigned_object5229     struct requirement_assigned_object : group_assignment, ObjectHelper<requirement_assigned_object,1> { requirement_assigned_object() : Object("requirement_assigned_object") {}
5230 		ListOf< requirement_assigned_item, 1, 1 >::Out items;
5231     };
5232 
5233     // C++ wrapper for requirement_assignment
requirement_assignmentrequirement_assignment5234     struct requirement_assignment :  ObjectHelper<requirement_assignment,0> { requirement_assignment() : Object("requirement_assignment") {}
5235 
5236     };
5237 
5238     // C++ wrapper for requirement_source
requirement_sourcerequirement_source5239     struct requirement_source : group, ObjectHelper<requirement_source,0> { requirement_source() : Object("requirement_source") {}
5240 
5241     };
5242 
5243     // C++ wrapper for requirement_view_definition_relationship
requirement_view_definition_relationshiprequirement_view_definition_relationship5244     struct requirement_view_definition_relationship : product_definition_relationship, ObjectHelper<requirement_view_definition_relationship,0> { requirement_view_definition_relationship() : Object("requirement_view_definition_relationship") {}
5245 
5246     };
5247 
5248     // C++ wrapper for resistance_measure_with_unit
resistance_measure_with_unitresistance_measure_with_unit5249     struct resistance_measure_with_unit : measure_with_unit, ObjectHelper<resistance_measure_with_unit,0> { resistance_measure_with_unit() : Object("resistance_measure_with_unit") {}
5250 
5251     };
5252 
5253     // C++ wrapper for resistance_unit
resistance_unitresistance_unit5254     struct resistance_unit : derived_unit, ObjectHelper<resistance_unit,0> { resistance_unit() : Object("resistance_unit") {}
5255 
5256     };
5257 
5258     // C++ wrapper for revolved_area_solid
revolved_area_solidrevolved_area_solid5259     struct revolved_area_solid : swept_area_solid, ObjectHelper<revolved_area_solid,2> { revolved_area_solid() : Object("revolved_area_solid") {}
5260 		Lazy< axis1_placement > axis;
5261 		plane_angle_measure::Out angle;
5262     };
5263 
5264     // C++ wrapper for revolved_face_solid
revolved_face_solidrevolved_face_solid5265     struct revolved_face_solid : swept_face_solid, ObjectHelper<revolved_face_solid,2> { revolved_face_solid() : Object("revolved_face_solid") {}
5266 		Lazy< axis1_placement > axis;
5267 		plane_angle_measure::Out angle;
5268     };
5269 
5270     // C++ wrapper for revolved_face_solid_with_trim_conditions
revolved_face_solid_with_trim_conditionsrevolved_face_solid_with_trim_conditions5271     struct revolved_face_solid_with_trim_conditions : revolved_face_solid, ObjectHelper<revolved_face_solid_with_trim_conditions,2> { revolved_face_solid_with_trim_conditions() : Object("revolved_face_solid_with_trim_conditions") {}
5272 		trim_condition_select::Out first_trim_condition;
5273 		trim_condition_select::Out second_trim_condition;
5274     };
5275 
5276     // C++ wrapper for right_angular_wedge
right_angular_wedgeright_angular_wedge5277     struct right_angular_wedge : geometric_representation_item, ObjectHelper<right_angular_wedge,5> { right_angular_wedge() : Object("right_angular_wedge") {}
5278 		Lazy< axis2_placement_3d > position;
5279 		positive_length_measure::Out x;
5280 		positive_length_measure::Out y;
5281 		positive_length_measure::Out z;
5282 		length_measure::Out ltx;
5283     };
5284 
5285     // C++ wrapper for right_circular_cone
right_circular_coneright_circular_cone5286     struct right_circular_cone : geometric_representation_item, ObjectHelper<right_circular_cone,4> { right_circular_cone() : Object("right_circular_cone") {}
5287 		Lazy< axis1_placement > position;
5288 		positive_length_measure::Out height;
5289 		length_measure::Out radius;
5290 		plane_angle_measure::Out semi_angle;
5291     };
5292 
5293     // C++ wrapper for right_circular_cylinder
right_circular_cylinderright_circular_cylinder5294     struct right_circular_cylinder : geometric_representation_item, ObjectHelper<right_circular_cylinder,3> { right_circular_cylinder() : Object("right_circular_cylinder") {}
5295 		Lazy< axis1_placement > position;
5296 		positive_length_measure::Out height;
5297 		positive_length_measure::Out radius;
5298     };
5299 
5300     // C++ wrapper for right_to_usage_association
right_to_usage_associationright_to_usage_association5301     struct right_to_usage_association : action_method_relationship, ObjectHelper<right_to_usage_association,0> { right_to_usage_association() : Object("right_to_usage_association") {}
5302 
5303     };
5304 
5305     // C++ wrapper for roundness_tolerance
roundness_toleranceroundness_tolerance5306     struct roundness_tolerance : geometric_tolerance, ObjectHelper<roundness_tolerance,0> { roundness_tolerance() : Object("roundness_tolerance") {}
5307 
5308     };
5309 
5310     // C++ wrapper for row_representation_item
row_representation_itemrow_representation_item5311     struct row_representation_item : compound_representation_item, ObjectHelper<row_representation_item,0> { row_representation_item() : Object("row_representation_item") {}
5312 
5313     };
5314 
5315     // C++ wrapper for row_value
row_valuerow_value5316     struct row_value : compound_representation_item, ObjectHelper<row_value,0> { row_value() : Object("row_value") {}
5317 
5318     };
5319 
5320     // C++ wrapper for row_variable
row_variablerow_variable5321     struct row_variable : abstract_variable, ObjectHelper<row_variable,0> { row_variable() : Object("row_variable") {}
5322 
5323     };
5324 
5325     // C++ wrapper for rule_action
rule_actionrule_action5326     struct rule_action : action, ObjectHelper<rule_action,0> { rule_action() : Object("rule_action") {}
5327 
5328     };
5329 
5330     // C++ wrapper for rule_condition
rule_conditionrule_condition5331     struct rule_condition : atomic_formula, ObjectHelper<rule_condition,0> { rule_condition() : Object("rule_condition") {}
5332 
5333     };
5334 
5335     // C++ wrapper for rule_set
rule_setrule_set5336     struct rule_set : rule_software_definition, ObjectHelper<rule_set,0> { rule_set() : Object("rule_set") {}
5337 
5338     };
5339 
5340     // C++ wrapper for rule_set_group
rule_set_grouprule_set_group5341     struct rule_set_group : rule_software_definition, ObjectHelper<rule_set_group,0> { rule_set_group() : Object("rule_set_group") {}
5342 
5343     };
5344 
5345     // C++ wrapper for rule_superseded_assignment
rule_superseded_assignmentrule_superseded_assignment5346     struct rule_superseded_assignment : action_assignment, ObjectHelper<rule_superseded_assignment,1> { rule_superseded_assignment() : Object("rule_superseded_assignment") {}
5347 		ListOf< rule_superseded_item, 1, 0 >::Out items;
5348     };
5349 
5350     // C++ wrapper for rule_supersedence
rule_supersedencerule_supersedence5351     struct rule_supersedence : rule_action, ObjectHelper<rule_supersedence,0> { rule_supersedence() : Object("rule_supersedence") {}
5352 
5353     };
5354 
5355     // C++ wrapper for surface_curve_swept_area_solid
surface_curve_swept_area_solidsurface_curve_swept_area_solid5356     struct surface_curve_swept_area_solid : swept_area_solid, ObjectHelper<surface_curve_swept_area_solid,4> { surface_curve_swept_area_solid() : Object("surface_curve_swept_area_solid") {}
5357 		Lazy< curve > directrix;
5358 		REAL::Out start_param;
5359 		REAL::Out end_param;
5360 		Lazy< surface > reference_surface;
5361     };
5362 
5363     // C++ wrapper for ruled_surface_swept_area_solid
ruled_surface_swept_area_solidruled_surface_swept_area_solid5364     struct ruled_surface_swept_area_solid : surface_curve_swept_area_solid, ObjectHelper<ruled_surface_swept_area_solid,0> { ruled_surface_swept_area_solid() : Object("ruled_surface_swept_area_solid") {}
5365 
5366     };
5367 
5368     // C++ wrapper for runout_zone_definition
runout_zone_definitionrunout_zone_definition5369     struct runout_zone_definition : tolerance_zone_definition, ObjectHelper<runout_zone_definition,1> { runout_zone_definition() : Object("runout_zone_definition") {}
5370 		Lazy< runout_zone_orientation > orientation;
5371     };
5372 
5373     // C++ wrapper for runout_zone_orientation
runout_zone_orientationrunout_zone_orientation5374     struct runout_zone_orientation :  ObjectHelper<runout_zone_orientation,1> { runout_zone_orientation() : Object("runout_zone_orientation") {}
5375 		Lazy< measure_with_unit > angle;
5376     };
5377 
5378     // C++ wrapper for runout_zone_orientation_reference_direction
runout_zone_orientation_reference_directionrunout_zone_orientation_reference_direction5379     struct runout_zone_orientation_reference_direction : runout_zone_orientation, ObjectHelper<runout_zone_orientation_reference_direction,1> { runout_zone_orientation_reference_direction() : Object("runout_zone_orientation_reference_direction") {}
5380 		Lazy< shape_aspect_relationship > orientation_defining_relationship;
5381     };
5382 
5383     // C++ wrapper for satisfied_requirement
satisfied_requirementsatisfied_requirement5384     struct satisfied_requirement : group_assignment, ObjectHelper<satisfied_requirement,1> { satisfied_requirement() : Object("satisfied_requirement") {}
5385 		ListOf< Lazy< product_definition >, 1, 1 > items;
5386     };
5387 
5388     // C++ wrapper for satisfies_requirement
satisfies_requirementsatisfies_requirement5389     struct satisfies_requirement : group, ObjectHelper<satisfies_requirement,0> { satisfies_requirement() : Object("satisfies_requirement") {}
5390 
5391     };
5392 
5393     // C++ wrapper for satisfying_item
satisfying_itemsatisfying_item5394     struct satisfying_item : group_assignment, ObjectHelper<satisfying_item,1> { satisfying_item() : Object("satisfying_item") {}
5395 		ListOf< requirement_satisfaction_item, 1, 1 >::Out items;
5396     };
5397 
5398     // C++ wrapper for scalar_variable
scalar_variablescalar_variable5399     struct scalar_variable : abstract_variable, ObjectHelper<scalar_variable,0> { scalar_variable() : Object("scalar_variable") {}
5400 
5401     };
5402 
5403     // C++ wrapper for scattering_parameter
scattering_parameterscattering_parameter5404     struct scattering_parameter : polar_complex_number_literal, ObjectHelper<scattering_parameter,0> { scattering_parameter() : Object("scattering_parameter") {}
5405 
5406     };
5407 
5408     // C++ wrapper for sculptured_solid
sculptured_solidsculptured_solid5409     struct sculptured_solid : modified_solid, ObjectHelper<sculptured_solid,2> { sculptured_solid() : Object("sculptured_solid") {}
5410 		generalized_surface_select::Out sculpturing_element;
5411 		BOOLEAN::Out positive_side;
5412     };
5413 
5414     // C++ wrapper for seam_curve
seam_curveseam_curve5415     struct seam_curve : surface_curve, ObjectHelper<seam_curve,0> { seam_curve() : Object("seam_curve") {}
5416 
5417     };
5418 
5419     // C++ wrapper for serial_numbered_effectivity
serial_numbered_effectivityserial_numbered_effectivity5420     struct serial_numbered_effectivity : effectivity, ObjectHelper<serial_numbered_effectivity,2> { serial_numbered_effectivity() : Object("serial_numbered_effectivity") {}
5421 		identifier::Out effectivity_start_id;
5422 		Maybe< identifier::Out > effectivity_end_id;
5423     };
5424 
5425     // C++ wrapper for shape_aspect_associativity
shape_aspect_associativityshape_aspect_associativity5426     struct shape_aspect_associativity : shape_aspect_relationship, ObjectHelper<shape_aspect_associativity,0> { shape_aspect_associativity() : Object("shape_aspect_associativity") {}
5427 
5428     };
5429 
5430     // C++ wrapper for shape_aspect_deriving_relationship
shape_aspect_deriving_relationshipshape_aspect_deriving_relationship5431     struct shape_aspect_deriving_relationship : shape_aspect_relationship, ObjectHelper<shape_aspect_deriving_relationship,0> { shape_aspect_deriving_relationship() : Object("shape_aspect_deriving_relationship") {}
5432 
5433     };
5434 
5435     // C++ wrapper for shape_definition_representation
shape_definition_representationshape_definition_representation5436     struct shape_definition_representation : property_definition_representation, ObjectHelper<shape_definition_representation,0> { shape_definition_representation() : Object("shape_definition_representation") {}
5437 
5438     };
5439 
5440     // C++ wrapper for shape_dimension_representation
shape_dimension_representationshape_dimension_representation5441     struct shape_dimension_representation : shape_representation, ObjectHelper<shape_dimension_representation,0> { shape_dimension_representation() : Object("shape_dimension_representation") {}
5442 
5443     };
5444 
5445     // C++ wrapper for shape_feature_definition
shape_feature_definitionshape_feature_definition5446     struct shape_feature_definition : characterized_object, ObjectHelper<shape_feature_definition,0> { shape_feature_definition() : Object("shape_feature_definition") {}
5447 
5448     };
5449 
5450     // C++ wrapper for shape_representation_with_parameters
shape_representation_with_parametersshape_representation_with_parameters5451     struct shape_representation_with_parameters : shape_representation, ObjectHelper<shape_representation_with_parameters,0> { shape_representation_with_parameters() : Object("shape_representation_with_parameters") {}
5452 
5453     };
5454 
5455     // C++ wrapper for shell_based_surface_model
shell_based_surface_modelshell_based_surface_model5456     struct shell_based_surface_model : geometric_representation_item, ObjectHelper<shell_based_surface_model,1> { shell_based_surface_model() : Object("shell_based_surface_model") {}
5457 		ListOf< shell, 1, 0 >::Out sbsm_boundary;
5458     };
5459 
5460     // C++ wrapper for shell_based_wireframe_model
shell_based_wireframe_modelshell_based_wireframe_model5461     struct shell_based_wireframe_model : geometric_representation_item, ObjectHelper<shell_based_wireframe_model,1> { shell_based_wireframe_model() : Object("shell_based_wireframe_model") {}
5462 		ListOf< shell, 1, 0 >::Out sbwm_boundary;
5463     };
5464 
5465     // C++ wrapper for shell_based_wireframe_shape_representation
shell_based_wireframe_shape_representationshell_based_wireframe_shape_representation5466     struct shell_based_wireframe_shape_representation : shape_representation, ObjectHelper<shell_based_wireframe_shape_representation,0> { shell_based_wireframe_shape_representation() : Object("shell_based_wireframe_shape_representation") {}
5467 
5468     };
5469 
5470     // C++ wrapper for si_absorbed_dose_unit
si_absorbed_dose_unitsi_absorbed_dose_unit5471     struct si_absorbed_dose_unit :  ObjectHelper<si_absorbed_dose_unit,0> { si_absorbed_dose_unit() : Object("si_absorbed_dose_unit") {}
5472 
5473     };
5474 
5475     // C++ wrapper for si_capacitance_unit
si_capacitance_unitsi_capacitance_unit5476     struct si_capacitance_unit :  ObjectHelper<si_capacitance_unit,0> { si_capacitance_unit() : Object("si_capacitance_unit") {}
5477 
5478     };
5479 
5480     // C++ wrapper for si_conductance_unit
si_conductance_unitsi_conductance_unit5481     struct si_conductance_unit :  ObjectHelper<si_conductance_unit,0> { si_conductance_unit() : Object("si_conductance_unit") {}
5482 
5483     };
5484 
5485     // C++ wrapper for si_dose_equivalent_unit
si_dose_equivalent_unitsi_dose_equivalent_unit5486     struct si_dose_equivalent_unit :  ObjectHelper<si_dose_equivalent_unit,0> { si_dose_equivalent_unit() : Object("si_dose_equivalent_unit") {}
5487 
5488     };
5489 
5490     // C++ wrapper for si_electric_charge_unit
si_electric_charge_unitsi_electric_charge_unit5491     struct si_electric_charge_unit :  ObjectHelper<si_electric_charge_unit,0> { si_electric_charge_unit() : Object("si_electric_charge_unit") {}
5492 
5493     };
5494 
5495     // C++ wrapper for si_electric_potential_unit
si_electric_potential_unitsi_electric_potential_unit5496     struct si_electric_potential_unit :  ObjectHelper<si_electric_potential_unit,0> { si_electric_potential_unit() : Object("si_electric_potential_unit") {}
5497 
5498     };
5499 
5500     // C++ wrapper for si_energy_unit
si_energy_unitsi_energy_unit5501     struct si_energy_unit :  ObjectHelper<si_energy_unit,0> { si_energy_unit() : Object("si_energy_unit") {}
5502 
5503     };
5504 
5505     // C++ wrapper for si_force_unit
si_force_unitsi_force_unit5506     struct si_force_unit :  ObjectHelper<si_force_unit,0> { si_force_unit() : Object("si_force_unit") {}
5507 
5508     };
5509 
5510     // C++ wrapper for si_frequency_unit
si_frequency_unitsi_frequency_unit5511     struct si_frequency_unit :  ObjectHelper<si_frequency_unit,0> { si_frequency_unit() : Object("si_frequency_unit") {}
5512 
5513     };
5514 
5515     // C++ wrapper for si_illuminance_unit
si_illuminance_unitsi_illuminance_unit5516     struct si_illuminance_unit :  ObjectHelper<si_illuminance_unit,0> { si_illuminance_unit() : Object("si_illuminance_unit") {}
5517 
5518     };
5519 
5520     // C++ wrapper for si_inductance_unit
si_inductance_unitsi_inductance_unit5521     struct si_inductance_unit :  ObjectHelper<si_inductance_unit,0> { si_inductance_unit() : Object("si_inductance_unit") {}
5522 
5523     };
5524 
5525     // C++ wrapper for si_magnetic_flux_density_unit
si_magnetic_flux_density_unitsi_magnetic_flux_density_unit5526     struct si_magnetic_flux_density_unit :  ObjectHelper<si_magnetic_flux_density_unit,0> { si_magnetic_flux_density_unit() : Object("si_magnetic_flux_density_unit") {}
5527 
5528     };
5529 
5530     // C++ wrapper for si_magnetic_flux_unit
si_magnetic_flux_unitsi_magnetic_flux_unit5531     struct si_magnetic_flux_unit :  ObjectHelper<si_magnetic_flux_unit,0> { si_magnetic_flux_unit() : Object("si_magnetic_flux_unit") {}
5532 
5533     };
5534 
5535     // C++ wrapper for si_power_unit
si_power_unitsi_power_unit5536     struct si_power_unit :  ObjectHelper<si_power_unit,0> { si_power_unit() : Object("si_power_unit") {}
5537 
5538     };
5539 
5540     // C++ wrapper for si_pressure_unit
si_pressure_unitsi_pressure_unit5541     struct si_pressure_unit :  ObjectHelper<si_pressure_unit,0> { si_pressure_unit() : Object("si_pressure_unit") {}
5542 
5543     };
5544 
5545     // C++ wrapper for si_radioactivity_unit
si_radioactivity_unitsi_radioactivity_unit5546     struct si_radioactivity_unit :  ObjectHelper<si_radioactivity_unit,0> { si_radioactivity_unit() : Object("si_radioactivity_unit") {}
5547 
5548     };
5549 
5550     // C++ wrapper for si_resistance_unit
si_resistance_unitsi_resistance_unit5551     struct si_resistance_unit :  ObjectHelper<si_resistance_unit,0> { si_resistance_unit() : Object("si_resistance_unit") {}
5552 
5553     };
5554 
5555     // C++ wrapper for si_unit
si_unitsi_unit5556     struct si_unit : named_unit, ObjectHelper<si_unit,2> { si_unit() : Object("si_unit") {}
5557 		Maybe< si_prefix::Out > prefix;
5558 		si_unit_name::Out name;
5559     };
5560 
5561     // C++ wrapper for simple_boolean_expression
simple_boolean_expressionsimple_boolean_expression5562     struct simple_boolean_expression :  ObjectHelper<simple_boolean_expression,0> { simple_boolean_expression() : Object("simple_boolean_expression") {}
5563 
5564     };
5565 
5566     // C++ wrapper for simple_numeric_expression
simple_numeric_expressionsimple_numeric_expression5567     struct simple_numeric_expression :  ObjectHelper<simple_numeric_expression,0> { simple_numeric_expression() : Object("simple_numeric_expression") {}
5568 
5569     };
5570 
5571     // C++ wrapper for slash_expression
slash_expressionslash_expression5572     struct slash_expression : binary_numeric_expression, ObjectHelper<slash_expression,0> { slash_expression() : Object("slash_expression") {}
5573 
5574     };
5575 
5576     // C++ wrapper for smeared_material_definition
smeared_material_definitionsmeared_material_definition5577     struct smeared_material_definition : zone_structural_makeup, ObjectHelper<smeared_material_definition,0> { smeared_material_definition() : Object("smeared_material_definition") {}
5578 
5579     };
5580 
5581     // C++ wrapper for solid_angle_measure_with_unit
solid_angle_measure_with_unitsolid_angle_measure_with_unit5582     struct solid_angle_measure_with_unit : measure_with_unit, ObjectHelper<solid_angle_measure_with_unit,0> { solid_angle_measure_with_unit() : Object("solid_angle_measure_with_unit") {}
5583 
5584     };
5585 
5586     // C++ wrapper for solid_angle_unit
solid_angle_unitsolid_angle_unit5587     struct solid_angle_unit : named_unit, ObjectHelper<solid_angle_unit,0> { solid_angle_unit() : Object("solid_angle_unit") {}
5588 
5589     };
5590 
5591     // C++ wrapper for solid_curve_font
solid_curve_fontsolid_curve_font5592     struct solid_curve_font : pre_defined_curve_font, ObjectHelper<solid_curve_font,0> { solid_curve_font() : Object("solid_curve_font") {}
5593 
5594     };
5595 
5596     // C++ wrapper for solid_replica
solid_replicasolid_replica5597     struct solid_replica : solid_model, ObjectHelper<solid_replica,2> { solid_replica() : Object("solid_replica") {}
5598 		Lazy< solid_model > parent_solid;
5599 		Lazy< cartesian_transformation_operator_3d > transformation;
5600     };
5601 
5602     // C++ wrapper for solid_with_chamfered_edges
solid_with_chamfered_edgessolid_with_chamfered_edges5603     struct solid_with_chamfered_edges : edge_blended_solid, ObjectHelper<solid_with_chamfered_edges,0> { solid_with_chamfered_edges() : Object("solid_with_chamfered_edges") {}
5604 
5605     };
5606 
5607     // C++ wrapper for solid_with_angle_based_chamfer
solid_with_angle_based_chamfersolid_with_angle_based_chamfer5608     struct solid_with_angle_based_chamfer : solid_with_chamfered_edges, ObjectHelper<solid_with_angle_based_chamfer,3> { solid_with_angle_based_chamfer() : Object("solid_with_angle_based_chamfer") {}
5609 		positive_length_measure::Out offset_distance;
5610 		BOOLEAN::Out left_offset;
5611 		positive_plane_angle_measure::Out offset_angle;
5612     };
5613 
5614     // C++ wrapper for solid_with_shape_element_pattern
solid_with_shape_element_patternsolid_with_shape_element_pattern5615     struct solid_with_shape_element_pattern : modified_solid_with_placed_configuration, ObjectHelper<solid_with_shape_element_pattern,1> { solid_with_shape_element_pattern() : Object("solid_with_shape_element_pattern") {}
5616 		Lazy< modified_solid_with_placed_configuration > replicated_element;
5617     };
5618 
5619     // C++ wrapper for solid_with_circular_pattern
solid_with_circular_patternsolid_with_circular_pattern5620     struct solid_with_circular_pattern : solid_with_shape_element_pattern, ObjectHelper<solid_with_circular_pattern,4> { solid_with_circular_pattern() : Object("solid_with_circular_pattern") {}
5621 		positive_integer::Out replicate_count;
5622 		plane_angle_measure::Out angular_spacing;
5623 		BOOLEAN::Out radial_alignment;
5624 		Lazy< point > reference_point;
5625     };
5626 
5627     // C++ wrapper for solid_with_depression
solid_with_depressionsolid_with_depression5628     struct solid_with_depression : modified_solid_with_placed_configuration, ObjectHelper<solid_with_depression,1> { solid_with_depression() : Object("solid_with_depression") {}
5629 		positive_length_measure::Out depth;
5630     };
5631 
5632     // C++ wrapper for solid_with_pocket
solid_with_pocketsolid_with_pocket5633     struct solid_with_pocket : solid_with_depression, ObjectHelper<solid_with_pocket,2> { solid_with_pocket() : Object("solid_with_pocket") {}
5634 		non_negative_length_measure::Out floor_blend_radius;
5635 		plane_angle_measure::Out draft_angle;
5636     };
5637 
5638     // C++ wrapper for solid_with_circular_pocket
solid_with_circular_pocketsolid_with_circular_pocket5639     struct solid_with_circular_pocket : solid_with_pocket, ObjectHelper<solid_with_circular_pocket,1> { solid_with_circular_pocket() : Object("solid_with_circular_pocket") {}
5640 		positive_length_measure::Out pocket_radius;
5641     };
5642 
5643     // C++ wrapper for solid_with_protrusion
solid_with_protrusionsolid_with_protrusion5644     struct solid_with_protrusion : modified_solid_with_placed_configuration, ObjectHelper<solid_with_protrusion,2> { solid_with_protrusion() : Object("solid_with_protrusion") {}
5645 		positive_length_measure::Out protrusion_height;
5646 		plane_angle_measure::Out protrusion_draft_angle;
5647     };
5648 
5649     // C++ wrapper for solid_with_circular_protrusion
solid_with_circular_protrusionsolid_with_circular_protrusion5650     struct solid_with_circular_protrusion : solid_with_protrusion, ObjectHelper<solid_with_circular_protrusion,1> { solid_with_circular_protrusion() : Object("solid_with_circular_protrusion") {}
5651 		positive_length_measure::Out protrusion_radius;
5652     };
5653 
5654     // C++ wrapper for solid_with_hole
solid_with_holesolid_with_hole5655     struct solid_with_hole : solid_with_depression, ObjectHelper<solid_with_hole,0> { solid_with_hole() : Object("solid_with_hole") {}
5656 
5657     };
5658 
5659     // C++ wrapper for solid_with_stepped_round_hole
solid_with_stepped_round_holesolid_with_stepped_round_hole5660     struct solid_with_stepped_round_hole : solid_with_hole, ObjectHelper<solid_with_stepped_round_hole,1> { solid_with_stepped_round_hole() : Object("solid_with_stepped_round_hole") {}
5661 		positive_integer::Out segments;
5662     };
5663 
5664     // C++ wrapper for solid_with_conical_bottom_round_hole
solid_with_conical_bottom_round_holesolid_with_conical_bottom_round_hole5665     struct solid_with_conical_bottom_round_hole : solid_with_stepped_round_hole, ObjectHelper<solid_with_conical_bottom_round_hole,2> { solid_with_conical_bottom_round_hole() : Object("solid_with_conical_bottom_round_hole") {}
5666 		positive_plane_angle_measure::Out semi_apex_angle;
5667 		non_negative_length_measure::Out tip_radius;
5668     };
5669 
5670     // C++ wrapper for solid_with_constant_radius_edge_blend
solid_with_constant_radius_edge_blendsolid_with_constant_radius_edge_blend5671     struct solid_with_constant_radius_edge_blend : edge_blended_solid, ObjectHelper<solid_with_constant_radius_edge_blend,1> { solid_with_constant_radius_edge_blend() : Object("solid_with_constant_radius_edge_blend") {}
5672 		positive_length_measure::Out radius;
5673     };
5674 
5675     // C++ wrapper for solid_with_slot
solid_with_slotsolid_with_slot5676     struct solid_with_slot : solid_with_depression, ObjectHelper<solid_with_slot,2> { solid_with_slot() : Object("solid_with_slot") {}
5677 		positive_length_measure::Out slot_width;
5678 		ListOf< LOGICAL, 2, 2 >::Out closed_ends;
5679     };
5680 
5681     // C++ wrapper for solid_with_curved_slot
solid_with_curved_slotsolid_with_curved_slot5682     struct solid_with_curved_slot : solid_with_slot, ObjectHelper<solid_with_curved_slot,1> { solid_with_curved_slot() : Object("solid_with_curved_slot") {}
5683 		Lazy< bounded_curve > slot_centreline;
5684     };
5685 
5686     // C++ wrapper for solid_with_double_offset_chamfer
solid_with_double_offset_chamfersolid_with_double_offset_chamfer5687     struct solid_with_double_offset_chamfer : solid_with_chamfered_edges, ObjectHelper<solid_with_double_offset_chamfer,2> { solid_with_double_offset_chamfer() : Object("solid_with_double_offset_chamfer") {}
5688 		positive_length_measure::Out left_offset_distance;
5689 		positive_length_measure::Out right_offset_distance;
5690     };
5691 
5692     // C++ wrapper for solid_with_flat_bottom_round_hole
solid_with_flat_bottom_round_holesolid_with_flat_bottom_round_hole5693     struct solid_with_flat_bottom_round_hole : solid_with_stepped_round_hole, ObjectHelper<solid_with_flat_bottom_round_hole,1> { solid_with_flat_bottom_round_hole() : Object("solid_with_flat_bottom_round_hole") {}
5694 		non_negative_length_measure::Out fillet_radius;
5695     };
5696 
5697     // C++ wrapper for solid_with_general_pocket
solid_with_general_pocketsolid_with_general_pocket5698     struct solid_with_general_pocket : solid_with_pocket, ObjectHelper<solid_with_general_pocket,2> { solid_with_general_pocket() : Object("solid_with_general_pocket") {}
5699 		Lazy< positioned_sketch > profile;
5700 		Lazy< point > reference_point;
5701     };
5702 
5703     // C++ wrapper for solid_with_general_protrusion
solid_with_general_protrusionsolid_with_general_protrusion5704     struct solid_with_general_protrusion : solid_with_protrusion, ObjectHelper<solid_with_general_protrusion,2> { solid_with_general_protrusion() : Object("solid_with_general_protrusion") {}
5705 		Lazy< positioned_sketch > profile;
5706 		Lazy< point > reference_point;
5707     };
5708 
5709     // C++ wrapper for solid_with_groove
solid_with_groovesolid_with_groove5710     struct solid_with_groove : solid_with_depression, ObjectHelper<solid_with_groove,5> { solid_with_groove() : Object("solid_with_groove") {}
5711 		positive_length_measure::Out groove_radius;
5712 		positive_length_measure::Out groove_width;
5713 		plane_angle_measure::Out draft_angle;
5714 		non_negative_length_measure::Out floor_fillet_radius;
5715 		BOOLEAN::Out external_groove;
5716     };
5717 
5718     // C++ wrapper for solid_with_incomplete_circular_pattern
solid_with_incomplete_circular_patternsolid_with_incomplete_circular_pattern5719     struct solid_with_incomplete_circular_pattern : solid_with_circular_pattern, ObjectHelper<solid_with_incomplete_circular_pattern,1> { solid_with_incomplete_circular_pattern() : Object("solid_with_incomplete_circular_pattern") {}
5720 		ListOf< positive_integer, 1, 0 >::Out omitted_instances;
5721     };
5722 
5723     // C++ wrapper for solid_with_rectangular_pattern
solid_with_rectangular_patternsolid_with_rectangular_pattern5724     struct solid_with_rectangular_pattern : solid_with_shape_element_pattern, ObjectHelper<solid_with_rectangular_pattern,4> { solid_with_rectangular_pattern() : Object("solid_with_rectangular_pattern") {}
5725 		positive_integer::Out row_count;
5726 		positive_integer::Out column_count;
5727 		length_measure::Out row_spacing;
5728 		length_measure::Out column_spacing;
5729     };
5730 
5731     // C++ wrapper for solid_with_incomplete_rectangular_pattern
solid_with_incomplete_rectangular_patternsolid_with_incomplete_rectangular_pattern5732     struct solid_with_incomplete_rectangular_pattern : solid_with_rectangular_pattern, ObjectHelper<solid_with_incomplete_rectangular_pattern,0> { solid_with_incomplete_rectangular_pattern() : Object("solid_with_incomplete_rectangular_pattern") {}
5733 
5734     };
5735 
5736     // C++ wrapper for solid_with_rectangular_pocket
solid_with_rectangular_pocketsolid_with_rectangular_pocket5737     struct solid_with_rectangular_pocket : solid_with_pocket, ObjectHelper<solid_with_rectangular_pocket,3> { solid_with_rectangular_pocket() : Object("solid_with_rectangular_pocket") {}
5738 		positive_length_measure::Out pocket_length;
5739 		positive_length_measure::Out pocket_width;
5740 		non_negative_length_measure::Out corner_radius;
5741     };
5742 
5743     // C++ wrapper for solid_with_rectangular_protrusion
solid_with_rectangular_protrusionsolid_with_rectangular_protrusion5744     struct solid_with_rectangular_protrusion : solid_with_protrusion, ObjectHelper<solid_with_rectangular_protrusion,3> { solid_with_rectangular_protrusion() : Object("solid_with_rectangular_protrusion") {}
5745 		positive_length_measure::Out protrusion_length;
5746 		positive_length_measure::Out protrusion_width;
5747 		non_negative_length_measure::Out protrusion_corner_radius;
5748     };
5749 
5750     // C++ wrapper for solid_with_single_offset_chamfer
solid_with_single_offset_chamfersolid_with_single_offset_chamfer5751     struct solid_with_single_offset_chamfer : solid_with_chamfered_edges, ObjectHelper<solid_with_single_offset_chamfer,1> { solid_with_single_offset_chamfer() : Object("solid_with_single_offset_chamfer") {}
5752 		positive_length_measure::Out offset_distance;
5753     };
5754 
5755     // C++ wrapper for solid_with_spherical_bottom_round_hole
solid_with_spherical_bottom_round_holesolid_with_spherical_bottom_round_hole5756     struct solid_with_spherical_bottom_round_hole : solid_with_stepped_round_hole, ObjectHelper<solid_with_spherical_bottom_round_hole,1> { solid_with_spherical_bottom_round_hole() : Object("solid_with_spherical_bottom_round_hole") {}
5757 		positive_length_measure::Out sphere_radius;
5758     };
5759 
5760     // C++ wrapper for solid_with_stepped_round_hole_and_conical_transitions
solid_with_stepped_round_hole_and_conical_transitionssolid_with_stepped_round_hole_and_conical_transitions5761     struct solid_with_stepped_round_hole_and_conical_transitions : solid_with_stepped_round_hole, ObjectHelper<solid_with_stepped_round_hole_and_conical_transitions,1> { solid_with_stepped_round_hole_and_conical_transitions() : Object("solid_with_stepped_round_hole_and_conical_transitions") {}
5762 		ListOf< Lazy< conical_stepped_hole_transition >, 1, 0 > conical_transitions;
5763     };
5764 
5765     // C++ wrapper for solid_with_straight_slot
solid_with_straight_slotsolid_with_straight_slot5766     struct solid_with_straight_slot : solid_with_slot, ObjectHelper<solid_with_straight_slot,1> { solid_with_straight_slot() : Object("solid_with_straight_slot") {}
5767 		positive_length_measure::Out slot_length;
5768     };
5769 
5770     // C++ wrapper for solid_with_tee_section_slot
solid_with_tee_section_slotsolid_with_tee_section_slot5771     struct solid_with_tee_section_slot : solid_with_slot, ObjectHelper<solid_with_tee_section_slot,2> { solid_with_tee_section_slot() : Object("solid_with_tee_section_slot") {}
5772 		positive_length_measure::Out tee_section_width;
5773 		positive_length_measure::Out collar_depth;
5774     };
5775 
5776     // C++ wrapper for solid_with_through_depression
solid_with_through_depressionsolid_with_through_depression5777     struct solid_with_through_depression : solid_with_depression, ObjectHelper<solid_with_through_depression,1> { solid_with_through_depression() : Object("solid_with_through_depression") {}
5778 		ListOf< Lazy< face_surface >, 1, 0 > exit_faces;
5779     };
5780 
5781     // C++ wrapper for solid_with_trapezoidal_section_slot
solid_with_trapezoidal_section_slotsolid_with_trapezoidal_section_slot5782     struct solid_with_trapezoidal_section_slot : solid_with_slot, ObjectHelper<solid_with_trapezoidal_section_slot,2> { solid_with_trapezoidal_section_slot() : Object("solid_with_trapezoidal_section_slot") {}
5783 		plane_angle_measure::Out draft_angle;
5784 		non_negative_length_measure::Out floor_fillet_radius;
5785     };
5786 
5787     // C++ wrapper for solid_with_variable_radius_edge_blend
solid_with_variable_radius_edge_blendsolid_with_variable_radius_edge_blend5788     struct solid_with_variable_radius_edge_blend :  ObjectHelper<solid_with_variable_radius_edge_blend,3> { solid_with_variable_radius_edge_blend() : Object("solid_with_variable_radius_edge_blend") {}
5789 		ListOf< Lazy< point >, 2, 0 > point_list;
5790 		ListOf< positive_length_measure, 2, 0 >::Out radius_list;
5791 		ListOf< blend_radius_variation_type, 1, 0 >::Out edge_function_list;
5792     };
5793 
5794     // C++ wrapper for source_for_requirement
source_for_requirementsource_for_requirement5795     struct source_for_requirement : group_assignment, ObjectHelper<source_for_requirement,1> { source_for_requirement() : Object("source_for_requirement") {}
5796 		ListOf< requirement_source_item, 1, 1 >::Out items;
5797     };
5798 
5799     // C++ wrapper for sourced_requirement
sourced_requirementsourced_requirement5800     struct sourced_requirement : group_assignment, ObjectHelper<sourced_requirement,1> { sourced_requirement() : Object("sourced_requirement") {}
5801 		ListOf< Lazy< product_definition >, 1, 1 > items;
5802     };
5803 
5804     // C++ wrapper for specification_definition
specification_definitionspecification_definition5805     struct specification_definition : product_definition, ObjectHelper<specification_definition,0> { specification_definition() : Object("specification_definition") {}
5806 
5807     };
5808 
5809     // C++ wrapper for specified_higher_usage_occurrence
specified_higher_usage_occurrencespecified_higher_usage_occurrence5810     struct specified_higher_usage_occurrence : assembly_component_usage, ObjectHelper<specified_higher_usage_occurrence,2> { specified_higher_usage_occurrence() : Object("specified_higher_usage_occurrence") {}
5811 		Lazy< assembly_component_usage > upper_usage;
5812 		Lazy< next_assembly_usage_occurrence > next_usage;
5813     };
5814 
5815     // C++ wrapper for sphere
spheresphere5816     struct sphere : geometric_representation_item, ObjectHelper<sphere,2> { sphere() : Object("sphere") {}
5817 		positive_length_measure::Out radius;
5818 		Lazy< point > centre;
5819     };
5820 
5821     // C++ wrapper for spherical_surface
spherical_surfacespherical_surface5822     struct spherical_surface : elementary_surface, ObjectHelper<spherical_surface,1> { spherical_surface() : Object("spherical_surface") {}
5823 		positive_length_measure::Out radius;
5824     };
5825 
5826     // C++ wrapper for start_request
start_requeststart_request5827     struct start_request : action_request_assignment, ObjectHelper<start_request,1> { start_request() : Object("start_request") {}
5828 		ListOf< start_request_item, 1, 0 >::Out items;
5829     };
5830 
5831     // C++ wrapper for start_work
start_workstart_work5832     struct start_work : action_assignment, ObjectHelper<start_work,1> { start_work() : Object("start_work") {}
5833 		ListOf< work_item, 1, 0 >::Out items;
5834     };
5835 
5836     // C++ wrapper for straightness_tolerance
straightness_tolerancestraightness_tolerance5837     struct straightness_tolerance : geometric_tolerance, ObjectHelper<straightness_tolerance,0> { straightness_tolerance() : Object("straightness_tolerance") {}
5838 
5839     };
5840 
5841     // C++ wrapper for structured_dimension_callout
structured_dimension_calloutstructured_dimension_callout5842     struct structured_dimension_callout : draughting_callout, ObjectHelper<structured_dimension_callout,0> { structured_dimension_callout() : Object("structured_dimension_callout") {}
5843 
5844     };
5845 
5846     // C++ wrapper for structured_text_composition
structured_text_compositionstructured_text_composition5847     struct structured_text_composition : compound_representation_item, ObjectHelper<structured_text_composition,0> { structured_text_composition() : Object("structured_text_composition") {}
5848 
5849     };
5850 
5851     // C++ wrapper for structured_text_representation
structured_text_representationstructured_text_representation5852     struct structured_text_representation : representation, ObjectHelper<structured_text_representation,0> { structured_text_representation() : Object("structured_text_representation") {}
5853 
5854     };
5855 
5856     // C++ wrapper for subedge
subedgesubedge5857     struct subedge : edge, ObjectHelper<subedge,1> { subedge() : Object("subedge") {}
5858 		Lazy< edge > parent_edge;
5859     };
5860 
5861     // C++ wrapper for subface
subfacesubface5862     struct subface : face, ObjectHelper<subface,1> { subface() : Object("subface") {}
5863 		Lazy< face > parent_face;
5864     };
5865 
5866     // C++ wrapper for supplied_part_relationship
supplied_part_relationshipsupplied_part_relationship5867     struct supplied_part_relationship : product_definition_relationship, ObjectHelper<supplied_part_relationship,0> { supplied_part_relationship() : Object("supplied_part_relationship") {}
5868 
5869     };
5870 
5871     // C++ wrapper for surface_condition_callout
surface_condition_calloutsurface_condition_callout5872     struct surface_condition_callout : draughting_callout, ObjectHelper<surface_condition_callout,0> { surface_condition_callout() : Object("surface_condition_callout") {}
5873 
5874     };
5875 
5876     // C++ wrapper for swept_surface
swept_surfaceswept_surface5877     struct swept_surface : surface, ObjectHelper<swept_surface,1> { swept_surface() : Object("swept_surface") {}
5878 		Lazy< curve > swept_curve;
5879     };
5880 
5881     // C++ wrapper for surface_of_linear_extrusion
surface_of_linear_extrusionsurface_of_linear_extrusion5882     struct surface_of_linear_extrusion : swept_surface, ObjectHelper<surface_of_linear_extrusion,1> { surface_of_linear_extrusion() : Object("surface_of_linear_extrusion") {}
5883 		Lazy< vector > extrusion_axis;
5884     };
5885 
5886     // C++ wrapper for surface_of_revolution
surface_of_revolutionsurface_of_revolution5887     struct surface_of_revolution : swept_surface, ObjectHelper<surface_of_revolution,1> { surface_of_revolution() : Object("surface_of_revolution") {}
5888 		Lazy< axis1_placement > axis_position;
5889     };
5890 
5891     // C++ wrapper for surface_patch
surface_patchsurface_patch5892     struct surface_patch : founded_item, ObjectHelper<surface_patch,5> { surface_patch() : Object("surface_patch") {}
5893 		Lazy< bounded_surface > parent_surface;
5894 		transition_code::Out u_transition;
5895 		transition_code::Out v_transition;
5896 		BOOLEAN::Out u_sense;
5897 		BOOLEAN::Out v_sense;
5898     };
5899 
5900     // C++ wrapper for surface_profile_tolerance
surface_profile_tolerancesurface_profile_tolerance5901     struct surface_profile_tolerance : geometric_tolerance, ObjectHelper<surface_profile_tolerance,0> { surface_profile_tolerance() : Object("surface_profile_tolerance") {}
5902 
5903     };
5904 
5905     // C++ wrapper for surface_replica
surface_replicasurface_replica5906     struct surface_replica : surface, ObjectHelper<surface_replica,2> { surface_replica() : Object("surface_replica") {}
5907 		Lazy< surface > parent_surface;
5908 		Lazy< cartesian_transformation_operator_3d > transformation;
5909     };
5910 
5911     // C++ wrapper for surface_side_style
surface_side_stylesurface_side_style5912     struct surface_side_style : founded_item, ObjectHelper<surface_side_style,2> { surface_side_style() : Object("surface_side_style") {}
5913 		label::Out name;
5914 		ListOf< surface_style_element_select, 1, 7 >::Out styles;
5915     };
5916 
5917     // C++ wrapper for surface_style_boundary
surface_style_boundarysurface_style_boundary5918     struct surface_style_boundary : founded_item, ObjectHelper<surface_style_boundary,1> { surface_style_boundary() : Object("surface_style_boundary") {}
5919 		curve_or_render::Out style_of_boundary;
5920     };
5921 
5922     // C++ wrapper for surface_style_control_grid
surface_style_control_gridsurface_style_control_grid5923     struct surface_style_control_grid : founded_item, ObjectHelper<surface_style_control_grid,1> { surface_style_control_grid() : Object("surface_style_control_grid") {}
5924 		curve_or_render::Out style_of_control_grid;
5925     };
5926 
5927     // C++ wrapper for surface_style_fill_area
surface_style_fill_areasurface_style_fill_area5928     struct surface_style_fill_area : founded_item, ObjectHelper<surface_style_fill_area,1> { surface_style_fill_area() : Object("surface_style_fill_area") {}
5929 		Lazy< fill_area_style > fill_area;
5930     };
5931 
5932     // C++ wrapper for surface_style_parameter_line
surface_style_parameter_linesurface_style_parameter_line5933     struct surface_style_parameter_line : founded_item, ObjectHelper<surface_style_parameter_line,2> { surface_style_parameter_line() : Object("surface_style_parameter_line") {}
5934 		curve_or_render::Out style_of_parameter_lines;
5935 		ListOf< direction_count_select, 1, 2 >::Out direction_counts;
5936     };
5937 
5938     // C++ wrapper for surface_style_reflectance_ambient
surface_style_reflectance_ambientsurface_style_reflectance_ambient5939     struct surface_style_reflectance_ambient :  ObjectHelper<surface_style_reflectance_ambient,1> { surface_style_reflectance_ambient() : Object("surface_style_reflectance_ambient") {}
5940 		REAL::Out ambient_reflectance;
5941     };
5942 
5943     // C++ wrapper for surface_style_reflectance_ambient_diffuse
surface_style_reflectance_ambient_diffusesurface_style_reflectance_ambient_diffuse5944     struct surface_style_reflectance_ambient_diffuse : surface_style_reflectance_ambient, ObjectHelper<surface_style_reflectance_ambient_diffuse,1> { surface_style_reflectance_ambient_diffuse() : Object("surface_style_reflectance_ambient_diffuse") {}
5945 		REAL::Out diffuse_reflectance;
5946     };
5947 
5948     // C++ wrapper for surface_style_reflectance_ambient_diffuse_specular
surface_style_reflectance_ambient_diffuse_specularsurface_style_reflectance_ambient_diffuse_specular5949     struct surface_style_reflectance_ambient_diffuse_specular : surface_style_reflectance_ambient_diffuse, ObjectHelper<surface_style_reflectance_ambient_diffuse_specular,3> { surface_style_reflectance_ambient_diffuse_specular() : Object("surface_style_reflectance_ambient_diffuse_specular") {}
5950 		REAL::Out specular_reflectance;
5951 		REAL::Out specular_exponent;
5952 		Lazy< colour > specular_colour;
5953     };
5954 
5955     // C++ wrapper for surface_style_rendering
surface_style_renderingsurface_style_rendering5956     struct surface_style_rendering :  ObjectHelper<surface_style_rendering,2> { surface_style_rendering() : Object("surface_style_rendering") {}
5957 		shading_surface_method::Out rendering_method;
5958 		Lazy< colour > surface_colour;
5959     };
5960 
5961     // C++ wrapper for surface_style_rendering_with_properties
surface_style_rendering_with_propertiessurface_style_rendering_with_properties5962     struct surface_style_rendering_with_properties : surface_style_rendering, ObjectHelper<surface_style_rendering_with_properties,1> { surface_style_rendering_with_properties() : Object("surface_style_rendering_with_properties") {}
5963 		ListOf< rendering_properties_select, 1, 2 >::Out properties;
5964     };
5965 
5966     // C++ wrapper for surface_style_segmentation_curve
surface_style_segmentation_curvesurface_style_segmentation_curve5967     struct surface_style_segmentation_curve : founded_item, ObjectHelper<surface_style_segmentation_curve,1> { surface_style_segmentation_curve() : Object("surface_style_segmentation_curve") {}
5968 		curve_or_render::Out style_of_segmentation_curve;
5969     };
5970 
5971     // C++ wrapper for surface_style_silhouette
surface_style_silhouettesurface_style_silhouette5972     struct surface_style_silhouette : founded_item, ObjectHelper<surface_style_silhouette,1> { surface_style_silhouette() : Object("surface_style_silhouette") {}
5973 		curve_or_render::Out style_of_silhouette;
5974     };
5975 
5976     // C++ wrapper for surface_style_usage
surface_style_usagesurface_style_usage5977     struct surface_style_usage : founded_item, ObjectHelper<surface_style_usage,2> { surface_style_usage() : Object("surface_style_usage") {}
5978 		surface_side::Out side;
5979 		surface_side_style_select::Out style;
5980     };
5981 
5982     // C++ wrapper for surface_texture_representation
surface_texture_representationsurface_texture_representation5983     struct surface_texture_representation : representation, ObjectHelper<surface_texture_representation,0> { surface_texture_representation() : Object("surface_texture_representation") {}
5984 
5985     };
5986 
5987     // C++ wrapper for surfaced_open_shell
surfaced_open_shellsurfaced_open_shell5988     struct surfaced_open_shell : open_shell, ObjectHelper<surfaced_open_shell,0> { surfaced_open_shell() : Object("surfaced_open_shell") {}
5989 
5990     };
5991 
5992     // C++ wrapper for swept_disk_solid
swept_disk_solidswept_disk_solid5993     struct swept_disk_solid : solid_model, ObjectHelper<swept_disk_solid,5> { swept_disk_solid() : Object("swept_disk_solid") {}
5994 		Lazy< curve > directrix;
5995 		positive_length_measure::Out radius;
5996 		Maybe< positive_length_measure::Out > inner_radius;
5997 		REAL::Out start_param;
5998 		REAL::Out end_param;
5999     };
6000 
6001     // C++ wrapper for symbol
symbolsymbol6002     struct symbol : representation_item, ObjectHelper<symbol,0> { symbol() : Object("symbol") {}
6003 
6004     };
6005 
6006     // C++ wrapper for symbol_representation_map
symbol_representation_mapsymbol_representation_map6007     struct symbol_representation_map : representation_map, ObjectHelper<symbol_representation_map,0> { symbol_representation_map() : Object("symbol_representation_map") {}
6008 
6009     };
6010 
6011     // C++ wrapper for symbol_style
symbol_stylesymbol_style6012     struct symbol_style : founded_item, ObjectHelper<symbol_style,2> { symbol_style() : Object("symbol_style") {}
6013 		label::Out name;
6014 		symbol_style_select::Out style_of_symbol;
6015     };
6016 
6017     // C++ wrapper for symbol_target
symbol_targetsymbol_target6018     struct symbol_target : geometric_representation_item, ObjectHelper<symbol_target,3> { symbol_target() : Object("symbol_target") {}
6019 		axis2_placement::Out placement;
6020 		positive_ratio_measure::Out x_scale;
6021 		positive_ratio_measure::Out y_scale;
6022     };
6023 
6024     // C++ wrapper for symmetric_shape_aspect
symmetric_shape_aspectsymmetric_shape_aspect6025     struct symmetric_shape_aspect : shape_aspect, ObjectHelper<symmetric_shape_aspect,0> { symmetric_shape_aspect() : Object("symmetric_shape_aspect") {}
6026 
6027     };
6028 
6029     // C++ wrapper for symmetry_tolerance
symmetry_tolerancesymmetry_tolerance6030     struct symmetry_tolerance : geometric_tolerance_with_datum_reference, ObjectHelper<symmetry_tolerance,0> { symmetry_tolerance() : Object("symmetry_tolerance") {}
6031 
6032     };
6033 
6034     // C++ wrapper for table_representation_item
table_representation_itemtable_representation_item6035     struct table_representation_item : compound_representation_item, ObjectHelper<table_representation_item,0> { table_representation_item() : Object("table_representation_item") {}
6036 
6037     };
6038 
6039     // C++ wrapper for tactile_appearance_representation
tactile_appearance_representationtactile_appearance_representation6040     struct tactile_appearance_representation : representation, ObjectHelper<tactile_appearance_representation,0> { tactile_appearance_representation() : Object("tactile_appearance_representation") {}
6041 
6042     };
6043 
6044     // C++ wrapper for tagged_text_format
tagged_text_formattagged_text_format6045     struct tagged_text_format : representation_context, ObjectHelper<tagged_text_format,0> { tagged_text_format() : Object("tagged_text_format") {}
6046 
6047     };
6048 
6049     // C++ wrapper for tagged_text_item
tagged_text_itemtagged_text_item6050     struct tagged_text_item : descriptive_representation_item, ObjectHelper<tagged_text_item,0> { tagged_text_item() : Object("tagged_text_item") {}
6051 
6052     };
6053 
6054     // C++ wrapper for tangent
tangenttangent6055     struct tangent : derived_shape_aspect, ObjectHelper<tangent,0> { tangent() : Object("tangent") {}
6056 
6057     };
6058 
6059     // C++ wrapper for text_literal_with_associated_curves
text_literal_with_associated_curvestext_literal_with_associated_curves6060     struct text_literal_with_associated_curves : text_literal, ObjectHelper<text_literal_with_associated_curves,1> { text_literal_with_associated_curves() : Object("text_literal_with_associated_curves") {}
6061 		ListOf< Lazy< curve >, 1, 0 > associated_curves;
6062     };
6063 
6064     // C++ wrapper for text_literal_with_blanking_box
text_literal_with_blanking_boxtext_literal_with_blanking_box6065     struct text_literal_with_blanking_box : text_literal, ObjectHelper<text_literal_with_blanking_box,1> { text_literal_with_blanking_box() : Object("text_literal_with_blanking_box") {}
6066 		Lazy< planar_box > blanking;
6067     };
6068 
6069     // C++ wrapper for text_literal_with_extent
text_literal_with_extenttext_literal_with_extent6070     struct text_literal_with_extent : text_literal, ObjectHelper<text_literal_with_extent,1> { text_literal_with_extent() : Object("text_literal_with_extent") {}
6071 		Lazy< planar_extent > extent;
6072     };
6073 
6074     // C++ wrapper for text_string_representation
text_string_representationtext_string_representation6075     struct text_string_representation : representation, ObjectHelper<text_string_representation,0> { text_string_representation() : Object("text_string_representation") {}
6076 
6077     };
6078 
6079     // C++ wrapper for text_style
text_styletext_style6080     struct text_style : founded_item, ObjectHelper<text_style,2> { text_style() : Object("text_style") {}
6081 		label::Out name;
6082 		character_style_select::Out character_appearance;
6083     };
6084 
6085     // C++ wrapper for text_style_with_box_characteristics
text_style_with_box_characteristicstext_style_with_box_characteristics6086     struct text_style_with_box_characteristics : text_style, ObjectHelper<text_style_with_box_characteristics,1> { text_style_with_box_characteristics() : Object("text_style_with_box_characteristics") {}
6087 		ListOf< box_characteristic_select, 1, 4 >::Out characteristics;
6088     };
6089 
6090     // C++ wrapper for text_style_with_mirror
text_style_with_mirrortext_style_with_mirror6091     struct text_style_with_mirror : text_style, ObjectHelper<text_style_with_mirror,1> { text_style_with_mirror() : Object("text_style_with_mirror") {}
6092 		axis2_placement::Out mirror_placement;
6093     };
6094 
6095     // C++ wrapper for text_style_with_spacing
text_style_with_spacingtext_style_with_spacing6096     struct text_style_with_spacing : text_style, ObjectHelper<text_style_with_spacing,1> { text_style_with_spacing() : Object("text_style_with_spacing") {}
6097 		character_spacing_select::Out character_spacing;
6098     };
6099 
6100     // C++ wrapper for thermal_resistance_measure_with_unit
thermal_resistance_measure_with_unitthermal_resistance_measure_with_unit6101     struct thermal_resistance_measure_with_unit : measure_with_unit, ObjectHelper<thermal_resistance_measure_with_unit,0> { thermal_resistance_measure_with_unit() : Object("thermal_resistance_measure_with_unit") {}
6102 
6103     };
6104 
6105     // C++ wrapper for thermal_resistance_unit
thermal_resistance_unitthermal_resistance_unit6106     struct thermal_resistance_unit : derived_unit, ObjectHelper<thermal_resistance_unit,0> { thermal_resistance_unit() : Object("thermal_resistance_unit") {}
6107 
6108     };
6109 
6110     // C++ wrapper for thermodynamic_temperature_measure_with_unit
thermodynamic_temperature_measure_with_unitthermodynamic_temperature_measure_with_unit6111     struct thermodynamic_temperature_measure_with_unit : measure_with_unit, ObjectHelper<thermodynamic_temperature_measure_with_unit,0> { thermodynamic_temperature_measure_with_unit() : Object("thermodynamic_temperature_measure_with_unit") {}
6112 
6113     };
6114 
6115     // C++ wrapper for thermodynamic_temperature_unit
thermodynamic_temperature_unitthermodynamic_temperature_unit6116     struct thermodynamic_temperature_unit : named_unit, ObjectHelper<thermodynamic_temperature_unit,0> { thermodynamic_temperature_unit() : Object("thermodynamic_temperature_unit") {}
6117 
6118     };
6119 
6120     // C++ wrapper for thickened_face_solid
thickened_face_solidthickened_face_solid6121     struct thickened_face_solid : solid_model, ObjectHelper<thickened_face_solid,3> { thickened_face_solid() : Object("thickened_face_solid") {}
6122 		generalized_surface_select::Out base_element;
6123 		length_measure::Out offset1;
6124 		length_measure::Out offset2;
6125     };
6126 
6127     // C++ wrapper for thickness_laminate_definition
thickness_laminate_definitionthickness_laminate_definition6128     struct thickness_laminate_definition : product_definition, ObjectHelper<thickness_laminate_definition,0> { thickness_laminate_definition() : Object("thickness_laminate_definition") {}
6129 
6130     };
6131 
6132     // C++ wrapper for thickness_laminate_table
thickness_laminate_tablethickness_laminate_table6133     struct thickness_laminate_table : zone_structural_makeup, ObjectHelper<thickness_laminate_table,0> { thickness_laminate_table() : Object("thickness_laminate_table") {}
6134 
6135     };
6136 
6137     // C++ wrapper for time_interval
time_intervaltime_interval6138     struct time_interval :  ObjectHelper<time_interval,3> { time_interval() : Object("time_interval") {}
6139 		identifier::Out id;
6140 		label::Out name;
6141 		Maybe< text::Out > description;
6142     };
6143 
6144     // C++ wrapper for time_interval_based_effectivity
time_interval_based_effectivitytime_interval_based_effectivity6145     struct time_interval_based_effectivity : effectivity, ObjectHelper<time_interval_based_effectivity,1> { time_interval_based_effectivity() : Object("time_interval_based_effectivity") {}
6146 		Lazy< time_interval > effectivity_period;
6147     };
6148 
6149     // C++ wrapper for time_interval_with_bounds
time_interval_with_boundstime_interval_with_bounds6150     struct time_interval_with_bounds : time_interval, ObjectHelper<time_interval_with_bounds,3> { time_interval_with_bounds() : Object("time_interval_with_bounds") {}
6151 		Maybe< date_time_or_event_occurrence::Out > primary_bound;
6152 		Maybe< date_time_or_event_occurrence::Out > secondary_bound;
6153 		Maybe< Lazy< time_measure_with_unit > > duration;
6154     };
6155 
6156     // C++ wrapper for time_measure_with_unit
time_measure_with_unittime_measure_with_unit6157     struct time_measure_with_unit : measure_with_unit, ObjectHelper<time_measure_with_unit,0> { time_measure_with_unit() : Object("time_measure_with_unit") {}
6158 
6159     };
6160 
6161     // C++ wrapper for time_unit
time_unittime_unit6162     struct time_unit : named_unit, ObjectHelper<time_unit,0> { time_unit() : Object("time_unit") {}
6163 
6164     };
6165 
6166     // C++ wrapper for tolerance_zone
tolerance_zonetolerance_zone6167     struct tolerance_zone : shape_aspect, ObjectHelper<tolerance_zone,2> { tolerance_zone() : Object("tolerance_zone") {}
6168 		ListOf< Lazy< geometric_tolerance >, 1, 0 > defining_tolerance;
6169 		Lazy< NotImplemented > form;
6170     };
6171 
6172     // C++ wrapper for torus
torustorus6173     struct torus : geometric_representation_item, ObjectHelper<torus,3> { torus() : Object("torus") {}
6174 		Lazy< axis1_placement > position;
6175 		positive_length_measure::Out major_radius;
6176 		positive_length_measure::Out minor_radius;
6177     };
6178 
6179     // C++ wrapper for total_runout_tolerance
total_runout_tolerancetotal_runout_tolerance6180     struct total_runout_tolerance : geometric_tolerance_with_datum_reference, ObjectHelper<total_runout_tolerance,0> { total_runout_tolerance() : Object("total_runout_tolerance") {}
6181 
6182     };
6183 
6184     // C++ wrapper for track_blended_solid
track_blended_solidtrack_blended_solid6185     struct track_blended_solid : edge_blended_solid, ObjectHelper<track_blended_solid,0> { track_blended_solid() : Object("track_blended_solid") {}
6186 
6187     };
6188 
6189     // C++ wrapper for track_blended_solid_with_end_conditions
track_blended_solid_with_end_conditionstrack_blended_solid_with_end_conditions6190     struct track_blended_solid_with_end_conditions : track_blended_solid, ObjectHelper<track_blended_solid_with_end_conditions,1> { track_blended_solid_with_end_conditions() : Object("track_blended_solid_with_end_conditions") {}
6191 		ListOf< blend_end_condition_select, 2, 2 >::Out end_conditions;
6192     };
6193 
6194     // C++ wrapper for trimmed_curve
trimmed_curvetrimmed_curve6195     struct trimmed_curve : bounded_curve, ObjectHelper<trimmed_curve,5> { trimmed_curve() : Object("trimmed_curve") {}
6196 		Lazy< curve > basis_curve;
6197 		ListOf< trimming_select, 1, 2 >::Out trim_1;
6198 		ListOf< trimming_select, 1, 2 >::Out trim_2;
6199 		BOOLEAN::Out sense_agreement;
6200 		trimming_preference::Out master_representation;
6201     };
6202 
6203     // C++ wrapper for two_direction_repeat_factor
two_direction_repeat_factortwo_direction_repeat_factor6204     struct two_direction_repeat_factor : one_direction_repeat_factor, ObjectHelper<two_direction_repeat_factor,1> { two_direction_repeat_factor() : Object("two_direction_repeat_factor") {}
6205 		Lazy< vector > second_repeat_factor;
6206     };
6207 
6208     // C++ wrapper for unary_generic_expression
unary_generic_expressionunary_generic_expression6209     struct unary_generic_expression : generic_expression, ObjectHelper<unary_generic_expression,1> { unary_generic_expression() : Object("unary_generic_expression") {}
6210 		Lazy< generic_expression > operand;
6211     };
6212 
6213     // C++ wrapper for unary_numeric_expression
unary_numeric_expressionunary_numeric_expression6214     struct unary_numeric_expression :  ObjectHelper<unary_numeric_expression,0> { unary_numeric_expression() : Object("unary_numeric_expression") {}
6215 
6216     };
6217 
6218     // C++ wrapper for uncertainty_assigned_representation
uncertainty_assigned_representationuncertainty_assigned_representation6219     struct uncertainty_assigned_representation : representation, ObjectHelper<uncertainty_assigned_representation,1> { uncertainty_assigned_representation() : Object("uncertainty_assigned_representation") {}
6220 		ListOf< Lazy< uncertainty_measure_with_unit >, 1, 0 > uncertainty;
6221     };
6222 
6223     // C++ wrapper for uncertainty_measure_with_unit
uncertainty_measure_with_unituncertainty_measure_with_unit6224     struct uncertainty_measure_with_unit : measure_with_unit, ObjectHelper<uncertainty_measure_with_unit,2> { uncertainty_measure_with_unit() : Object("uncertainty_measure_with_unit") {}
6225 		label::Out name;
6226 		Maybe< text::Out > description;
6227     };
6228 
6229     // C++ wrapper for uniform_curve
uniform_curveuniform_curve6230     struct uniform_curve : b_spline_curve, ObjectHelper<uniform_curve,0> { uniform_curve() : Object("uniform_curve") {}
6231 
6232     };
6233 
6234     // C++ wrapper for uniform_resource_identifier
uniform_resource_identifieruniform_resource_identifier6235     struct uniform_resource_identifier : descriptive_representation_item, ObjectHelper<uniform_resource_identifier,0> { uniform_resource_identifier() : Object("uniform_resource_identifier") {}
6236 
6237     };
6238 
6239     // C++ wrapper for uniform_surface
uniform_surfaceuniform_surface6240     struct uniform_surface : b_spline_surface, ObjectHelper<uniform_surface,0> { uniform_surface() : Object("uniform_surface") {}
6241 
6242     };
6243 
6244     // C++ wrapper for usage_association
usage_associationusage_association6245     struct usage_association : action_method_relationship, ObjectHelper<usage_association,0> { usage_association() : Object("usage_association") {}
6246 
6247     };
6248 
6249     // C++ wrapper for user_defined_curve_font
user_defined_curve_fontuser_defined_curve_font6250     struct user_defined_curve_font :  ObjectHelper<user_defined_curve_font,0> { user_defined_curve_font() : Object("user_defined_curve_font") {}
6251 
6252     };
6253 
6254     // C++ wrapper for user_defined_marker
user_defined_markeruser_defined_marker6255     struct user_defined_marker :  ObjectHelper<user_defined_marker,0> { user_defined_marker() : Object("user_defined_marker") {}
6256 
6257     };
6258 
6259     // C++ wrapper for user_defined_terminator_symbol
user_defined_terminator_symboluser_defined_terminator_symbol6260     struct user_defined_terminator_symbol :  ObjectHelper<user_defined_terminator_symbol,0> { user_defined_terminator_symbol() : Object("user_defined_terminator_symbol") {}
6261 
6262     };
6263 
6264     // C++ wrapper for user_selected_shape_elements
user_selected_shape_elementsuser_selected_shape_elements6265     struct user_selected_shape_elements : user_selected_elements, ObjectHelper<user_selected_shape_elements,0> { user_selected_shape_elements() : Object("user_selected_shape_elements") {}
6266 
6267     };
6268 
6269     // C++ wrapper for value_range
value_rangevalue_range6270     struct value_range : compound_representation_item, ObjectHelper<value_range,0> { value_range() : Object("value_range") {}
6271 
6272     };
6273 
6274     // C++ wrapper for value_representation_item
value_representation_itemvalue_representation_item6275     struct value_representation_item : representation_item, ObjectHelper<value_representation_item,1> { value_representation_item() : Object("value_representation_item") {}
6276 		measure_value::Out value_component;
6277     };
6278 
6279     // C++ wrapper for variable_semantics
variable_semanticsvariable_semantics6280     struct variable_semantics :  ObjectHelper<variable_semantics,0> { variable_semantics() : Object("variable_semantics") {}
6281 
6282     };
6283 
6284     // C++ wrapper for variational_representation_item
variational_representation_itemvariational_representation_item6285     struct variational_representation_item : representation_item, ObjectHelper<variational_representation_item,0> { variational_representation_item() : Object("variational_representation_item") {}
6286 
6287     };
6288 
6289     // C++ wrapper for vector
vectorvector6290     struct vector : geometric_representation_item, ObjectHelper<vector,2> { vector() : Object("vector") {}
6291 		Lazy< direction > orientation;
6292 		length_measure::Out magnitude;
6293     };
6294 
6295     // C++ wrapper for vector_style
vector_stylevector_style6296     struct vector_style :  ObjectHelper<vector_style,0> { vector_style() : Object("vector_style") {}
6297 
6298     };
6299 
6300     // C++ wrapper for velocity_measure_with_unit
velocity_measure_with_unitvelocity_measure_with_unit6301     struct velocity_measure_with_unit : measure_with_unit, ObjectHelper<velocity_measure_with_unit,0> { velocity_measure_with_unit() : Object("velocity_measure_with_unit") {}
6302 
6303     };
6304 
6305     // C++ wrapper for velocity_unit
velocity_unitvelocity_unit6306     struct velocity_unit : derived_unit, ObjectHelper<velocity_unit,0> { velocity_unit() : Object("velocity_unit") {}
6307 
6308     };
6309 
6310     // C++ wrapper for vertex
vertexvertex6311     struct vertex : topological_representation_item, ObjectHelper<vertex,0> { vertex() : Object("vertex") {}
6312 
6313     };
6314 
6315     // C++ wrapper for vertex_loop
vertex_loopvertex_loop6316     struct vertex_loop : loop, ObjectHelper<vertex_loop,1> { vertex_loop() : Object("vertex_loop") {}
6317 		Lazy< vertex > loop_vertex;
6318     };
6319 
6320     // C++ wrapper for vertex_point
vertex_pointvertex_point6321     struct vertex_point :  ObjectHelper<vertex_point,1> { vertex_point() : Object("vertex_point") {}
6322 		Lazy< point > vertex_geometry;
6323     };
6324 
6325     // C++ wrapper for vertex_shell
vertex_shellvertex_shell6326     struct vertex_shell : topological_representation_item, ObjectHelper<vertex_shell,1> { vertex_shell() : Object("vertex_shell") {}
6327 		Lazy< vertex_loop > vertex_shell_extent;
6328     };
6329 
6330     // C++ wrapper for view_volume
view_volumeview_volume6331     struct view_volume : founded_item, ObjectHelper<view_volume,9> { view_volume() : Object("view_volume") {}
6332 		central_or_parallel::Out projection_type;
6333 		Lazy< cartesian_point > projection_point;
6334 		length_measure::Out view_plane_distance;
6335 		length_measure::Out front_plane_distance;
6336 		BOOLEAN::Out front_plane_clipping;
6337 		length_measure::Out back_plane_distance;
6338 		BOOLEAN::Out back_plane_clipping;
6339 		BOOLEAN::Out view_volume_sides_clipping;
6340 		Lazy< planar_box > view_window;
6341     };
6342 
6343     // C++ wrapper for visual_appearance_representation
visual_appearance_representationvisual_appearance_representation6344     struct visual_appearance_representation : representation, ObjectHelper<visual_appearance_representation,0> { visual_appearance_representation() : Object("visual_appearance_representation") {}
6345 
6346     };
6347 
6348     // C++ wrapper for volume_measure_with_unit
volume_measure_with_unitvolume_measure_with_unit6349     struct volume_measure_with_unit : measure_with_unit, ObjectHelper<volume_measure_with_unit,0> { volume_measure_with_unit() : Object("volume_measure_with_unit") {}
6350 
6351     };
6352 
6353     // C++ wrapper for volume_unit
volume_unitvolume_unit6354     struct volume_unit : derived_unit, ObjectHelper<volume_unit,0> { volume_unit() : Object("volume_unit") {}
6355 
6356     };
6357 
6358     // C++ wrapper for week_of_year_and_day_date
week_of_year_and_day_dateweek_of_year_and_day_date6359     struct week_of_year_and_day_date : date, ObjectHelper<week_of_year_and_day_date,2> { week_of_year_and_day_date() : Object("week_of_year_and_day_date") {}
6360 		week_in_year_number::Out week_component;
6361 		Maybe< day_in_week_number::Out > day_component;
6362     };
6363 
6364     // C++ wrapper for wire_shell
wire_shellwire_shell6365     struct wire_shell : topological_representation_item, ObjectHelper<wire_shell,1> { wire_shell() : Object("wire_shell") {}
6366 		ListOf< Lazy< loop >, 1, 0 > wire_shell_extent;
6367     };
6368 
6369     // C++ wrapper for year_month
year_monthyear_month6370     struct year_month : date, ObjectHelper<year_month,1> { year_month() : Object("year_month") {}
6371 		month_in_year_number::Out month_component;
6372     };
6373 
6374 	void GetSchema(EXPRESS::ConversionSchema& out);
6375 
6376 } //! StepFile
6377 namespace STEP {
6378 
6379 	// ******************************************************************************
6380 	// Converter stubs
6381 	// ******************************************************************************
6382 
6383 #define DECL_CONV_STUB(type) template <> size_t GenericFill<StepFile::type>(const STEP::DB& db, const EXPRESS::LIST& params, StepFile::type* in)
6384 
6385 	DECL_CONV_STUB(measure_with_unit);
6386 	DECL_CONV_STUB(absorbed_dose_measure_with_unit);
6387 	DECL_CONV_STUB(derived_unit);
6388 	DECL_CONV_STUB(absorbed_dose_unit);
6389 	DECL_CONV_STUB(abstract_variable);
6390 	DECL_CONV_STUB(acceleration_measure_with_unit);
6391 	DECL_CONV_STUB(acceleration_unit);
6392 	DECL_CONV_STUB(action);
6393 	DECL_CONV_STUB(action_assignment);
6394 	DECL_CONV_STUB(action_method);
6395 	DECL_CONV_STUB(action_method_assignment);
6396 	DECL_CONV_STUB(action_method_relationship);
6397 	DECL_CONV_STUB(action_request_assignment);
6398 	DECL_CONV_STUB(address);
6399 	DECL_CONV_STUB(representation);
6400 	DECL_CONV_STUB(shape_representation);
6401 	DECL_CONV_STUB(advanced_brep_shape_representation);
6402 	DECL_CONV_STUB(face_surface);
6403 	DECL_CONV_STUB(advanced_face);
6404 	DECL_CONV_STUB(amount_of_substance_measure_with_unit);
6405 	DECL_CONV_STUB(named_unit);
6406 	DECL_CONV_STUB(amount_of_substance_unit);
6407 	DECL_CONV_STUB(angle_direction_reference);
6408 	DECL_CONV_STUB(representation_item);
6409 	DECL_CONV_STUB(geometric_representation_item);
6410 	DECL_CONV_STUB(draughting_callout);
6411 	DECL_CONV_STUB(dimension_curve_directed_callout);
6412 	DECL_CONV_STUB(angular_dimension);
6413 	DECL_CONV_STUB(shape_aspect_relationship);
6414 	DECL_CONV_STUB(dimensional_location);
6415 	DECL_CONV_STUB(angular_location);
6416 	DECL_CONV_STUB(dimensional_size);
6417 	DECL_CONV_STUB(angular_size);
6418 	DECL_CONV_STUB(geometric_tolerance);
6419 	DECL_CONV_STUB(geometric_tolerance_with_datum_reference);
6420 	DECL_CONV_STUB(angularity_tolerance);
6421 	DECL_CONV_STUB(styled_item);
6422 	DECL_CONV_STUB(annotation_occurrence);
6423 	DECL_CONV_STUB(annotation_curve_occurrence);
6424 	DECL_CONV_STUB(annotation_fill_area);
6425 	DECL_CONV_STUB(annotation_fill_area_occurrence);
6426 	DECL_CONV_STUB(annotation_occurrence_relationship);
6427 	DECL_CONV_STUB(annotation_occurrence_associativity);
6428 	DECL_CONV_STUB(annotation_plane);
6429 	DECL_CONV_STUB(annotation_symbol_occurrence);
6430 	DECL_CONV_STUB(annotation_subfigure_occurrence);
6431 	DECL_CONV_STUB(mapped_item);
6432 	DECL_CONV_STUB(annotation_symbol);
6433 	DECL_CONV_STUB(annotation_text);
6434 	DECL_CONV_STUB(annotation_text_character);
6435 	DECL_CONV_STUB(annotation_text_occurrence);
6436 	DECL_CONV_STUB(shape_aspect);
6437 	DECL_CONV_STUB(derived_shape_aspect);
6438 	DECL_CONV_STUB(apex);
6439 	DECL_CONV_STUB(application_context_element);
6440 	DECL_CONV_STUB(applied_action_assignment);
6441 	DECL_CONV_STUB(applied_action_method_assignment);
6442 	DECL_CONV_STUB(applied_action_request_assignment);
6443 	DECL_CONV_STUB(approval_assignment);
6444 	DECL_CONV_STUB(applied_approval_assignment);
6445 	DECL_CONV_STUB(attribute_classification_assignment);
6446 	DECL_CONV_STUB(applied_attribute_classification_assignment);
6447 	DECL_CONV_STUB(certification_assignment);
6448 	DECL_CONV_STUB(applied_certification_assignment);
6449 	DECL_CONV_STUB(classification_assignment);
6450 	DECL_CONV_STUB(applied_classification_assignment);
6451 	DECL_CONV_STUB(contract_assignment);
6452 	DECL_CONV_STUB(applied_contract_assignment);
6453 	DECL_CONV_STUB(date_and_time_assignment);
6454 	DECL_CONV_STUB(applied_date_and_time_assignment);
6455 	DECL_CONV_STUB(date_assignment);
6456 	DECL_CONV_STUB(applied_date_assignment);
6457 	DECL_CONV_STUB(document_reference);
6458 	DECL_CONV_STUB(applied_document_reference);
6459 	DECL_CONV_STUB(document_usage_constraint_assignment);
6460 	DECL_CONV_STUB(applied_document_usage_constraint_assignment);
6461 	DECL_CONV_STUB(effectivity_assignment);
6462 	DECL_CONV_STUB(applied_effectivity_assignment);
6463 	DECL_CONV_STUB(event_occurrence_assignment);
6464 	DECL_CONV_STUB(applied_event_occurrence_assignment);
6465 	DECL_CONV_STUB(identification_assignment);
6466 	DECL_CONV_STUB(external_identification_assignment);
6467 	DECL_CONV_STUB(applied_external_identification_assignment);
6468 	DECL_CONV_STUB(group_assignment);
6469 	DECL_CONV_STUB(applied_group_assignment);
6470 	DECL_CONV_STUB(applied_identification_assignment);
6471 	DECL_CONV_STUB(name_assignment);
6472 	DECL_CONV_STUB(applied_name_assignment);
6473 	DECL_CONV_STUB(organization_assignment);
6474 	DECL_CONV_STUB(applied_organization_assignment);
6475 	DECL_CONV_STUB(organizational_project_assignment);
6476 	DECL_CONV_STUB(applied_organizational_project_assignment);
6477 	DECL_CONV_STUB(person_and_organization_assignment);
6478 	DECL_CONV_STUB(applied_person_and_organization_assignment);
6479 	DECL_CONV_STUB(presented_item);
6480 	DECL_CONV_STUB(applied_presented_item);
6481 	DECL_CONV_STUB(security_classification_assignment);
6482 	DECL_CONV_STUB(applied_security_classification_assignment);
6483 	DECL_CONV_STUB(time_interval_assignment);
6484 	DECL_CONV_STUB(applied_time_interval_assignment);
6485 	DECL_CONV_STUB(applied_usage_right);
6486 	DECL_CONV_STUB(area_in_set);
6487 	DECL_CONV_STUB(area_measure_with_unit);
6488 	DECL_CONV_STUB(area_unit);
6489 	DECL_CONV_STUB(product_definition_relationship);
6490 	DECL_CONV_STUB(product_definition_usage);
6491 	DECL_CONV_STUB(assembly_component_usage);
6492 	DECL_CONV_STUB(assigned_requirement);
6493 	DECL_CONV_STUB(compound_representation_item);
6494 	DECL_CONV_STUB(atomic_formula);
6495 	DECL_CONV_STUB(attribute_assertion);
6496 	DECL_CONV_STUB(attribute_language_assignment);
6497 	DECL_CONV_STUB(attribute_value_assignment);
6498 	DECL_CONV_STUB(auxiliary_geometric_representation_item);
6499 	DECL_CONV_STUB(placement);
6500 	DECL_CONV_STUB(axis1_placement);
6501 	DECL_CONV_STUB(axis2_placement_2d);
6502 	DECL_CONV_STUB(axis2_placement_3d);
6503 	DECL_CONV_STUB(curve);
6504 	DECL_CONV_STUB(bounded_curve);
6505 	DECL_CONV_STUB(b_spline_curve);
6506 	DECL_CONV_STUB(b_spline_curve_with_knots);
6507 	DECL_CONV_STUB(surface);
6508 	DECL_CONV_STUB(bounded_surface);
6509 	DECL_CONV_STUB(b_spline_surface);
6510 	DECL_CONV_STUB(b_spline_surface_with_knots);
6511 	DECL_CONV_STUB(product_definition);
6512 	DECL_CONV_STUB(rule_software_definition);
6513 	DECL_CONV_STUB(rule_definition);
6514 	DECL_CONV_STUB(back_chaining_rule);
6515 	DECL_CONV_STUB(back_chaining_rule_body);
6516 	DECL_CONV_STUB(colour);
6517 	DECL_CONV_STUB(background_colour);
6518 	DECL_CONV_STUB(beveled_sheet_representation);
6519 	DECL_CONV_STUB(bezier_curve);
6520 	DECL_CONV_STUB(bezier_surface);
6521 	DECL_CONV_STUB(generic_expression);
6522 	DECL_CONV_STUB(binary_generic_expression);
6523 	DECL_CONV_STUB(binary_numeric_expression);
6524 	DECL_CONV_STUB(binary_representation_item);
6525 	DECL_CONV_STUB(block);
6526 	DECL_CONV_STUB(expression);
6527 	DECL_CONV_STUB(boolean_expression);
6528 	DECL_CONV_STUB(boolean_literal);
6529 	DECL_CONV_STUB(boolean_representation_item);
6530 	DECL_CONV_STUB(boolean_result);
6531 	DECL_CONV_STUB(composite_curve);
6532 	DECL_CONV_STUB(composite_curve_on_surface);
6533 	DECL_CONV_STUB(boundary_curve);
6534 	DECL_CONV_STUB(bounded_pcurve);
6535 	DECL_CONV_STUB(bounded_surface_curve);
6536 	DECL_CONV_STUB(founded_item);
6537 	DECL_CONV_STUB(box_domain);
6538 	DECL_CONV_STUB(half_space_solid);
6539 	DECL_CONV_STUB(boxed_half_space);
6540 	DECL_CONV_STUB(breakdown_context);
6541 	DECL_CONV_STUB(breakdown_element_group_assignment);
6542 	DECL_CONV_STUB(breakdown_element_realization);
6543 	DECL_CONV_STUB(breakdown_element_usage);
6544 	DECL_CONV_STUB(breakdown_of);
6545 	DECL_CONV_STUB(solid_model);
6546 	DECL_CONV_STUB(manifold_solid_brep);
6547 	DECL_CONV_STUB(brep_with_voids);
6548 	DECL_CONV_STUB(bytes_representation_item);
6549 	DECL_CONV_STUB(date);
6550 	DECL_CONV_STUB(calendar_date);
6551 	DECL_CONV_STUB(camera_image);
6552 	DECL_CONV_STUB(camera_image_3d_with_scale);
6553 	DECL_CONV_STUB(camera_model);
6554 	DECL_CONV_STUB(camera_model_d3);
6555 	DECL_CONV_STUB(camera_model_d3_multi_clipping);
6556 	DECL_CONV_STUB(camera_model_d3_multi_clipping_intersection);
6557 	DECL_CONV_STUB(camera_model_d3_multi_clipping_union);
6558 	DECL_CONV_STUB(camera_model_d3_with_hlhsr);
6559 	DECL_CONV_STUB(camera_model_with_light_sources);
6560 	DECL_CONV_STUB(representation_map);
6561 	DECL_CONV_STUB(camera_usage);
6562 	DECL_CONV_STUB(capacitance_measure_with_unit);
6563 	DECL_CONV_STUB(capacitance_unit);
6564 	DECL_CONV_STUB(point);
6565 	DECL_CONV_STUB(cartesian_point);
6566 	DECL_CONV_STUB(cartesian_transformation_operator);
6567 	DECL_CONV_STUB(cartesian_transformation_operator_2d);
6568 	DECL_CONV_STUB(cartesian_transformation_operator_3d);
6569 	DECL_CONV_STUB(cc_design_approval);
6570 	DECL_CONV_STUB(cc_design_certification);
6571 	DECL_CONV_STUB(cc_design_contract);
6572 	DECL_CONV_STUB(cc_design_date_and_time_assignment);
6573 	DECL_CONV_STUB(cc_design_person_and_organization_assignment);
6574 	DECL_CONV_STUB(cc_design_security_classification);
6575 	DECL_CONV_STUB(cc_design_specification_reference);
6576 	DECL_CONV_STUB(celsius_temperature_measure_with_unit);
6577 	DECL_CONV_STUB(centre_of_symmetry);
6578 	DECL_CONV_STUB(change);
6579 	DECL_CONV_STUB(change_request);
6580 	DECL_CONV_STUB(character_glyph_style_outline);
6581 	DECL_CONV_STUB(character_glyph_style_stroke);
6582 	DECL_CONV_STUB(symbol_representation);
6583 	DECL_CONV_STUB(generic_character_glyph_symbol);
6584 	DECL_CONV_STUB(character_glyph_symbol);
6585 	DECL_CONV_STUB(character_glyph_symbol_outline);
6586 	DECL_CONV_STUB(character_glyph_symbol_stroke);
6587 	DECL_CONV_STUB(general_property);
6588 	DECL_CONV_STUB(characteristic_data_column_header);
6589 	DECL_CONV_STUB(general_property_relationship);
6590 	DECL_CONV_STUB(characteristic_data_column_header_link);
6591 	DECL_CONV_STUB(characteristic_data_table_header);
6592 	DECL_CONV_STUB(characteristic_data_table_header_decomposition);
6593 	DECL_CONV_STUB(group);
6594 	DECL_CONV_STUB(characteristic_type);
6595 	DECL_CONV_STUB(characterized_class);
6596 	DECL_CONV_STUB(characterized_object);
6597 	DECL_CONV_STUB(conic);
6598 	DECL_CONV_STUB(circle);
6599 	DECL_CONV_STUB(circular_runout_tolerance);
6600 	DECL_CONV_STUB(class_by_extension);
6601 	DECL_CONV_STUB(class_by_intension);
6602 	DECL_CONV_STUB(class_system);
6603 	DECL_CONV_STUB(effectivity_context_assignment);
6604 	DECL_CONV_STUB(class_usage_effectivity_context_assignment);
6605 	DECL_CONV_STUB(topological_representation_item);
6606 	DECL_CONV_STUB(connected_face_set);
6607 	DECL_CONV_STUB(closed_shell);
6608 	DECL_CONV_STUB(coaxiality_tolerance);
6609 	DECL_CONV_STUB(colour_specification);
6610 	DECL_CONV_STUB(colour_rgb);
6611 	DECL_CONV_STUB(common_datum);
6612 	DECL_CONV_STUB(comparison_expression);
6613 	DECL_CONV_STUB(complex_clause);
6614 	DECL_CONV_STUB(complex_conjunctive_clause);
6615 	DECL_CONV_STUB(complex_disjunctive_clause);
6616 	DECL_CONV_STUB(modified_solid);
6617 	DECL_CONV_STUB(shelled_solid);
6618 	DECL_CONV_STUB(complex_shelled_solid);
6619 	DECL_CONV_STUB(composite_assembly_definition);
6620 	DECL_CONV_STUB(composite_assembly_sequence_definition);
6621 	DECL_CONV_STUB(laminate_table);
6622 	DECL_CONV_STUB(part_laminate_table);
6623 	DECL_CONV_STUB(composite_assembly_table);
6624 	DECL_CONV_STUB(composite_curve_segment);
6625 	DECL_CONV_STUB(material_designation);
6626 	DECL_CONV_STUB(composite_material_designation);
6627 	DECL_CONV_STUB(composite_shape_aspect);
6628 	DECL_CONV_STUB(composite_sheet_representation);
6629 	DECL_CONV_STUB(composite_text);
6630 	DECL_CONV_STUB(composite_text_with_associated_curves);
6631 	DECL_CONV_STUB(composite_text_with_blanking_box);
6632 	DECL_CONV_STUB(composite_text_with_delineation);
6633 	DECL_CONV_STUB(composite_text_with_extent);
6634 	DECL_CONV_STUB(compound_shape_representation);
6635 	DECL_CONV_STUB(concentricity_tolerance);
6636 	DECL_CONV_STUB(concept_feature_relationship);
6637 	DECL_CONV_STUB(concept_feature_relationship_with_condition);
6638 	DECL_CONV_STUB(product_concept_feature);
6639 	DECL_CONV_STUB(conditional_concept_feature);
6640 	DECL_CONV_STUB(conductance_measure_with_unit);
6641 	DECL_CONV_STUB(conductance_unit);
6642 	DECL_CONV_STUB(configuration_item);
6643 	DECL_CONV_STUB(configurable_item);
6644 	DECL_CONV_STUB(effectivity);
6645 	DECL_CONV_STUB(product_definition_effectivity);
6646 	DECL_CONV_STUB(configuration_effectivity);
6647 	DECL_CONV_STUB(configuration_item_relationship);
6648 	DECL_CONV_STUB(configuration_item_hierarchical_relationship);
6649 	DECL_CONV_STUB(configuration_item_revision_sequence);
6650 	DECL_CONV_STUB(configured_effectivity_assignment);
6651 	DECL_CONV_STUB(configured_effectivity_context_assignment);
6652 	DECL_CONV_STUB(conical_stepped_hole_transition);
6653 	DECL_CONV_STUB(elementary_surface);
6654 	DECL_CONV_STUB(conical_surface);
6655 	DECL_CONV_STUB(connected_edge_set);
6656 	DECL_CONV_STUB(connected_face_sub_set);
6657 	DECL_CONV_STUB(constructive_geometry_representation);
6658 	DECL_CONV_STUB(representation_relationship);
6659 	DECL_CONV_STUB(constructive_geometry_representation_relationship);
6660 	DECL_CONV_STUB(contact_ratio_representation);
6661 	DECL_CONV_STUB(invisibility);
6662 	DECL_CONV_STUB(context_dependent_invisibility);
6663 	DECL_CONV_STUB(over_riding_styled_item);
6664 	DECL_CONV_STUB(context_dependent_over_riding_styled_item);
6665 	DECL_CONV_STUB(context_dependent_unit);
6666 	DECL_CONV_STUB(conversion_based_unit);
6667 	DECL_CONV_STUB(csg_shape_representation);
6668 	DECL_CONV_STUB(csg_solid);
6669 	DECL_CONV_STUB(currency);
6670 	DECL_CONV_STUB(currency_measure_with_unit);
6671 	DECL_CONV_STUB(curve_bounded_surface);
6672 	DECL_CONV_STUB(curve_dimension);
6673 	DECL_CONV_STUB(curve_replica);
6674 	DECL_CONV_STUB(curve_style);
6675 	DECL_CONV_STUB(curve_style_font);
6676 	DECL_CONV_STUB(curve_style_font_and_scaling);
6677 	DECL_CONV_STUB(curve_style_font_pattern);
6678 	DECL_CONV_STUB(curve_swept_solid_shape_representation);
6679 	DECL_CONV_STUB(cylindrical_surface);
6680 	DECL_CONV_STUB(cylindricity_tolerance);
6681 	DECL_CONV_STUB(date_representation_item);
6682 	DECL_CONV_STUB(date_time_representation_item);
6683 	DECL_CONV_STUB(dated_effectivity);
6684 	DECL_CONV_STUB(datum);
6685 	DECL_CONV_STUB(datum_feature);
6686 	DECL_CONV_STUB(datum_feature_callout);
6687 	DECL_CONV_STUB(datum_reference);
6688 	DECL_CONV_STUB(datum_target);
6689 	DECL_CONV_STUB(datum_target_callout);
6690 	DECL_CONV_STUB(default_tolerance_table);
6691 	DECL_CONV_STUB(default_tolerance_table_cell);
6692 	DECL_CONV_STUB(defined_symbol);
6693 	DECL_CONV_STUB(definitional_representation);
6694 	DECL_CONV_STUB(definitional_representation_relationship);
6695 	DECL_CONV_STUB(definitional_representation_relationship_with_same_context);
6696 	DECL_CONV_STUB(degenerate_pcurve);
6697 	DECL_CONV_STUB(toroidal_surface);
6698 	DECL_CONV_STUB(degenerate_toroidal_surface);
6699 	DECL_CONV_STUB(descriptive_representation_item);
6700 	DECL_CONV_STUB(product_definition_context);
6701 	DECL_CONV_STUB(design_context);
6702 	DECL_CONV_STUB(design_make_from_relationship);
6703 	DECL_CONV_STUB(diameter_dimension);
6704 	DECL_CONV_STUB(ratio_measure_with_unit);
6705 	DECL_CONV_STUB(dielectric_constant_measure_with_unit);
6706 	DECL_CONV_STUB(dimension_callout);
6707 	DECL_CONV_STUB(draughting_callout_relationship);
6708 	DECL_CONV_STUB(dimension_callout_component_relationship);
6709 	DECL_CONV_STUB(dimension_callout_relationship);
6710 	DECL_CONV_STUB(dimension_curve);
6711 	DECL_CONV_STUB(terminator_symbol);
6712 	DECL_CONV_STUB(dimension_curve_terminator);
6713 	DECL_CONV_STUB(dimension_curve_terminator_to_projection_curve_associativity);
6714 	DECL_CONV_STUB(dimension_pair);
6715 	DECL_CONV_STUB(dimension_text_associativity);
6716 	DECL_CONV_STUB(dimensional_location_with_path);
6717 	DECL_CONV_STUB(dimensional_size_with_path);
6718 	DECL_CONV_STUB(executed_action);
6719 	DECL_CONV_STUB(directed_action);
6720 	DECL_CONV_STUB(directed_dimensional_location);
6721 	DECL_CONV_STUB(direction);
6722 	DECL_CONV_STUB(document_file);
6723 	DECL_CONV_STUB(document_identifier);
6724 	DECL_CONV_STUB(document_identifier_assignment);
6725 	DECL_CONV_STUB(document_product_association);
6726 	DECL_CONV_STUB(document_product_equivalence);
6727 	DECL_CONV_STUB(dose_equivalent_measure_with_unit);
6728 	DECL_CONV_STUB(dose_equivalent_unit);
6729 	DECL_CONV_STUB(double_offset_shelled_solid);
6730 	DECL_CONV_STUB(item_defined_transformation);
6731 	DECL_CONV_STUB(transformation_with_derived_angle);
6732 	DECL_CONV_STUB(draped_defined_transformation);
6733 	DECL_CONV_STUB(draughting_annotation_occurrence);
6734 	DECL_CONV_STUB(draughting_elements);
6735 	DECL_CONV_STUB(draughting_model);
6736 	DECL_CONV_STUB(item_identified_representation_usage);
6737 	DECL_CONV_STUB(draughting_model_item_association);
6738 	DECL_CONV_STUB(pre_defined_colour);
6739 	DECL_CONV_STUB(draughting_pre_defined_colour);
6740 	DECL_CONV_STUB(pre_defined_item);
6741 	DECL_CONV_STUB(pre_defined_curve_font);
6742 	DECL_CONV_STUB(draughting_pre_defined_curve_font);
6743 	DECL_CONV_STUB(pre_defined_text_font);
6744 	DECL_CONV_STUB(draughting_pre_defined_text_font);
6745 	DECL_CONV_STUB(draughting_subfigure_representation);
6746 	DECL_CONV_STUB(draughting_symbol_representation);
6747 	DECL_CONV_STUB(text_literal);
6748 	DECL_CONV_STUB(text_literal_with_delineation);
6749 	DECL_CONV_STUB(draughting_text_literal_with_delineation);
6750 	DECL_CONV_STUB(presentation_set);
6751 	DECL_CONV_STUB(drawing_revision);
6752 	DECL_CONV_STUB(presentation_representation);
6753 	DECL_CONV_STUB(presentation_area);
6754 	DECL_CONV_STUB(drawing_sheet_revision);
6755 	DECL_CONV_STUB(drawing_sheet_revision_sequence);
6756 	DECL_CONV_STUB(drawing_sheet_revision_usage);
6757 	DECL_CONV_STUB(edge);
6758 	DECL_CONV_STUB(edge_based_wireframe_model);
6759 	DECL_CONV_STUB(edge_based_wireframe_shape_representation);
6760 	DECL_CONV_STUB(edge_blended_solid);
6761 	DECL_CONV_STUB(edge_curve);
6762 	DECL_CONV_STUB(edge_loop);
6763 	DECL_CONV_STUB(electric_charge_measure_with_unit);
6764 	DECL_CONV_STUB(electric_charge_unit);
6765 	DECL_CONV_STUB(electric_current_measure_with_unit);
6766 	DECL_CONV_STUB(electric_current_unit);
6767 	DECL_CONV_STUB(electric_potential_measure_with_unit);
6768 	DECL_CONV_STUB(electric_potential_unit);
6769 	DECL_CONV_STUB(elementary_brep_shape_representation);
6770 	DECL_CONV_STUB(ellipse);
6771 	DECL_CONV_STUB(energy_measure_with_unit);
6772 	DECL_CONV_STUB(energy_unit);
6773 	DECL_CONV_STUB(property_definition);
6774 	DECL_CONV_STUB(fact_type);
6775 	DECL_CONV_STUB(entity_assertion);
6776 	DECL_CONV_STUB(enum_reference_prefix);
6777 	DECL_CONV_STUB(evaluated_characteristic);
6778 	DECL_CONV_STUB(evaluated_degenerate_pcurve);
6779 	DECL_CONV_STUB(evaluation_product_definition);
6780 	DECL_CONV_STUB(event_occurrence);
6781 	DECL_CONV_STUB(product_concept_feature_category);
6782 	DECL_CONV_STUB(exclusive_product_concept_feature_category);
6783 	DECL_CONV_STUB(uncertainty_qualifier);
6784 	DECL_CONV_STUB(standard_uncertainty);
6785 	DECL_CONV_STUB(expanded_uncertainty);
6786 	DECL_CONV_STUB(representation_item_relationship);
6787 	DECL_CONV_STUB(explicit_procedural_representation_item_relationship);
6788 	DECL_CONV_STUB(explicit_procedural_geometric_representation_item_relationship);
6789 	DECL_CONV_STUB(explicit_procedural_representation_relationship);
6790 	DECL_CONV_STUB(explicit_procedural_shape_representation_relationship);
6791 	DECL_CONV_STUB(expression_conversion_based_unit);
6792 	DECL_CONV_STUB(extension);
6793 	DECL_CONV_STUB(extent);
6794 	DECL_CONV_STUB(external_source);
6795 	DECL_CONV_STUB(external_class_library);
6796 	DECL_CONV_STUB(externally_defined_class);
6797 	DECL_CONV_STUB(externally_defined_colour);
6798 	DECL_CONV_STUB(externally_defined_context_dependent_unit);
6799 	DECL_CONV_STUB(externally_defined_conversion_based_unit);
6800 	DECL_CONV_STUB(externally_defined_currency);
6801 	DECL_CONV_STUB(externally_defined_item);
6802 	DECL_CONV_STUB(externally_defined_curve_font);
6803 	DECL_CONV_STUB(externally_defined_dimension_definition);
6804 	DECL_CONV_STUB(externally_defined_general_property);
6805 	DECL_CONV_STUB(externally_defined_hatch_style);
6806 	DECL_CONV_STUB(externally_defined_marker);
6807 	DECL_CONV_STUB(picture_representation_item);
6808 	DECL_CONV_STUB(externally_defined_picture_representation_item);
6809 	DECL_CONV_STUB(externally_defined_representation_item);
6810 	DECL_CONV_STUB(externally_defined_string);
6811 	DECL_CONV_STUB(externally_defined_symbol);
6812 	DECL_CONV_STUB(externally_defined_terminator_symbol);
6813 	DECL_CONV_STUB(externally_defined_text_font);
6814 	DECL_CONV_STUB(externally_defined_tile);
6815 	DECL_CONV_STUB(externally_defined_tile_style);
6816 	DECL_CONV_STUB(swept_area_solid);
6817 	DECL_CONV_STUB(extruded_area_solid);
6818 	DECL_CONV_STUB(swept_face_solid);
6819 	DECL_CONV_STUB(extruded_face_solid);
6820 	DECL_CONV_STUB(extruded_face_solid_with_trim_conditions);
6821 	DECL_CONV_STUB(extruded_face_solid_with_draft_angle);
6822 	DECL_CONV_STUB(extruded_face_solid_with_multiple_draft_angles);
6823 	DECL_CONV_STUB(face);
6824 	DECL_CONV_STUB(face_based_surface_model);
6825 	DECL_CONV_STUB(face_bound);
6826 	DECL_CONV_STUB(face_outer_bound);
6827 	DECL_CONV_STUB(faceted_brep);
6828 	DECL_CONV_STUB(faceted_brep_shape_representation);
6829 	DECL_CONV_STUB(fill_area_style);
6830 	DECL_CONV_STUB(fill_area_style_hatching);
6831 	DECL_CONV_STUB(fill_area_style_tile_coloured_region);
6832 	DECL_CONV_STUB(fill_area_style_tile_curve_with_style);
6833 	DECL_CONV_STUB(fill_area_style_tile_symbol_with_style);
6834 	DECL_CONV_STUB(fill_area_style_tiles);
6835 	DECL_CONV_STUB(shape_representation_relationship);
6836 	DECL_CONV_STUB(flat_pattern_ply_representation_relationship);
6837 	DECL_CONV_STUB(flatness_tolerance);
6838 	DECL_CONV_STUB(force_measure_with_unit);
6839 	DECL_CONV_STUB(force_unit);
6840 	DECL_CONV_STUB(forward_chaining_rule);
6841 	DECL_CONV_STUB(forward_chaining_rule_premise);
6842 	DECL_CONV_STUB(frequency_measure_with_unit);
6843 	DECL_CONV_STUB(frequency_unit);
6844 	DECL_CONV_STUB(func);
6845 	DECL_CONV_STUB(functional_breakdown_context);
6846 	DECL_CONV_STUB(functional_element_usage);
6847 	DECL_CONV_STUB(general_material_property);
6848 	DECL_CONV_STUB(simple_generic_expression);
6849 	DECL_CONV_STUB(generic_literal);
6850 	DECL_CONV_STUB(generic_variable);
6851 	DECL_CONV_STUB(geometric_alignment);
6852 	DECL_CONV_STUB(geometric_set);
6853 	DECL_CONV_STUB(geometric_curve_set);
6854 	DECL_CONV_STUB(geometric_intersection);
6855 	DECL_CONV_STUB(geometric_item_specific_usage);
6856 	DECL_CONV_STUB(geometric_model_element_relationship);
6857 	DECL_CONV_STUB(representation_context);
6858 	DECL_CONV_STUB(geometric_representation_context);
6859 	DECL_CONV_STUB(geometric_tolerance_with_defined_unit);
6860 	DECL_CONV_STUB(geometrical_tolerance_callout);
6861 	DECL_CONV_STUB(geometrically_bounded_2d_wireframe_representation);
6862 	DECL_CONV_STUB(geometrically_bounded_surface_shape_representation);
6863 	DECL_CONV_STUB(geometrically_bounded_wireframe_shape_representation);
6864 	DECL_CONV_STUB(global_assignment);
6865 	DECL_CONV_STUB(global_uncertainty_assigned_context);
6866 	DECL_CONV_STUB(global_unit_assigned_context);
6867 	DECL_CONV_STUB(ground_fact);
6868 	DECL_CONV_STUB(hardness_representation);
6869 	DECL_CONV_STUB(hidden_element_over_riding_styled_item);
6870 	DECL_CONV_STUB(hyperbola);
6871 	DECL_CONV_STUB(illuminance_measure_with_unit);
6872 	DECL_CONV_STUB(illuminance_unit);
6873 	DECL_CONV_STUB(included_text_block);
6874 	DECL_CONV_STUB(inclusion_product_concept_feature);
6875 	DECL_CONV_STUB(user_selected_elements);
6876 	DECL_CONV_STUB(indirectly_selected_elements);
6877 	DECL_CONV_STUB(indirectly_selected_shape_elements);
6878 	DECL_CONV_STUB(inductance_measure_with_unit);
6879 	DECL_CONV_STUB(inductance_unit);
6880 	DECL_CONV_STUB(information_right);
6881 	DECL_CONV_STUB(information_usage_right);
6882 	DECL_CONV_STUB(instance_usage_context_assignment);
6883 	DECL_CONV_STUB(instanced_feature);
6884 	DECL_CONV_STUB(literal_number);
6885 	DECL_CONV_STUB(int_literal);
6886 	DECL_CONV_STUB(integer_representation_item);
6887 	DECL_CONV_STUB(surface_curve);
6888 	DECL_CONV_STUB(intersection_curve);
6889 	DECL_CONV_STUB(interval_expression);
6890 	DECL_CONV_STUB(iso4217_currency);
6891 	DECL_CONV_STUB(known_source);
6892 	DECL_CONV_STUB(laid_defined_transformation);
6893 	DECL_CONV_STUB(language);
6894 	DECL_CONV_STUB(leader_curve);
6895 	DECL_CONV_STUB(leader_directed_callout);
6896 	DECL_CONV_STUB(leader_directed_dimension);
6897 	DECL_CONV_STUB(leader_terminator);
6898 	DECL_CONV_STUB(length_measure_with_unit);
6899 	DECL_CONV_STUB(length_unit);
6900 	DECL_CONV_STUB(light_source);
6901 	DECL_CONV_STUB(light_source_ambient);
6902 	DECL_CONV_STUB(light_source_directional);
6903 	DECL_CONV_STUB(light_source_positional);
6904 	DECL_CONV_STUB(light_source_spot);
6905 	DECL_CONV_STUB(line);
6906 	DECL_CONV_STUB(line_profile_tolerance);
6907 	DECL_CONV_STUB(linear_dimension);
6908 	DECL_CONV_STUB(simple_clause);
6909 	DECL_CONV_STUB(literal_conjunction);
6910 	DECL_CONV_STUB(literal_disjunction);
6911 	DECL_CONV_STUB(logical_literal);
6912 	DECL_CONV_STUB(logical_representation_item);
6913 	DECL_CONV_STUB(loop);
6914 	DECL_CONV_STUB(loss_tangent_measure_with_unit);
6915 	DECL_CONV_STUB(lot_effectivity);
6916 	DECL_CONV_STUB(luminous_flux_measure_with_unit);
6917 	DECL_CONV_STUB(luminous_flux_unit);
6918 	DECL_CONV_STUB(luminous_intensity_measure_with_unit);
6919 	DECL_CONV_STUB(luminous_intensity_unit);
6920 	DECL_CONV_STUB(magnetic_flux_density_measure_with_unit);
6921 	DECL_CONV_STUB(magnetic_flux_density_unit);
6922 	DECL_CONV_STUB(magnetic_flux_measure_with_unit);
6923 	DECL_CONV_STUB(magnetic_flux_unit);
6924 	DECL_CONV_STUB(make_from_usage_option);
6925 	DECL_CONV_STUB(manifold_subsurface_shape_representation);
6926 	DECL_CONV_STUB(manifold_surface_shape_representation);
6927 	DECL_CONV_STUB(mass_measure_with_unit);
6928 	DECL_CONV_STUB(mass_unit);
6929 	DECL_CONV_STUB(material_property);
6930 	DECL_CONV_STUB(property_definition_representation);
6931 	DECL_CONV_STUB(material_property_representation);
6932 	DECL_CONV_STUB(measure_representation_item);
6933 	DECL_CONV_STUB(product_context);
6934 	DECL_CONV_STUB(mechanical_context);
6935 	DECL_CONV_STUB(mechanical_design_and_draughting_relationship);
6936 	DECL_CONV_STUB(mechanical_design_geometric_presentation_area);
6937 	DECL_CONV_STUB(mechanical_design_geometric_presentation_representation);
6938 	DECL_CONV_STUB(mechanical_design_presentation_representation_with_draughting);
6939 	DECL_CONV_STUB(mechanical_design_shaded_presentation_area);
6940 	DECL_CONV_STUB(mechanical_design_shaded_presentation_representation);
6941 	DECL_CONV_STUB(min_and_major_ply_orientation_basis);
6942 	DECL_CONV_STUB(modified_geometric_tolerance);
6943 	DECL_CONV_STUB(modified_solid_with_placed_configuration);
6944 	DECL_CONV_STUB(moments_of_inertia_representation);
6945 	DECL_CONV_STUB(multi_language_attribute_assignment);
6946 	DECL_CONV_STUB(multiple_arity_boolean_expression);
6947 	DECL_CONV_STUB(multiple_arity_generic_expression);
6948 	DECL_CONV_STUB(multiple_arity_numeric_expression);
6949 	DECL_CONV_STUB(next_assembly_usage_occurrence);
6950 	DECL_CONV_STUB(non_manifold_surface_shape_representation);
6951 	DECL_CONV_STUB(null_representation_item);
6952 	DECL_CONV_STUB(numeric_expression);
6953 	DECL_CONV_STUB(offset_curve_2d);
6954 	DECL_CONV_STUB(offset_curve_3d);
6955 	DECL_CONV_STUB(offset_surface);
6956 	DECL_CONV_STUB(one_direction_repeat_factor);
6957 	DECL_CONV_STUB(open_shell);
6958 	DECL_CONV_STUB(ordinal_date);
6959 	DECL_CONV_STUB(projection_directed_callout);
6960 	DECL_CONV_STUB(ordinate_dimension);
6961 	DECL_CONV_STUB(organizational_address);
6962 	DECL_CONV_STUB(oriented_closed_shell);
6963 	DECL_CONV_STUB(oriented_edge);
6964 	DECL_CONV_STUB(oriented_face);
6965 	DECL_CONV_STUB(oriented_open_shell);
6966 	DECL_CONV_STUB(path);
6967 	DECL_CONV_STUB(oriented_path);
6968 	DECL_CONV_STUB(oriented_surface);
6969 	DECL_CONV_STUB(outer_boundary_curve);
6970 	DECL_CONV_STUB(package_product_concept_feature);
6971 	DECL_CONV_STUB(parabola);
6972 	DECL_CONV_STUB(parallel_offset);
6973 	DECL_CONV_STUB(parallelism_tolerance);
6974 	DECL_CONV_STUB(parametric_representation_context);
6975 	DECL_CONV_STUB(partial_document_with_structured_text_representation_assignment);
6976 	DECL_CONV_STUB(pcurve);
6977 	DECL_CONV_STUB(percentage_laminate_definition);
6978 	DECL_CONV_STUB(zone_structural_makeup);
6979 	DECL_CONV_STUB(percentage_laminate_table);
6980 	DECL_CONV_STUB(percentage_ply_definition);
6981 	DECL_CONV_STUB(perpendicular_to);
6982 	DECL_CONV_STUB(perpendicularity_tolerance);
6983 	DECL_CONV_STUB(person_and_organization_address);
6984 	DECL_CONV_STUB(personal_address);
6985 	DECL_CONV_STUB(physical_breakdown_context);
6986 	DECL_CONV_STUB(physical_element_usage);
6987 	DECL_CONV_STUB(presentation_view);
6988 	DECL_CONV_STUB(picture_representation);
6989 	DECL_CONV_STUB(placed_datum_target_feature);
6990 	DECL_CONV_STUB(placed_feature);
6991 	DECL_CONV_STUB(planar_extent);
6992 	DECL_CONV_STUB(planar_box);
6993 	DECL_CONV_STUB(plane);
6994 	DECL_CONV_STUB(plane_angle_measure_with_unit);
6995 	DECL_CONV_STUB(plane_angle_unit);
6996 	DECL_CONV_STUB(ply_laminate_definition);
6997 	DECL_CONV_STUB(ply_laminate_sequence_definition);
6998 	DECL_CONV_STUB(ply_laminate_table);
6999 	DECL_CONV_STUB(point_and_vector);
7000 	DECL_CONV_STUB(point_on_curve);
7001 	DECL_CONV_STUB(point_on_surface);
7002 	DECL_CONV_STUB(point_path);
7003 	DECL_CONV_STUB(point_replica);
7004 	DECL_CONV_STUB(point_style);
7005 	DECL_CONV_STUB(polar_complex_number_literal);
7006 	DECL_CONV_STUB(poly_loop);
7007 	DECL_CONV_STUB(polyline);
7008 	DECL_CONV_STUB(position_tolerance);
7009 	DECL_CONV_STUB(positioned_sketch);
7010 	DECL_CONV_STUB(power_measure_with_unit);
7011 	DECL_CONV_STUB(power_unit);
7012 	DECL_CONV_STUB(pre_defined_symbol);
7013 	DECL_CONV_STUB(pre_defined_dimension_symbol);
7014 	DECL_CONV_STUB(pre_defined_geometrical_tolerance_symbol);
7015 	DECL_CONV_STUB(pre_defined_marker);
7016 	DECL_CONV_STUB(pre_defined_point_marker_symbol);
7017 	DECL_CONV_STUB(pre_defined_surface_condition_symbol);
7018 	DECL_CONV_STUB(pre_defined_surface_side_style);
7019 	DECL_CONV_STUB(pre_defined_terminator_symbol);
7020 	DECL_CONV_STUB(pre_defined_tile);
7021 	DECL_CONV_STUB(predefined_picture_representation_item);
7022 	DECL_CONV_STUB(presentation_style_assignment);
7023 	DECL_CONV_STUB(presentation_style_by_context);
7024 	DECL_CONV_STUB(pressure_measure_with_unit);
7025 	DECL_CONV_STUB(pressure_unit);
7026 	DECL_CONV_STUB(procedural_representation);
7027 	DECL_CONV_STUB(procedural_representation_sequence);
7028 	DECL_CONV_STUB(procedural_shape_representation);
7029 	DECL_CONV_STUB(procedural_shape_representation_sequence);
7030 	DECL_CONV_STUB(product_category);
7031 	DECL_CONV_STUB(product_class);
7032 	DECL_CONV_STUB(product_concept_context);
7033 	DECL_CONV_STUB(product_concept_feature_category_usage);
7034 	DECL_CONV_STUB(product_definition_element_relationship);
7035 	DECL_CONV_STUB(product_definition_formation);
7036 	DECL_CONV_STUB(product_definition_formation_with_specified_source);
7037 	DECL_CONV_STUB(product_definition_group_assignment);
7038 	DECL_CONV_STUB(product_definition_shape);
7039 	DECL_CONV_STUB(product_definition_with_associated_documents);
7040 	DECL_CONV_STUB(product_identification);
7041 	DECL_CONV_STUB(product_material_composition_relationship);
7042 	DECL_CONV_STUB(product_related_product_category);
7043 	DECL_CONV_STUB(product_specification);
7044 	DECL_CONV_STUB(tolerance_zone_definition);
7045 	DECL_CONV_STUB(projected_zone_definition);
7046 	DECL_CONV_STUB(projection_curve);
7047 	DECL_CONV_STUB(promissory_usage_occurrence);
7048 	DECL_CONV_STUB(qualified_representation_item);
7049 	DECL_CONV_STUB(qualitative_uncertainty);
7050 	DECL_CONV_STUB(quantified_assembly_component_usage);
7051 	DECL_CONV_STUB(quasi_uniform_curve);
7052 	DECL_CONV_STUB(quasi_uniform_surface);
7053 	DECL_CONV_STUB(radioactivity_measure_with_unit);
7054 	DECL_CONV_STUB(radioactivity_unit);
7055 	DECL_CONV_STUB(radius_dimension);
7056 	DECL_CONV_STUB(range_characteristic);
7057 	DECL_CONV_STUB(ratio_unit);
7058 	DECL_CONV_STUB(rational_b_spline_curve);
7059 	DECL_CONV_STUB(rational_b_spline_surface);
7060 	DECL_CONV_STUB(rational_representation_item);
7061 	DECL_CONV_STUB(real_literal);
7062 	DECL_CONV_STUB(real_representation_item);
7063 	DECL_CONV_STUB(rectangular_composite_surface);
7064 	DECL_CONV_STUB(rectangular_trimmed_surface);
7065 	DECL_CONV_STUB(referenced_modified_datum);
7066 	DECL_CONV_STUB(relative_event_occurrence);
7067 	DECL_CONV_STUB(rep_item_group);
7068 	DECL_CONV_STUB(reparametrised_composite_curve_segment);
7069 	DECL_CONV_STUB(representation_relationship_with_transformation);
7070 	DECL_CONV_STUB(requirement_assigned_object);
7071 	DECL_CONV_STUB(requirement_assignment);
7072 	DECL_CONV_STUB(requirement_source);
7073 	DECL_CONV_STUB(requirement_view_definition_relationship);
7074 	DECL_CONV_STUB(resistance_measure_with_unit);
7075 	DECL_CONV_STUB(resistance_unit);
7076 	DECL_CONV_STUB(revolved_area_solid);
7077 	DECL_CONV_STUB(revolved_face_solid);
7078 	DECL_CONV_STUB(revolved_face_solid_with_trim_conditions);
7079 	DECL_CONV_STUB(right_angular_wedge);
7080 	DECL_CONV_STUB(right_circular_cone);
7081 	DECL_CONV_STUB(right_circular_cylinder);
7082 	DECL_CONV_STUB(right_to_usage_association);
7083 	DECL_CONV_STUB(roundness_tolerance);
7084 	DECL_CONV_STUB(row_representation_item);
7085 	DECL_CONV_STUB(row_value);
7086 	DECL_CONV_STUB(row_variable);
7087 	DECL_CONV_STUB(rule_action);
7088 	DECL_CONV_STUB(rule_condition);
7089 	DECL_CONV_STUB(rule_set);
7090 	DECL_CONV_STUB(rule_set_group);
7091 	DECL_CONV_STUB(rule_superseded_assignment);
7092 	DECL_CONV_STUB(rule_supersedence);
7093 	DECL_CONV_STUB(surface_curve_swept_area_solid);
7094 	DECL_CONV_STUB(ruled_surface_swept_area_solid);
7095 	DECL_CONV_STUB(runout_zone_definition);
7096 	DECL_CONV_STUB(runout_zone_orientation);
7097 	DECL_CONV_STUB(runout_zone_orientation_reference_direction);
7098 	DECL_CONV_STUB(satisfied_requirement);
7099 	DECL_CONV_STUB(satisfies_requirement);
7100 	DECL_CONV_STUB(satisfying_item);
7101 	DECL_CONV_STUB(scalar_variable);
7102 	DECL_CONV_STUB(scattering_parameter);
7103 	DECL_CONV_STUB(sculptured_solid);
7104 	DECL_CONV_STUB(seam_curve);
7105 	DECL_CONV_STUB(serial_numbered_effectivity);
7106 	DECL_CONV_STUB(shape_aspect_associativity);
7107 	DECL_CONV_STUB(shape_aspect_deriving_relationship);
7108 	DECL_CONV_STUB(shape_definition_representation);
7109 	DECL_CONV_STUB(shape_dimension_representation);
7110 	DECL_CONV_STUB(shape_feature_definition);
7111 	DECL_CONV_STUB(shape_representation_with_parameters);
7112 	DECL_CONV_STUB(shell_based_surface_model);
7113 	DECL_CONV_STUB(shell_based_wireframe_model);
7114 	DECL_CONV_STUB(shell_based_wireframe_shape_representation);
7115 	DECL_CONV_STUB(si_absorbed_dose_unit);
7116 	DECL_CONV_STUB(si_capacitance_unit);
7117 	DECL_CONV_STUB(si_conductance_unit);
7118 	DECL_CONV_STUB(si_dose_equivalent_unit);
7119 	DECL_CONV_STUB(si_electric_charge_unit);
7120 	DECL_CONV_STUB(si_electric_potential_unit);
7121 	DECL_CONV_STUB(si_energy_unit);
7122 	DECL_CONV_STUB(si_force_unit);
7123 	DECL_CONV_STUB(si_frequency_unit);
7124 	DECL_CONV_STUB(si_illuminance_unit);
7125 	DECL_CONV_STUB(si_inductance_unit);
7126 	DECL_CONV_STUB(si_magnetic_flux_density_unit);
7127 	DECL_CONV_STUB(si_magnetic_flux_unit);
7128 	DECL_CONV_STUB(si_power_unit);
7129 	DECL_CONV_STUB(si_pressure_unit);
7130 	DECL_CONV_STUB(si_radioactivity_unit);
7131 	DECL_CONV_STUB(si_resistance_unit);
7132 	DECL_CONV_STUB(si_unit);
7133 	DECL_CONV_STUB(simple_boolean_expression);
7134 	DECL_CONV_STUB(simple_numeric_expression);
7135 	DECL_CONV_STUB(slash_expression);
7136 	DECL_CONV_STUB(smeared_material_definition);
7137 	DECL_CONV_STUB(solid_angle_measure_with_unit);
7138 	DECL_CONV_STUB(solid_angle_unit);
7139 	DECL_CONV_STUB(solid_curve_font);
7140 	DECL_CONV_STUB(solid_replica);
7141 	DECL_CONV_STUB(solid_with_chamfered_edges);
7142 	DECL_CONV_STUB(solid_with_angle_based_chamfer);
7143 	DECL_CONV_STUB(solid_with_shape_element_pattern);
7144 	DECL_CONV_STUB(solid_with_circular_pattern);
7145 	DECL_CONV_STUB(solid_with_depression);
7146 	DECL_CONV_STUB(solid_with_pocket);
7147 	DECL_CONV_STUB(solid_with_circular_pocket);
7148 	DECL_CONV_STUB(solid_with_protrusion);
7149 	DECL_CONV_STUB(solid_with_circular_protrusion);
7150 	DECL_CONV_STUB(solid_with_hole);
7151 	DECL_CONV_STUB(solid_with_stepped_round_hole);
7152 	DECL_CONV_STUB(solid_with_conical_bottom_round_hole);
7153 	DECL_CONV_STUB(solid_with_constant_radius_edge_blend);
7154 	DECL_CONV_STUB(solid_with_slot);
7155 	DECL_CONV_STUB(solid_with_curved_slot);
7156 	DECL_CONV_STUB(solid_with_double_offset_chamfer);
7157 	DECL_CONV_STUB(solid_with_flat_bottom_round_hole);
7158 	DECL_CONV_STUB(solid_with_general_pocket);
7159 	DECL_CONV_STUB(solid_with_general_protrusion);
7160 	DECL_CONV_STUB(solid_with_groove);
7161 	DECL_CONV_STUB(solid_with_incomplete_circular_pattern);
7162 	DECL_CONV_STUB(solid_with_rectangular_pattern);
7163 	DECL_CONV_STUB(solid_with_incomplete_rectangular_pattern);
7164 	DECL_CONV_STUB(solid_with_rectangular_pocket);
7165 	DECL_CONV_STUB(solid_with_rectangular_protrusion);
7166 	DECL_CONV_STUB(solid_with_single_offset_chamfer);
7167 	DECL_CONV_STUB(solid_with_spherical_bottom_round_hole);
7168 	DECL_CONV_STUB(solid_with_stepped_round_hole_and_conical_transitions);
7169 	DECL_CONV_STUB(solid_with_straight_slot);
7170 	DECL_CONV_STUB(solid_with_tee_section_slot);
7171 	DECL_CONV_STUB(solid_with_through_depression);
7172 	DECL_CONV_STUB(solid_with_trapezoidal_section_slot);
7173 	DECL_CONV_STUB(solid_with_variable_radius_edge_blend);
7174 	DECL_CONV_STUB(source_for_requirement);
7175 	DECL_CONV_STUB(sourced_requirement);
7176 	DECL_CONV_STUB(specification_definition);
7177 	DECL_CONV_STUB(specified_higher_usage_occurrence);
7178 	DECL_CONV_STUB(sphere);
7179 	DECL_CONV_STUB(spherical_surface);
7180 	DECL_CONV_STUB(start_request);
7181 	DECL_CONV_STUB(start_work);
7182 	DECL_CONV_STUB(straightness_tolerance);
7183 	DECL_CONV_STUB(structured_dimension_callout);
7184 	DECL_CONV_STUB(structured_text_composition);
7185 	DECL_CONV_STUB(structured_text_representation);
7186 	DECL_CONV_STUB(subedge);
7187 	DECL_CONV_STUB(subface);
7188 	DECL_CONV_STUB(supplied_part_relationship);
7189 	DECL_CONV_STUB(surface_condition_callout);
7190 	DECL_CONV_STUB(swept_surface);
7191 	DECL_CONV_STUB(surface_of_linear_extrusion);
7192 	DECL_CONV_STUB(surface_of_revolution);
7193 	DECL_CONV_STUB(surface_patch);
7194 	DECL_CONV_STUB(surface_profile_tolerance);
7195 	DECL_CONV_STUB(surface_replica);
7196 	DECL_CONV_STUB(surface_side_style);
7197 	DECL_CONV_STUB(surface_style_boundary);
7198 	DECL_CONV_STUB(surface_style_control_grid);
7199 	DECL_CONV_STUB(surface_style_fill_area);
7200 	DECL_CONV_STUB(surface_style_parameter_line);
7201 	DECL_CONV_STUB(surface_style_reflectance_ambient);
7202 	DECL_CONV_STUB(surface_style_reflectance_ambient_diffuse);
7203 	DECL_CONV_STUB(surface_style_reflectance_ambient_diffuse_specular);
7204 	DECL_CONV_STUB(surface_style_rendering);
7205 	DECL_CONV_STUB(surface_style_rendering_with_properties);
7206 	DECL_CONV_STUB(surface_style_segmentation_curve);
7207 	DECL_CONV_STUB(surface_style_silhouette);
7208 	DECL_CONV_STUB(surface_style_usage);
7209 	DECL_CONV_STUB(surface_texture_representation);
7210 	DECL_CONV_STUB(surfaced_open_shell);
7211 	DECL_CONV_STUB(swept_disk_solid);
7212 	DECL_CONV_STUB(symbol);
7213 	DECL_CONV_STUB(symbol_representation_map);
7214 	DECL_CONV_STUB(symbol_style);
7215 	DECL_CONV_STUB(symbol_target);
7216 	DECL_CONV_STUB(symmetric_shape_aspect);
7217 	DECL_CONV_STUB(symmetry_tolerance);
7218 	DECL_CONV_STUB(table_representation_item);
7219 	DECL_CONV_STUB(tactile_appearance_representation);
7220 	DECL_CONV_STUB(tagged_text_format);
7221 	DECL_CONV_STUB(tagged_text_item);
7222 	DECL_CONV_STUB(tangent);
7223 	DECL_CONV_STUB(text_literal_with_associated_curves);
7224 	DECL_CONV_STUB(text_literal_with_blanking_box);
7225 	DECL_CONV_STUB(text_literal_with_extent);
7226 	DECL_CONV_STUB(text_string_representation);
7227 	DECL_CONV_STUB(text_style);
7228 	DECL_CONV_STUB(text_style_with_box_characteristics);
7229 	DECL_CONV_STUB(text_style_with_mirror);
7230 	DECL_CONV_STUB(text_style_with_spacing);
7231 	DECL_CONV_STUB(thermal_resistance_measure_with_unit);
7232 	DECL_CONV_STUB(thermal_resistance_unit);
7233 	DECL_CONV_STUB(thermodynamic_temperature_measure_with_unit);
7234 	DECL_CONV_STUB(thermodynamic_temperature_unit);
7235 	DECL_CONV_STUB(thickened_face_solid);
7236 	DECL_CONV_STUB(thickness_laminate_definition);
7237 	DECL_CONV_STUB(thickness_laminate_table);
7238 	DECL_CONV_STUB(time_interval);
7239 	DECL_CONV_STUB(time_interval_based_effectivity);
7240 	DECL_CONV_STUB(time_interval_with_bounds);
7241 	DECL_CONV_STUB(time_measure_with_unit);
7242 	DECL_CONV_STUB(time_unit);
7243 	DECL_CONV_STUB(tolerance_zone);
7244 	DECL_CONV_STUB(torus);
7245 	DECL_CONV_STUB(total_runout_tolerance);
7246 	DECL_CONV_STUB(track_blended_solid);
7247 	DECL_CONV_STUB(track_blended_solid_with_end_conditions);
7248 	DECL_CONV_STUB(trimmed_curve);
7249 	DECL_CONV_STUB(two_direction_repeat_factor);
7250 	DECL_CONV_STUB(unary_generic_expression);
7251 	DECL_CONV_STUB(unary_numeric_expression);
7252 	DECL_CONV_STUB(uncertainty_assigned_representation);
7253 	DECL_CONV_STUB(uncertainty_measure_with_unit);
7254 	DECL_CONV_STUB(uniform_curve);
7255 	DECL_CONV_STUB(uniform_resource_identifier);
7256 	DECL_CONV_STUB(uniform_surface);
7257 	DECL_CONV_STUB(usage_association);
7258 	DECL_CONV_STUB(user_defined_curve_font);
7259 	DECL_CONV_STUB(user_defined_marker);
7260 	DECL_CONV_STUB(user_defined_terminator_symbol);
7261 	DECL_CONV_STUB(user_selected_shape_elements);
7262 	DECL_CONV_STUB(value_range);
7263 	DECL_CONV_STUB(value_representation_item);
7264 	DECL_CONV_STUB(variable_semantics);
7265 	DECL_CONV_STUB(variational_representation_item);
7266 	DECL_CONV_STUB(vector);
7267 	DECL_CONV_STUB(vector_style);
7268 	DECL_CONV_STUB(velocity_measure_with_unit);
7269 	DECL_CONV_STUB(velocity_unit);
7270 	DECL_CONV_STUB(vertex);
7271 	DECL_CONV_STUB(vertex_loop);
7272 	DECL_CONV_STUB(vertex_point);
7273 	DECL_CONV_STUB(vertex_shell);
7274 	DECL_CONV_STUB(view_volume);
7275 	DECL_CONV_STUB(visual_appearance_representation);
7276 	DECL_CONV_STUB(volume_measure_with_unit);
7277 	DECL_CONV_STUB(volume_unit);
7278 	DECL_CONV_STUB(week_of_year_and_day_date);
7279 	DECL_CONV_STUB(wire_shell);
7280 	DECL_CONV_STUB(year_month);
7281 
7282 
7283 #undef DECL_CONV_STUB
7284 
7285 } //! STEP
7286 } //! Assimp
7287 
7288 #endif // INCLUDED_STEPFILE_READER_GEN_H
7289