diff --git a/code/AssetLib/StepFile/StepFileGen1.cpp b/code/AssetLib/StepFile/StepFileGen1.cpp deleted file mode 100644 index 077b2d4c5..000000000 --- a/code/AssetLib/StepFile/StepFileGen1.cpp +++ /dev/null @@ -1,2194 +0,0 @@ -/* -Open Asset Import Library (ASSIMP) ----------------------------------------------------------------------- - -Copyright (c) 2006-2020, ASSIMP Development Team -All rights reserved. - -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the -following conditions are met: - -* Redistributions of source code must retain the above - copyright notice, this list of conditions and the - following disclaimer. - -* Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the - following disclaimer in the documentation and/or other - materials provided with the distribution. - -* Neither the name of the ASSIMP team, nor the names of its - contributors may be used to endorse or promote products - derived from this software without specific prior - written permission of the ASSIMP Development Team. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ----------------------------------------------------------------------- -*/ - -/** MACHINE-GENERATED by scripts/ICFImporter/CppGenerator.py */ - -#ifndef ASSIMP_BUILD_NO_STEP_IMPORTER - -#include "code/Importer/StepFile/StepReaderGen.h" - -namespace Assimp { -using namespace StepFile; - -namespace { - - typedef EXPRESS::ConversionSchema::SchemaEntry SchemaEntry; - - const SchemaEntry schema_raw[] = { - SchemaEntry("absorbed_dose_measure",NULL ) -, SchemaEntry("acceleration_measure",NULL ) -, SchemaEntry("action_items",NULL ) -, SchemaEntry("action_method_items",NULL ) -, SchemaEntry("action_request_item",NULL ) -, SchemaEntry("ahead_or_behind",NULL ) -, SchemaEntry("amount_of_substance_measure",NULL ) -, SchemaEntry("angle_direction_reference_select",NULL ) -, SchemaEntry("angle_direction_reference_with_a2p3d_select",NULL ) -, SchemaEntry("angle_relator",NULL ) -, SchemaEntry("annotation_plane_element",NULL ) -, SchemaEntry("annotation_representation_select",NULL ) -, SchemaEntry("annotation_symbol_occurrence_item",NULL ) -, SchemaEntry("annotation_text_occurrence_item",NULL ) -, SchemaEntry("approval_item",NULL ) -, SchemaEntry("approved_item",NULL ) -, SchemaEntry("area_measure",NULL ) -, SchemaEntry("area_or_view",NULL ) -, SchemaEntry("attribute_classification_item",NULL ) -, SchemaEntry("attribute_language_item",NULL ) -, SchemaEntry("attribute_type",NULL ) -, SchemaEntry("axis2_placement",NULL ) -, SchemaEntry("b_spline_curve_form",NULL ) -, SchemaEntry("b_spline_surface_form",NULL ) -, SchemaEntry("base_solid_select",NULL ) -, SchemaEntry("blend_end_condition_select",NULL ) -, SchemaEntry("blend_radius_variation_type",NULL ) -, SchemaEntry("boolean_operand",NULL ) -, SchemaEntry("boolean_operator",NULL ) -, SchemaEntry("box_characteristic_select",NULL ) -, SchemaEntry("box_height",NULL ) -, SchemaEntry("box_rotate_angle",NULL ) -, SchemaEntry("box_slant_angle",NULL ) -, SchemaEntry("box_width",NULL ) -, SchemaEntry("camera_model_d3_multi_clipping_interection_select",NULL ) -, SchemaEntry("camera_model_d3_multi_clipping_union_select",NULL ) -, SchemaEntry("capacitance_measure",NULL ) -, SchemaEntry("category_usage_item",NULL ) -, SchemaEntry("cc_classified_item",NULL ) -, SchemaEntry("cc_person_organization_item",NULL ) -, SchemaEntry("cc_specified_item",NULL ) -, SchemaEntry("celsius_temperature_measure",NULL ) -, SchemaEntry("central_or_parallel",NULL ) -, SchemaEntry("certification_item",NULL ) -, SchemaEntry("certified_item",NULL ) -, SchemaEntry("change_request_item",NULL ) -, SchemaEntry("character_spacing_select",NULL ) -, SchemaEntry("character_style_select",NULL ) -, SchemaEntry("characterized_action_definition",NULL ) -, SchemaEntry("characterized_definition",NULL ) -, SchemaEntry("characterized_material_property",NULL ) -, SchemaEntry("characterized_product_composition_value",NULL ) -, SchemaEntry("characterized_product_definition",NULL ) -, SchemaEntry("class_usage_effectivity_context_item",NULL ) -, SchemaEntry("classification_item",NULL ) -, SchemaEntry("classified_item",NULL ) -, SchemaEntry("compound_item_definition",NULL ) -, SchemaEntry("conductance_measure",NULL ) -, SchemaEntry("configuration_design_item",NULL ) -, SchemaEntry("configured_effectivity_context_item",NULL ) -, SchemaEntry("configured_effectivity_item",NULL ) -, SchemaEntry("constructive_geometry_representation_or_shape_represenation",NULL ) -, SchemaEntry("context_dependent_measure",NULL ) -, SchemaEntry("contract_item",NULL ) -, SchemaEntry("contracted_item",NULL ) -, SchemaEntry("count_measure",NULL ) -, SchemaEntry("csg_primitive",NULL ) -, SchemaEntry("csg_select",NULL ) -, SchemaEntry("curve_font_or_scaled_curve_font_select",NULL ) -, SchemaEntry("curve_on_surface",NULL ) -, SchemaEntry("curve_or_annotation_curve_occurrence",NULL ) -, SchemaEntry("curve_or_render",NULL ) -, SchemaEntry("curve_style_font_select",NULL ) -, SchemaEntry("date_and_time_item",NULL ) -, SchemaEntry("date_item",NULL ) -, SchemaEntry("date_time_item",NULL ) -, SchemaEntry("date_time_or_event_occurrence",NULL ) -, SchemaEntry("date_time_select",NULL ) -, SchemaEntry("day_in_month_number",NULL ) -, SchemaEntry("day_in_week_number",NULL ) -, SchemaEntry("day_in_year_number",NULL ) -, SchemaEntry("defined_symbol_select",NULL ) -, SchemaEntry("derived_property_select",NULL ) -, SchemaEntry("description_attribute_select",NULL ) -, SchemaEntry("descriptive_measure",NULL ) -, SchemaEntry("dimension_count",NULL ) -, SchemaEntry("dimension_extent_usage",NULL ) -, SchemaEntry("dimensional_characteristic",NULL ) -, SchemaEntry("direction_count_select",NULL ) -, SchemaEntry("document_identifier_assigned_item",NULL ) -, SchemaEntry("document_reference_item",NULL ) -, SchemaEntry("dose_equivalent_measure",NULL ) -, SchemaEntry("draughting_callout_element",NULL ) -, SchemaEntry("draughting_model_item_association_select",NULL ) -, SchemaEntry("draughting_model_item_select",NULL ) -, SchemaEntry("draughting_titled_item",NULL ) -, SchemaEntry("effectivity_item",NULL ) -, SchemaEntry("electric_charge_measure",NULL ) -, SchemaEntry("electric_current_measure",NULL ) -, SchemaEntry("electric_potential_measure",NULL ) -, SchemaEntry("energy_measure",NULL ) -, SchemaEntry("event_occurrence_item",NULL ) -, SchemaEntry("external_identification_item",NULL ) -, SchemaEntry("fill_area_style_tile_shape_select",NULL ) -, SchemaEntry("fill_style_select",NULL ) -, SchemaEntry("font_select",NULL ) -, SchemaEntry("force_measure",NULL ) -, SchemaEntry("founded_item_select",NULL ) -, SchemaEntry("frequency_measure",NULL ) -, SchemaEntry("generalized_surface_select",NULL ) -, SchemaEntry("geometric_item_specific_usage_select",NULL ) -, SchemaEntry("geometric_set_select",NULL ) -, SchemaEntry("groupable_item",NULL ) -, SchemaEntry("hour_in_day",NULL ) -, SchemaEntry("id_attribute_select",NULL ) -, SchemaEntry("identification_item",NULL ) -, SchemaEntry("identifier",NULL ) -, SchemaEntry("illuminance_measure",NULL ) -, SchemaEntry("inductance_measure",NULL ) -, SchemaEntry("instance_usage_context_select",NULL ) -, SchemaEntry("invisibility_context",NULL ) -, SchemaEntry("invisible_item",NULL ) -, SchemaEntry("ir_usage_item",NULL ) -, SchemaEntry("knot_type",NULL ) -, SchemaEntry("label",NULL ) -, SchemaEntry("layered_item",NULL ) -, SchemaEntry("length_measure",NULL ) -, SchemaEntry("limit_condition",NULL ) -, SchemaEntry("list_of_reversible_topology_item",NULL ) -, SchemaEntry("list_representation_item",NULL ) -, SchemaEntry("luminous_flux_measure",NULL ) -, SchemaEntry("luminous_intensity_measure",NULL ) -, SchemaEntry("magnetic_flux_density_measure",NULL ) -, SchemaEntry("magnetic_flux_measure",NULL ) -, SchemaEntry("marker_select",NULL ) -, SchemaEntry("marker_type",NULL ) -, SchemaEntry("mass_measure",NULL ) -, SchemaEntry("measure_value",NULL ) -, SchemaEntry("mechanical_design_and_draughting_relationship_select",NULL ) -, SchemaEntry("mechanical_design_geometric_presentation_area_items",NULL ) -, SchemaEntry("mechanical_design_geometric_presentation_representation_items",NULL ) -, SchemaEntry("message",NULL ) -, SchemaEntry("minute_in_hour",NULL ) -, SchemaEntry("month_in_year_number",NULL ) -, SchemaEntry("multi_language_attribute_item",NULL ) -, SchemaEntry("name_attribute_select",NULL ) -, SchemaEntry("name_item",NULL ) -, SchemaEntry("non_negative_length_measure",NULL ) -, SchemaEntry("nonnegative_integer",NULL ) -, SchemaEntry("null_style",NULL ) -, SchemaEntry("numeric_measure",NULL ) -, SchemaEntry("organization_item",NULL ) -, SchemaEntry("orientation_basis_select",NULL ) -, SchemaEntry("parameter_value",NULL ) -, SchemaEntry("pcurve_or_surface",NULL ) -, SchemaEntry("person_and_organization_item",NULL ) -, SchemaEntry("person_organization_select",NULL ) -, SchemaEntry("picture_representation_item_select",NULL ) -, SchemaEntry("plane_angle_measure",NULL ) -, SchemaEntry("plane_or_planar_box",NULL ) -, SchemaEntry("point_and_vector_member",NULL ) -, SchemaEntry("point_and_vector_members",NULL ) -, SchemaEntry("point_path_members",NULL ) -, SchemaEntry("positive_integer",NULL ) -, SchemaEntry("positive_length_measure",NULL ) -, SchemaEntry("positive_plane_angle_measure",NULL ) -, SchemaEntry("positive_ratio_measure",NULL ) -, SchemaEntry("power_measure",NULL ) -, SchemaEntry("preferred_surface_curve_representation",NULL ) -, SchemaEntry("presentable_text",NULL ) -, SchemaEntry("presentation_representation_select",NULL ) -, SchemaEntry("presentation_size_assignment_select",NULL ) -, SchemaEntry("presentation_style_select",NULL ) -//, SchemaEntry("presented_item_select",NULL ) -, SchemaEntry("pressure_measure",NULL ) -, SchemaEntry("product_definition_or_assembly_relationship",NULL ) -, SchemaEntry("product_definition_or_breakdown_element_usage",NULL ) -, SchemaEntry("product_definition_or_product_definition_relationship",NULL ) -, SchemaEntry("product_or_formation_or_definition",NULL ) -, SchemaEntry("project_item",NULL ) -, SchemaEntry("radioactivity_measure",NULL ) -, SchemaEntry("ratio_measure",NULL ) -, SchemaEntry("rendering_properties_select",NULL ) -, SchemaEntry("represented_definition",NULL ) -, SchemaEntry("requirement_assigned_item",NULL ) -, SchemaEntry("requirement_satisfaction_item",NULL ) -, SchemaEntry("requirement_source_item",NULL ) -, SchemaEntry("resistance_measure",NULL ) -, SchemaEntry("reversible_topology",NULL ) -, SchemaEntry("reversible_topology_item",NULL ) -, SchemaEntry("role_select",NULL ) -, SchemaEntry("rule_superseded_item",NULL ) -, SchemaEntry("second_in_minute",NULL ) -, SchemaEntry("security_classification_item",NULL ) -, SchemaEntry("set_of_reversible_topology_item",NULL ) -, SchemaEntry("set_representation_item",NULL ) -, SchemaEntry("shading_curve_method",NULL ) -, SchemaEntry("shading_surface_method",NULL ) -, SchemaEntry("shape_definition",NULL ) -, SchemaEntry("shell",NULL ) -, SchemaEntry("si_prefix",NULL ) -, SchemaEntry("si_unit_name",NULL ) -, SchemaEntry("size_select",NULL ) -, SchemaEntry("sketch_basis_select",NULL ) -, SchemaEntry("solid_angle_measure",NULL ) -, SchemaEntry("source",NULL ) -, SchemaEntry("source_item",NULL ) -, SchemaEntry("start_request_item",NULL ) -, SchemaEntry("string_representation_item_select",NULL ) -, SchemaEntry("style_context_select",NULL ) -, SchemaEntry("surface_side",NULL ) -, SchemaEntry("surface_side_style_select",NULL ) -, SchemaEntry("surface_style_element_select",NULL ) -, SchemaEntry("symbol_style_select",NULL ) -, SchemaEntry("text",NULL ) -, SchemaEntry("text_alignment",NULL ) -, SchemaEntry("text_delineation",NULL ) -, SchemaEntry("text_or_character",NULL ) -, SchemaEntry("text_path",NULL ) -, SchemaEntry("text_string_representation_item",NULL ) -, SchemaEntry("thermodynamic_temperature_measure",NULL ) -, SchemaEntry("time_interval_item",NULL ) -, SchemaEntry("time_measure",NULL ) -, SchemaEntry("tolerance_method_definition",NULL ) -, SchemaEntry("transformation",NULL ) -, SchemaEntry("transition_code",NULL ) -, SchemaEntry("trim_condition_select",NULL ) -, SchemaEntry("trim_intent",NULL ) -, SchemaEntry("trimming_preference",NULL ) -, SchemaEntry("trimming_select",NULL ) -, SchemaEntry("u_direction_count",NULL ) -, SchemaEntry("unit",NULL ) -, SchemaEntry("v_direction_count",NULL ) -, SchemaEntry("value_qualifier",NULL ) -, SchemaEntry("vector_or_direction",NULL ) -, SchemaEntry("velocity_measure",NULL ) -, SchemaEntry("volume_measure",NULL ) -, SchemaEntry("week_in_year_number",NULL ) -, SchemaEntry("work_item",NULL ) -, SchemaEntry("year_number",NULL ) -, SchemaEntry("measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("absorbed_dose_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("derived_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("absorbed_dose_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("abstract_variable",&STEP::ObjectHelper::Construct ) -, SchemaEntry("acceleration_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("acceleration_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("action",&STEP::ObjectHelper::Construct ) -, SchemaEntry("action_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("action_directive",&STEP::ObjectHelper::Construct ) -, SchemaEntry("action_method",&STEP::ObjectHelper::Construct ) -, SchemaEntry("action_method_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("action_method_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("action_method_role",&STEP::ObjectHelper::Construct ) -, SchemaEntry("action_property",&STEP::ObjectHelper::Construct ) -, SchemaEntry("action_property_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("action_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("action_request_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("action_request_solution",&STEP::ObjectHelper::Construct ) -, SchemaEntry("action_request_status",&STEP::ObjectHelper::Construct ) -, SchemaEntry("action_status",&STEP::ObjectHelper::Construct ) -, SchemaEntry("address",&STEP::ObjectHelper::Construct ) -, SchemaEntry("representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("shape_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("advanced_brep_shape_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("face_surface",&STEP::ObjectHelper::Construct ) -, SchemaEntry("advanced_face",&STEP::ObjectHelper::Construct ) -, SchemaEntry("alternate_product_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("amount_of_substance_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("named_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("amount_of_substance_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("angle_direction_reference",&STEP::ObjectHelper::Construct ) -, SchemaEntry("representation_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("geometric_representation_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("draughting_callout",&STEP::ObjectHelper::Construct ) -, SchemaEntry("dimension_curve_directed_callout",&STEP::ObjectHelper::Construct ) -, SchemaEntry("angular_dimension",&STEP::ObjectHelper::Construct ) -, SchemaEntry("shape_aspect_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("dimensional_location",&STEP::ObjectHelper::Construct ) -, SchemaEntry("angular_location",&STEP::ObjectHelper::Construct ) -, SchemaEntry("dimensional_size",&STEP::ObjectHelper::Construct ) -, SchemaEntry("angular_size",&STEP::ObjectHelper::Construct ) -, SchemaEntry("geometric_tolerance",&STEP::ObjectHelper::Construct ) -, SchemaEntry("geometric_tolerance_with_datum_reference",&STEP::ObjectHelper::Construct ) -, SchemaEntry("angularity_tolerance",&STEP::ObjectHelper::Construct ) -, SchemaEntry("styled_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("annotation_occurrence",&STEP::ObjectHelper::Construct ) -, SchemaEntry("annotation_curve_occurrence",&STEP::ObjectHelper::Construct ) -, SchemaEntry("annotation_fill_area",&STEP::ObjectHelper::Construct ) -, SchemaEntry("annotation_fill_area_occurrence",&STEP::ObjectHelper::Construct ) -, SchemaEntry("annotation_occurrence_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("annotation_occurrence_associativity",&STEP::ObjectHelper::Construct ) -, SchemaEntry("annotation_plane",&STEP::ObjectHelper::Construct ) -, SchemaEntry("annotation_symbol_occurrence",&STEP::ObjectHelper::Construct ) -, SchemaEntry("annotation_subfigure_occurrence",&STEP::ObjectHelper::Construct ) -, SchemaEntry("mapped_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("annotation_symbol",&STEP::ObjectHelper::Construct ) -, SchemaEntry("annotation_text",&STEP::ObjectHelper::Construct ) -, SchemaEntry("annotation_text_character",&STEP::ObjectHelper::Construct ) -, SchemaEntry("annotation_text_occurrence",&STEP::ObjectHelper::Construct ) -, SchemaEntry("shape_aspect",&STEP::ObjectHelper::Construct ) -, SchemaEntry("derived_shape_aspect",&STEP::ObjectHelper::Construct ) -, SchemaEntry("apex",&STEP::ObjectHelper::Construct ) -, SchemaEntry("application_context",&STEP::ObjectHelper::Construct ) -, SchemaEntry("application_context_element",&STEP::ObjectHelper::Construct ) -, SchemaEntry("application_protocol_definition",&STEP::ObjectHelper::Construct ) -, SchemaEntry("applied_action_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("applied_action_method_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("applied_action_request_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("approval_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("applied_approval_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("attribute_classification_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("applied_attribute_classification_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("certification_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("applied_certification_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("classification_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("applied_classification_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("contract_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("applied_contract_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("date_and_time_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("applied_date_and_time_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("date_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("applied_date_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("document_reference",&STEP::ObjectHelper::Construct ) -, SchemaEntry("applied_document_reference",&STEP::ObjectHelper::Construct ) -, SchemaEntry("document_usage_constraint_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("applied_document_usage_constraint_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("effectivity_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("applied_effectivity_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("event_occurrence_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("applied_event_occurrence_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("identification_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("external_identification_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("applied_external_identification_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("group_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("applied_group_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("applied_identification_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("name_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("applied_name_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("organization_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("applied_organization_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("organizational_project_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("applied_organizational_project_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("person_and_organization_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("applied_person_and_organization_assignment",&STEP::ObjectHelper::Construct ) -//, SchemaEntry("presented_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("applied_presented_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("security_classification_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("applied_security_classification_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("time_interval_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("applied_time_interval_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("applied_usage_right",&STEP::ObjectHelper::Construct ) -, SchemaEntry("approval",&STEP::ObjectHelper::Construct ) -, SchemaEntry("approval_date_time",&STEP::ObjectHelper::Construct ) -, SchemaEntry("approval_person_organization",&STEP::ObjectHelper::Construct ) -, SchemaEntry("approval_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("approval_role",&STEP::ObjectHelper::Construct ) -, SchemaEntry("approval_status",&STEP::ObjectHelper::Construct ) -, SchemaEntry("area_in_set",&STEP::ObjectHelper::Construct ) -, SchemaEntry("area_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("area_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_definition_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_definition_usage",&STEP::ObjectHelper::Construct ) -, SchemaEntry("assembly_component_usage",&STEP::ObjectHelper::Construct ) -, SchemaEntry("assembly_component_usage_substitute",&STEP::ObjectHelper::Construct ) -, SchemaEntry("assigned_requirement",&STEP::ObjectHelper::Construct ) -, SchemaEntry("compound_representation_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("atomic_formula",&STEP::ObjectHelper::Construct ) -, SchemaEntry("attribute_assertion",&STEP::ObjectHelper::Construct ) -, SchemaEntry("attribute_language_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("attribute_value_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("attribute_value_role",&STEP::ObjectHelper::Construct ) -, SchemaEntry("auxiliary_geometric_representation_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("placement",&STEP::ObjectHelper::Construct ) -, SchemaEntry("axis1_placement",&STEP::ObjectHelper::Construct ) -, SchemaEntry("axis2_placement_2d",&STEP::ObjectHelper::Construct ) -, SchemaEntry("axis2_placement_3d",&STEP::ObjectHelper::Construct ) -, SchemaEntry("curve",&STEP::ObjectHelper::Construct ) -, SchemaEntry("bounded_curve",&STEP::ObjectHelper::Construct ) -, SchemaEntry("b_spline_curve",&STEP::ObjectHelper::Construct ) -, SchemaEntry("b_spline_curve_with_knots",&STEP::ObjectHelper::Construct ) -, SchemaEntry("surface",&STEP::ObjectHelper::Construct ) -, SchemaEntry("bounded_surface",&STEP::ObjectHelper::Construct ) -, SchemaEntry("b_spline_surface",&STEP::ObjectHelper::Construct ) -, SchemaEntry("b_spline_surface_with_knots",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_definition",&STEP::ObjectHelper::Construct ) -, SchemaEntry("rule_software_definition",&STEP::ObjectHelper::Construct ) -, SchemaEntry("rule_definition",&STEP::ObjectHelper::Construct ) -, SchemaEntry("back_chaining_rule",&STEP::ObjectHelper::Construct ) -, SchemaEntry("back_chaining_rule_body",&STEP::ObjectHelper::Construct ) -, SchemaEntry("colour",&STEP::ObjectHelper::Construct ) -, SchemaEntry("background_colour",&STEP::ObjectHelper::Construct ) -, SchemaEntry("beveled_sheet_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("bezier_curve",&STEP::ObjectHelper::Construct ) -, SchemaEntry("bezier_surface",&STEP::ObjectHelper::Construct ) -, SchemaEntry("generic_expression",&STEP::ObjectHelper::Construct ) -, SchemaEntry("binary_generic_expression",&STEP::ObjectHelper::Construct ) -, SchemaEntry("binary_numeric_expression",&STEP::ObjectHelper::Construct ) -, SchemaEntry("binary_representation_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("block",&STEP::ObjectHelper::Construct ) -, SchemaEntry("expression",&STEP::ObjectHelper::Construct ) -, SchemaEntry("boolean_expression",&STEP::ObjectHelper::Construct ) -, SchemaEntry("boolean_literal",&STEP::ObjectHelper::Construct ) -, SchemaEntry("boolean_representation_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("boolean_result",&STEP::ObjectHelper::Construct ) -, SchemaEntry("composite_curve",&STEP::ObjectHelper::Construct ) -, SchemaEntry("composite_curve_on_surface",&STEP::ObjectHelper::Construct ) -, SchemaEntry("boundary_curve",&STEP::ObjectHelper::Construct ) -, SchemaEntry("bounded_pcurve",&STEP::ObjectHelper::Construct ) -, SchemaEntry("bounded_surface_curve",&STEP::ObjectHelper::Construct ) -, SchemaEntry("founded_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("box_domain",&STEP::ObjectHelper::Construct ) -, SchemaEntry("half_space_solid",&STEP::ObjectHelper::Construct ) -, SchemaEntry("boxed_half_space",&STEP::ObjectHelper::Construct ) -, SchemaEntry("breakdown_context",&STEP::ObjectHelper::Construct ) -, SchemaEntry("breakdown_element_group_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("breakdown_element_realization",&STEP::ObjectHelper::Construct ) -, SchemaEntry("breakdown_element_usage",&STEP::ObjectHelper::Construct ) -, SchemaEntry("breakdown_of",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_model",&STEP::ObjectHelper::Construct ) -, SchemaEntry("manifold_solid_brep",&STEP::ObjectHelper::Construct ) -, SchemaEntry("brep_with_voids",&STEP::ObjectHelper::Construct ) -, SchemaEntry("bytes_representation_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("date",&STEP::ObjectHelper::Construct ) -, SchemaEntry("calendar_date",&STEP::ObjectHelper::Construct ) -, SchemaEntry("camera_image",&STEP::ObjectHelper::Construct ) -, SchemaEntry("camera_image_3d_with_scale",&STEP::ObjectHelper::Construct ) -, SchemaEntry("camera_model",&STEP::ObjectHelper::Construct ) -, SchemaEntry("camera_model_d3",&STEP::ObjectHelper::Construct ) -, SchemaEntry("camera_model_d3_multi_clipping",&STEP::ObjectHelper::Construct ) -, SchemaEntry("camera_model_d3_multi_clipping_intersection",&STEP::ObjectHelper::Construct ) -, SchemaEntry("camera_model_d3_multi_clipping_union",&STEP::ObjectHelper::Construct ) -, SchemaEntry("camera_model_d3_with_hlhsr",&STEP::ObjectHelper::Construct ) -, SchemaEntry("camera_model_with_light_sources",&STEP::ObjectHelper::Construct ) -, SchemaEntry("representation_map",&STEP::ObjectHelper::Construct ) -, SchemaEntry("camera_usage",&STEP::ObjectHelper::Construct ) -, SchemaEntry("capacitance_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("capacitance_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("point",&STEP::ObjectHelper::Construct ) -, SchemaEntry("cartesian_point",&STEP::ObjectHelper::Construct ) -, SchemaEntry("cartesian_transformation_operator",&STEP::ObjectHelper::Construct ) -, SchemaEntry("cartesian_transformation_operator_2d",&STEP::ObjectHelper::Construct ) -, SchemaEntry("cartesian_transformation_operator_3d",&STEP::ObjectHelper::Construct ) -, SchemaEntry("cc_design_approval",&STEP::ObjectHelper::Construct ) -, SchemaEntry("cc_design_certification",&STEP::ObjectHelper::Construct ) -, SchemaEntry("cc_design_contract",&STEP::ObjectHelper::Construct ) -, SchemaEntry("cc_design_date_and_time_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("cc_design_person_and_organization_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("cc_design_security_classification",&STEP::ObjectHelper::Construct ) -, SchemaEntry("cc_design_specification_reference",&STEP::ObjectHelper::Construct ) -, SchemaEntry("celsius_temperature_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("centre_of_symmetry",&STEP::ObjectHelper::Construct ) -, SchemaEntry("certification",&STEP::ObjectHelper::Construct ) -, SchemaEntry("certification_type",&STEP::ObjectHelper::Construct ) -, SchemaEntry("change",&STEP::ObjectHelper::Construct ) -, SchemaEntry("change_request",&STEP::ObjectHelper::Construct ) -, SchemaEntry("character_glyph_font_usage",&STEP::ObjectHelper::Construct ) -, SchemaEntry("character_glyph_style_outline",&STEP::ObjectHelper::Construct ) -, SchemaEntry("character_glyph_style_stroke",&STEP::ObjectHelper::Construct ) -, SchemaEntry("symbol_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("generic_character_glyph_symbol",&STEP::ObjectHelper::Construct ) -, SchemaEntry("character_glyph_symbol",&STEP::ObjectHelper::Construct ) -, SchemaEntry("character_glyph_symbol_outline",&STEP::ObjectHelper::Construct ) -, SchemaEntry("character_glyph_symbol_stroke",&STEP::ObjectHelper::Construct ) -, SchemaEntry("general_property",&STEP::ObjectHelper::Construct ) -, SchemaEntry("characteristic_data_column_header",&STEP::ObjectHelper::Construct ) -, SchemaEntry("general_property_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("characteristic_data_column_header_link",&STEP::ObjectHelper::Construct ) -, SchemaEntry("characteristic_data_table_header",&STEP::ObjectHelper::Construct ) -, SchemaEntry("characteristic_data_table_header_decomposition",&STEP::ObjectHelper::Construct ) -, SchemaEntry("group",&STEP::ObjectHelper::Construct ) -, SchemaEntry("characteristic_type",&STEP::ObjectHelper::Construct ) -, SchemaEntry("characterized_class",&STEP::ObjectHelper::Construct ) -, SchemaEntry("characterized_object",&STEP::ObjectHelper::Construct ) -, SchemaEntry("conic",&STEP::ObjectHelper::Construct ) -, SchemaEntry("circle",&STEP::ObjectHelper::Construct ) -, SchemaEntry("circular_runout_tolerance",&STEP::ObjectHelper::Construct ) -, SchemaEntry("class_t",&STEP::ObjectHelper::Construct ) -, SchemaEntry("class_by_extension",&STEP::ObjectHelper::Construct ) -, SchemaEntry("class_by_intension",&STEP::ObjectHelper::Construct ) -, SchemaEntry("class_system",&STEP::ObjectHelper::Construct ) -, SchemaEntry("effectivity_context_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("class_usage_effectivity_context_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("classification_role",&STEP::ObjectHelper::Construct ) -, SchemaEntry("topological_representation_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("connected_face_set",&STEP::ObjectHelper::Construct ) -, SchemaEntry("closed_shell",&STEP::ObjectHelper::Construct ) -, SchemaEntry("coaxiality_tolerance",&STEP::ObjectHelper::Construct ) -, SchemaEntry("colour_specification",&STEP::ObjectHelper::Construct ) -, SchemaEntry("colour_rgb",&STEP::ObjectHelper::Construct ) -, SchemaEntry("common_datum",&STEP::ObjectHelper::Construct ) -, SchemaEntry("comparison_expression",&STEP::ObjectHelper::Construct ) -, SchemaEntry("complex_clause",&STEP::ObjectHelper::Construct ) -, SchemaEntry("complex_conjunctive_clause",&STEP::ObjectHelper::Construct ) -, SchemaEntry("complex_disjunctive_clause",&STEP::ObjectHelper::Construct ) -, SchemaEntry("modified_solid",&STEP::ObjectHelper::Construct ) -, SchemaEntry("shelled_solid",&STEP::ObjectHelper::Construct ) -, SchemaEntry("complex_shelled_solid",&STEP::ObjectHelper::Construct ) -, SchemaEntry("composite_assembly_definition",&STEP::ObjectHelper::Construct ) -, SchemaEntry("composite_assembly_sequence_definition",&STEP::ObjectHelper::Construct ) -, SchemaEntry("laminate_table",&STEP::ObjectHelper::Construct ) -, SchemaEntry("part_laminate_table",&STEP::ObjectHelper::Construct ) -, SchemaEntry("composite_assembly_table",&STEP::ObjectHelper::Construct ) -, SchemaEntry("composite_curve_segment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("material_designation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("composite_material_designation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("composite_shape_aspect",&STEP::ObjectHelper::Construct ) -, SchemaEntry("composite_sheet_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("composite_text",&STEP::ObjectHelper::Construct ) -, SchemaEntry("composite_text_with_associated_curves",&STEP::ObjectHelper::Construct ) -, SchemaEntry("composite_text_with_blanking_box",&STEP::ObjectHelper::Construct ) -, SchemaEntry("composite_text_with_delineation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("composite_text_with_extent",&STEP::ObjectHelper::Construct ) -, SchemaEntry("compound_shape_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("concentricity_tolerance",&STEP::ObjectHelper::Construct ) -, SchemaEntry("concept_feature_operator",&STEP::ObjectHelper::Construct ) -, SchemaEntry("concept_feature_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("concept_feature_relationship_with_condition",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_concept_feature",&STEP::ObjectHelper::Construct ) -, SchemaEntry("conditional_concept_feature",&STEP::ObjectHelper::Construct ) -, SchemaEntry("conductance_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("conductance_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("configuration_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("configurable_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("configuration_design",&STEP::ObjectHelper::Construct ) -, SchemaEntry("effectivity",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_definition_effectivity",&STEP::ObjectHelper::Construct ) -, SchemaEntry("configuration_effectivity",&STEP::ObjectHelper::Construct ) -, SchemaEntry("configuration_item_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("configuration_item_hierarchical_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("configuration_item_revision_sequence",&STEP::ObjectHelper::Construct ) -, SchemaEntry("configured_effectivity_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("configured_effectivity_context_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("conical_stepped_hole_transition",&STEP::ObjectHelper::Construct ) -, SchemaEntry("elementary_surface",&STEP::ObjectHelper::Construct ) -, SchemaEntry("conical_surface",&STEP::ObjectHelper::Construct ) -, SchemaEntry("connected_edge_set",&STEP::ObjectHelper::Construct ) -, SchemaEntry("connected_face_sub_set",&STEP::ObjectHelper::Construct ) -, SchemaEntry("constructive_geometry_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("representation_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("constructive_geometry_representation_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("contact_ratio_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("invisibility",&STEP::ObjectHelper::Construct ) -, SchemaEntry("context_dependent_invisibility",&STEP::ObjectHelper::Construct ) -, SchemaEntry("over_riding_styled_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("context_dependent_over_riding_styled_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("context_dependent_shape_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("context_dependent_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("contract",&STEP::ObjectHelper::Construct ) -, SchemaEntry("contract_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("contract_type",&STEP::ObjectHelper::Construct ) -, SchemaEntry("conversion_based_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("coordinated_universal_time_offset",&STEP::ObjectHelper::Construct ) -, SchemaEntry("csg_shape_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("csg_solid",&STEP::ObjectHelper::Construct ) -, SchemaEntry("currency",&STEP::ObjectHelper::Construct ) -, SchemaEntry("currency_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("curve_bounded_surface",&STEP::ObjectHelper::Construct ) -, SchemaEntry("curve_dimension",&STEP::ObjectHelper::Construct ) -, SchemaEntry("curve_replica",&STEP::ObjectHelper::Construct ) -, SchemaEntry("curve_style",&STEP::ObjectHelper::Construct ) -, SchemaEntry("curve_style_font",&STEP::ObjectHelper::Construct ) -, SchemaEntry("curve_style_font_and_scaling",&STEP::ObjectHelper::Construct ) -, SchemaEntry("curve_style_font_pattern",&STEP::ObjectHelper::Construct ) -, SchemaEntry("curve_style_rendering",&STEP::ObjectHelper::Construct ) -, SchemaEntry("curve_swept_solid_shape_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("cylindrical_surface",&STEP::ObjectHelper::Construct ) -, SchemaEntry("cylindricity_tolerance",&STEP::ObjectHelper::Construct ) -, SchemaEntry("data_environment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("date_and_time",&STEP::ObjectHelper::Construct ) -, SchemaEntry("date_representation_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("date_role",&STEP::ObjectHelper::Construct ) -, SchemaEntry("date_time_representation_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("date_time_role",&STEP::ObjectHelper::Construct ) -, SchemaEntry("dated_effectivity",&STEP::ObjectHelper::Construct ) -, SchemaEntry("datum",&STEP::ObjectHelper::Construct ) -, SchemaEntry("datum_feature",&STEP::ObjectHelper::Construct ) -, SchemaEntry("datum_feature_callout",&STEP::ObjectHelper::Construct ) -, SchemaEntry("datum_reference",&STEP::ObjectHelper::Construct ) -, SchemaEntry("datum_target",&STEP::ObjectHelper::Construct ) -, SchemaEntry("datum_target_callout",&STEP::ObjectHelper::Construct ) -, SchemaEntry("default_tolerance_table",&STEP::ObjectHelper::Construct ) -, SchemaEntry("default_tolerance_table_cell",&STEP::ObjectHelper::Construct ) -, SchemaEntry("defined_symbol",&STEP::ObjectHelper::Construct ) -, SchemaEntry("definitional_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("definitional_representation_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("definitional_representation_relationship_with_same_context",&STEP::ObjectHelper::Construct ) -, SchemaEntry("degenerate_pcurve",&STEP::ObjectHelper::Construct ) -, SchemaEntry("toroidal_surface",&STEP::ObjectHelper::Construct ) -, SchemaEntry("degenerate_toroidal_surface",&STEP::ObjectHelper::Construct ) -, SchemaEntry("derived_unit_element",&STEP::ObjectHelper::Construct ) -, SchemaEntry("description_attribute",&STEP::ObjectHelper::Construct ) -, SchemaEntry("descriptive_representation_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_definition_context",&STEP::ObjectHelper::Construct ) -, SchemaEntry("design_context",&STEP::ObjectHelper::Construct ) -, SchemaEntry("design_make_from_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("diameter_dimension",&STEP::ObjectHelper::Construct ) -, SchemaEntry("ratio_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("dielectric_constant_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("dimension_callout",&STEP::ObjectHelper::Construct ) -, SchemaEntry("draughting_callout_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("dimension_callout_component_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("dimension_callout_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("dimension_curve",&STEP::ObjectHelper::Construct ) -, SchemaEntry("terminator_symbol",&STEP::ObjectHelper::Construct ) -, SchemaEntry("dimension_curve_terminator",&STEP::ObjectHelper::Construct ) -, SchemaEntry("dimension_curve_terminator_to_projection_curve_associativity",&STEP::ObjectHelper::Construct ) -, SchemaEntry("dimension_pair",&STEP::ObjectHelper::Construct ) -, SchemaEntry("dimension_related_tolerance_zone_element",&STEP::ObjectHelper::Construct ) -, SchemaEntry("dimension_text_associativity",&STEP::ObjectHelper::Construct ) -, SchemaEntry("dimensional_characteristic_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("dimensional_exponents",&STEP::ObjectHelper::Construct ) -, SchemaEntry("dimensional_location_with_path",&STEP::ObjectHelper::Construct ) -, SchemaEntry("dimensional_size_with_path",&STEP::ObjectHelper::Construct ) -, SchemaEntry("executed_action",&STEP::ObjectHelper::Construct ) -, SchemaEntry("directed_action",&STEP::ObjectHelper::Construct ) -, SchemaEntry("directed_dimensional_location",&STEP::ObjectHelper::Construct ) -, SchemaEntry("direction",&STEP::ObjectHelper::Construct ) -, SchemaEntry("document",&STEP::ObjectHelper::Construct ) -, SchemaEntry("document_file",&STEP::ObjectHelper::Construct ) -, SchemaEntry("document_identifier",&STEP::ObjectHelper::Construct ) -, SchemaEntry("document_identifier_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("document_product_association",&STEP::ObjectHelper::Construct ) -, SchemaEntry("document_product_equivalence",&STEP::ObjectHelper::Construct ) -, SchemaEntry("document_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("document_representation_type",&STEP::ObjectHelper::Construct ) -, SchemaEntry("document_type",&STEP::ObjectHelper::Construct ) -, SchemaEntry("document_usage_constraint",&STEP::ObjectHelper::Construct ) -, SchemaEntry("document_usage_role",&STEP::ObjectHelper::Construct ) -, SchemaEntry("dose_equivalent_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("dose_equivalent_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("double_offset_shelled_solid",&STEP::ObjectHelper::Construct ) -, SchemaEntry("item_defined_transformation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("transformation_with_derived_angle",&STEP::ObjectHelper::Construct ) -, SchemaEntry("draped_defined_transformation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("draughting_annotation_occurrence",&STEP::ObjectHelper::Construct ) -, SchemaEntry("draughting_elements",&STEP::ObjectHelper::Construct ) -, SchemaEntry("draughting_model",&STEP::ObjectHelper::Construct ) -, SchemaEntry("item_identified_representation_usage",&STEP::ObjectHelper::Construct ) -, SchemaEntry("draughting_model_item_association",&STEP::ObjectHelper::Construct ) -, SchemaEntry("pre_defined_colour",&STEP::ObjectHelper::Construct ) -, SchemaEntry("draughting_pre_defined_colour",&STEP::ObjectHelper::Construct ) -, SchemaEntry("pre_defined_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("pre_defined_curve_font",&STEP::ObjectHelper::Construct ) -, SchemaEntry("draughting_pre_defined_curve_font",&STEP::ObjectHelper::Construct ) -, SchemaEntry("pre_defined_text_font",&STEP::ObjectHelper::Construct ) -, SchemaEntry("draughting_pre_defined_text_font",&STEP::ObjectHelper::Construct ) -, SchemaEntry("draughting_subfigure_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("draughting_symbol_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("text_literal",&STEP::ObjectHelper::Construct ) -, SchemaEntry("text_literal_with_delineation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("draughting_text_literal_with_delineation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("draughting_title",&STEP::ObjectHelper::Construct ) -, SchemaEntry("drawing_definition",&STEP::ObjectHelper::Construct ) -, SchemaEntry("presentation_set",&STEP::ObjectHelper::Construct ) -, SchemaEntry("drawing_revision",&STEP::ObjectHelper::Construct ) -, SchemaEntry("drawing_revision_sequence",&STEP::ObjectHelper::Construct ) -, SchemaEntry("presentation_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("presentation_area",&STEP::ObjectHelper::Construct ) -, SchemaEntry("drawing_sheet_revision",&STEP::ObjectHelper::Construct ) -, SchemaEntry("drawing_sheet_revision_sequence",&STEP::ObjectHelper::Construct ) -, SchemaEntry("drawing_sheet_revision_usage",&STEP::ObjectHelper::Construct ) -, SchemaEntry("edge",&STEP::ObjectHelper::Construct ) -, SchemaEntry("edge_based_wireframe_model",&STEP::ObjectHelper::Construct ) -, SchemaEntry("edge_based_wireframe_shape_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("edge_blended_solid",&STEP::ObjectHelper::Construct ) -, SchemaEntry("edge_curve",&STEP::ObjectHelper::Construct ) -, SchemaEntry("edge_loop",&STEP::ObjectHelper::Construct ) -, SchemaEntry("effectivity_context_role",&STEP::ObjectHelper::Construct ) -, SchemaEntry("effectivity_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("electric_charge_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("electric_charge_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("electric_current_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("electric_current_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("electric_potential_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("electric_potential_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("elementary_brep_shape_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("ellipse",&STEP::ObjectHelper::Construct ) -, SchemaEntry("energy_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("energy_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("property_definition",&STEP::ObjectHelper::Construct ) -, SchemaEntry("fact_type",&STEP::ObjectHelper::Construct ) -, SchemaEntry("entity_assertion",&STEP::ObjectHelper::Construct ) -, SchemaEntry("enum_reference_prefix",&STEP::ObjectHelper::Construct ) -, SchemaEntry("environment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("evaluated_characteristic",&STEP::ObjectHelper::Construct ) -, SchemaEntry("evaluated_degenerate_pcurve",&STEP::ObjectHelper::Construct ) -, SchemaEntry("evaluation_product_definition",&STEP::ObjectHelper::Construct ) -, SchemaEntry("event_occurrence",&STEP::ObjectHelper::Construct ) -, SchemaEntry("event_occurrence_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("event_occurrence_role",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_concept_feature_category",&STEP::ObjectHelper::Construct ) -, SchemaEntry("exclusive_product_concept_feature_category",&STEP::ObjectHelper::Construct ) -, SchemaEntry("uncertainty_qualifier",&STEP::ObjectHelper::Construct ) -, SchemaEntry("standard_uncertainty",&STEP::ObjectHelper::Construct ) -, SchemaEntry("expanded_uncertainty",&STEP::ObjectHelper::Construct ) -, SchemaEntry("representation_item_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("explicit_procedural_representation_item_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("explicit_procedural_geometric_representation_item_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("explicit_procedural_representation_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("explicit_procedural_shape_representation_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("expression_conversion_based_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("extension",&STEP::ObjectHelper::Construct ) -, SchemaEntry("extent",&STEP::ObjectHelper::Construct ) -, SchemaEntry("external_source",&STEP::ObjectHelper::Construct ) -, SchemaEntry("external_class_library",&STEP::ObjectHelper::Construct ) -, SchemaEntry("external_source_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("externally_defined_class",&STEP::ObjectHelper::Construct ) -, SchemaEntry("externally_defined_colour",&STEP::ObjectHelper::Construct ) -, SchemaEntry("externally_defined_context_dependent_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("externally_defined_conversion_based_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("externally_defined_currency",&STEP::ObjectHelper::Construct ) -, SchemaEntry("externally_defined_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("externally_defined_curve_font",&STEP::ObjectHelper::Construct ) -, SchemaEntry("externally_defined_dimension_definition",&STEP::ObjectHelper::Construct ) -, SchemaEntry("externally_defined_general_property",&STEP::ObjectHelper::Construct ) -, SchemaEntry("externally_defined_hatch_style",&STEP::ObjectHelper::Construct ) -, SchemaEntry("externally_defined_item_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("externally_defined_marker",&STEP::ObjectHelper::Construct ) -, SchemaEntry("picture_representation_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("externally_defined_picture_representation_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("externally_defined_representation_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("externally_defined_string",&STEP::ObjectHelper::Construct ) -, SchemaEntry("externally_defined_symbol",&STEP::ObjectHelper::Construct ) -, SchemaEntry("externally_defined_terminator_symbol",&STEP::ObjectHelper::Construct ) -, SchemaEntry("externally_defined_text_font",&STEP::ObjectHelper::Construct ) -, SchemaEntry("externally_defined_tile",&STEP::ObjectHelper::Construct ) -, SchemaEntry("externally_defined_tile_style",&STEP::ObjectHelper::Construct ) -, SchemaEntry("swept_area_solid",&STEP::ObjectHelper::Construct ) -, SchemaEntry("extruded_area_solid",&STEP::ObjectHelper::Construct ) -, SchemaEntry("swept_face_solid",&STEP::ObjectHelper::Construct ) -, SchemaEntry("extruded_face_solid",&STEP::ObjectHelper::Construct ) -, SchemaEntry("extruded_face_solid_with_trim_conditions",&STEP::ObjectHelper::Construct ) -, SchemaEntry("extruded_face_solid_with_draft_angle",&STEP::ObjectHelper::Construct ) -, SchemaEntry("extruded_face_solid_with_multiple_draft_angles",&STEP::ObjectHelper::Construct ) -, SchemaEntry("face",&STEP::ObjectHelper::Construct ) -, SchemaEntry("face_based_surface_model",&STEP::ObjectHelper::Construct ) -, SchemaEntry("face_bound",&STEP::ObjectHelper::Construct ) -, SchemaEntry("face_outer_bound",&STEP::ObjectHelper::Construct ) -, SchemaEntry("faceted_brep",&STEP::ObjectHelper::Construct ) -, SchemaEntry("faceted_brep_shape_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("fill_area_style",&STEP::ObjectHelper::Construct ) -, SchemaEntry("fill_area_style_colour",&STEP::ObjectHelper::Construct ) -, SchemaEntry("fill_area_style_hatching",&STEP::ObjectHelper::Construct ) -, SchemaEntry("fill_area_style_tile_coloured_region",&STEP::ObjectHelper::Construct ) -, SchemaEntry("fill_area_style_tile_curve_with_style",&STEP::ObjectHelper::Construct ) -, SchemaEntry("fill_area_style_tile_symbol_with_style",&STEP::ObjectHelper::Construct ) -, SchemaEntry("fill_area_style_tiles",&STEP::ObjectHelper::Construct ) -, SchemaEntry("shape_representation_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("flat_pattern_ply_representation_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("flatness_tolerance",&STEP::ObjectHelper::Construct ) -, SchemaEntry("force_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("force_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("forward_chaining_rule",&STEP::ObjectHelper::Construct ) -, SchemaEntry("forward_chaining_rule_premise",&STEP::ObjectHelper::Construct ) -, SchemaEntry("frequency_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("frequency_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("func",&STEP::ObjectHelper::Construct ) -, SchemaEntry("functional_breakdown_context",&STEP::ObjectHelper::Construct ) -, SchemaEntry("functional_element_usage",&STEP::ObjectHelper::Construct ) -, SchemaEntry("functionally_defined_transformation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("general_material_property",&STEP::ObjectHelper::Construct ) -, SchemaEntry("general_property_association",&STEP::ObjectHelper::Construct ) -, SchemaEntry("simple_generic_expression",&STEP::ObjectHelper::Construct ) -, SchemaEntry("generic_literal",&STEP::ObjectHelper::Construct ) -, SchemaEntry("generic_variable",&STEP::ObjectHelper::Construct ) -, SchemaEntry("geometric_alignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("geometric_set",&STEP::ObjectHelper::Construct ) -, SchemaEntry("geometric_curve_set",&STEP::ObjectHelper::Construct ) -, SchemaEntry("geometric_intersection",&STEP::ObjectHelper::Construct ) -, SchemaEntry("geometric_item_specific_usage",&STEP::ObjectHelper::Construct ) -, SchemaEntry("geometric_model_element_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("representation_context",&STEP::ObjectHelper::Construct ) -, SchemaEntry("geometric_representation_context",&STEP::ObjectHelper::Construct ) -, SchemaEntry("geometric_tolerance_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("geometric_tolerance_with_defined_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("geometrical_tolerance_callout",&STEP::ObjectHelper::Construct ) -, SchemaEntry("geometrically_bounded_2d_wireframe_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("geometrically_bounded_surface_shape_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("geometrically_bounded_wireframe_shape_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("global_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("global_uncertainty_assigned_context",&STEP::ObjectHelper::Construct ) -, SchemaEntry("global_unit_assigned_context",&STEP::ObjectHelper::Construct ) -, SchemaEntry("ground_fact",&STEP::ObjectHelper::Construct ) -, SchemaEntry("group_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("hardness_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("hidden_element_over_riding_styled_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("hyperbola",&STEP::ObjectHelper::Construct ) -, SchemaEntry("id_attribute",&STEP::ObjectHelper::Construct ) -, SchemaEntry("identification_role",&STEP::ObjectHelper::Construct ) -, SchemaEntry("illuminance_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("illuminance_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("included_text_block",&STEP::ObjectHelper::Construct ) -, SchemaEntry("inclusion_product_concept_feature",&STEP::ObjectHelper::Construct ) -, SchemaEntry("user_selected_elements",&STEP::ObjectHelper::Construct ) -, SchemaEntry("indirectly_selected_elements",&STEP::ObjectHelper::Construct ) -, SchemaEntry("indirectly_selected_shape_elements",&STEP::ObjectHelper::Construct ) -, SchemaEntry("inductance_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("inductance_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("information_right",&STEP::ObjectHelper::Construct ) -, SchemaEntry("information_usage_right",&STEP::ObjectHelper::Construct ) -, SchemaEntry("instance_usage_context_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("instanced_feature",&STEP::ObjectHelper::Construct ) -, SchemaEntry("literal_number",&STEP::ObjectHelper::Construct ) -, SchemaEntry("int_literal",&STEP::ObjectHelper::Construct ) -, SchemaEntry("integer_representation_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("surface_curve",&STEP::ObjectHelper::Construct ) -, SchemaEntry("intersection_curve",&STEP::ObjectHelper::Construct ) -, SchemaEntry("interval_expression",&STEP::ObjectHelper::Construct ) -, SchemaEntry("iso4217_currency",&STEP::ObjectHelper::Construct ) -, SchemaEntry("known_source",&STEP::ObjectHelper::Construct ) -, SchemaEntry("laid_defined_transformation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("language",&STEP::ObjectHelper::Construct ) -, SchemaEntry("leader_curve",&STEP::ObjectHelper::Construct ) -, SchemaEntry("leader_directed_callout",&STEP::ObjectHelper::Construct ) -, SchemaEntry("leader_directed_dimension",&STEP::ObjectHelper::Construct ) -, SchemaEntry("leader_terminator",&STEP::ObjectHelper::Construct ) -, SchemaEntry("length_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("length_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("light_source",&STEP::ObjectHelper::Construct ) -, SchemaEntry("light_source_ambient",&STEP::ObjectHelper::Construct ) -, SchemaEntry("light_source_directional",&STEP::ObjectHelper::Construct ) -, SchemaEntry("light_source_positional",&STEP::ObjectHelper::Construct ) -, SchemaEntry("light_source_spot",&STEP::ObjectHelper::Construct ) -, SchemaEntry("limits_and_fits",&STEP::ObjectHelper::Construct ) -, SchemaEntry("line",&STEP::ObjectHelper::Construct ) -, SchemaEntry("line_profile_tolerance",&STEP::ObjectHelper::Construct ) -, SchemaEntry("linear_dimension",&STEP::ObjectHelper::Construct ) -, SchemaEntry("simple_clause",&STEP::ObjectHelper::Construct ) -, SchemaEntry("literal_conjunction",&STEP::ObjectHelper::Construct ) -, SchemaEntry("literal_disjunction",&STEP::ObjectHelper::Construct ) -, SchemaEntry("local_time",&STEP::ObjectHelper::Construct ) -, SchemaEntry("logical_literal",&STEP::ObjectHelper::Construct ) -, SchemaEntry("logical_representation_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("loop",&STEP::ObjectHelper::Construct ) -, SchemaEntry("loss_tangent_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("lot_effectivity",&STEP::ObjectHelper::Construct ) -, SchemaEntry("luminous_flux_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("luminous_flux_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("luminous_intensity_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("luminous_intensity_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("magnetic_flux_density_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("magnetic_flux_density_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("magnetic_flux_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("magnetic_flux_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("make_from_usage_option",&STEP::ObjectHelper::Construct ) -, SchemaEntry("manifold_subsurface_shape_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("manifold_surface_shape_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("mass_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("mass_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("material_designation_characterization",&STEP::ObjectHelper::Construct ) -, SchemaEntry("material_property",&STEP::ObjectHelper::Construct ) -, SchemaEntry("property_definition_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("material_property_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("measure_qualification",&STEP::ObjectHelper::Construct ) -, SchemaEntry("measure_representation_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_context",&STEP::ObjectHelper::Construct ) -, SchemaEntry("mechanical_context",&STEP::ObjectHelper::Construct ) -, SchemaEntry("mechanical_design_and_draughting_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("mechanical_design_geometric_presentation_area",&STEP::ObjectHelper::Construct ) -, SchemaEntry("mechanical_design_geometric_presentation_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("mechanical_design_presentation_representation_with_draughting",&STEP::ObjectHelper::Construct ) -, SchemaEntry("mechanical_design_shaded_presentation_area",&STEP::ObjectHelper::Construct ) -, SchemaEntry("mechanical_design_shaded_presentation_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("min_and_major_ply_orientation_basis",&STEP::ObjectHelper::Construct ) -, SchemaEntry("modified_geometric_tolerance",&STEP::ObjectHelper::Construct ) -, SchemaEntry("modified_solid_with_placed_configuration",&STEP::ObjectHelper::Construct ) -, SchemaEntry("moments_of_inertia_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("multi_language_attribute_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("multiple_arity_boolean_expression",&STEP::ObjectHelper::Construct ) -, SchemaEntry("multiple_arity_generic_expression",&STEP::ObjectHelper::Construct ) -, SchemaEntry("multiple_arity_numeric_expression",&STEP::ObjectHelper::Construct ) -, SchemaEntry("name_attribute",&STEP::ObjectHelper::Construct ) -, SchemaEntry("next_assembly_usage_occurrence",&STEP::ObjectHelper::Construct ) -, SchemaEntry("non_manifold_surface_shape_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("null_representation_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("numeric_expression",&STEP::ObjectHelper::Construct ) -, SchemaEntry("object_role",&STEP::ObjectHelper::Construct ) -, SchemaEntry("offset_curve_2d",&STEP::ObjectHelper::Construct ) -, SchemaEntry("offset_curve_3d",&STEP::ObjectHelper::Construct ) -, SchemaEntry("offset_surface",&STEP::ObjectHelper::Construct ) -, SchemaEntry("one_direction_repeat_factor",&STEP::ObjectHelper::Construct ) -, SchemaEntry("open_shell",&STEP::ObjectHelper::Construct ) -, SchemaEntry("ordinal_date",&STEP::ObjectHelper::Construct ) -, SchemaEntry("projection_directed_callout",&STEP::ObjectHelper::Construct ) -, SchemaEntry("ordinate_dimension",&STEP::ObjectHelper::Construct ) -, SchemaEntry("organization",&STEP::ObjectHelper::Construct ) -, SchemaEntry("organization_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("organization_role",&STEP::ObjectHelper::Construct ) -, SchemaEntry("organizational_address",&STEP::ObjectHelper::Construct ) -, SchemaEntry("organizational_project",&STEP::ObjectHelper::Construct ) -, SchemaEntry("organizational_project_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("organizational_project_role",&STEP::ObjectHelper::Construct ) -, SchemaEntry("oriented_closed_shell",&STEP::ObjectHelper::Construct ) -, SchemaEntry("oriented_edge",&STEP::ObjectHelper::Construct ) -, SchemaEntry("oriented_face",&STEP::ObjectHelper::Construct ) -, SchemaEntry("oriented_open_shell",&STEP::ObjectHelper::Construct ) -, SchemaEntry("path",&STEP::ObjectHelper::Construct ) -, SchemaEntry("oriented_path",&STEP::ObjectHelper::Construct ) -, SchemaEntry("oriented_surface",&STEP::ObjectHelper::Construct ) -, SchemaEntry("outer_boundary_curve",&STEP::ObjectHelper::Construct ) -, SchemaEntry("package_product_concept_feature",&STEP::ObjectHelper::Construct ) -, SchemaEntry("parabola",&STEP::ObjectHelper::Construct ) -, SchemaEntry("parallel_offset",&STEP::ObjectHelper::Construct ) -, SchemaEntry("parallelism_tolerance",&STEP::ObjectHelper::Construct ) -, SchemaEntry("parametric_representation_context",&STEP::ObjectHelper::Construct ) -, SchemaEntry("partial_document_with_structured_text_representation_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("pcurve",&STEP::ObjectHelper::Construct ) -, SchemaEntry("percentage_laminate_definition",&STEP::ObjectHelper::Construct ) -, SchemaEntry("zone_structural_makeup",&STEP::ObjectHelper::Construct ) -, SchemaEntry("percentage_laminate_table",&STEP::ObjectHelper::Construct ) -, SchemaEntry("percentage_ply_definition",&STEP::ObjectHelper::Construct ) -, SchemaEntry("perpendicular_to",&STEP::ObjectHelper::Construct ) -, SchemaEntry("perpendicularity_tolerance",&STEP::ObjectHelper::Construct ) -, SchemaEntry("person",&STEP::ObjectHelper::Construct ) -, SchemaEntry("person_and_organization",&STEP::ObjectHelper::Construct ) -, SchemaEntry("person_and_organization_address",&STEP::ObjectHelper::Construct ) -, SchemaEntry("person_and_organization_role",&STEP::ObjectHelper::Construct ) -, SchemaEntry("personal_address",&STEP::ObjectHelper::Construct ) -, SchemaEntry("physical_breakdown_context",&STEP::ObjectHelper::Construct ) -, SchemaEntry("physical_element_usage",&STEP::ObjectHelper::Construct ) -, SchemaEntry("presentation_view",&STEP::ObjectHelper::Construct ) -, SchemaEntry("picture_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("placed_datum_target_feature",&STEP::ObjectHelper::Construct ) -, SchemaEntry("placed_feature",&STEP::ObjectHelper::Construct ) -, SchemaEntry("planar_extent",&STEP::ObjectHelper::Construct ) -, SchemaEntry("planar_box",&STEP::ObjectHelper::Construct ) -, SchemaEntry("plane",&STEP::ObjectHelper::Construct ) -, SchemaEntry("plane_angle_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("plane_angle_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("plus_minus_tolerance",&STEP::ObjectHelper::Construct ) -, SchemaEntry("ply_laminate_definition",&STEP::ObjectHelper::Construct ) -, SchemaEntry("ply_laminate_sequence_definition",&STEP::ObjectHelper::Construct ) -, SchemaEntry("ply_laminate_table",&STEP::ObjectHelper::Construct ) -, SchemaEntry("point_and_vector",&STEP::ObjectHelper::Construct ) -, SchemaEntry("point_on_curve",&STEP::ObjectHelper::Construct ) -, SchemaEntry("point_on_surface",&STEP::ObjectHelper::Construct ) -, SchemaEntry("point_path",&STEP::ObjectHelper::Construct ) -, SchemaEntry("point_replica",&STEP::ObjectHelper::Construct ) -, SchemaEntry("point_style",&STEP::ObjectHelper::Construct ) -, SchemaEntry("polar_complex_number_literal",&STEP::ObjectHelper::Construct ) -, SchemaEntry("poly_loop",&STEP::ObjectHelper::Construct ) -, SchemaEntry("polyline",&STEP::ObjectHelper::Construct ) -, SchemaEntry("position_tolerance",&STEP::ObjectHelper::Construct ) -, SchemaEntry("positioned_sketch",&STEP::ObjectHelper::Construct ) -, SchemaEntry("power_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("power_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("pre_defined_symbol",&STEP::ObjectHelper::Construct ) -, SchemaEntry("pre_defined_dimension_symbol",&STEP::ObjectHelper::Construct ) -, SchemaEntry("pre_defined_geometrical_tolerance_symbol",&STEP::ObjectHelper::Construct ) -, SchemaEntry("pre_defined_marker",&STEP::ObjectHelper::Construct ) -, SchemaEntry("pre_defined_point_marker_symbol",&STEP::ObjectHelper::Construct ) -, SchemaEntry("pre_defined_surface_condition_symbol",&STEP::ObjectHelper::Construct ) -, SchemaEntry("pre_defined_surface_side_style",&STEP::ObjectHelper::Construct ) -, SchemaEntry("pre_defined_terminator_symbol",&STEP::ObjectHelper::Construct ) -, SchemaEntry("pre_defined_tile",&STEP::ObjectHelper::Construct ) -, SchemaEntry("precision_qualifier",&STEP::ObjectHelper::Construct ) -, SchemaEntry("predefined_picture_representation_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("presentation_layer_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("presentation_size",&STEP::ObjectHelper::Construct ) -, SchemaEntry("presentation_style_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("presentation_style_by_context",&STEP::ObjectHelper::Construct ) -//, SchemaEntry("presented_item_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("pressure_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("pressure_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("procedural_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("procedural_representation_sequence",&STEP::ObjectHelper::Construct ) -, SchemaEntry("procedural_shape_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("procedural_shape_representation_sequence",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_category",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_class",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_concept",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_concept_context",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_concept_feature_association",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_concept_feature_category_usage",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_concept_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_definition_context_association",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_definition_context_role",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_definition_element_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_definition_formation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_definition_formation_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_definition_formation_with_specified_source",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_definition_group_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_definition_occurrence_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_definition_shape",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_definition_substitute",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_definition_with_associated_documents",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_identification",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_material_composition_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_related_product_category",&STEP::ObjectHelper::Construct ) -, SchemaEntry("product_specification",&STEP::ObjectHelper::Construct ) -, SchemaEntry("tolerance_zone_definition",&STEP::ObjectHelper::Construct ) -, SchemaEntry("projected_zone_definition",&STEP::ObjectHelper::Construct ) -, SchemaEntry("projection_curve",&STEP::ObjectHelper::Construct ) -, SchemaEntry("promissory_usage_occurrence",&STEP::ObjectHelper::Construct ) -, SchemaEntry("property_definition_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("qualified_representation_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("qualitative_uncertainty",&STEP::ObjectHelper::Construct ) -, SchemaEntry("quantified_assembly_component_usage",&STEP::ObjectHelper::Construct ) -, SchemaEntry("quasi_uniform_curve",&STEP::ObjectHelper::Construct ) -, SchemaEntry("quasi_uniform_surface",&STEP::ObjectHelper::Construct ) -, SchemaEntry("radioactivity_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("radioactivity_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("radius_dimension",&STEP::ObjectHelper::Construct ) -, SchemaEntry("range_characteristic",&STEP::ObjectHelper::Construct ) -, SchemaEntry("ratio_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("rational_b_spline_curve",&STEP::ObjectHelper::Construct ) -, SchemaEntry("rational_b_spline_surface",&STEP::ObjectHelper::Construct ) -, SchemaEntry("rational_representation_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("real_literal",&STEP::ObjectHelper::Construct ) -, SchemaEntry("real_representation_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("rectangular_composite_surface",&STEP::ObjectHelper::Construct ) -, SchemaEntry("rectangular_trimmed_surface",&STEP::ObjectHelper::Construct ) -, SchemaEntry("referenced_modified_datum",&STEP::ObjectHelper::Construct ) -, SchemaEntry("relative_event_occurrence",&STEP::ObjectHelper::Construct ) -, SchemaEntry("rep_item_group",&STEP::ObjectHelper::Construct ) -, SchemaEntry("reparametrised_composite_curve_segment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("representation_relationship_with_transformation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("requirement_assigned_object",&STEP::ObjectHelper::Construct ) -, SchemaEntry("requirement_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("requirement_source",&STEP::ObjectHelper::Construct ) -, SchemaEntry("requirement_view_definition_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("resistance_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("resistance_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("revolved_area_solid",&STEP::ObjectHelper::Construct ) -, SchemaEntry("revolved_face_solid",&STEP::ObjectHelper::Construct ) -, SchemaEntry("revolved_face_solid_with_trim_conditions",&STEP::ObjectHelper::Construct ) -, SchemaEntry("right_angular_wedge",&STEP::ObjectHelper::Construct ) -, SchemaEntry("right_circular_cone",&STEP::ObjectHelper::Construct ) -, SchemaEntry("right_circular_cylinder",&STEP::ObjectHelper::Construct ) -, SchemaEntry("right_to_usage_association",&STEP::ObjectHelper::Construct ) -, SchemaEntry("role_association",&STEP::ObjectHelper::Construct ) -, SchemaEntry("roundness_tolerance",&STEP::ObjectHelper::Construct ) -, SchemaEntry("row_representation_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("row_value",&STEP::ObjectHelper::Construct ) -, SchemaEntry("row_variable",&STEP::ObjectHelper::Construct ) -, SchemaEntry("rule_action",&STEP::ObjectHelper::Construct ) -, SchemaEntry("rule_condition",&STEP::ObjectHelper::Construct ) -, SchemaEntry("rule_set",&STEP::ObjectHelper::Construct ) -, SchemaEntry("rule_set_group",&STEP::ObjectHelper::Construct ) -, SchemaEntry("rule_superseded_assignment",&STEP::ObjectHelper::Construct ) -, SchemaEntry("rule_supersedence",&STEP::ObjectHelper::Construct ) -, SchemaEntry("surface_curve_swept_area_solid",&STEP::ObjectHelper::Construct ) -, SchemaEntry("ruled_surface_swept_area_solid",&STEP::ObjectHelper::Construct ) -, SchemaEntry("runout_zone_definition",&STEP::ObjectHelper::Construct ) -, SchemaEntry("runout_zone_orientation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("runout_zone_orientation_reference_direction",&STEP::ObjectHelper::Construct ) -, SchemaEntry("satisfied_requirement",&STEP::ObjectHelper::Construct ) -, SchemaEntry("satisfies_requirement",&STEP::ObjectHelper::Construct ) -, SchemaEntry("satisfying_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("scalar_variable",&STEP::ObjectHelper::Construct ) -, SchemaEntry("scattering_parameter",&STEP::ObjectHelper::Construct ) -, SchemaEntry("sculptured_solid",&STEP::ObjectHelper::Construct ) -, SchemaEntry("seam_curve",&STEP::ObjectHelper::Construct ) -, SchemaEntry("security_classification",&STEP::ObjectHelper::Construct ) -, SchemaEntry("security_classification_level",&STEP::ObjectHelper::Construct ) -, SchemaEntry("serial_numbered_effectivity",&STEP::ObjectHelper::Construct ) -, SchemaEntry("shape_aspect_associativity",&STEP::ObjectHelper::Construct ) -, SchemaEntry("shape_aspect_deriving_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("shape_definition_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("shape_dimension_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("shape_feature_definition",&STEP::ObjectHelper::Construct ) -, SchemaEntry("shape_representation_with_parameters",&STEP::ObjectHelper::Construct ) -, SchemaEntry("shell_based_surface_model",&STEP::ObjectHelper::Construct ) -, SchemaEntry("shell_based_wireframe_model",&STEP::ObjectHelper::Construct ) -, SchemaEntry("shell_based_wireframe_shape_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("si_absorbed_dose_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("si_capacitance_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("si_conductance_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("si_dose_equivalent_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("si_electric_charge_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("si_electric_potential_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("si_energy_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("si_force_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("si_frequency_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("si_illuminance_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("si_inductance_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("si_magnetic_flux_density_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("si_magnetic_flux_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("si_power_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("si_pressure_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("si_radioactivity_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("si_resistance_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("si_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("simple_boolean_expression",&STEP::ObjectHelper::Construct ) -, SchemaEntry("simple_numeric_expression",&STEP::ObjectHelper::Construct ) -, SchemaEntry("slash_expression",&STEP::ObjectHelper::Construct ) -, SchemaEntry("smeared_material_definition",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_angle_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_angle_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_curve_font",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_replica",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_chamfered_edges",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_angle_based_chamfer",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_shape_element_pattern",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_circular_pattern",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_depression",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_pocket",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_circular_pocket",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_protrusion",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_circular_protrusion",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_hole",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_stepped_round_hole",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_conical_bottom_round_hole",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_constant_radius_edge_blend",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_slot",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_curved_slot",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_double_offset_chamfer",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_flat_bottom_round_hole",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_general_pocket",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_general_protrusion",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_groove",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_incomplete_circular_pattern",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_rectangular_pattern",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_incomplete_rectangular_pattern",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_rectangular_pocket",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_rectangular_protrusion",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_single_offset_chamfer",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_spherical_bottom_round_hole",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_stepped_round_hole_and_conical_transitions",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_straight_slot",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_tee_section_slot",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_through_depression",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_trapezoidal_section_slot",&STEP::ObjectHelper::Construct ) -, SchemaEntry("solid_with_variable_radius_edge_blend",&STEP::ObjectHelper::Construct ) -, SchemaEntry("source_for_requirement",&STEP::ObjectHelper::Construct ) -, SchemaEntry("sourced_requirement",&STEP::ObjectHelper::Construct ) -, SchemaEntry("specification_definition",&STEP::ObjectHelper::Construct ) -, SchemaEntry("specified_higher_usage_occurrence",&STEP::ObjectHelper::Construct ) -, SchemaEntry("sphere",&STEP::ObjectHelper::Construct ) -, SchemaEntry("spherical_surface",&STEP::ObjectHelper::Construct ) -, SchemaEntry("start_request",&STEP::ObjectHelper::Construct ) -, SchemaEntry("start_work",&STEP::ObjectHelper::Construct ) -, SchemaEntry("straightness_tolerance",&STEP::ObjectHelper::Construct ) -, SchemaEntry("structured_dimension_callout",&STEP::ObjectHelper::Construct ) -, SchemaEntry("structured_text_composition",&STEP::ObjectHelper::Construct ) -, SchemaEntry("structured_text_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("subedge",&STEP::ObjectHelper::Construct ) -, SchemaEntry("subface",&STEP::ObjectHelper::Construct ) -, SchemaEntry("supplied_part_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("surface_condition_callout",&STEP::ObjectHelper::Construct ) -, SchemaEntry("swept_surface",&STEP::ObjectHelper::Construct ) -, SchemaEntry("surface_of_linear_extrusion",&STEP::ObjectHelper::Construct ) -, SchemaEntry("surface_of_revolution",&STEP::ObjectHelper::Construct ) -, SchemaEntry("surface_patch",&STEP::ObjectHelper::Construct ) -, SchemaEntry("surface_profile_tolerance",&STEP::ObjectHelper::Construct ) -, SchemaEntry("surface_rendering_properties",&STEP::ObjectHelper::Construct ) -, SchemaEntry("surface_replica",&STEP::ObjectHelper::Construct ) -, SchemaEntry("surface_side_style",&STEP::ObjectHelper::Construct ) -, SchemaEntry("surface_style_boundary",&STEP::ObjectHelper::Construct ) -, SchemaEntry("surface_style_control_grid",&STEP::ObjectHelper::Construct ) -, SchemaEntry("surface_style_fill_area",&STEP::ObjectHelper::Construct ) -, SchemaEntry("surface_style_parameter_line",&STEP::ObjectHelper::Construct ) -, SchemaEntry("surface_style_reflectance_ambient",&STEP::ObjectHelper::Construct ) -, SchemaEntry("surface_style_reflectance_ambient_diffuse",&STEP::ObjectHelper::Construct ) -, SchemaEntry("surface_style_reflectance_ambient_diffuse_specular",&STEP::ObjectHelper::Construct ) -, SchemaEntry("surface_style_rendering",&STEP::ObjectHelper::Construct ) -, SchemaEntry("surface_style_rendering_with_properties",&STEP::ObjectHelper::Construct ) -, SchemaEntry("surface_style_segmentation_curve",&STEP::ObjectHelper::Construct ) -, SchemaEntry("surface_style_silhouette",&STEP::ObjectHelper::Construct ) -, SchemaEntry("surface_style_transparent",&STEP::ObjectHelper::Construct ) -, SchemaEntry("surface_style_usage",&STEP::ObjectHelper::Construct ) -, SchemaEntry("surface_texture_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("surfaced_open_shell",&STEP::ObjectHelper::Construct ) -, SchemaEntry("swept_disk_solid",&STEP::ObjectHelper::Construct ) -, SchemaEntry("symbol",&STEP::ObjectHelper::Construct ) -, SchemaEntry("symbol_colour",&STEP::ObjectHelper::Construct ) -, SchemaEntry("symbol_representation_map",&STEP::ObjectHelper::Construct ) -, SchemaEntry("symbol_style",&STEP::ObjectHelper::Construct ) -, SchemaEntry("symbol_target",&STEP::ObjectHelper::Construct ) -, SchemaEntry("symmetric_shape_aspect",&STEP::ObjectHelper::Construct ) -, SchemaEntry("symmetry_tolerance",&STEP::ObjectHelper::Construct ) -, SchemaEntry("table_representation_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("tactile_appearance_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("tagged_text_format",&STEP::ObjectHelper::Construct ) -, SchemaEntry("tagged_text_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("tangent",&STEP::ObjectHelper::Construct ) -, SchemaEntry("text_font",&STEP::ObjectHelper::Construct ) -, SchemaEntry("text_font_family",&STEP::ObjectHelper::Construct ) -, SchemaEntry("text_font_in_family",&STEP::ObjectHelper::Construct ) -, SchemaEntry("text_literal_with_associated_curves",&STEP::ObjectHelper::Construct ) -, SchemaEntry("text_literal_with_blanking_box",&STEP::ObjectHelper::Construct ) -, SchemaEntry("text_literal_with_extent",&STEP::ObjectHelper::Construct ) -, SchemaEntry("text_string_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("text_style",&STEP::ObjectHelper::Construct ) -, SchemaEntry("text_style_for_defined_font",&STEP::ObjectHelper::Construct ) -, SchemaEntry("text_style_with_box_characteristics",&STEP::ObjectHelper::Construct ) -, SchemaEntry("text_style_with_mirror",&STEP::ObjectHelper::Construct ) -, SchemaEntry("text_style_with_spacing",&STEP::ObjectHelper::Construct ) -, SchemaEntry("thermal_resistance_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("thermal_resistance_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("thermodynamic_temperature_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("thermodynamic_temperature_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("thickened_face_solid",&STEP::ObjectHelper::Construct ) -, SchemaEntry("thickness_laminate_definition",&STEP::ObjectHelper::Construct ) -, SchemaEntry("thickness_laminate_table",&STEP::ObjectHelper::Construct ) -, SchemaEntry("time_interval",&STEP::ObjectHelper::Construct ) -, SchemaEntry("time_interval_based_effectivity",&STEP::ObjectHelper::Construct ) -, SchemaEntry("time_interval_relationship",&STEP::ObjectHelper::Construct ) -, SchemaEntry("time_interval_role",&STEP::ObjectHelper::Construct ) -, SchemaEntry("time_interval_with_bounds",&STEP::ObjectHelper::Construct ) -, SchemaEntry("time_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("time_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("tolerance_value",&STEP::ObjectHelper::Construct ) -, SchemaEntry("tolerance_zone",&STEP::ObjectHelper::Construct ) -, SchemaEntry("tolerance_zone_form",&STEP::ObjectHelper::Construct ) -, SchemaEntry("torus",&STEP::ObjectHelper::Construct ) -, SchemaEntry("total_runout_tolerance",&STEP::ObjectHelper::Construct ) -, SchemaEntry("track_blended_solid",&STEP::ObjectHelper::Construct ) -, SchemaEntry("track_blended_solid_with_end_conditions",&STEP::ObjectHelper::Construct ) -, SchemaEntry("trimmed_curve",&STEP::ObjectHelper::Construct ) -, SchemaEntry("two_direction_repeat_factor",&STEP::ObjectHelper::Construct ) -, SchemaEntry("type_qualifier",&STEP::ObjectHelper::Construct ) -, SchemaEntry("unary_generic_expression",&STEP::ObjectHelper::Construct ) -, SchemaEntry("unary_numeric_expression",&STEP::ObjectHelper::Construct ) -, SchemaEntry("uncertainty_assigned_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("uncertainty_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("uniform_curve",&STEP::ObjectHelper::Construct ) -, SchemaEntry("uniform_resource_identifier",&STEP::ObjectHelper::Construct ) -, SchemaEntry("uniform_surface",&STEP::ObjectHelper::Construct ) -, SchemaEntry("usage_association",&STEP::ObjectHelper::Construct ) -, SchemaEntry("user_defined_curve_font",&STEP::ObjectHelper::Construct ) -, SchemaEntry("user_defined_marker",&STEP::ObjectHelper::Construct ) -, SchemaEntry("user_defined_terminator_symbol",&STEP::ObjectHelper::Construct ) -, SchemaEntry("user_selected_shape_elements",&STEP::ObjectHelper::Construct ) -, SchemaEntry("value_range",&STEP::ObjectHelper::Construct ) -, SchemaEntry("value_representation_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("variable_semantics",&STEP::ObjectHelper::Construct ) -, SchemaEntry("variational_representation_item",&STEP::ObjectHelper::Construct ) -, SchemaEntry("vector",&STEP::ObjectHelper::Construct ) -, SchemaEntry("vector_style",&STEP::ObjectHelper::Construct ) -, SchemaEntry("velocity_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("velocity_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("versioned_action_request",&STEP::ObjectHelper::Construct ) -, SchemaEntry("vertex",&STEP::ObjectHelper::Construct ) -, SchemaEntry("vertex_loop",&STEP::ObjectHelper::Construct ) -, SchemaEntry("vertex_point",&STEP::ObjectHelper::Construct ) -, SchemaEntry("vertex_shell",&STEP::ObjectHelper::Construct ) -, SchemaEntry("view_volume",&STEP::ObjectHelper::Construct ) -, SchemaEntry("visual_appearance_representation",&STEP::ObjectHelper::Construct ) -, SchemaEntry("volume_measure_with_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("volume_unit",&STEP::ObjectHelper::Construct ) -, SchemaEntry("week_of_year_and_day_date",&STEP::ObjectHelper::Construct ) -, SchemaEntry("wire_shell",&STEP::ObjectHelper::Construct ) -, SchemaEntry("year_month",&STEP::ObjectHelper::Construct ) - - }; -} - -// ----------------------------------------------------------------------------------------------------------- -void StepFile::GetSchema(EXPRESS::ConversionSchema& out) -{ - out = EXPRESS::ConversionSchema(schema_raw); -} - -namespace STEP { - - // ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const STEP::DB& db, const LIST& params, NotImplemented* in) -{ - return 0; -} -*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, measure_with_unit* in) -{ - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to measure_with_unit"); } do { // convert the 'value_component' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0]=true; break; } - try { GenericConvert( in->value_component, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to measure_with_unit to be a `measure_value`")); } - } while(0); - do { // convert the 'unit_component' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1]=true; break; } - try { GenericConvert( in->unit_component, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to measure_with_unit to be a `unit`")); } - } while(0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, absorbed_dose_measure_with_unit* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to absorbed_dose_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, derived_unit* in) -{ - size_t base = 0; - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to derived_unit"); } do { // convert the 'elements' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0]=true; break; } - try { GenericConvert( in->elements, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to derived_unit to be a `SET [1:?] OF derived_unit_element`")); } - } while(0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, absorbed_dose_unit* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to absorbed_dose_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB&, const LIST&, abstract_variable*) { - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, acceleration_measure_with_unit* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to acceleration_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, acceleration_unit* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to acceleration_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, action* in) -{ - size_t base = 0; - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to action"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0]=true; break; } - try { GenericConvert( in->name, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to action to be a `label`")); } - } while(0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1]=true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert( in->description, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to action to be a `text`")); } - } while(0); - do { // convert the 'chosen_method' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2]=true; break; } - try { GenericConvert( in->chosen_method, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to action to be a `action_method`")); } - } while(0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, action_assignment* in) -{ - size_t base = 0; - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to action_assignment"); } do { // convert the 'assigned_action' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0]=true; break; } - try { GenericConvert( in->assigned_action, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to action_assignment to be a `action`")); } - } while(0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, action_method* in) -{ - size_t base = 0; - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to action_method"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0]=true; break; } - try { GenericConvert( in->name, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to action_method to be a `label`")); } - } while(0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1]=true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert( in->description, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to action_method to be a `text`")); } - } while(0); - do { // convert the 'consequence' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2]=true; break; } - try { GenericConvert( in->consequence, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to action_method to be a `text`")); } - } while(0); - do { // convert the 'purpose' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3]=true; break; } - try { GenericConvert( in->purpose, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to action_method to be a `text`")); } - } while(0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, action_method_assignment* in) -{ - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to action_method_assignment"); } do { // convert the 'assigned_action_method' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0]=true; break; } - try { GenericConvert( in->assigned_action_method, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to action_method_assignment to be a `action_method`")); } - } while(0); - do { // convert the 'role' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1]=true; break; } - try { GenericConvert( in->role, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to action_method_assignment to be a `action_method_role`")); } - } while(0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, action_method_relationship* in) -{ - size_t base = 0; - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to action_method_relationship"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0]=true; break; } - try { GenericConvert( in->name, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to action_method_relationship to be a `label`")); } - } while(0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1]=true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert( in->description, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to action_method_relationship to be a `text`")); } - } while(0); - do { // convert the 'relating_method' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2]=true; break; } - try { GenericConvert( in->relating_method, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to action_method_relationship to be a `action_method`")); } - } while(0); - do { // convert the 'related_method' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3]=true; break; } - try { GenericConvert( in->related_method, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to action_method_relationship to be a `action_method`")); } - } while(0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, action_request_assignment* in) -{ - size_t base = 0; - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to action_request_assignment"); } do { // convert the 'assigned_action_request' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0]=true; break; } - try { GenericConvert( in->assigned_action_request, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to action_request_assignment to be a `versioned_action_request`")); } - } while(0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill
(const DB& db, const LIST& params, address* in) -{ - size_t base = 0; - if (params.GetSize() < 12) { throw STEP::TypeError("expected 12 arguments to address"); } do { // convert the 'internal_location' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0]=true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert( in->internal_location, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to address to be a `label`")); } - } while(0); - do { // convert the 'street_number' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1]=true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert( in->street_number, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to address to be a `label`")); } - } while(0); - do { // convert the 'street' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2]=true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert( in->street, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to address to be a `label`")); } - } while(0); - do { // convert the 'postal_box' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3]=true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert( in->postal_box, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to address to be a `label`")); } - } while(0); - do { // convert the 'town' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[4]=true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert( in->town, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to address to be a `label`")); } - } while(0); - do { // convert the 'region' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[5]=true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert( in->region, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to address to be a `label`")); } - } while(0); - do { // convert the 'postal_code' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[6]=true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert( in->postal_code, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to address to be a `label`")); } - } while(0); - do { // convert the 'country' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[7]=true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert( in->country, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to address to be a `label`")); } - } while(0); - do { // convert the 'facsimile_number' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[8]=true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert( in->facsimile_number, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to address to be a `label`")); } - } while(0); - do { // convert the 'telephone_number' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[9]=true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert( in->telephone_number, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 9 to address to be a `label`")); } - } while(0); - do { // convert the 'electronic_mail_address' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[10]=true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert( in->electronic_mail_address, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 10 to address to be a `label`")); } - } while(0); - do { // convert the 'telex_number' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[11]=true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert( in->telex_number, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 11 to address to be a `label`")); } - } while(0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, representation* in) -{ - size_t base = 0; - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to representation"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0]=true; break; } - try { GenericConvert( in->name, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to representation to be a `label`")); } - } while(0); - do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1]=true; break; } - try { GenericConvert( in->items, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to representation to be a `SET [1:?] OF representation_item`")); } - } while(0); - do { // convert the 'context_of_items' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2]=true; break; } - try { GenericConvert( in->context_of_items, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to representation to be a `representation_context`")); } - } while(0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, shape_representation* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to shape_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, advanced_brep_shape_representation* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to advanced_brep_shape_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, face_surface* in) -{ - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to face_surface"); } do { // convert the 'face_geometry' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0]=true; break; } - try { GenericConvert( in->face_geometry, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to face_surface to be a `surface`")); } - } while(0); - do { // convert the 'same_sense' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1]=true; break; } - try { GenericConvert( in->same_sense, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to face_surface to be a `BOOLEAN`")); } - } while(0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, advanced_face* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to advanced_face"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, amount_of_substance_measure_with_unit* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to amount_of_substance_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, named_unit* in) -{ - size_t base = 0; - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to named_unit"); } do { // convert the 'dimensions' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0]=true; break; } - try { GenericConvert( in->dimensions, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to named_unit to be a `dimensional_exponents`")); } - } while(0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, amount_of_substance_unit* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to amount_of_substance_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB&, const LIST&, angle_direction_reference*) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, representation_item* in) -{ - size_t base = 0; - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to representation_item"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0]=true; break; } - try { GenericConvert( in->name, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to representation_item to be a `label`")); } - } while(0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, geometric_representation_item* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to geometric_representation_item"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, draughting_callout* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to draughting_callout"); } do { // convert the 'contents' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0]=true; break; } - try { GenericConvert( in->contents, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to draughting_callout to be a `SET [1:?] OF draughting_callout_element`")); } - } while(0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, dimension_curve_directed_callout* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to dimension_curve_directed_callout"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, angular_dimension* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to angular_dimension"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, shape_aspect_relationship* in) -{ - size_t base = 0; - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to shape_aspect_relationship"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0]=true; break; } - try { GenericConvert( in->name, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to shape_aspect_relationship to be a `label`")); } - } while(0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1]=true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert( in->description, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to shape_aspect_relationship to be a `text`")); } - } while(0); - do { // convert the 'relating_shape_aspect' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2]=true; break; } - try { GenericConvert( in->relating_shape_aspect, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to shape_aspect_relationship to be a `shape_aspect`")); } - } while(0); - do { // convert the 'related_shape_aspect' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3]=true; break; } - try { GenericConvert( in->related_shape_aspect, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to shape_aspect_relationship to be a `shape_aspect`")); } - } while(0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, dimensional_location* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to dimensional_location"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, angular_location* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to angular_location"); } do { // convert the 'angle_selection' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert( in->angle_selection, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to angular_location to be a `angle_relator`")); } - } while(0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, dimensional_size* in) -{ - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to dimensional_size"); } do { // convert the 'applies_to' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0]=true; break; } - try { GenericConvert( in->applies_to, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to dimensional_size to be a `shape_aspect`")); } - } while(0); - do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1]=true; break; } - try { GenericConvert( in->name, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to dimensional_size to be a `label`")); } - } while(0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, angular_size* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to angular_size"); } do { // convert the 'angle_selection' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert( in->angle_selection, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to angular_size to be a `angle_relator`")); } - } while(0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, geometric_tolerance* in) -{ - size_t base = 0; - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to geometric_tolerance"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0]=true; break; } - try { GenericConvert( in->name, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to geometric_tolerance to be a `label`")); } - } while(0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1]=true; break; } - try { GenericConvert( in->description, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to geometric_tolerance to be a `text`")); } - } while(0); - do { // convert the 'magnitude' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2]=true; break; } - try { GenericConvert( in->magnitude, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to geometric_tolerance to be a `measure_with_unit`")); } - } while(0); - do { // convert the 'toleranced_shape_aspect' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3]=true; break; } - try { GenericConvert( in->toleranced_shape_aspect, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to geometric_tolerance to be a `shape_aspect`")); } - } while(0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, geometric_tolerance_with_datum_reference* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to geometric_tolerance_with_datum_reference"); } do { // convert the 'datum_system' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0]=true; break; } - try { GenericConvert( in->datum_system, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to geometric_tolerance_with_datum_reference to be a `SET [1:?] OF datum_reference`")); } - } while(0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, angularity_tolerance* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to angularity_tolerance"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, styled_item* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to styled_item"); } do { // convert the 'styles' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0]=true; break; } - try { GenericConvert( in->styles, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to styled_item to be a `SET [1:?] OF presentation_style_assignment`")); } - } while(0); - do { // convert the 'item' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1]=true; break; } - try { GenericConvert( in->item, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to styled_item to be a `representation_item`")); } - } while(0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, annotation_occurrence* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to annotation_occurrence"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, annotation_curve_occurrence* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to annotation_curve_occurrence"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, annotation_fill_area* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to annotation_fill_area"); } do { // convert the 'boundaries' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert( in->boundaries, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to annotation_fill_area to be a `SET [1:?] OF curve`")); } - } while(0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, annotation_fill_area_occurrence* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to annotation_fill_area_occurrence"); } do { // convert the 'fill_style_target' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert( in->fill_style_target, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to annotation_fill_area_occurrence to be a `point`")); } - } while(0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, annotation_occurrence_relationship* in) -{ - size_t base = 0; - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to annotation_occurrence_relationship"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0]=true; break; } - try { GenericConvert( in->name, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to annotation_occurrence_relationship to be a `label`")); } - } while(0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1]=true; break; } - try { GenericConvert( in->description, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to annotation_occurrence_relationship to be a `text`")); } - } while(0); - do { // convert the 'relating_annotation_occurrence' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2]=true; break; } - try { GenericConvert( in->relating_annotation_occurrence, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to annotation_occurrence_relationship to be a `annotation_occurrence`")); } - } while(0); - do { // convert the 'related_annotation_occurrence' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3]=true; break; } - try { GenericConvert( in->related_annotation_occurrence, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to annotation_occurrence_relationship to be a `annotation_occurrence`")); } - } while(0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, annotation_occurrence_associativity* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to annotation_occurrence_associativity"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, annotation_plane* in) -{ - size_t base = 0; - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to annotation_plane"); } do { // convert the 'elements' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) break; - try { GenericConvert( in->elements, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to annotation_plane to be a `SET [1:?] OF annotation_plane_element`")); } - } while(0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, annotation_symbol_occurrence* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to annotation_symbol_occurrence"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, annotation_subfigure_occurrence* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to annotation_subfigure_occurrence"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, mapped_item* in) -{ - size_t base = GenericFill(db,params,static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to mapped_item"); } do { // convert the 'mapping_source' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0]=true; break; } - try { GenericConvert( in->mapping_source, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to mapped_item to be a `representation_map`")); } - } while(0); - do { // convert the 'mapping_target' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1]=true; break; } - try { GenericConvert( in->mapping_target, arg, db ); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to mapped_item to be a `representation_item`")); } - } while(0); - return base; -} - -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, annotation_symbol* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to annotation_symbol"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, annotation_text* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to annotation_text"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, annotation_text_character* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to annotation_text_character"); } do { // convert the 'alignment' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->alignment, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to annotation_text_character to be a `text_alignment`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, annotation_text_occurrence* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to annotation_text_occurrence"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, shape_aspect* in) -{ - size_t base = 0; - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to shape_aspect"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to shape_aspect to be a `label`")); } - } while (0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to shape_aspect to be a `text`")); } - } while (0); - do { // convert the 'of_shape' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - try { GenericConvert(in->of_shape, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to shape_aspect to be a `product_definition_shape`")); } - } while (0); - do { // convert the 'product_definitional' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3] = true; break; } - try { GenericConvert(in->product_definitional, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to shape_aspect to be a `LOGICAL`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, derived_shape_aspect* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to derived_shape_aspect"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, apex* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to apex"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, application_context_element* in) -{ - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to application_context_element"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to application_context_element to be a `label`")); } - } while (0); - do { // convert the 'frame_of_reference' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->frame_of_reference, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to application_context_element to be a `application_context`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, applied_action_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to applied_action_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to applied_action_assignment to be a `SET [1:?] OF action_items`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, applied_action_method_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to applied_action_method_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to applied_action_method_assignment to be a `SET [1:?] OF action_method_items`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, applied_action_request_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to applied_action_request_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to applied_action_request_assignment to be a `SET [1:?] OF action_request_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, approval_assignment* in) -{ - size_t base = 0; - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to approval_assignment"); } do { // convert the 'assigned_approval' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->assigned_approval, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to approval_assignment to be a `approval`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, applied_approval_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to applied_approval_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to applied_approval_assignment to be a `SET [1:?] OF approval_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, attribute_classification_assignment* in) -{ - size_t base = 0; - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to attribute_classification_assignment"); } do { // convert the 'assigned_class' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->assigned_class, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to attribute_classification_assignment to be a `group`")); } - } while (0); - do { // convert the 'attribute_name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->attribute_name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to attribute_classification_assignment to be a `label`")); } - } while (0); - do { // convert the 'role' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - try { GenericConvert(in->role, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to attribute_classification_assignment to be a `classification_role`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, applied_attribute_classification_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to applied_attribute_classification_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to applied_attribute_classification_assignment to be a `SET [1:?] OF attribute_classification_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, certification_assignment* in) -{ - size_t base = 0; - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to certification_assignment"); } do { // convert the 'assigned_certification' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->assigned_certification, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to certification_assignment to be a `certification`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, applied_certification_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to applied_certification_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to applied_certification_assignment to be a `SET [1:?] OF certification_item`")); } - } while (0); - return base; -} - -} // ! STEP -} // ! Assimp - -#endif diff --git a/code/AssetLib/StepFile/StepFileGen2.cpp b/code/AssetLib/StepFile/StepFileGen2.cpp deleted file mode 100644 index ea12cd7ba..000000000 --- a/code/AssetLib/StepFile/StepFileGen2.cpp +++ /dev/null @@ -1,3068 +0,0 @@ -/* -Open Asset Import Library (ASSIMP) ----------------------------------------------------------------------- - -Copyright (c) 2006-2020, ASSIMP Development Team -All rights reserved. - -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the -following conditions are met: - -* Redistributions of source code must retain the above - copyright notice, this list of conditions and the - following disclaimer. - -* Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the - following disclaimer in the documentation and/or other - materials provided with the distribution. - -* Neither the name of the ASSIMP team, nor the names of its - contributors may be used to endorse or promote products - derived from this software without specific prior - written permission of the ASSIMP Development Team. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ----------------------------------------------------------------------- -*/ - -#include "code/Importer/StepFile/StepReaderGen.h" - -namespace Assimp { -using namespace StepFile; -namespace STEP { - - // ----------------------------------------------------------------------------------------------------------- - template <> size_t GenericFill(const DB& db, const LIST& params, classification_assignment* in) - { - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to classification_assignment"); } do { // convert the 'assigned_class' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->assigned_class, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to classification_assignment to be a `group`")); } - } while (0); - do { // convert the 'role' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->role, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to classification_assignment to be a `classification_role`")); } - } while (0); - return base; - } - // ----------------------------------------------------------------------------------------------------------- - template <> size_t GenericFill(const DB& db, const LIST& params, applied_classification_assignment* in) - { - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to applied_classification_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to applied_classification_assignment to be a `SET [1:?] OF classification_item`")); } - } while (0); - return base; - } - // ----------------------------------------------------------------------------------------------------------- - template <> size_t GenericFill(const DB& db, const LIST& params, contract_assignment* in) - { - size_t base = 0; - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to contract_assignment"); } do { // convert the 'assigned_contract' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->assigned_contract, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to contract_assignment to be a `contract`")); } - } while (0); - return base; - } - // ----------------------------------------------------------------------------------------------------------- - template <> size_t GenericFill(const DB& db, const LIST& params, applied_contract_assignment* in) - { - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to applied_contract_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to applied_contract_assignment to be a `SET [1:?] OF contract_item`")); } - } while (0); - return base; - } - // ----------------------------------------------------------------------------------------------------------- - template <> size_t GenericFill(const DB& db, const LIST& params, date_and_time_assignment* in) - { - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to date_and_time_assignment"); } do { // convert the 'assigned_date_and_time' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->assigned_date_and_time, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to date_and_time_assignment to be a `date_and_time`")); } - } while (0); - do { // convert the 'role' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->role, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to date_and_time_assignment to be a `date_time_role`")); } - } while (0); - return base; - } - // ----------------------------------------------------------------------------------------------------------- - template <> size_t GenericFill(const DB& db, const LIST& params, applied_date_and_time_assignment* in) - { - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to applied_date_and_time_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to applied_date_and_time_assignment to be a `SET [1:?] OF date_and_time_item`")); } - } while (0); - return base; - } - // ----------------------------------------------------------------------------------------------------------- - template <> size_t GenericFill(const DB& db, const LIST& params, date_assignment* in) - { - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to date_assignment"); } do { // convert the 'assigned_date' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->assigned_date, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to date_assignment to be a `date`")); } - } while (0); - do { // convert the 'role' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->role, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to date_assignment to be a `date_role`")); } - } while (0); - return base; - } - // ----------------------------------------------------------------------------------------------------------- - template <> size_t GenericFill(const DB& db, const LIST& params, applied_date_assignment* in) - { - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to applied_date_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to applied_date_assignment to be a `SET [1:?] OF date_item`")); } - } while (0); - return base; - } - // ----------------------------------------------------------------------------------------------------------- - template <> size_t GenericFill(const DB& db, const LIST& params, document_reference* in) - { - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to document_reference"); } do { // convert the 'assigned_document' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->assigned_document, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to document_reference to be a `document`")); } - } while (0); - do { // convert the 'source' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->source, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to document_reference to be a `label`")); } - } while (0); - return base; - } - // ----------------------------------------------------------------------------------------------------------- - template <> size_t GenericFill(const DB& db, const LIST& params, applied_document_reference* in) - { - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to applied_document_reference"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to applied_document_reference to be a `SET [1:?] OF document_reference_item`")); } - } while (0); - return base; - } - // ----------------------------------------------------------------------------------------------------------- - template <> size_t GenericFill(const DB& db, const LIST& params, document_usage_constraint_assignment* in) - { - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to document_usage_constraint_assignment"); } do { // convert the 'assigned_document_usage' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->assigned_document_usage, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to document_usage_constraint_assignment to be a `document_usage_constraint`")); } - } while (0); - do { // convert the 'role' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->role, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to document_usage_constraint_assignment to be a `document_usage_role`")); } - } while (0); - return base; - } - // ----------------------------------------------------------------------------------------------------------- - template <> size_t GenericFill(const DB& db, const LIST& params, applied_document_usage_constraint_assignment* in) - { - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to applied_document_usage_constraint_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to applied_document_usage_constraint_assignment to be a `SET [1:?] OF document_reference_item`")); } - } while (0); - return base; - } - // ----------------------------------------------------------------------------------------------------------- - template <> size_t GenericFill(const DB& db, const LIST& params, effectivity_assignment* in) - { - size_t base = 0; - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to effectivity_assignment"); } do { // convert the 'assigned_effectivity' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->assigned_effectivity, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to effectivity_assignment to be a `effectivity`")); } - } while (0); - return base; - } - // ----------------------------------------------------------------------------------------------------------- - template <> size_t GenericFill(const DB& db, const LIST& params, applied_effectivity_assignment* in) - { - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to applied_effectivity_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to applied_effectivity_assignment to be a `SET [1:?] OF effectivity_item`")); } - } while (0); - return base; - } - // ----------------------------------------------------------------------------------------------------------- - template <> size_t GenericFill(const DB& db, const LIST& params, event_occurrence_assignment* in) - { - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to event_occurrence_assignment"); } do { // convert the 'assigned_event_occurrence' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->assigned_event_occurrence, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to event_occurrence_assignment to be a `event_occurrence`")); } - } while (0); - do { // convert the 'role' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->role, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to event_occurrence_assignment to be a `event_occurrence_role`")); } - } while (0); - return base; - } - // ----------------------------------------------------------------------------------------------------------- - template <> size_t GenericFill(const DB& db, const LIST& params, applied_event_occurrence_assignment* in) - { - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to applied_event_occurrence_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to applied_event_occurrence_assignment to be a `SET [1:?] OF event_occurrence_item`")); } - } while (0); - return base; - } - // ----------------------------------------------------------------------------------------------------------- - template <> size_t GenericFill(const DB& db, const LIST& params, identification_assignment* in) - { - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to identification_assignment"); } do { // convert the 'assigned_id' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->assigned_id, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to identification_assignment to be a `identifier`")); } - } while (0); - do { // convert the 'role' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->role, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to identification_assignment to be a `identification_role`")); } - } while (0); - return base; - } -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, external_identification_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to external_identification_assignment"); } do { // convert the 'source' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->source, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to external_identification_assignment to be a `external_source`")); } - } while (0); - return base; -} - -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, applied_external_identification_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to applied_external_identification_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to applied_external_identification_assignment to be a `SET [1:?] OF external_identification_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, group_assignment* in) -{ - size_t base = 0; - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to group_assignment"); } do { // convert the 'assigned_group' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->assigned_group, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to group_assignment to be a `group`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, applied_group_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to applied_group_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to applied_group_assignment to be a `SET [1:?] OF groupable_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, applied_identification_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to applied_identification_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to applied_identification_assignment to be a `SET [1:?] OF identification_item`")); } - } while (0); - return base; -} - -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, name_assignment* in) -{ - size_t base = 0; - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to name_assignment"); } do { // convert the 'assigned_name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->assigned_name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to name_assignment to be a `label`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, applied_name_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to applied_name_assignment"); } do { // convert the 'item' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->item, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to applied_name_assignment to be a `name_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, organization_assignment* in) -{ - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to organization_assignment"); } do { // convert the 'assigned_organization' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->assigned_organization, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to organization_assignment to be a `organization`")); } - } while (0); - do { // convert the 'role' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->role, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to organization_assignment to be a `organization_role`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, applied_organization_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to applied_organization_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to applied_organization_assignment to be a `SET [1:?] OF organization_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, organizational_project_assignment* in) -{ - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to organizational_project_assignment"); } do { // convert the 'assigned_organizational_project' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->assigned_organizational_project, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to organizational_project_assignment to be a `organizational_project`")); } - } while (0); - do { // convert the 'role' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->role, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to organizational_project_assignment to be a `organizational_project_role`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, applied_organizational_project_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to applied_organizational_project_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to applied_organizational_project_assignment to be a `SET [1:?] OF project_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, person_and_organization_assignment* in) -{ - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to person_and_organization_assignment"); } do { // convert the 'assigned_person_and_organization' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->assigned_person_and_organization, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to person_and_organization_assignment to be a `person_and_organization`")); } - } while (0); - do { // convert the 'role' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->role, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to person_and_organization_assignment to be a `person_and_organization_role`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, applied_person_and_organization_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to applied_person_and_organization_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to applied_person_and_organization_assignment to be a `SET [1:?] OF person_and_organization_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, presented_item* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, applied_presented_item* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to applied_presented_item"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to applied_presented_item to be a `SET [1:?] OF presented_item_select`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, security_classification_assignment* in) -{ - size_t base = 0; - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to security_classification_assignment"); } do { // convert the 'assigned_security_classification' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->assigned_security_classification, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to security_classification_assignment to be a `security_classification`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, applied_security_classification_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to applied_security_classification_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to applied_security_classification_assignment to be a `SET [1:?] OF security_classification_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, time_interval_assignment* in) -{ - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to time_interval_assignment"); } do { // convert the 'assigned_time_interval' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->assigned_time_interval, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to time_interval_assignment to be a `time_interval`")); } - } while (0); - do { // convert the 'role' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->role, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to time_interval_assignment to be a `time_interval_role`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, applied_time_interval_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to applied_time_interval_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to applied_time_interval_assignment to be a `SET [0:?] OF time_interval_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, applied_usage_right* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to applied_usage_right"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, area_in_set* in) -{ - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to area_in_set"); } do { // convert the 'area' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->area, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to area_in_set to be a `presentation_area`")); } - } while (0); - do { // convert the 'in_set' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->in_set, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to area_in_set to be a `presentation_set`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, area_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to area_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, area_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to area_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, product_definition_relationship* in) -{ - size_t base = 0; - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to product_definition_relationship"); } do { // convert the 'id' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->id, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to product_definition_relationship to be a `identifier`")); } - } while (0); - do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to product_definition_relationship to be a `label`")); } - } while (0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to product_definition_relationship to be a `text`")); } - } while (0); - do { // convert the 'relating_product_definition' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3] = true; break; } - try { GenericConvert(in->relating_product_definition, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to product_definition_relationship to be a `product_definition`")); } - } while (0); - do { // convert the 'related_product_definition' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[4] = true; break; } - try { GenericConvert(in->related_product_definition, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to product_definition_relationship to be a `product_definition`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, product_definition_usage* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to product_definition_usage"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, assembly_component_usage* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to assembly_component_usage"); } do { // convert the 'reference_designator' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->reference_designator, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to assembly_component_usage to be a `identifier`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, assigned_requirement* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to assigned_requirement"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to assigned_requirement to be a `SET [1:1] OF product_definition`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, compound_representation_item* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to compound_representation_item"); } do { // convert the 'item_element' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->item_element, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to compound_representation_item to be a `compound_item_definition`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, atomic_formula* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to atomic_formula"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, attribute_assertion* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, attribute_language_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to attribute_language_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to attribute_language_assignment to be a `SET [1:?] OF attribute_language_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, attribute_value_assignment* in) -{ - size_t base = 0; - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to attribute_value_assignment"); } do { // convert the 'attribute_name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->attribute_name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to attribute_value_assignment to be a `label`")); } - } while (0); - do { // convert the 'attribute_value' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->attribute_value, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to attribute_value_assignment to be a `attribute_type`")); } - } while (0); - do { // convert the 'role' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - try { GenericConvert(in->role, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to attribute_value_assignment to be a `attribute_value_role`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, auxiliary_geometric_representation_item* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, placement* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to placement"); } do { // convert the 'location' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->location, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to placement to be a `cartesian_point`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, axis1_placement* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to axis1_placement"); } do { // convert the 'axis' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->axis, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to axis1_placement to be a `direction`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, axis2_placement_2d* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to axis2_placement_2d"); } do { // convert the 'ref_direction' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->ref_direction, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to axis2_placement_2d to be a `direction`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, axis2_placement_3d* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to axis2_placement_3d"); } do { // convert the 'axis' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->axis, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to axis2_placement_3d to be a `direction`")); } - } while (0); - do { // convert the 'ref_direction' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->ref_direction, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to axis2_placement_3d to be a `direction`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, curve* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to curve"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, bounded_curve* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to bounded_curve"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, b_spline_curve* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to b_spline_curve"); } do { // convert the 'degree' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->degree, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to b_spline_curve to be a `INTEGER`")); } - } while (0); - do { // convert the 'control_points_list' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->control_points_list, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to b_spline_curve to be a `LIST [2:?] OF cartesian_point`")); } - } while (0); - do { // convert the 'curve_form' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - try { GenericConvert(in->curve_form, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to b_spline_curve to be a `b_spline_curve_form`")); } - } while (0); - do { // convert the 'closed_curve' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3] = true; break; } - try { GenericConvert(in->closed_curve, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to b_spline_curve to be a `LOGICAL`")); } - } while (0); - do { // convert the 'self_intersect' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[4] = true; break; } - try { GenericConvert(in->self_intersect, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to b_spline_curve to be a `LOGICAL`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, b_spline_curve_with_knots* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to b_spline_curve_with_knots"); } do { // convert the 'knot_multiplicities' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->knot_multiplicities, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to b_spline_curve_with_knots to be a `LIST [2:?] OF INTEGER`")); } - } while (0); - do { // convert the 'knots' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->knots, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to b_spline_curve_with_knots to be a `LIST [2:?] OF parameter_value`")); } - } while (0); - do { // convert the 'knot_spec' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->knot_spec, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to b_spline_curve_with_knots to be a `knot_type`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, surface* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to surface"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, bounded_surface* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to bounded_surface"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, b_spline_surface* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to b_spline_surface"); } do { // convert the 'u_degree' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->u_degree, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to b_spline_surface to be a `INTEGER`")); } - } while (0); - do { // convert the 'v_degree' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->v_degree, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to b_spline_surface to be a `INTEGER`")); } - } while (0); - do { // convert the 'surface_form' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - try { GenericConvert(in->surface_form, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to b_spline_surface to be a `b_spline_surface_form`")); } - } while (0); - do { // convert the 'u_closed' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3] = true; break; } - try { GenericConvert(in->u_closed, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to b_spline_surface to be a `LOGICAL`")); } - } while (0); - do { // convert the 'v_closed' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[4] = true; break; } - try { GenericConvert(in->v_closed, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to b_spline_surface to be a `LOGICAL`")); } - } while (0); - do { // convert the 'self_intersect' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[5] = true; break; } - try { GenericConvert(in->self_intersect, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to b_spline_surface to be a `LOGICAL`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, b_spline_surface_with_knots* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 12) { throw STEP::TypeError("expected 12 arguments to b_spline_surface_with_knots"); } do { // convert the 'u_multiplicities' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->u_multiplicities, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to b_spline_surface_with_knots to be a `LIST [2:?] OF INTEGER`")); } - } while (0); - do { // convert the 'v_multiplicities' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->v_multiplicities, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to b_spline_surface_with_knots to be a `LIST [2:?] OF INTEGER`")); } - } while (0); - do { // convert the 'u_knots' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->u_knots, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 9 to b_spline_surface_with_knots to be a `LIST [2:?] OF parameter_value`")); } - } while (0); - do { // convert the 'v_knots' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->v_knots, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 10 to b_spline_surface_with_knots to be a `LIST [2:?] OF parameter_value`")); } - } while (0); - do { // convert the 'knot_spec' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->knot_spec, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 11 to b_spline_surface_with_knots to be a `knot_type`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, product_definition* in) -{ - size_t base = 0; - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to product_definition"); } do { // convert the 'id' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->id, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to product_definition to be a `identifier`")); } - } while (0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to product_definition to be a `text`")); } - } while (0); - do { // convert the 'formation' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - try { GenericConvert(in->formation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to product_definition to be a `product_definition_formation`")); } - } while (0); - do { // convert the 'frame_of_reference' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3] = true; break; } - try { GenericConvert(in->frame_of_reference, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to product_definition to be a `product_definition_context`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, rule_software_definition* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to rule_software_definition"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, rule_definition* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to rule_definition"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, back_chaining_rule* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to back_chaining_rule"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, back_chaining_rule_body* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, colour* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, background_colour* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to background_colour"); } do { // convert the 'presentation' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->presentation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to background_colour to be a `area_or_view`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, beveled_sheet_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to beveled_sheet_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, bezier_curve* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to bezier_curve"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, bezier_surface* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to bezier_surface"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, generic_expression* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, binary_generic_expression* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to binary_generic_expression"); } do { // convert the 'operands' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->operands, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to binary_generic_expression to be a `LIST [2:2] OF generic_expression`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, binary_numeric_expression* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, binary_representation_item* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to binary_representation_item"); } do { // convert the 'binary_value' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->binary_value, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to binary_representation_item to be a `BINARY`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, block* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to block"); } do { // convert the 'position' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->position, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to block to be a `axis2_placement_3d`")); } - } while (0); - do { // convert the 'x' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->x, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to block to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'y' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->y, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to block to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'z' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->z, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to block to be a `positive_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, expression* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, boolean_expression* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, boolean_literal* in) -{ - size_t base = 0; - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to boolean_literal"); } do { // convert the 'the_value' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->the_value, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to boolean_literal to be a `BOOLEAN`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, boolean_representation_item* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, boolean_result* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to boolean_result"); } do { // convert the 'operator' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->operator_, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to boolean_result to be a `boolean_operator`")); } - } while (0); - do { // convert the 'first_operand' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->first_operand, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to boolean_result to be a `boolean_operand`")); } - } while (0); - do { // convert the 'second_operand' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->second_operand, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to boolean_result to be a `boolean_operand`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, composite_curve* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to composite_curve"); } do { // convert the 'segments' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->segments, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to composite_curve to be a `LIST [1:?] OF composite_curve_segment`")); } - } while (0); - do { // convert the 'self_intersect' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->self_intersect, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to composite_curve to be a `LOGICAL`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, composite_curve_on_surface* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to composite_curve_on_surface"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, boundary_curve* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to boundary_curve"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, bounded_pcurve* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, bounded_surface_curve* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, founded_item* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, box_domain* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to box_domain"); } do { // convert the 'corner' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->corner, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to box_domain to be a `cartesian_point`")); } - } while (0); - do { // convert the 'xlength' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->xlength, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to box_domain to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'ylength' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->ylength, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to box_domain to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'zlength' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->zlength, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to box_domain to be a `positive_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, half_space_solid* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to half_space_solid"); } do { // convert the 'base_surface' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->base_surface, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to half_space_solid to be a `surface`")); } - } while (0); - do { // convert the 'agreement_flag' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->agreement_flag, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to half_space_solid to be a `BOOLEAN`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, boxed_half_space* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to boxed_half_space"); } do { // convert the 'enclosure' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->enclosure, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to boxed_half_space to be a `box_domain`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, breakdown_context* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to breakdown_context"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, breakdown_element_group_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to breakdown_element_group_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to breakdown_element_group_assignment to be a `SET [1:1] OF product_definition_or_breakdown_element_usage`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, breakdown_element_realization* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, breakdown_element_usage* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to breakdown_element_usage"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, breakdown_of* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to breakdown_of"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_model* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to solid_model"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, manifold_solid_brep* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to manifold_solid_brep"); } do { // convert the 'outer' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->outer, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to manifold_solid_brep to be a `closed_shell`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, brep_with_voids* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to brep_with_voids"); } do { // convert the 'voids' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->voids, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to brep_with_voids to be a `SET [1:?] OF oriented_closed_shell`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, bytes_representation_item* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to bytes_representation_item"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, date* in) -{ - size_t base = 0; - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to date"); } do { // convert the 'year_component' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->year_component, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to date to be a `year_number`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, calendar_date* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to calendar_date"); } do { // convert the 'day_component' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->day_component, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to calendar_date to be a `day_in_month_number`")); } - } while (0); - do { // convert the 'month_component' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->month_component, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to calendar_date to be a `month_in_year_number`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, camera_image* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to camera_image"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, camera_image_3d_with_scale* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to camera_image_3d_with_scale"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, camera_model* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to camera_model"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, camera_model_d3* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to camera_model_d3"); } do { // convert the 'view_reference_system' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->view_reference_system, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to camera_model_d3 to be a `axis2_placement_3d`")); } - } while (0); - do { // convert the 'perspective_of_volume' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->perspective_of_volume, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to camera_model_d3 to be a `view_volume`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, camera_model_d3_multi_clipping* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to camera_model_d3_multi_clipping"); } do { // convert the 'shape_clipping' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->shape_clipping, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to camera_model_d3_multi_clipping to be a `SET [1:?] OF camera_model_d3_multi_clipping_interection_select`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, camera_model_d3_multi_clipping_intersection* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to camera_model_d3_multi_clipping_intersection"); } do { // convert the 'shape_clipping' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->shape_clipping, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to camera_model_d3_multi_clipping_intersection to be a `SET [2:?] OF camera_model_d3_multi_clipping_interection_select`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, camera_model_d3_multi_clipping_union* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to camera_model_d3_multi_clipping_union"); } do { // convert the 'shape_clipping' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->shape_clipping, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to camera_model_d3_multi_clipping_union to be a `SET [2:?] OF camera_model_d3_multi_clipping_union_select`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, camera_model_d3_with_hlhsr* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to camera_model_d3_with_hlhsr"); } do { // convert the 'hidden_line_surface_removal' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->hidden_line_surface_removal, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to camera_model_d3_with_hlhsr to be a `BOOLEAN`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, camera_model_with_light_sources* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to camera_model_with_light_sources"); } do { // convert the 'sources' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->sources, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to camera_model_with_light_sources to be a `SET [1:?] OF light_source`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, representation_map* in) -{ - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to representation_map"); } do { // convert the 'mapping_origin' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->mapping_origin, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to representation_map to be a `representation_item`")); } - } while (0); - do { // convert the 'mapped_representation' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->mapped_representation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to representation_map to be a `representation`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, camera_usage* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to camera_usage"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, capacitance_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to capacitance_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, capacitance_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to capacitance_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, point* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to point"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, cartesian_point* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to cartesian_point"); } do { // convert the 'coordinates' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->coordinates, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to cartesian_point to be a `LIST [1:3] OF length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, cartesian_transformation_operator* in) -{ - size_t base = 0; - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to cartesian_transformation_operator"); } do { // convert the 'axis1' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->axis1, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to cartesian_transformation_operator to be a `direction`")); } - } while (0); - do { // convert the 'axis2' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->axis2, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to cartesian_transformation_operator to be a `direction`")); } - } while (0); - do { // convert the 'local_origin' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - try { GenericConvert(in->local_origin, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to cartesian_transformation_operator to be a `cartesian_point`")); } - } while (0); - do { // convert the 'scale' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3] = true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->scale, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to cartesian_transformation_operator to be a `REAL`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, cartesian_transformation_operator_2d* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to cartesian_transformation_operator_2d"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, cartesian_transformation_operator_3d* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to cartesian_transformation_operator_3d"); } do { // convert the 'axis3' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->axis3, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to cartesian_transformation_operator_3d to be a `direction`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, cc_design_approval* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to cc_design_approval"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to cc_design_approval to be a `SET [1:?] OF approved_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, cc_design_certification* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to cc_design_certification"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to cc_design_certification to be a `SET [1:?] OF certified_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, cc_design_contract* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to cc_design_contract"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to cc_design_contract to be a `SET [1:?] OF contracted_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, cc_design_date_and_time_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to cc_design_date_and_time_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to cc_design_date_and_time_assignment to be a `SET [1:?] OF date_time_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, cc_design_person_and_organization_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to cc_design_person_and_organization_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to cc_design_person_and_organization_assignment to be a `SET [1:?] OF cc_person_organization_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, cc_design_security_classification* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to cc_design_security_classification"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to cc_design_security_classification to be a `SET [1:?] OF cc_classified_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, cc_design_specification_reference* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to cc_design_specification_reference"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to cc_design_specification_reference to be a `SET [1:?] OF cc_specified_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, celsius_temperature_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to celsius_temperature_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, centre_of_symmetry* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to centre_of_symmetry"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, change* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to change"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to change to be a `SET [1:?] OF work_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, change_request* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to change_request"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to change_request to be a `SET [1:?] OF change_request_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, character_glyph_style_outline* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to character_glyph_style_outline"); } do { // convert the 'outline_style' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->outline_style, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to character_glyph_style_outline to be a `curve_style`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, character_glyph_style_stroke* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to character_glyph_style_stroke"); } do { // convert the 'stroke_style' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->stroke_style, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to character_glyph_style_stroke to be a `curve_style`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, symbol_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to symbol_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, generic_character_glyph_symbol* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to generic_character_glyph_symbol"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, character_glyph_symbol* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to character_glyph_symbol"); } do { // convert the 'character_box' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->character_box, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to character_glyph_symbol to be a `planar_extent`")); } - } while (0); - do { // convert the 'baseline_ratio' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->baseline_ratio, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to character_glyph_symbol to be a `ratio_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, character_glyph_symbol_outline* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to character_glyph_symbol_outline"); } do { // convert the 'outlines' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->outlines, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to character_glyph_symbol_outline to be a `SET [1:?] OF annotation_fill_area`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, character_glyph_symbol_stroke* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to character_glyph_symbol_stroke"); } do { // convert the 'strokes' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->strokes, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to character_glyph_symbol_stroke to be a `SET [1:?] OF curve`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, general_property* in) -{ - size_t base = 0; - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to general_property"); } do { // convert the 'id' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->id, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to general_property to be a `identifier`")); } - } while (0); - do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to general_property to be a `label`")); } - } while (0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to general_property to be a `text`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, characteristic_data_column_header* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to characteristic_data_column_header"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, general_property_relationship* in) -{ - size_t base = 0; - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to general_property_relationship"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to general_property_relationship to be a `label`")); } - } while (0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to general_property_relationship to be a `text`")); } - } while (0); - do { // convert the 'relating_property' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - try { GenericConvert(in->relating_property, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to general_property_relationship to be a `general_property`")); } - } while (0); - do { // convert the 'related_property' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3] = true; break; } - try { GenericConvert(in->related_property, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to general_property_relationship to be a `general_property`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, characteristic_data_column_header_link* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to characteristic_data_column_header_link"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, characteristic_data_table_header* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to characteristic_data_table_header"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, characteristic_data_table_header_decomposition* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to characteristic_data_table_header_decomposition"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, group* in) -{ - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to group"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to group to be a `label`")); } - } while (0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to group to be a `text`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, characteristic_type* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to characteristic_type"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, characterized_class* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, characterized_object* in) -{ - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to characterized_object"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to characterized_object to be a `label`")); } - } while (0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to characterized_object to be a `text`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, conic* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to conic"); } do { // convert the 'position' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->position, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to conic to be a `axis2_placement`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, circle* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to circle"); } do { // convert the 'radius' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to circle to be a `positive_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, circular_runout_tolerance* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to circular_runout_tolerance"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, class_by_extension* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to class_by_extension"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, class_by_intension* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to class_by_intension"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, class_system* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to class_system"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, effectivity_context_assignment* in) -{ - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to effectivity_context_assignment"); } do { // convert the 'assigned_effectivity_assignment' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->assigned_effectivity_assignment, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to effectivity_context_assignment to be a `effectivity_assignment`")); } - } while (0); - do { // convert the 'role' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->role, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to effectivity_context_assignment to be a `effectivity_context_role`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, class_usage_effectivity_context_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to class_usage_effectivity_context_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to class_usage_effectivity_context_assignment to be a `SET [1:?] OF class_usage_effectivity_context_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, topological_representation_item* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to topological_representation_item"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, connected_face_set* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to connected_face_set"); } do { // convert the 'cfs_faces' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->cfs_faces, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to connected_face_set to be a `SET [1:?] OF face`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, closed_shell* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to closed_shell"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, coaxiality_tolerance* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to coaxiality_tolerance"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, colour_specification* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to colour_specification"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to colour_specification to be a `label`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, colour_rgb* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to colour_rgb"); } do { // convert the 'red' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->red, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to colour_rgb to be a `REAL`")); } - } while (0); - do { // convert the 'green' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->green, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to colour_rgb to be a `REAL`")); } - } while (0); - do { // convert the 'blue' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->blue, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to colour_rgb to be a `REAL`")); } - } while (0); - return base; -} -/* -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, common_datum* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, comparison_expression* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, complex_clause* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to complex_clause"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, complex_conjunctive_clause* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to complex_conjunctive_clause"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, complex_disjunctive_clause* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to complex_disjunctive_clause"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, modified_solid* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to modified_solid"); } do { // convert the 'rationale' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->rationale, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to modified_solid to be a `text`")); } - } while (0); - do { // convert the 'base_solid' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->base_solid, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to modified_solid to be a `base_solid_select`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, shelled_solid* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to shelled_solid"); } do { // convert the 'deleted_face_set' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->deleted_face_set, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to shelled_solid to be a `SET [1:?] OF face_surface`")); } - } while (0); - do { // convert the 'thickness' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->thickness, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to shelled_solid to be a `length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, complex_shelled_solid* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to complex_shelled_solid"); } do { // convert the 'thickness_list' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->thickness_list, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to complex_shelled_solid to be a `LIST [1:?] OF length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, composite_assembly_definition* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to composite_assembly_definition"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, composite_assembly_sequence_definition* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to composite_assembly_sequence_definition"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, laminate_table* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to laminate_table"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, part_laminate_table* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to part_laminate_table"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, composite_assembly_table* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to composite_assembly_table"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, composite_curve_segment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to composite_curve_segment"); } do { // convert the 'transition' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->transition, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to composite_curve_segment to be a `transition_code`")); } - } while (0); - do { // convert the 'same_sense' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->same_sense, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to composite_curve_segment to be a `BOOLEAN`")); } - } while (0); - do { // convert the 'parent_curve' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - try { GenericConvert(in->parent_curve, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to composite_curve_segment to be a `curve`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, material_designation* in) -{ - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to material_designation"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to material_designation to be a `label`")); } - } while (0); - do { // convert the 'definitions' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->definitions, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to material_designation to be a `SET [1:?] OF characterized_definition`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, composite_material_designation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to composite_material_designation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, composite_shape_aspect* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to composite_shape_aspect"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, composite_sheet_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to composite_sheet_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, composite_text* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to composite_text"); } do { // convert the 'collected_text' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->collected_text, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to composite_text to be a `SET [2:?] OF text_or_character`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, composite_text_with_associated_curves* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to composite_text_with_associated_curves"); } do { // convert the 'associated_curves' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->associated_curves, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to composite_text_with_associated_curves to be a `SET [1:?] OF curve`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, composite_text_with_blanking_box* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to composite_text_with_blanking_box"); } do { // convert the 'blanking' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->blanking, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to composite_text_with_blanking_box to be a `planar_box`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, composite_text_with_delineation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to composite_text_with_delineation"); } do { // convert the 'delineation' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->delineation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to composite_text_with_delineation to be a `text_delineation`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, composite_text_with_extent* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to composite_text_with_extent"); } do { // convert the 'extent' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->extent, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to composite_text_with_extent to be a `planar_extent`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, compound_shape_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to compound_shape_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, concentricity_tolerance* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to concentricity_tolerance"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, concept_feature_relationship* in) -{ - size_t base = 0; - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to concept_feature_relationship"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to concept_feature_relationship to be a `label`")); } - } while (0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to concept_feature_relationship to be a `text`")); } - } while (0); - do { // convert the 'relating_product_concept_feature' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - try { GenericConvert(in->relating_product_concept_feature, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to concept_feature_relationship to be a `product_concept_feature`")); } - } while (0); - do { // convert the 'related_product_concept_feature' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3] = true; break; } - try { GenericConvert(in->related_product_concept_feature, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to concept_feature_relationship to be a `product_concept_feature`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, concept_feature_relationship_with_condition* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to concept_feature_relationship_with_condition"); } do { // convert the 'conditional_operator' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->conditional_operator, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to concept_feature_relationship_with_condition to be a `concept_feature_operator`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, product_concept_feature* in) -{ - size_t base = 0; - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to product_concept_feature"); } do { // convert the 'id' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->id, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to product_concept_feature to be a `identifier`")); } - } while (0); - do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to product_concept_feature to be a `label`")); } - } while (0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to product_concept_feature to be a `text`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, conditional_concept_feature* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to conditional_concept_feature"); } do { // convert the 'condition' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->condition, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to conditional_concept_feature to be a `concept_feature_relationship_with_condition`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, conductance_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to conductance_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, conductance_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to conductance_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, configuration_item* in) -{ - size_t base = 0; - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to configuration_item"); } do { // convert the 'id' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->id, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to configuration_item to be a `identifier`")); } - } while (0); - do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to configuration_item to be a `label`")); } - } while (0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to configuration_item to be a `text`")); } - } while (0); - do { // convert the 'item_concept' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3] = true; break; } - try { GenericConvert(in->item_concept, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to configuration_item to be a `product_concept`")); } - } while (0); - do { // convert the 'purpose' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[4] = true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->purpose, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to configuration_item to be a `label`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, configurable_item* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to configurable_item"); } do { // convert the 'item_concept_feature' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->item_concept_feature, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to configurable_item to be a `SET [1:?] OF product_concept_feature_association`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, effectivity* in) -{ - size_t base = 0; - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to effectivity"); } do { // convert the 'id' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->id, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to effectivity to be a `identifier`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, product_definition_effectivity* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to product_definition_effectivity"); } do { // convert the 'usage' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->usage, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to product_definition_effectivity to be a `product_definition_relationship`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, configuration_effectivity* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to configuration_effectivity"); } do { // convert the 'configuration' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->configuration, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to configuration_effectivity to be a `configuration_design`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, configuration_item_relationship* in) -{ - size_t base = 0; - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to configuration_item_relationship"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to configuration_item_relationship to be a `label`")); } - } while (0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to configuration_item_relationship to be a `text`")); } - } while (0); - do { // convert the 'relating_configuration_item' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - try { GenericConvert(in->relating_configuration_item, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to configuration_item_relationship to be a `configuration_item`")); } - } while (0); - do { // convert the 'related_configuration_item' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3] = true; break; } - try { GenericConvert(in->related_configuration_item, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to configuration_item_relationship to be a `configuration_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, configuration_item_hierarchical_relationship* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to configuration_item_hierarchical_relationship"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, configuration_item_revision_sequence* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to configuration_item_revision_sequence"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, configured_effectivity_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to configured_effectivity_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to configured_effectivity_assignment to be a `SET [1:?] OF configured_effectivity_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, configured_effectivity_context_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to configured_effectivity_context_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to configured_effectivity_context_assignment to be a `SET [1:?] OF configured_effectivity_context_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, conical_stepped_hole_transition* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to conical_stepped_hole_transition"); } do { // convert the 'transition_number' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->transition_number, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to conical_stepped_hole_transition to be a `positive_integer`")); } - } while (0); - do { // convert the 'cone_apex_angle' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->cone_apex_angle, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to conical_stepped_hole_transition to be a `plane_angle_measure`")); } - } while (0); - do { // convert the 'cone_base_radius' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->cone_base_radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to conical_stepped_hole_transition to be a `positive_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, elementary_surface* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to elementary_surface"); } do { // convert the 'position' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->position, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to elementary_surface to be a `axis2_placement_3d`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, conical_surface* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to conical_surface"); } do { // convert the 'radius' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to conical_surface to be a `length_measure`")); } - } while (0); - do { // convert the 'semi_angle' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->semi_angle, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to conical_surface to be a `plane_angle_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, connected_edge_set* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to connected_edge_set"); } do { // convert the 'ces_edges' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->ces_edges, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to connected_edge_set to be a `SET [1:?] OF edge`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, connected_face_sub_set* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to connected_face_sub_set"); } do { // convert the 'parent_face_set' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->parent_face_set, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to connected_face_sub_set to be a `connected_face_set`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, constructive_geometry_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to constructive_geometry_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, representation_relationship* in) -{ - size_t base = 0; - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to representation_relationship"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to representation_relationship to be a `label`")); } - } while (0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to representation_relationship to be a `text`")); } - } while (0); - do { // convert the 'rep_1' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - try { GenericConvert(in->rep_1, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to representation_relationship to be a `representation`")); } - } while (0); - do { // convert the 'rep_2' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3] = true; break; } - try { GenericConvert(in->rep_2, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to representation_relationship to be a `representation`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, constructive_geometry_representation_relationship* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to constructive_geometry_representation_relationship"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, contact_ratio_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to contact_ratio_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, invisibility* in) -{ - size_t base = 0; - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to invisibility"); } do { // convert the 'invisible_items' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->invisible_items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to invisibility to be a `SET [1:?] OF invisible_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, context_dependent_invisibility* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to context_dependent_invisibility"); } do { // convert the 'presentation_context' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->presentation_context, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to context_dependent_invisibility to be a `invisibility_context`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, over_riding_styled_item* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to over_riding_styled_item"); } do { // convert the 'over_ridden_style' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->over_ridden_style, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to over_riding_styled_item to be a `styled_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, context_dependent_over_riding_styled_item* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to context_dependent_over_riding_styled_item"); } do { // convert the 'style_context' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->style_context, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to context_dependent_over_riding_styled_item to be a `LIST [1:?] OF style_context_select`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, context_dependent_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to context_dependent_unit"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to context_dependent_unit to be a `label`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, conversion_based_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to conversion_based_unit"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to conversion_based_unit to be a `label`")); } - } while (0); - do { // convert the 'conversion_factor' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->conversion_factor, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to conversion_based_unit to be a `measure_with_unit`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, csg_shape_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to csg_shape_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, csg_solid* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to csg_solid"); } do { // convert the 'tree_root_expression' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->tree_root_expression, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to csg_solid to be a `csg_select`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, currency* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to currency"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, currency_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to currency_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, curve_bounded_surface* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to curve_bounded_surface"); } do { // convert the 'basis_surface' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->basis_surface, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to curve_bounded_surface to be a `surface`")); } - } while (0); - do { // convert the 'boundaries' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->boundaries, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to curve_bounded_surface to be a `SET [1:?] OF boundary_curve`")); } - } while (0); - do { // convert the 'implicit_outer' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->implicit_outer, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to curve_bounded_surface to be a `BOOLEAN`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, curve_dimension* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to curve_dimension"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, curve_replica* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to curve_replica"); } do { // convert the 'parent_curve' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->parent_curve, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to curve_replica to be a `curve`")); } - } while (0); - do { // convert the 'transformation' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->transformation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to curve_replica to be a `cartesian_transformation_operator`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, curve_style* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to curve_style"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to curve_style to be a `label`")); } - } while (0); - do { // convert the 'curve_font' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->curve_font, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to curve_style to be a `curve_font_or_scaled_curve_font_select`")); } - } while (0); - do { // convert the 'curve_width' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->curve_width, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to curve_style to be a `size_select`")); } - } while (0); - do { // convert the 'curve_colour' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->curve_colour, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to curve_style to be a `colour`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, curve_style_font* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to curve_style_font"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to curve_style_font to be a `label`")); } - } while (0); - do { // convert the 'pattern_list' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->pattern_list, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to curve_style_font to be a `LIST [1:?] OF curve_style_font_pattern`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, curve_style_font_and_scaling* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to curve_style_font_and_scaling"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to curve_style_font_and_scaling to be a `label`")); } - } while (0); - do { // convert the 'curve_font' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->curve_font, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to curve_style_font_and_scaling to be a `curve_style_font_select`")); } - } while (0); - do { // convert the 'curve_font_scaling' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->curve_font_scaling, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to curve_style_font_and_scaling to be a `REAL`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, curve_style_font_pattern* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to curve_style_font_pattern"); } do { // convert the 'visible_segment_length' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->visible_segment_length, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to curve_style_font_pattern to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'invisible_segment_length' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->invisible_segment_length, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to curve_style_font_pattern to be a `positive_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, curve_swept_solid_shape_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to curve_swept_solid_shape_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, cylindrical_surface* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to cylindrical_surface"); } do { // convert the 'radius' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to cylindrical_surface to be a `positive_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, cylindricity_tolerance* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to cylindricity_tolerance"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, date_representation_item* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, date_time_representation_item* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, dated_effectivity* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to dated_effectivity"); } do { // convert the 'effectivity_end_date' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->effectivity_end_date, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to dated_effectivity to be a `date_time_or_event_occurrence`")); } - } while (0); - do { // convert the 'effectivity_start_date' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->effectivity_start_date, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to dated_effectivity to be a `date_time_or_event_occurrence`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, datum* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to datum"); } do { // convert the 'identification' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->identification, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to datum to be a `identifier`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, datum_feature* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to datum_feature"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, datum_feature_callout* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to datum_feature_callout"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, datum_reference* in) -{ - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to datum_reference"); } do { // convert the 'precedence' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->precedence, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to datum_reference to be a `INTEGER`")); } - } while (0); - do { // convert the 'referenced_datum' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->referenced_datum, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to datum_reference to be a `datum`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, datum_target* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to datum_target"); } do { // convert the 'target_id' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->target_id, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to datum_target to be a `identifier`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, datum_target_callout* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to datum_target_callout"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, default_tolerance_table* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to default_tolerance_table"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, default_tolerance_table_cell* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to default_tolerance_table_cell"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, defined_symbol* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to defined_symbol"); } do { // convert the 'definition' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->definition, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to defined_symbol to be a `defined_symbol_select`")); } - } while (0); - do { // convert the 'target' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->target, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to defined_symbol to be a `symbol_target`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, definitional_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to definitional_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, definitional_representation_relationship* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to definitional_representation_relationship"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, definitional_representation_relationship_with_same_context* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to definitional_representation_relationship_with_same_context"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, degenerate_pcurve* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to degenerate_pcurve"); } do { // convert the 'basis_surface' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->basis_surface, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to degenerate_pcurve to be a `surface`")); } - } while (0); - do { // convert the 'reference_to_curve' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->reference_to_curve, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to degenerate_pcurve to be a `definitional_representation`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, toroidal_surface* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to toroidal_surface"); } do { // convert the 'major_radius' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->major_radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to toroidal_surface to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'minor_radius' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->minor_radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to toroidal_surface to be a `positive_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, degenerate_toroidal_surface* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to degenerate_toroidal_surface"); } do { // convert the 'select_outer' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->select_outer, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to degenerate_toroidal_surface to be a `BOOLEAN`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, descriptive_representation_item* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to descriptive_representation_item"); } do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to descriptive_representation_item to be a `text`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, product_definition_context* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to product_definition_context"); } do { // convert the 'life_cycle_stage' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->life_cycle_stage, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to product_definition_context to be a `label`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, design_context* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to design_context"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, design_make_from_relationship* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to design_make_from_relationship"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, diameter_dimension* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to diameter_dimension"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, ratio_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to ratio_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, dielectric_constant_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to dielectric_constant_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, dimension_callout* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to dimension_callout"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, draughting_callout_relationship* in) -{ - size_t base = 0; - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to draughting_callout_relationship"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to draughting_callout_relationship to be a `label`")); } - } while (0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to draughting_callout_relationship to be a `text`")); } - } while (0); - do { // convert the 'relating_draughting_callout' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - try { GenericConvert(in->relating_draughting_callout, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to draughting_callout_relationship to be a `draughting_callout`")); } - } while (0); - do { // convert the 'related_draughting_callout' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3] = true; break; } - try { GenericConvert(in->related_draughting_callout, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to draughting_callout_relationship to be a `draughting_callout`")); } - } while (0); - return base; -} - -} -} diff --git a/code/AssetLib/StepFile/StepFileGen3.cpp b/code/AssetLib/StepFile/StepFileGen3.cpp deleted file mode 100644 index b3e34027e..000000000 --- a/code/AssetLib/StepFile/StepFileGen3.cpp +++ /dev/null @@ -1,5746 +0,0 @@ -/* -Open Asset Import Library (ASSIMP) ----------------------------------------------------------------------- - -Copyright (c) 2006-2020, ASSIMP Development Team -All rights reserved. - -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the -following conditions are met: - -* Redistributions of source code must retain the above - copyright notice, this list of conditions and the - following disclaimer. - -* Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the - following disclaimer in the documentation and/or other - materials provided with the distribution. - -* Neither the name of the ASSIMP team, nor the names of its - contributors may be used to endorse or promote products - derived from this software without specific prior - written permission of the ASSIMP Development Team. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ----------------------------------------------------------------------- -*/ - -#include "code/Importer/StepFile/StepReaderGen.h" - -namespace Assimp { -using namespace StepFile; -namespace STEP { - -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, dimension_callout_component_relationship* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to dimension_callout_component_relationship"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, dimension_callout_relationship* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to dimension_callout_relationship"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, dimension_curve* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to dimension_curve"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, terminator_symbol* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to terminator_symbol"); } do { // convert the 'annotated_curve' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->annotated_curve, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to terminator_symbol to be a `annotation_curve_occurrence`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, dimension_curve_terminator* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to dimension_curve_terminator"); } do { // convert the 'role' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->role, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to dimension_curve_terminator to be a `dimension_extent_usage`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, dimension_curve_terminator_to_projection_curve_associativity* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to dimension_curve_terminator_to_projection_curve_associativity"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, dimension_pair* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to dimension_pair"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, dimension_text_associativity* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, dimensional_location_with_path* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to dimensional_location_with_path"); } do { // convert the 'path' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->path, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to dimensional_location_with_path to be a `shape_aspect`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, dimensional_size_with_path* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to dimensional_size_with_path"); } do { // convert the 'path' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->path, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to dimensional_size_with_path to be a `shape_aspect`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, executed_action* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to executed_action"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, directed_action* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to directed_action"); } do { // convert the 'directive' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->directive, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to directed_action to be a `action_directive`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, directed_dimensional_location* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to directed_dimensional_location"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, direction* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to direction"); } do { // convert the 'direction_ratios' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->direction_ratios, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to direction to be a `LIST [2:3] OF REAL`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, document_file* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, document_identifier* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to document_identifier"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, document_identifier_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to document_identifier_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to document_identifier_assignment to be a `SET [1:?] OF document_identifier_assigned_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, document_product_association* in) -{ - size_t base = 0; - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to document_product_association"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to document_product_association to be a `label`")); } - } while (0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to document_product_association to be a `text`")); } - } while (0); - do { // convert the 'relating_document' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - try { GenericConvert(in->relating_document, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to document_product_association to be a `document`")); } - } while (0); - do { // convert the 'related_product' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3] = true; break; } - try { GenericConvert(in->related_product, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to document_product_association to be a `product_or_formation_or_definition`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, document_product_equivalence* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to document_product_equivalence"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, dose_equivalent_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to dose_equivalent_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, dose_equivalent_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to dose_equivalent_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, double_offset_shelled_solid* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to double_offset_shelled_solid"); } do { // convert the 'thickness2' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->thickness2, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to double_offset_shelled_solid to be a `length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, item_defined_transformation* in) -{ - size_t base = 0; - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to item_defined_transformation"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to item_defined_transformation to be a `label`")); } - } while (0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to item_defined_transformation to be a `text`")); } - } while (0); - do { // convert the 'transform_item_1' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - try { GenericConvert(in->transform_item_1, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to item_defined_transformation to be a `representation_item`")); } - } while (0); - do { // convert the 'transform_item_2' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3] = true; break; } - try { GenericConvert(in->transform_item_2, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to item_defined_transformation to be a `representation_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, transformation_with_derived_angle* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to transformation_with_derived_angle"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, draped_defined_transformation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to draped_defined_transformation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, draughting_annotation_occurrence* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to draughting_annotation_occurrence"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, draughting_elements* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to draughting_elements"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, draughting_model* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to draughting_model"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, item_identified_representation_usage* in) -{ - size_t base = 0; - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to item_identified_representation_usage"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to item_identified_representation_usage to be a `label`")); } - } while (0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to item_identified_representation_usage to be a `text`")); } - } while (0); - do { // convert the 'definition' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - try { GenericConvert(in->definition, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to item_identified_representation_usage to be a `represented_definition`")); } - } while (0); - do { // convert the 'used_representation' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3] = true; break; } - try { GenericConvert(in->used_representation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to item_identified_representation_usage to be a `representation`")); } - } while (0); - do { // convert the 'identified_item' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[4] = true; break; } - try { GenericConvert(in->identified_item, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to item_identified_representation_usage to be a `representation_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, draughting_model_item_association* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to draughting_model_item_association"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, pre_defined_colour* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, draughting_pre_defined_colour* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, pre_defined_item* in) -{ - size_t base = 0; - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to pre_defined_item"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to pre_defined_item to be a `label`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, pre_defined_curve_font* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to pre_defined_curve_font"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, draughting_pre_defined_curve_font* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to draughting_pre_defined_curve_font"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, pre_defined_text_font* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to pre_defined_text_font"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, draughting_pre_defined_text_font* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to draughting_pre_defined_text_font"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, draughting_subfigure_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to draughting_subfigure_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, draughting_symbol_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to draughting_symbol_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, text_literal* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to text_literal"); } do { // convert the 'literal' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->literal, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to text_literal to be a `presentable_text`")); } - } while (0); - do { // convert the 'placement' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->placement, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to text_literal to be a `axis2_placement`")); } - } while (0); - do { // convert the 'alignment' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - try { GenericConvert(in->alignment, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to text_literal to be a `text_alignment`")); } - } while (0); - do { // convert the 'path' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3] = true; break; } - try { GenericConvert(in->path, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to text_literal to be a `text_path`")); } - } while (0); - do { // convert the 'font' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[4] = true; break; } - try { GenericConvert(in->font, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to text_literal to be a `font_select`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, text_literal_with_delineation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to text_literal_with_delineation"); } do { // convert the 'delineation' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->delineation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to text_literal_with_delineation to be a `text_delineation`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, draughting_text_literal_with_delineation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to draughting_text_literal_with_delineation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, presentation_set* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, drawing_revision* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to drawing_revision"); } do { // convert the 'revision_identifier' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->revision_identifier, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to drawing_revision to be a `identifier`")); } - } while (0); - do { // convert the 'drawing_identifier' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->drawing_identifier, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to drawing_revision to be a `drawing_definition`")); } - } while (0); - do { // convert the 'intended_scale' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->intended_scale, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to drawing_revision to be a `text`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, presentation_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to presentation_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, presentation_area* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to presentation_area"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, drawing_sheet_revision* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to drawing_sheet_revision"); } do { // convert the 'revision_identifier' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->revision_identifier, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to drawing_sheet_revision to be a `identifier`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, drawing_sheet_revision_sequence* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to drawing_sheet_revision_sequence"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, drawing_sheet_revision_usage* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to drawing_sheet_revision_usage"); } do { // convert the 'sheet_number' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->sheet_number, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to drawing_sheet_revision_usage to be a `identifier`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, edge* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to edge"); } do { // convert the 'edge_start' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->edge_start, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to edge to be a `vertex`")); } - } while (0); - do { // convert the 'edge_end' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->edge_end, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to edge to be a `vertex`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, edge_based_wireframe_model* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to edge_based_wireframe_model"); } do { // convert the 'ebwm_boundary' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->ebwm_boundary, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to edge_based_wireframe_model to be a `SET [1:?] OF connected_edge_set`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, edge_based_wireframe_shape_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to edge_based_wireframe_shape_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, edge_blended_solid* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to edge_blended_solid"); } do { // convert the 'blended_edges' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->blended_edges, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to edge_blended_solid to be a `LIST [1:?] OF edge_curve`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, edge_curve* in) -{ - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to edge_curve"); } do { // convert the 'edge_geometry' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->edge_geometry, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to edge_curve to be a `curve`")); } - } while (0); - do { // convert the 'same_sense' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->same_sense, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to edge_curve to be a `BOOLEAN`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, edge_loop* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, electric_charge_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to electric_charge_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, electric_charge_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to electric_charge_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, electric_current_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to electric_current_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, electric_current_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to electric_current_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, electric_potential_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to electric_potential_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, electric_potential_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to electric_potential_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, elementary_brep_shape_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to elementary_brep_shape_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, ellipse* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to ellipse"); } do { // convert the 'semi_axis_1' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->semi_axis_1, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to ellipse to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'semi_axis_2' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->semi_axis_2, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to ellipse to be a `positive_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, energy_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to energy_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, energy_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to energy_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, property_definition* in) -{ - size_t base = 0; - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to property_definition"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to property_definition to be a `label`")); } - } while (0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to property_definition to be a `text`")); } - } while (0); - do { // convert the 'definition' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - try { GenericConvert(in->definition, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to property_definition to be a `characterized_definition`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, fact_type* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to fact_type"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, entity_assertion* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to entity_assertion"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, enum_reference_prefix* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to enum_reference_prefix"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, evaluated_characteristic* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, evaluated_degenerate_pcurve* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to evaluated_degenerate_pcurve"); } do { // convert the 'equivalent_point' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->equivalent_point, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to evaluated_degenerate_pcurve to be a `cartesian_point`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, evaluation_product_definition* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to evaluation_product_definition"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, event_occurrence* in) -{ - size_t base = 0; - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to event_occurrence"); } do { // convert the 'id' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->id, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to event_occurrence to be a `identifier`")); } - } while (0); - do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to event_occurrence to be a `label`")); } - } while (0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to event_occurrence to be a `text`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, product_concept_feature_category* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to product_concept_feature_category"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, exclusive_product_concept_feature_category* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to exclusive_product_concept_feature_category"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, uncertainty_qualifier* in) -{ - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to uncertainty_qualifier"); } do { // convert the 'measure_name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->measure_name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to uncertainty_qualifier to be a `label`")); } - } while (0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to uncertainty_qualifier to be a `text`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, standard_uncertainty* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to standard_uncertainty"); } do { // convert the 'uncertainty_value' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->uncertainty_value, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to standard_uncertainty to be a `REAL`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, expanded_uncertainty* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to expanded_uncertainty"); } do { // convert the 'coverage_factor' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->coverage_factor, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to expanded_uncertainty to be a `REAL`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, representation_item_relationship* in) -{ - size_t base = 0; - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to representation_item_relationship"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to representation_item_relationship to be a `label`")); } - } while (0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to representation_item_relationship to be a `text`")); } - } while (0); - do { // convert the 'relating_representation_item' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - try { GenericConvert(in->relating_representation_item, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to representation_item_relationship to be a `representation_item`")); } - } while (0); - do { // convert the 'related_representation_item' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3] = true; break; } - try { GenericConvert(in->related_representation_item, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to representation_item_relationship to be a `representation_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, explicit_procedural_representation_item_relationship* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to explicit_procedural_representation_item_relationship"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, explicit_procedural_geometric_representation_item_relationship* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to explicit_procedural_geometric_representation_item_relationship"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, explicit_procedural_representation_relationship* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to explicit_procedural_representation_relationship"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, explicit_procedural_shape_representation_relationship* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to explicit_procedural_shape_representation_relationship"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, expression_conversion_based_unit* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, extension* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to extension"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, extent* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to extent"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, external_source* in) -{ - size_t base = 0; - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to external_source"); } do { // convert the 'source_id' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->source_id, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to external_source to be a `source_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, external_class_library* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to external_class_library"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, externally_defined_class* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, externally_defined_colour* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, externally_defined_context_dependent_unit* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, externally_defined_conversion_based_unit* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, externally_defined_currency* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, externally_defined_item* in) -{ - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to externally_defined_item"); } do { // convert the 'item_id' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->item_id, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to externally_defined_item to be a `source_item`")); } - } while (0); - do { // convert the 'source' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->source, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to externally_defined_item to be a `external_source`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, externally_defined_curve_font* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to externally_defined_curve_font"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, externally_defined_dimension_definition* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, externally_defined_general_property* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, externally_defined_hatch_style* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, externally_defined_marker* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, picture_representation_item* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to picture_representation_item"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, externally_defined_picture_representation_item* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to externally_defined_picture_representation_item"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, externally_defined_representation_item* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, externally_defined_string* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, externally_defined_symbol* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to externally_defined_symbol"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, externally_defined_terminator_symbol* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to externally_defined_terminator_symbol"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, externally_defined_text_font* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to externally_defined_text_font"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, externally_defined_tile* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to externally_defined_tile"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, externally_defined_tile_style* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, swept_area_solid* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to swept_area_solid"); } do { // convert the 'swept_area' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->swept_area, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to swept_area_solid to be a `curve_bounded_surface`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, extruded_area_solid* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to extruded_area_solid"); } do { // convert the 'extruded_direction' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->extruded_direction, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to extruded_area_solid to be a `direction`")); } - } while (0); - do { // convert the 'depth' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->depth, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to extruded_area_solid to be a `positive_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, swept_face_solid* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to swept_face_solid"); } do { // convert the 'swept_face' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->swept_face, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to swept_face_solid to be a `face_surface`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, extruded_face_solid* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to extruded_face_solid"); } do { // convert the 'extruded_direction' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->extruded_direction, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to extruded_face_solid to be a `direction`")); } - } while (0); - do { // convert the 'depth' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->depth, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to extruded_face_solid to be a `positive_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, extruded_face_solid_with_trim_conditions* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 10) { throw STEP::TypeError("expected 10 arguments to extruded_face_solid_with_trim_conditions"); } do { // convert the 'first_trim_condition' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->first_trim_condition, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to extruded_face_solid_with_trim_conditions to be a `trim_condition_select`")); } - } while (0); - do { // convert the 'second_trim_condition' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->second_trim_condition, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to extruded_face_solid_with_trim_conditions to be a `trim_condition_select`")); } - } while (0); - do { // convert the 'first_trim_intent' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - try { GenericConvert(in->first_trim_intent, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to extruded_face_solid_with_trim_conditions to be a `trim_intent`")); } - } while (0); - do { // convert the 'second_trim_intent' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3] = true; break; } - try { GenericConvert(in->second_trim_intent, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to extruded_face_solid_with_trim_conditions to be a `trim_intent`")); } - } while (0); - do { // convert the 'first_offset' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[4] = true; break; } - try { GenericConvert(in->first_offset, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to extruded_face_solid_with_trim_conditions to be a `non_negative_length_measure`")); } - } while (0); - do { // convert the 'second_offset' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[5] = true; break; } - try { GenericConvert(in->second_offset, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 9 to extruded_face_solid_with_trim_conditions to be a `non_negative_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, extruded_face_solid_with_draft_angle* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 11) { throw STEP::TypeError("expected 11 arguments to extruded_face_solid_with_draft_angle"); } do { // convert the 'draft_angle' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->draft_angle, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 10 to extruded_face_solid_with_draft_angle to be a `plane_angle_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, extruded_face_solid_with_multiple_draft_angles* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 11) { throw STEP::TypeError("expected 11 arguments to extruded_face_solid_with_multiple_draft_angles"); } do { // convert the 'draft_angles' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->draft_angles, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 10 to extruded_face_solid_with_multiple_draft_angles to be a `LIST [2:?] OF plane_angle_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, face* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to face"); } do { // convert the 'bounds' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->bounds, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to face to be a `SET [1:?] OF face_bound`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, face_based_surface_model* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to face_based_surface_model"); } do { // convert the 'fbsm_faces' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->fbsm_faces, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to face_based_surface_model to be a `SET [1:?] OF connected_face_set`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, face_bound* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to face_bound"); } do { // convert the 'bound' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->bound, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to face_bound to be a `loop`")); } - } while (0); - do { // convert the 'orientation' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->orientation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to face_bound to be a `BOOLEAN`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, face_outer_bound* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to face_outer_bound"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, faceted_brep* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to faceted_brep"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, faceted_brep_shape_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to faceted_brep_shape_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, fill_area_style* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to fill_area_style"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to fill_area_style to be a `label`")); } - } while (0); - do { // convert the 'fill_styles' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->fill_styles, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to fill_area_style to be a `SET [1:?] OF fill_style_select`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, fill_area_style_hatching* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to fill_area_style_hatching"); } do { // convert the 'hatch_line_appearance' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->hatch_line_appearance, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to fill_area_style_hatching to be a `curve_style`")); } - } while (0); - do { // convert the 'start_of_next_hatch_line' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->start_of_next_hatch_line, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to fill_area_style_hatching to be a `one_direction_repeat_factor`")); } - } while (0); - do { // convert the 'point_of_reference_hatch_line' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->point_of_reference_hatch_line, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to fill_area_style_hatching to be a `cartesian_point`")); } - } while (0); - do { // convert the 'pattern_start' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->pattern_start, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to fill_area_style_hatching to be a `cartesian_point`")); } - } while (0); - do { // convert the 'hatch_line_angle' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->hatch_line_angle, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to fill_area_style_hatching to be a `plane_angle_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, fill_area_style_tile_coloured_region* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to fill_area_style_tile_coloured_region"); } do { // convert the 'closed_curve' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->closed_curve, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to fill_area_style_tile_coloured_region to be a `curve_or_annotation_curve_occurrence`")); } - } while (0); - do { // convert the 'region_colour' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->region_colour, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to fill_area_style_tile_coloured_region to be a `colour`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, fill_area_style_tile_curve_with_style* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to fill_area_style_tile_curve_with_style"); } do { // convert the 'styled_curve' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->styled_curve, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to fill_area_style_tile_curve_with_style to be a `annotation_curve_occurrence`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, fill_area_style_tile_symbol_with_style* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to fill_area_style_tile_symbol_with_style"); } do { // convert the 'symbol' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->symbol, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to fill_area_style_tile_symbol_with_style to be a `annotation_symbol_occurrence`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, fill_area_style_tiles* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to fill_area_style_tiles"); } do { // convert the 'tiling_pattern' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->tiling_pattern, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to fill_area_style_tiles to be a `two_direction_repeat_factor`")); } - } while (0); - do { // convert the 'tiles' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->tiles, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to fill_area_style_tiles to be a `SET [1:?] OF fill_area_style_tile_shape_select`")); } - } while (0); - do { // convert the 'tiling_scale' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->tiling_scale, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to fill_area_style_tiles to be a `positive_ratio_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, shape_representation_relationship* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to shape_representation_relationship"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, flat_pattern_ply_representation_relationship* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to flat_pattern_ply_representation_relationship"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, flatness_tolerance* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to flatness_tolerance"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, force_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to force_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, force_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to force_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, forward_chaining_rule* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to forward_chaining_rule"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, forward_chaining_rule_premise* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, frequency_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to frequency_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, frequency_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to frequency_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, func* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to func"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, functional_breakdown_context* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to functional_breakdown_context"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, functional_element_usage* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to functional_element_usage"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, general_material_property* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to general_material_property"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, simple_generic_expression* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, generic_literal* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, generic_variable* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, geometric_alignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to geometric_alignment"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, geometric_set* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to geometric_set"); } do { // convert the 'elements' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->elements, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to geometric_set to be a `SET [1:?] OF geometric_set_select`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, geometric_curve_set* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to geometric_curve_set"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, geometric_intersection* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to geometric_intersection"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, geometric_item_specific_usage* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to geometric_item_specific_usage"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, geometric_model_element_relationship* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, representation_context* in) -{ - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to representation_context"); } do { // convert the 'context_identifier' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->context_identifier, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to representation_context to be a `identifier`")); } - } while (0); - do { // convert the 'context_type' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->context_type, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to representation_context to be a `text`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, geometric_representation_context* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to geometric_representation_context"); } do { // convert the 'coordinate_space_dimension' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->coordinate_space_dimension, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to geometric_representation_context to be a `dimension_count`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, geometric_tolerance_with_defined_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to geometric_tolerance_with_defined_unit"); } do { // convert the 'unit_size' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->unit_size, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to geometric_tolerance_with_defined_unit to be a `measure_with_unit`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, geometrical_tolerance_callout* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to geometrical_tolerance_callout"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, geometrically_bounded_2d_wireframe_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to geometrically_bounded_2d_wireframe_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, geometrically_bounded_surface_shape_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to geometrically_bounded_surface_shape_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, geometrically_bounded_wireframe_shape_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to geometrically_bounded_wireframe_shape_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, global_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to global_assignment"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, global_uncertainty_assigned_context* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to global_uncertainty_assigned_context"); } do { // convert the 'uncertainty' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->uncertainty, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to global_uncertainty_assigned_context to be a `SET [1:?] OF uncertainty_measure_with_unit`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, global_unit_assigned_context* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to global_unit_assigned_context"); } do { // convert the 'units' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->units, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to global_unit_assigned_context to be a `SET [1:?] OF unit`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, ground_fact* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to ground_fact"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, hardness_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to hardness_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, hidden_element_over_riding_styled_item* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to hidden_element_over_riding_styled_item"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, hyperbola* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to hyperbola"); } do { // convert the 'semi_axis' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->semi_axis, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to hyperbola to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'semi_imag_axis' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->semi_imag_axis, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to hyperbola to be a `positive_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, illuminance_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to illuminance_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, illuminance_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to illuminance_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, included_text_block* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to included_text_block"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, inclusion_product_concept_feature* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to inclusion_product_concept_feature"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, user_selected_elements* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to user_selected_elements"); } do { // convert the 'picked_items' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->picked_items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to user_selected_elements to be a `SET [1:?] OF representation_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, indirectly_selected_elements* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to indirectly_selected_elements"); } do { // convert the 'indirectly_picked_items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->indirectly_picked_items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to indirectly_selected_elements to be a `SET [1:?] OF representation_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, indirectly_selected_shape_elements* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, inductance_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to inductance_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, inductance_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to inductance_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, information_right* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to information_right"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, information_usage_right* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to information_usage_right"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, instance_usage_context_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to instance_usage_context_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to instance_usage_context_assignment to be a `SET [1:?] OF instance_usage_context_select`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, instanced_feature* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, literal_number* in) -{ - size_t base = 0; - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to literal_number"); } do { // convert the 'the_value' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->the_value, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to literal_number to be a `NUMBER`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, int_literal* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to int_literal"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, integer_representation_item* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, surface_curve* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to surface_curve"); } do { // convert the 'curve_3d' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->curve_3d, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to surface_curve to be a `curve`")); } - } while (0); - do { // convert the 'associated_geometry' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->associated_geometry, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to surface_curve to be a `LIST [1:2] OF pcurve_or_surface`")); } - } while (0); - do { // convert the 'master_representation' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - try { GenericConvert(in->master_representation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to surface_curve to be a `preferred_surface_curve_representation`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, intersection_curve* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to intersection_curve"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, interval_expression* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, iso4217_currency* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to iso4217_currency"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, known_source* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, laid_defined_transformation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to laid_defined_transformation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, language* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to language"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, leader_curve* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to leader_curve"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, leader_directed_callout* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to leader_directed_callout"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, leader_directed_dimension* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to leader_directed_dimension"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, leader_terminator* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to leader_terminator"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, length_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to length_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, length_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to length_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, light_source* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to light_source"); } do { // convert the 'light_colour' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->light_colour, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to light_source to be a `colour`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, light_source_ambient* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to light_source_ambient"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, light_source_directional* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to light_source_directional"); } do { // convert the 'orientation' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->orientation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to light_source_directional to be a `direction`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, light_source_positional* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to light_source_positional"); } do { // convert the 'position' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->position, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to light_source_positional to be a `cartesian_point`")); } - } while (0); - do { // convert the 'constant_attenuation' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->constant_attenuation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to light_source_positional to be a `REAL`")); } - } while (0); - do { // convert the 'distance_attenuation' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->distance_attenuation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to light_source_positional to be a `REAL`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, light_source_spot* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to light_source_spot"); } do { // convert the 'position' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->position, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to light_source_spot to be a `cartesian_point`")); } - } while (0); - do { // convert the 'orientation' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->orientation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to light_source_spot to be a `direction`")); } - } while (0); - do { // convert the 'concentration_exponent' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->concentration_exponent, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to light_source_spot to be a `REAL`")); } - } while (0); - do { // convert the 'constant_attenuation' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->constant_attenuation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to light_source_spot to be a `REAL`")); } - } while (0); - do { // convert the 'distance_attenuation' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->distance_attenuation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to light_source_spot to be a `REAL`")); } - } while (0); - do { // convert the 'spread_angle' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->spread_angle, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to light_source_spot to be a `positive_plane_angle_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, line* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to line"); } do { // convert the 'pnt' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->pnt, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to line to be a `cartesian_point`")); } - } while (0); - do { // convert the 'dir' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->dir, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to line to be a `vector`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, line_profile_tolerance* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to line_profile_tolerance"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, linear_dimension* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to linear_dimension"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, simple_clause* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to simple_clause"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, literal_conjunction* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to literal_conjunction"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, literal_disjunction* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to literal_disjunction"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, logical_literal* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to logical_literal"); } do { // convert the 'lit_value' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->lit_value, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to logical_literal to be a `LOGICAL`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB&, const LIST& params, logical_representation_item* ) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, loop* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to loop"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, loss_tangent_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to loss_tangent_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, lot_effectivity* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to lot_effectivity"); } do { // convert the 'effectivity_lot_id' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->effectivity_lot_id, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to lot_effectivity to be a `identifier`")); } - } while (0); - do { // convert the 'effectivity_lot_size' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->effectivity_lot_size, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to lot_effectivity to be a `measure_with_unit`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, luminous_flux_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to luminous_flux_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, luminous_flux_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to luminous_flux_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, luminous_intensity_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to luminous_intensity_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, luminous_intensity_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to luminous_intensity_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, magnetic_flux_density_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to magnetic_flux_density_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, magnetic_flux_density_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to magnetic_flux_density_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, magnetic_flux_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to magnetic_flux_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, magnetic_flux_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to magnetic_flux_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, make_from_usage_option* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to make_from_usage_option"); } do { // convert the 'ranking' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->ranking, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to make_from_usage_option to be a `INTEGER`")); } - } while (0); - do { // convert the 'ranking_rationale' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->ranking_rationale, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to make_from_usage_option to be a `text`")); } - } while (0); - do { // convert the 'quantity' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->quantity, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to make_from_usage_option to be a `measure_with_unit`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, manifold_subsurface_shape_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to manifold_subsurface_shape_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, manifold_surface_shape_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to manifold_surface_shape_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, mass_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to mass_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, mass_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to mass_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, material_property* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to material_property"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, property_definition_representation* in) -{ - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to property_definition_representation"); } do { // convert the 'definition' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->definition, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to property_definition_representation to be a `represented_definition`")); } - } while (0); - do { // convert the 'used_representation' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->used_representation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to property_definition_representation to be a `representation`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, material_property_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to material_property_representation"); } do { // convert the 'dependent_environment' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->dependent_environment, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to material_property_representation to be a `data_environment`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, measure_representation_item* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, product_context* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to product_context"); } do { // convert the 'discipline_type' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->discipline_type, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to product_context to be a `label`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, mechanical_context* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to mechanical_context"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, mechanical_design_and_draughting_relationship* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to mechanical_design_and_draughting_relationship"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, mechanical_design_geometric_presentation_area* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to mechanical_design_geometric_presentation_area"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, mechanical_design_geometric_presentation_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to mechanical_design_geometric_presentation_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, mechanical_design_presentation_representation_with_draughting* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to mechanical_design_presentation_representation_with_draughting"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, mechanical_design_shaded_presentation_area* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to mechanical_design_shaded_presentation_area"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, mechanical_design_shaded_presentation_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to mechanical_design_shaded_presentation_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, min_and_major_ply_orientation_basis* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, modified_geometric_tolerance* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to modified_geometric_tolerance"); } do { // convert the 'modifier' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->modifier, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to modified_geometric_tolerance to be a `limit_condition`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, modified_solid_with_placed_configuration* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to modified_solid_with_placed_configuration"); } do { // convert the 'placing' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->placing, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to modified_solid_with_placed_configuration to be a `axis2_placement_3d`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, moments_of_inertia_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to moments_of_inertia_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, multi_language_attribute_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to multi_language_attribute_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to multi_language_attribute_assignment to be a `SET [1:?] OF multi_language_attribute_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, multiple_arity_boolean_expression* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, multiple_arity_generic_expression* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to multiple_arity_generic_expression"); } do { // convert the 'operands' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->operands, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to multiple_arity_generic_expression to be a `LIST [2:?] OF generic_expression`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, multiple_arity_numeric_expression* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, next_assembly_usage_occurrence* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to next_assembly_usage_occurrence"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, non_manifold_surface_shape_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to non_manifold_surface_shape_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, null_representation_item* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to null_representation_item"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, numeric_expression* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, offset_curve_2d* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to offset_curve_2d"); } do { // convert the 'basis_curve' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->basis_curve, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to offset_curve_2d to be a `curve`")); } - } while (0); - do { // convert the 'distance' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->distance, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to offset_curve_2d to be a `length_measure`")); } - } while (0); - do { // convert the 'self_intersect' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->self_intersect, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to offset_curve_2d to be a `LOGICAL`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, offset_curve_3d* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to offset_curve_3d"); } do { // convert the 'basis_curve' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->basis_curve, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to offset_curve_3d to be a `curve`")); } - } while (0); - do { // convert the 'distance' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->distance, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to offset_curve_3d to be a `length_measure`")); } - } while (0); - do { // convert the 'self_intersect' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->self_intersect, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to offset_curve_3d to be a `LOGICAL`")); } - } while (0); - do { // convert the 'ref_direction' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->ref_direction, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to offset_curve_3d to be a `direction`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, offset_surface* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to offset_surface"); } do { // convert the 'basis_surface' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->basis_surface, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to offset_surface to be a `surface`")); } - } while (0); - do { // convert the 'distance' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->distance, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to offset_surface to be a `length_measure`")); } - } while (0); - do { // convert the 'self_intersect' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->self_intersect, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to offset_surface to be a `LOGICAL`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, one_direction_repeat_factor* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to one_direction_repeat_factor"); } do { // convert the 'repeat_factor' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->repeat_factor, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to one_direction_repeat_factor to be a `vector`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, open_shell* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to open_shell"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, ordinal_date* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to ordinal_date"); } do { // convert the 'day_component' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->day_component, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to ordinal_date to be a `day_in_year_number`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, projection_directed_callout* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to projection_directed_callout"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, ordinate_dimension* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to ordinate_dimension"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, organizational_address* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 14) { throw STEP::TypeError("expected 14 arguments to organizational_address"); } do { // convert the 'organizations' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->organizations, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 12 to organizational_address to be a `SET [1:?] OF organization`")); } - } while (0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 13 to organizational_address to be a `text`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, oriented_closed_shell* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to oriented_closed_shell"); } do { // convert the 'closed_shell_element' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->closed_shell_element, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to oriented_closed_shell to be a `closed_shell`")); } - } while (0); - do { // convert the 'orientation' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->orientation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to oriented_closed_shell to be a `BOOLEAN`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, oriented_edge* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to oriented_edge"); } do { // convert the 'edge_element' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->edge_element, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to oriented_edge to be a `edge`")); } - } while (0); - do { // convert the 'orientation' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->orientation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to oriented_edge to be a `BOOLEAN`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, oriented_face* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to oriented_face"); } do { // convert the 'face_element' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->face_element, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to oriented_face to be a `face`")); } - } while (0); - do { // convert the 'orientation' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->orientation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to oriented_face to be a `BOOLEAN`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, oriented_open_shell* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to oriented_open_shell"); } do { // convert the 'open_shell_element' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->open_shell_element, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to oriented_open_shell to be a `open_shell`")); } - } while (0); - do { // convert the 'orientation' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->orientation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to oriented_open_shell to be a `BOOLEAN`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, path* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to path"); } do { // convert the 'edge_list' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->edge_list, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to path to be a `LIST [1:?] OF oriented_edge`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, oriented_path* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to oriented_path"); } do { // convert the 'path_element' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->path_element, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to oriented_path to be a `path`")); } - } while (0); - do { // convert the 'orientation' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->orientation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to oriented_path to be a `BOOLEAN`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, oriented_surface* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to oriented_surface"); } do { // convert the 'orientation' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->orientation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to oriented_surface to be a `BOOLEAN`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, outer_boundary_curve* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to outer_boundary_curve"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, package_product_concept_feature* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to package_product_concept_feature"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, parabola* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to parabola"); } do { // convert the 'focal_dist' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->focal_dist, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to parabola to be a `length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, parallel_offset* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to parallel_offset"); } do { // convert the 'offset' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->offset, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to parallel_offset to be a `measure_with_unit`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, parallelism_tolerance* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to parallelism_tolerance"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, parametric_representation_context* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to parametric_representation_context"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, partial_document_with_structured_text_representation_assignment* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, pcurve* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to pcurve"); } do { // convert the 'basis_surface' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->basis_surface, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to pcurve to be a `surface`")); } - } while (0); - do { // convert the 'reference_to_curve' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->reference_to_curve, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to pcurve to be a `definitional_representation`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, percentage_laminate_definition* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to percentage_laminate_definition"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, zone_structural_makeup* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to zone_structural_makeup"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, percentage_laminate_table* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to percentage_laminate_table"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, percentage_ply_definition* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to percentage_ply_definition"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, perpendicular_to* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to perpendicular_to"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, perpendicularity_tolerance* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to perpendicularity_tolerance"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, person_and_organization_address* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, personal_address* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 14) { throw STEP::TypeError("expected 14 arguments to personal_address"); } do { // convert the 'people' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->people, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 12 to personal_address to be a `SET [1:?] OF person`")); } - } while (0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 13 to personal_address to be a `text`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, physical_breakdown_context* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to physical_breakdown_context"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, physical_element_usage* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to physical_element_usage"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, presentation_view* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to presentation_view"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, picture_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to picture_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, placed_datum_target_feature* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to placed_datum_target_feature"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, placed_feature* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to placed_feature"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, planar_extent* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to planar_extent"); } do { // convert the 'size_in_x' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->size_in_x, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to planar_extent to be a `length_measure`")); } - } while (0); - do { // convert the 'size_in_y' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->size_in_y, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to planar_extent to be a `length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, planar_box* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to planar_box"); } do { // convert the 'placement' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->placement, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to planar_box to be a `axis2_placement`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, plane* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to plane"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, plane_angle_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to plane_angle_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, plane_angle_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to plane_angle_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, ply_laminate_definition* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to ply_laminate_definition"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, ply_laminate_sequence_definition* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to ply_laminate_sequence_definition"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, ply_laminate_table* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to ply_laminate_table"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, point_and_vector* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, point_on_curve* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to point_on_curve"); } do { // convert the 'basis_curve' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->basis_curve, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to point_on_curve to be a `curve`")); } - } while (0); - do { // convert the 'point_parameter' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->point_parameter, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to point_on_curve to be a `parameter_value`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, point_on_surface* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to point_on_surface"); } do { // convert the 'basis_surface' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->basis_surface, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to point_on_surface to be a `surface`")); } - } while (0); - do { // convert the 'point_parameter_u' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->point_parameter_u, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to point_on_surface to be a `parameter_value`")); } - } while (0); - do { // convert the 'point_parameter_v' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->point_parameter_v, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to point_on_surface to be a `parameter_value`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, point_path* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, point_replica* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to point_replica"); } do { // convert the 'parent_pt' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->parent_pt, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to point_replica to be a `point`")); } - } while (0); - do { // convert the 'transformation' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->transformation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to point_replica to be a `cartesian_transformation_operator`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, point_style* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to point_style"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to point_style to be a `label`")); } - } while (0); - do { // convert the 'marker' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->marker, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to point_style to be a `marker_select`")); } - } while (0); - do { // convert the 'marker_size' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->marker_size, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to point_style to be a `size_select`")); } - } while (0); - do { // convert the 'marker_colour' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->marker_colour, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to point_style to be a `colour`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, polar_complex_number_literal* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to polar_complex_number_literal"); } do { // convert the 'radius' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to polar_complex_number_literal to be a `REAL`")); } - } while (0); - do { // convert the 'angle' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->angle, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to polar_complex_number_literal to be a `REAL`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, poly_loop* in) -{ - size_t base = 0; - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to poly_loop"); } do { // convert the 'polygon' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->polygon, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to poly_loop to be a `LIST [3:?] OF cartesian_point`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, polyline* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to polyline"); } do { // convert the 'points' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->points, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to polyline to be a `LIST [2:?] OF cartesian_point`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, position_tolerance* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to position_tolerance"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, positioned_sketch* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to positioned_sketch"); } do { // convert the 'sketch_basis' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->sketch_basis, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to positioned_sketch to be a `sketch_basis_select`")); } - } while (0); - do { // convert the 'auxiliary_elements' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->auxiliary_elements, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to positioned_sketch to be a `SET [0:?] OF auxiliary_geometric_representation_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, power_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to power_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, power_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to power_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, pre_defined_symbol* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to pre_defined_symbol"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, pre_defined_dimension_symbol* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to pre_defined_dimension_symbol"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, pre_defined_geometrical_tolerance_symbol* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to pre_defined_geometrical_tolerance_symbol"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, pre_defined_marker* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to pre_defined_marker"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, pre_defined_point_marker_symbol* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, pre_defined_surface_condition_symbol* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to pre_defined_surface_condition_symbol"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, pre_defined_surface_side_style* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to pre_defined_surface_side_style"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, pre_defined_terminator_symbol* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to pre_defined_terminator_symbol"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, pre_defined_tile* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to pre_defined_tile"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, predefined_picture_representation_item* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to predefined_picture_representation_item"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, presentation_style_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to presentation_style_assignment"); } do { // convert the 'styles' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->styles, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to presentation_style_assignment to be a `SET [1:?] OF presentation_style_select`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, presentation_style_by_context* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to presentation_style_by_context"); } do { // convert the 'style_context' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->style_context, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to presentation_style_by_context to be a `style_context_select`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, pressure_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to pressure_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, pressure_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to pressure_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, procedural_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to procedural_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, procedural_representation_sequence* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to procedural_representation_sequence"); } do { // convert the 'elements' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->elements, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to procedural_representation_sequence to be a `LIST [1:?] OF representation_item`")); } - } while (0); - do { // convert the 'suppressed_items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->suppressed_items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to procedural_representation_sequence to be a `SET [0:?] OF representation_item`")); } - } while (0); - do { // convert the 'rationale' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->rationale, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to procedural_representation_sequence to be a `text`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, procedural_shape_representation* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, procedural_shape_representation_sequence* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, product_category* in) -{ - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to product_category"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to product_category to be a `label`")); } - } while (0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to product_category to be a `text`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, product_class* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, product_concept_context* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to product_concept_context"); } do { // convert the 'market_segment_type' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->market_segment_type, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to product_concept_context to be a `label`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, product_concept_feature_category_usage* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to product_concept_feature_category_usage"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to product_concept_feature_category_usage to be a `SET [1:?] OF category_usage_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, product_definition_element_relationship* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to product_definition_element_relationship"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, product_definition_formation* in) -{ - size_t base = 0; - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to product_definition_formation"); } do { // convert the 'id' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->id, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to product_definition_formation to be a `identifier`")); } - } while (0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to product_definition_formation to be a `text`")); } - } while (0); - do { // convert the 'of_product' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - try { GenericConvert(in->of_product, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to product_definition_formation to be a `product`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, product_definition_formation_with_specified_source* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to product_definition_formation_with_specified_source"); } do { // convert the 'make_or_buy' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->make_or_buy, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to product_definition_formation_with_specified_source to be a `source`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, product_definition_group_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to product_definition_group_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to product_definition_group_assignment to be a `SET [1:1] OF product_definition_or_product_definition_relationship`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, product_definition_shape* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to product_definition_shape"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, product_definition_with_associated_documents* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to product_definition_with_associated_documents"); } do { // convert the 'documentation_ids' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->documentation_ids, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to product_definition_with_associated_documents to be a `SET [1:?] OF document`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, product_identification* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, product_material_composition_relationship* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to product_material_composition_relationship"); } do { // convert the 'class' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->class_, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to product_material_composition_relationship to be a `label`")); } - } while (0); - do { // convert the 'constituent_amount' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->constituent_amount, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to product_material_composition_relationship to be a `SET [1:?] OF characterized_product_composition_value`")); } - } while (0); - do { // convert the 'composition_basis' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->composition_basis, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to product_material_composition_relationship to be a `label`")); } - } while (0); - do { // convert the 'determination_method' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->determination_method, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to product_material_composition_relationship to be a `text`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, product_related_product_category* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to product_related_product_category"); } do { // convert the 'products' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->products, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to product_related_product_category to be a `SET [1:?] OF product`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, product_specification* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, tolerance_zone_definition* in) -{ - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to tolerance_zone_definition"); } do { // convert the 'zone' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->zone, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to tolerance_zone_definition to be a `tolerance_zone`")); } - } while (0); - do { // convert the 'boundaries' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->boundaries, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to tolerance_zone_definition to be a `SET [1:?] OF shape_aspect`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, projected_zone_definition* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to projected_zone_definition"); } do { // convert the 'projection_end' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->projection_end, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to projected_zone_definition to be a `shape_aspect`")); } - } while (0); - do { // convert the 'projected_length' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->projected_length, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to projected_zone_definition to be a `measure_with_unit`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, projection_curve* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to projection_curve"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, promissory_usage_occurrence* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to promissory_usage_occurrence"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, qualified_representation_item* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to qualified_representation_item"); } do { // convert the 'qualifiers' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->qualifiers, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to qualified_representation_item to be a `SET [1:?] OF value_qualifier`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, qualitative_uncertainty* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to qualitative_uncertainty"); } do { // convert the 'uncertainty_value' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->uncertainty_value, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to qualitative_uncertainty to be a `text`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, quantified_assembly_component_usage* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to quantified_assembly_component_usage"); } do { // convert the 'quantity' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->quantity, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to quantified_assembly_component_usage to be a `measure_with_unit`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, quasi_uniform_curve* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to quasi_uniform_curve"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, quasi_uniform_surface* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to quasi_uniform_surface"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, radioactivity_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to radioactivity_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, radioactivity_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to radioactivity_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, radius_dimension* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to radius_dimension"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, range_characteristic* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, ratio_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to ratio_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, rational_b_spline_curve* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to rational_b_spline_curve"); } do { // convert the 'weights_data' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->weights_data, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to rational_b_spline_curve to be a `LIST [2:?] OF REAL`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, rational_b_spline_surface* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to rational_b_spline_surface"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, rational_representation_item* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, real_literal* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to real_literal"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, real_representation_item* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, rectangular_composite_surface* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to rectangular_composite_surface"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, rectangular_trimmed_surface* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to rectangular_trimmed_surface"); } do { // convert the 'basis_surface' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->basis_surface, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to rectangular_trimmed_surface to be a `surface`")); } - } while (0); - do { // convert the 'u1' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->u1, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to rectangular_trimmed_surface to be a `parameter_value`")); } - } while (0); - do { // convert the 'u2' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->u2, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to rectangular_trimmed_surface to be a `parameter_value`")); } - } while (0); - do { // convert the 'v1' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->v1, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to rectangular_trimmed_surface to be a `parameter_value`")); } - } while (0); - do { // convert the 'v2' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->v2, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to rectangular_trimmed_surface to be a `parameter_value`")); } - } while (0); - do { // convert the 'usense' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->usense, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to rectangular_trimmed_surface to be a `BOOLEAN`")); } - } while (0); - do { // convert the 'vsense' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->vsense, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to rectangular_trimmed_surface to be a `BOOLEAN`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, referenced_modified_datum* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to referenced_modified_datum"); } do { // convert the 'modifier' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->modifier, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to referenced_modified_datum to be a `limit_condition`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, relative_event_occurrence* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to relative_event_occurrence"); } do { // convert the 'base_event' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->base_event, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to relative_event_occurrence to be a `event_occurrence`")); } - } while (0); - do { // convert the 'offset' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->offset, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to relative_event_occurrence to be a `time_measure_with_unit`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, rep_item_group* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, reparametrised_composite_curve_segment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to reparametrised_composite_curve_segment"); } do { // convert the 'param_length' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->param_length, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to reparametrised_composite_curve_segment to be a `parameter_value`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, representation_relationship_with_transformation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to representation_relationship_with_transformation"); } do { // convert the 'transformation_operator' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->transformation_operator, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to representation_relationship_with_transformation to be a `transformation`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, requirement_assigned_object* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to requirement_assigned_object"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to requirement_assigned_object to be a `SET [1:1] OF requirement_assigned_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, requirement_assignment* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, requirement_source* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to requirement_source"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, requirement_view_definition_relationship* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to requirement_view_definition_relationship"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, resistance_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to resistance_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, resistance_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to resistance_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, revolved_area_solid* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to revolved_area_solid"); } do { // convert the 'axis' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->axis, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to revolved_area_solid to be a `axis1_placement`")); } - } while (0); - do { // convert the 'angle' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->angle, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to revolved_area_solid to be a `plane_angle_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, revolved_face_solid* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to revolved_face_solid"); } do { // convert the 'axis' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->axis, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to revolved_face_solid to be a `axis1_placement`")); } - } while (0); - do { // convert the 'angle' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->angle, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to revolved_face_solid to be a `plane_angle_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, revolved_face_solid_with_trim_conditions* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to revolved_face_solid_with_trim_conditions"); } do { // convert the 'first_trim_condition' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->first_trim_condition, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to revolved_face_solid_with_trim_conditions to be a `trim_condition_select`")); } - } while (0); - do { // convert the 'second_trim_condition' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->second_trim_condition, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to revolved_face_solid_with_trim_conditions to be a `trim_condition_select`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, right_angular_wedge* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to right_angular_wedge"); } do { // convert the 'position' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->position, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to right_angular_wedge to be a `axis2_placement_3d`")); } - } while (0); - do { // convert the 'x' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->x, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to right_angular_wedge to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'y' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->y, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to right_angular_wedge to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'z' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->z, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to right_angular_wedge to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'ltx' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->ltx, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to right_angular_wedge to be a `length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, right_circular_cone* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to right_circular_cone"); } do { // convert the 'position' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->position, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to right_circular_cone to be a `axis1_placement`")); } - } while (0); - do { // convert the 'height' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->height, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to right_circular_cone to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'radius' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to right_circular_cone to be a `length_measure`")); } - } while (0); - do { // convert the 'semi_angle' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->semi_angle, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to right_circular_cone to be a `plane_angle_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, right_circular_cylinder* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to right_circular_cylinder"); } do { // convert the 'position' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->position, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to right_circular_cylinder to be a `axis1_placement`")); } - } while (0); - do { // convert the 'height' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->height, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to right_circular_cylinder to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'radius' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to right_circular_cylinder to be a `positive_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, right_to_usage_association* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to right_to_usage_association"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, roundness_tolerance* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to roundness_tolerance"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, row_representation_item* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to row_representation_item"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, row_value* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to row_value"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, row_variable* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, rule_action* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to rule_action"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, rule_condition* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to rule_condition"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, rule_set* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to rule_set"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, rule_set_group* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to rule_set_group"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, rule_superseded_assignment* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to rule_superseded_assignment"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to rule_superseded_assignment to be a `SET [1:?] OF rule_superseded_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, rule_supersedence* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to rule_supersedence"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, surface_curve_swept_area_solid* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to surface_curve_swept_area_solid"); } do { // convert the 'directrix' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->directrix, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to surface_curve_swept_area_solid to be a `curve`")); } - } while (0); - do { // convert the 'start_param' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->start_param, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to surface_curve_swept_area_solid to be a `REAL`")); } - } while (0); - do { // convert the 'end_param' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - try { GenericConvert(in->end_param, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to surface_curve_swept_area_solid to be a `REAL`")); } - } while (0); - do { // convert the 'reference_surface' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3] = true; break; } - try { GenericConvert(in->reference_surface, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to surface_curve_swept_area_solid to be a `surface`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, ruled_surface_swept_area_solid* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to ruled_surface_swept_area_solid"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, runout_zone_definition* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to runout_zone_definition"); } do { // convert the 'orientation' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->orientation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to runout_zone_definition to be a `runout_zone_orientation`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, runout_zone_orientation* in) -{ - size_t base = 0; - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to runout_zone_orientation"); } do { // convert the 'angle' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->angle, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to runout_zone_orientation to be a `measure_with_unit`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, runout_zone_orientation_reference_direction* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to runout_zone_orientation_reference_direction"); } do { // convert the 'orientation_defining_relationship' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->orientation_defining_relationship, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to runout_zone_orientation_reference_direction to be a `shape_aspect_relationship`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, satisfied_requirement* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to satisfied_requirement"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to satisfied_requirement to be a `SET [1:1] OF product_definition`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, satisfies_requirement* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to satisfies_requirement"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, satisfying_item* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to satisfying_item"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to satisfying_item to be a `SET [1:1] OF requirement_satisfaction_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, scalar_variable* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, scattering_parameter* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to scattering_parameter"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, sculptured_solid* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to sculptured_solid"); } do { // convert the 'sculpturing_element' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->sculpturing_element, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to sculptured_solid to be a `generalized_surface_select`")); } - } while (0); - do { // convert the 'positive_side' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->positive_side, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to sculptured_solid to be a `BOOLEAN`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, seam_curve* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to seam_curve"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, serial_numbered_effectivity* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to serial_numbered_effectivity"); } do { // convert the 'effectivity_start_id' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->effectivity_start_id, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to serial_numbered_effectivity to be a `identifier`")); } - } while (0); - do { // convert the 'effectivity_end_id' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->effectivity_end_id, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to serial_numbered_effectivity to be a `identifier`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, shape_aspect_associativity* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to shape_aspect_associativity"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, shape_aspect_deriving_relationship* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to shape_aspect_deriving_relationship"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, shape_definition_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to shape_definition_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, shape_dimension_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to shape_dimension_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, shape_feature_definition* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to shape_feature_definition"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, shape_representation_with_parameters* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to shape_representation_with_parameters"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, shell_based_surface_model* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to shell_based_surface_model"); } do { // convert the 'sbsm_boundary' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->sbsm_boundary, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to shell_based_surface_model to be a `SET [1:?] OF shell`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, shell_based_wireframe_model* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to shell_based_wireframe_model"); } do { // convert the 'sbwm_boundary' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->sbwm_boundary, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to shell_based_wireframe_model to be a `SET [1:?] OF shell`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, shell_based_wireframe_shape_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to shell_based_wireframe_shape_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, si_absorbed_dose_unit* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, si_capacitance_unit* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, si_conductance_unit* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, si_dose_equivalent_unit* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, si_electric_charge_unit* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, si_electric_potential_unit* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, si_energy_unit* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, si_force_unit* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, si_frequency_unit* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, si_illuminance_unit* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, si_inductance_unit* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, si_magnetic_flux_density_unit* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, si_magnetic_flux_unit* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, si_power_unit* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, si_pressure_unit* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, si_radioactivity_unit* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, si_resistance_unit* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, si_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to si_unit"); } do { // convert the 'prefix' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->prefix, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to si_unit to be a `si_prefix`")); } - } while (0); - do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to si_unit to be a `si_unit_name`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, simple_boolean_expression* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, simple_numeric_expression* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, slash_expression* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, smeared_material_definition* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to smeared_material_definition"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_angle_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to solid_angle_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_angle_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to solid_angle_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_curve_font* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to solid_curve_font"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_replica* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to solid_replica"); } do { // convert the 'parent_solid' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->parent_solid, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to solid_replica to be a `solid_model`")); } - } while (0); - do { // convert the 'transformation' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->transformation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to solid_replica to be a `cartesian_transformation_operator_3d`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_chamfered_edges* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to solid_with_chamfered_edges"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_angle_based_chamfer* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to solid_with_angle_based_chamfer"); } do { // convert the 'offset_distance' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->offset_distance, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to solid_with_angle_based_chamfer to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'left_offset' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->left_offset, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to solid_with_angle_based_chamfer to be a `BOOLEAN`")); } - } while (0); - do { // convert the 'offset_angle' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->offset_angle, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to solid_with_angle_based_chamfer to be a `positive_plane_angle_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_shape_element_pattern* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to solid_with_shape_element_pattern"); } do { // convert the 'replicated_element' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->replicated_element, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to solid_with_shape_element_pattern to be a `modified_solid_with_placed_configuration`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_circular_pattern* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to solid_with_circular_pattern"); } do { // convert the 'replicate_count' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->replicate_count, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to solid_with_circular_pattern to be a `positive_integer`")); } - } while (0); - do { // convert the 'angular_spacing' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->angular_spacing, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to solid_with_circular_pattern to be a `plane_angle_measure`")); } - } while (0); - do { // convert the 'radial_alignment' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - try { GenericConvert(in->radial_alignment, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to solid_with_circular_pattern to be a `BOOLEAN`")); } - } while (0); - do { // convert the 'reference_point' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3] = true; break; } - try { GenericConvert(in->reference_point, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to solid_with_circular_pattern to be a `point`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_depression* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to solid_with_depression"); } do { // convert the 'depth' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->depth, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to solid_with_depression to be a `positive_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_pocket* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to solid_with_pocket"); } do { // convert the 'floor_blend_radius' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->floor_blend_radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to solid_with_pocket to be a `non_negative_length_measure`")); } - } while (0); - do { // convert the 'draft_angle' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->draft_angle, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to solid_with_pocket to be a `plane_angle_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_circular_pocket* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to solid_with_circular_pocket"); } do { // convert the 'pocket_radius' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->pocket_radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to solid_with_circular_pocket to be a `positive_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_protrusion* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to solid_with_protrusion"); } do { // convert the 'protrusion_height' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->protrusion_height, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to solid_with_protrusion to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'protrusion_draft_angle' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->protrusion_draft_angle, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to solid_with_protrusion to be a `plane_angle_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_circular_protrusion* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to solid_with_circular_protrusion"); } do { // convert the 'protrusion_radius' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->protrusion_radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to solid_with_circular_protrusion to be a `positive_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_hole* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to solid_with_hole"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_stepped_round_hole* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to solid_with_stepped_round_hole"); } do { // convert the 'segments' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->segments, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to solid_with_stepped_round_hole to be a `positive_integer`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_conical_bottom_round_hole* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to solid_with_conical_bottom_round_hole"); } do { // convert the 'semi_apex_angle' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->semi_apex_angle, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to solid_with_conical_bottom_round_hole to be a `positive_plane_angle_measure`")); } - } while (0); - do { // convert the 'tip_radius' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->tip_radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to solid_with_conical_bottom_round_hole to be a `non_negative_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_constant_radius_edge_blend* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to solid_with_constant_radius_edge_blend"); } do { // convert the 'radius' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to solid_with_constant_radius_edge_blend to be a `positive_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_slot* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to solid_with_slot"); } do { // convert the 'slot_width' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->slot_width, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to solid_with_slot to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'closed_ends' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->closed_ends, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to solid_with_slot to be a `LIST [2:2] OF LOGICAL`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_curved_slot* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to solid_with_curved_slot"); } do { // convert the 'slot_centreline' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->slot_centreline, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to solid_with_curved_slot to be a `bounded_curve`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_double_offset_chamfer* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to solid_with_double_offset_chamfer"); } do { // convert the 'left_offset_distance' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->left_offset_distance, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to solid_with_double_offset_chamfer to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'right_offset_distance' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->right_offset_distance, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to solid_with_double_offset_chamfer to be a `positive_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_flat_bottom_round_hole* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to solid_with_flat_bottom_round_hole"); } do { // convert the 'fillet_radius' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->fillet_radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to solid_with_flat_bottom_round_hole to be a `non_negative_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_general_pocket* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to solid_with_general_pocket"); } do { // convert the 'profile' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->profile, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to solid_with_general_pocket to be a `positioned_sketch`")); } - } while (0); - do { // convert the 'reference_point' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->reference_point, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to solid_with_general_pocket to be a `point`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_general_protrusion* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to solid_with_general_protrusion"); } do { // convert the 'profile' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->profile, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to solid_with_general_protrusion to be a `positioned_sketch`")); } - } while (0); - do { // convert the 'reference_point' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->reference_point, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to solid_with_general_protrusion to be a `point`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_groove* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 10) { throw STEP::TypeError("expected 10 arguments to solid_with_groove"); } do { // convert the 'groove_radius' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->groove_radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to solid_with_groove to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'groove_width' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->groove_width, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to solid_with_groove to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'draft_angle' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->draft_angle, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to solid_with_groove to be a `plane_angle_measure`")); } - } while (0); - do { // convert the 'floor_fillet_radius' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->floor_fillet_radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to solid_with_groove to be a `non_negative_length_measure`")); } - } while (0); - do { // convert the 'external_groove' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->external_groove, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 9 to solid_with_groove to be a `BOOLEAN`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_incomplete_circular_pattern* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 10) { throw STEP::TypeError("expected 10 arguments to solid_with_incomplete_circular_pattern"); } do { // convert the 'omitted_instances' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->omitted_instances, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 9 to solid_with_incomplete_circular_pattern to be a `SET [1:?] OF positive_integer`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_rectangular_pattern* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to solid_with_rectangular_pattern"); } do { // convert the 'row_count' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->row_count, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to solid_with_rectangular_pattern to be a `positive_integer`")); } - } while (0); - do { // convert the 'column_count' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->column_count, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to solid_with_rectangular_pattern to be a `positive_integer`")); } - } while (0); - do { // convert the 'row_spacing' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - try { GenericConvert(in->row_spacing, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to solid_with_rectangular_pattern to be a `length_measure`")); } - } while (0); - do { // convert the 'column_spacing' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[3] = true; break; } - try { GenericConvert(in->column_spacing, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to solid_with_rectangular_pattern to be a `length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_incomplete_rectangular_pattern* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to solid_with_incomplete_rectangular_pattern"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_rectangular_pocket* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 10) { throw STEP::TypeError("expected 10 arguments to solid_with_rectangular_pocket"); } do { // convert the 'pocket_length' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->pocket_length, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to solid_with_rectangular_pocket to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'pocket_width' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->pocket_width, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to solid_with_rectangular_pocket to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'corner_radius' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->corner_radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 9 to solid_with_rectangular_pocket to be a `non_negative_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_rectangular_protrusion* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to solid_with_rectangular_protrusion"); } do { // convert the 'protrusion_length' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->protrusion_length, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to solid_with_rectangular_protrusion to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'protrusion_width' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->protrusion_width, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to solid_with_rectangular_protrusion to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'protrusion_corner_radius' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->protrusion_corner_radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to solid_with_rectangular_protrusion to be a `non_negative_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_single_offset_chamfer* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to solid_with_single_offset_chamfer"); } do { // convert the 'offset_distance' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->offset_distance, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to solid_with_single_offset_chamfer to be a `positive_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_spherical_bottom_round_hole* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to solid_with_spherical_bottom_round_hole"); } do { // convert the 'sphere_radius' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->sphere_radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to solid_with_spherical_bottom_round_hole to be a `positive_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_stepped_round_hole_and_conical_transitions* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to solid_with_stepped_round_hole_and_conical_transitions"); } do { // convert the 'conical_transitions' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->conical_transitions, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to solid_with_stepped_round_hole_and_conical_transitions to be a `SET [1:?] OF conical_stepped_hole_transition`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_straight_slot* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to solid_with_straight_slot"); } do { // convert the 'slot_length' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->slot_length, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to solid_with_straight_slot to be a `positive_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_tee_section_slot* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to solid_with_tee_section_slot"); } do { // convert the 'tee_section_width' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->tee_section_width, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to solid_with_tee_section_slot to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'collar_depth' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->collar_depth, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to solid_with_tee_section_slot to be a `positive_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_through_depression* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to solid_with_through_depression"); } do { // convert the 'exit_faces' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->exit_faces, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to solid_with_through_depression to be a `SET [1:?] OF face_surface`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_trapezoidal_section_slot* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to solid_with_trapezoidal_section_slot"); } do { // convert the 'draft_angle' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->draft_angle, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to solid_with_trapezoidal_section_slot to be a `plane_angle_measure`")); } - } while (0); - do { // convert the 'floor_fillet_radius' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->floor_fillet_radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to solid_with_trapezoidal_section_slot to be a `non_negative_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, solid_with_variable_radius_edge_blend* in) -{ - size_t base = 0; - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to solid_with_variable_radius_edge_blend"); } do { // convert the 'point_list' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->point_list, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to solid_with_variable_radius_edge_blend to be a `LIST [2:?] OF point`")); } - } while (0); - do { // convert the 'radius_list' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->radius_list, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to solid_with_variable_radius_edge_blend to be a `LIST [2:?] OF positive_length_measure`")); } - } while (0); - do { // convert the 'edge_function_list' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->edge_function_list, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to solid_with_variable_radius_edge_blend to be a `LIST [1:?] OF blend_radius_variation_type`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, source_for_requirement* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to source_for_requirement"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to source_for_requirement to be a `SET [1:1] OF requirement_source_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, sourced_requirement* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to sourced_requirement"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to sourced_requirement to be a `SET [1:1] OF product_definition`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, specification_definition* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to specification_definition"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, specified_higher_usage_occurrence* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 8) { throw STEP::TypeError("expected 8 arguments to specified_higher_usage_occurrence"); } do { // convert the 'upper_usage' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->upper_usage, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to specified_higher_usage_occurrence to be a `assembly_component_usage`")); } - } while (0); - do { // convert the 'next_usage' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->next_usage, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to specified_higher_usage_occurrence to be a `next_assembly_usage_occurrence`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, sphere* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to sphere"); } do { // convert the 'radius' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to sphere to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'centre' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->centre, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to sphere to be a `point`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, spherical_surface* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to spherical_surface"); } do { // convert the 'radius' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to spherical_surface to be a `positive_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, start_request* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to start_request"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to start_request to be a `SET [1:?] OF start_request_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, start_work* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to start_work"); } do { // convert the 'items' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->items, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to start_work to be a `SET [1:?] OF work_item`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, straightness_tolerance* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to straightness_tolerance"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, structured_dimension_callout* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to structured_dimension_callout"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, structured_text_composition* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to structured_text_composition"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, structured_text_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to structured_text_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, subedge* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to subedge"); } do { // convert the 'parent_edge' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->parent_edge, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to subedge to be a `edge`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, subface* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to subface"); } do { // convert the 'parent_face' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->parent_face, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to subface to be a `face`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, supplied_part_relationship* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to supplied_part_relationship"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, surface_condition_callout* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to surface_condition_callout"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, swept_surface* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to swept_surface"); } do { // convert the 'swept_curve' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->swept_curve, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to swept_surface to be a `curve`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, surface_of_linear_extrusion* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to surface_of_linear_extrusion"); } do { // convert the 'extrusion_axis' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->extrusion_axis, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to surface_of_linear_extrusion to be a `vector`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, surface_of_revolution* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to surface_of_revolution"); } do { // convert the 'axis_position' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->axis_position, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to surface_of_revolution to be a `axis1_placement`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, surface_patch* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to surface_patch"); } do { // convert the 'parent_surface' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->parent_surface, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to surface_patch to be a `bounded_surface`")); } - } while (0); - do { // convert the 'u_transition' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->u_transition, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to surface_patch to be a `transition_code`")); } - } while (0); - do { // convert the 'v_transition' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->v_transition, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to surface_patch to be a `transition_code`")); } - } while (0); - do { // convert the 'u_sense' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->u_sense, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to surface_patch to be a `BOOLEAN`")); } - } while (0); - do { // convert the 'v_sense' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->v_sense, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to surface_patch to be a `BOOLEAN`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, surface_profile_tolerance* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to surface_profile_tolerance"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, surface_replica* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to surface_replica"); } do { // convert the 'parent_surface' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->parent_surface, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to surface_replica to be a `surface`")); } - } while (0); - do { // convert the 'transformation' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->transformation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to surface_replica to be a `cartesian_transformation_operator_3d`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, surface_side_style* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to surface_side_style"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to surface_side_style to be a `label`")); } - } while (0); - do { // convert the 'styles' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->styles, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to surface_side_style to be a `SET [1:7] OF surface_style_element_select`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, surface_style_boundary* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to surface_style_boundary"); } do { // convert the 'style_of_boundary' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->style_of_boundary, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to surface_style_boundary to be a `curve_or_render`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, surface_style_control_grid* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to surface_style_control_grid"); } do { // convert the 'style_of_control_grid' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->style_of_control_grid, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to surface_style_control_grid to be a `curve_or_render`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, surface_style_fill_area* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to surface_style_fill_area"); } do { // convert the 'fill_area' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->fill_area, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to surface_style_fill_area to be a `fill_area_style`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, surface_style_parameter_line* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to surface_style_parameter_line"); } do { // convert the 'style_of_parameter_lines' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->style_of_parameter_lines, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to surface_style_parameter_line to be a `curve_or_render`")); } - } while (0); - do { // convert the 'direction_counts' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->direction_counts, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to surface_style_parameter_line to be a `SET [1:2] OF direction_count_select`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, surface_style_reflectance_ambient* in) -{ - size_t base = 0; - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to surface_style_reflectance_ambient"); } do { // convert the 'ambient_reflectance' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->ambient_reflectance, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to surface_style_reflectance_ambient to be a `REAL`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, surface_style_reflectance_ambient_diffuse* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to surface_style_reflectance_ambient_diffuse"); } do { // convert the 'diffuse_reflectance' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->diffuse_reflectance, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to surface_style_reflectance_ambient_diffuse to be a `REAL`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, surface_style_reflectance_ambient_diffuse_specular* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to surface_style_reflectance_ambient_diffuse_specular"); } do { // convert the 'specular_reflectance' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->specular_reflectance, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to surface_style_reflectance_ambient_diffuse_specular to be a `REAL`")); } - } while (0); - do { // convert the 'specular_exponent' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->specular_exponent, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to surface_style_reflectance_ambient_diffuse_specular to be a `REAL`")); } - } while (0); - do { // convert the 'specular_colour' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->specular_colour, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to surface_style_reflectance_ambient_diffuse_specular to be a `colour`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, surface_style_rendering* in) -{ - size_t base = 0; - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to surface_style_rendering"); } do { // convert the 'rendering_method' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->rendering_method, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to surface_style_rendering to be a `shading_surface_method`")); } - } while (0); - do { // convert the 'surface_colour' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->surface_colour, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to surface_style_rendering to be a `colour`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, surface_style_rendering_with_properties* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to surface_style_rendering_with_properties"); } do { // convert the 'properties' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->properties, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to surface_style_rendering_with_properties to be a `SET [1:2] OF rendering_properties_select`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, surface_style_segmentation_curve* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to surface_style_segmentation_curve"); } do { // convert the 'style_of_segmentation_curve' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->style_of_segmentation_curve, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to surface_style_segmentation_curve to be a `curve_or_render`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, surface_style_silhouette* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to surface_style_silhouette"); } do { // convert the 'style_of_silhouette' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->style_of_silhouette, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to surface_style_silhouette to be a `curve_or_render`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, surface_style_usage* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to surface_style_usage"); } do { // convert the 'side' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->side, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to surface_style_usage to be a `surface_side`")); } - } while (0); - do { // convert the 'style' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->style, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to surface_style_usage to be a `surface_side_style_select`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, surface_texture_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to surface_texture_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, surfaced_open_shell* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to surfaced_open_shell"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, swept_disk_solid* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to swept_disk_solid"); } do { // convert the 'directrix' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->directrix, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to swept_disk_solid to be a `curve`")); } - } while (0); - do { // convert the 'radius' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to swept_disk_solid to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'inner_radius' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->inner_radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to swept_disk_solid to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'start_param' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->start_param, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to swept_disk_solid to be a `REAL`")); } - } while (0); - do { // convert the 'end_param' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->end_param, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to swept_disk_solid to be a `REAL`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, symbol* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to symbol"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, symbol_representation_map* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to symbol_representation_map"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, symbol_style* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to symbol_style"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to symbol_style to be a `label`")); } - } while (0); - do { // convert the 'style_of_symbol' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->style_of_symbol, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to symbol_style to be a `symbol_style_select`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, symbol_target* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to symbol_target"); } do { // convert the 'placement' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->placement, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to symbol_target to be a `axis2_placement`")); } - } while (0); - do { // convert the 'x_scale' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->x_scale, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to symbol_target to be a `positive_ratio_measure`")); } - } while (0); - do { // convert the 'y_scale' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->y_scale, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to symbol_target to be a `positive_ratio_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, symmetric_shape_aspect* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to symmetric_shape_aspect"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, symmetry_tolerance* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to symmetry_tolerance"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, table_representation_item* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to table_representation_item"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, tactile_appearance_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to tactile_appearance_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, tagged_text_format* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to tagged_text_format"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, tagged_text_item* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to tagged_text_item"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, tangent* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to tangent"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, text_literal_with_associated_curves* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to text_literal_with_associated_curves"); } do { // convert the 'associated_curves' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->associated_curves, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to text_literal_with_associated_curves to be a `SET [1:?] OF curve`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, text_literal_with_blanking_box* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to text_literal_with_blanking_box"); } do { // convert the 'blanking' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->blanking, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to text_literal_with_blanking_box to be a `planar_box`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, text_literal_with_extent* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to text_literal_with_extent"); } do { // convert the 'extent' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->extent, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to text_literal_with_extent to be a `planar_extent`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, text_string_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to text_string_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, text_style* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to text_style"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to text_style to be a `label`")); } - } while (0); - do { // convert the 'character_appearance' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->character_appearance, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to text_style to be a `character_style_select`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, text_style_with_box_characteristics* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to text_style_with_box_characteristics"); } do { // convert the 'characteristics' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->characteristics, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to text_style_with_box_characteristics to be a `SET [1:4] OF box_characteristic_select`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, text_style_with_mirror* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to text_style_with_mirror"); } do { // convert the 'mirror_placement' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->mirror_placement, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to text_style_with_mirror to be a `axis2_placement`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, text_style_with_spacing* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to text_style_with_spacing"); } do { // convert the 'character_spacing' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->character_spacing, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to text_style_with_spacing to be a `character_spacing_select`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, thermal_resistance_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to thermal_resistance_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, thermal_resistance_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to thermal_resistance_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, thermodynamic_temperature_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to thermodynamic_temperature_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, thermodynamic_temperature_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to thermodynamic_temperature_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, thickened_face_solid* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to thickened_face_solid"); } do { // convert the 'base_element' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->base_element, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to thickened_face_solid to be a `generalized_surface_select`")); } - } while (0); - do { // convert the 'offset1' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->offset1, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to thickened_face_solid to be a `length_measure`")); } - } while (0); - do { // convert the 'offset2' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->offset2, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to thickened_face_solid to be a `length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, thickness_laminate_definition* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to thickness_laminate_definition"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, thickness_laminate_table* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to thickness_laminate_table"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, time_interval* in) -{ - size_t base = 0; - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to time_interval"); } do { // convert the 'id' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[0] = true; break; } - try { GenericConvert(in->id, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to time_interval to be a `identifier`")); } - } while (0); - do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[1] = true; break; } - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to time_interval to be a `label`")); } - } while (0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) { in->ObjectHelper::aux_is_derived[2] = true; break; } - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to time_interval to be a `text`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, time_interval_based_effectivity* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to time_interval_based_effectivity"); } do { // convert the 'effectivity_period' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->effectivity_period, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to time_interval_based_effectivity to be a `time_interval`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, time_interval_with_bounds* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to time_interval_with_bounds"); } do { // convert the 'primary_bound' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->primary_bound, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to time_interval_with_bounds to be a `date_time_or_event_occurrence`")); } - } while (0); - do { // convert the 'secondary_bound' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->secondary_bound, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to time_interval_with_bounds to be a `date_time_or_event_occurrence`")); } - } while (0); - do { // convert the 'duration' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->duration, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to time_interval_with_bounds to be a `time_measure_with_unit`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, time_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to time_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, time_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to time_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, tolerance_zone* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to tolerance_zone"); } do { // convert the 'defining_tolerance' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->defining_tolerance, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to tolerance_zone to be a `SET [1:?] OF geometric_tolerance`")); } - } while (0); - do { // convert the 'form' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->form, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to tolerance_zone to be a `tolerance_zone_form`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, torus* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to torus"); } do { // convert the 'position' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->position, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to torus to be a `axis1_placement`")); } - } while (0); - do { // convert the 'major_radius' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->major_radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to torus to be a `positive_length_measure`")); } - } while (0); - do { // convert the 'minor_radius' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->minor_radius, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to torus to be a `positive_length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, total_runout_tolerance* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to total_runout_tolerance"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, track_blended_solid* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to track_blended_solid"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, track_blended_solid_with_end_conditions* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to track_blended_solid_with_end_conditions"); } do { // convert the 'end_conditions' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->end_conditions, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to track_blended_solid_with_end_conditions to be a `LIST [2:2] OF blend_end_condition_select`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, trimmed_curve* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to trimmed_curve"); } do { // convert the 'basis_curve' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->basis_curve, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to trimmed_curve to be a `curve`")); } - } while (0); - do { // convert the 'trim_1' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->trim_1, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to trimmed_curve to be a `SET [1:2] OF trimming_select`")); } - } while (0); - do { // convert the 'trim_2' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->trim_2, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to trimmed_curve to be a `SET [1:2] OF trimming_select`")); } - } while (0); - do { // convert the 'sense_agreement' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->sense_agreement, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to trimmed_curve to be a `BOOLEAN`")); } - } while (0); - do { // convert the 'master_representation' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->master_representation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to trimmed_curve to be a `trimming_preference`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, two_direction_repeat_factor* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to two_direction_repeat_factor"); } do { // convert the 'second_repeat_factor' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->second_repeat_factor, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to two_direction_repeat_factor to be a `vector`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, unary_generic_expression* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to unary_generic_expression"); } do { // convert the 'operand' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->operand, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to unary_generic_expression to be a `generic_expression`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, unary_numeric_expression* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, uncertainty_assigned_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to uncertainty_assigned_representation"); } do { // convert the 'uncertainty' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->uncertainty, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to uncertainty_assigned_representation to be a `SET [1:?] OF uncertainty_measure_with_unit`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, uncertainty_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to uncertainty_measure_with_unit"); } do { // convert the 'name' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->name, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to uncertainty_measure_with_unit to be a `label`")); } - } while (0); - do { // convert the 'description' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->description, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to uncertainty_measure_with_unit to be a `text`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, uniform_curve* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 6) { throw STEP::TypeError("expected 6 arguments to uniform_curve"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, uniform_resource_identifier* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to uniform_resource_identifier"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, uniform_surface* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 7) { throw STEP::TypeError("expected 7 arguments to uniform_surface"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, usage_association* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 4) { throw STEP::TypeError("expected 4 arguments to usage_association"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, user_defined_curve_font* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, user_defined_marker* in) -{ - size_t base = 0; - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, user_defined_terminator_symbol* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, user_selected_shape_elements* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to user_selected_shape_elements"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, value_range* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to value_range"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, value_representation_item* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to value_representation_item"); } do { // convert the 'value_component' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->value_component, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to value_representation_item to be a `measure_value`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, variable_semantics* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, variational_representation_item* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to variational_representation_item"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, vector* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to vector"); } do { // convert the 'orientation' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->orientation, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to vector to be a `direction`")); } - } while (0); - do { // convert the 'magnitude' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->magnitude, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to vector to be a `length_measure`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -/*template <> size_t GenericFill(const DB& db, const LIST& params, vector_style* in) -{ - size_t base = 0; - return base; -}*/ -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, velocity_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to velocity_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, velocity_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to velocity_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, vertex* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to vertex"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, vertex_loop* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to vertex_loop"); } do { // convert the 'loop_vertex' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->loop_vertex, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to vertex_loop to be a `vertex`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, vertex_point* in) -{ - size_t base = 0; - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to vertex_point"); } do { // convert the 'vertex_geometry' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->vertex_geometry, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to vertex_point to be a `point`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, vertex_shell* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to vertex_shell"); } do { // convert the 'vertex_shell_extent' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->vertex_shell_extent, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to vertex_shell to be a `vertex_loop`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, view_volume* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 9) { throw STEP::TypeError("expected 9 arguments to view_volume"); } do { // convert the 'projection_type' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->projection_type, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to view_volume to be a `central_or_parallel`")); } - } while (0); - do { // convert the 'projection_point' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->projection_point, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to view_volume to be a `cartesian_point`")); } - } while (0); - do { // convert the 'view_plane_distance' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->view_plane_distance, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to view_volume to be a `length_measure`")); } - } while (0); - do { // convert the 'front_plane_distance' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->front_plane_distance, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to view_volume to be a `length_measure`")); } - } while (0); - do { // convert the 'front_plane_clipping' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->front_plane_clipping, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to view_volume to be a `BOOLEAN`")); } - } while (0); - do { // convert the 'back_plane_distance' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->back_plane_distance, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 5 to view_volume to be a `length_measure`")); } - } while (0); - do { // convert the 'back_plane_clipping' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->back_plane_clipping, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 6 to view_volume to be a `BOOLEAN`")); } - } while (0); - do { // convert the 'view_volume_sides_clipping' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->view_volume_sides_clipping, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 7 to view_volume to be a `BOOLEAN`")); } - } while (0); - do { // convert the 'view_window' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->view_window, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 8 to view_volume to be a `planar_box`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, visual_appearance_representation* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to visual_appearance_representation"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, volume_measure_with_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to volume_measure_with_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, volume_unit* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to volume_unit"); } return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, week_of_year_and_day_date* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to week_of_year_and_day_date"); } do { // convert the 'week_component' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->week_component, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to week_of_year_and_day_date to be a `week_in_year_number`")); } - } while (0); - do { // convert the 'day_component' argument - std::shared_ptr arg = params[base++]; - if (dynamic_cast(&*arg)) break; - try { GenericConvert(in->day_component, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to week_of_year_and_day_date to be a `day_in_week_number`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, wire_shell* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to wire_shell"); } do { // convert the 'wire_shell_extent' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->wire_shell_extent, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to wire_shell to be a `SET [1:?] OF loop`")); } - } while (0); - return base; -} -// ----------------------------------------------------------------------------------------------------------- -template <> size_t GenericFill(const DB& db, const LIST& params, year_month* in) -{ - size_t base = GenericFill(db, params, static_cast(in)); - if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to year_month"); } do { // convert the 'month_component' argument - std::shared_ptr arg = params[base++]; - try { GenericConvert(in->month_component, arg, db); break; } - catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to year_month to be a `month_in_year_number`")); } - } while (0); - return base; -} - -} -} diff --git a/code/AssetLib/StepFile/StepFileImporter.cpp b/code/AssetLib/StepFile/StepFileImporter.cpp deleted file mode 100644 index f536ec90e..000000000 --- a/code/AssetLib/StepFile/StepFileImporter.cpp +++ /dev/null @@ -1,114 +0,0 @@ -/* ---------------------------------------------------------------------------- -Open Asset Import Library (assimp) ---------------------------------------------------------------------------- - -Copyright (c) 2006-2020, assimp team - - - -All rights reserved. - -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following -conditions are met: - -* Redistributions of source code must retain the above - copyright notice, this list of conditions and the - following disclaimer. - -* Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the - following disclaimer in the documentation and/or other - materials provided with the distribution. - -* Neither the name of the assimp team, nor the names of its - contributors may be used to endorse or promote products - derived from this software without specific prior - written permission of the assimp team. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ---------------------------------------------------------------------------- -*/ - -#ifndef ASSIMP_BUILD_NO_STEP_IMPORTER - -#include "StepFileImporter.h" -#include "../../Importer/STEPParser/STEPFileReader.h" -#include -#include - -namespace Assimp { -namespace StepFile { - -using namespace STEP; - -static const aiImporterDesc desc = { "StepFile Importer", - "", - "", - "", - 0, - 0, - 0, - 0, - 0, - "stp" }; - -StepFileImporter::StepFileImporter() -: BaseImporter() { - -} - -StepFileImporter::~StepFileImporter() { - -} - -bool StepFileImporter::CanRead(const std::string& file, IOSystem* pIOHandler, bool checkSig) const { - const std::string &extension = GetExtension(file); - if ( extension == "stp" || extension == "step" ) { - return true; - } else if ((!extension.length() || checkSig) && pIOHandler) { - const char* tokens[] = { "ISO-10303-21" }; - const bool found(SearchFileHeaderForToken(pIOHandler, file, tokens, 1)); - return found; - } - - return false; -} - -const aiImporterDesc *StepFileImporter::GetInfo() const { - return &desc; -} - -static const std::string mode = "rb"; -static const std::string StepFileSchema = "CONFIG_CONTROL_DESIGN"; - -void StepFileImporter::InternReadFile(const std::string &file, aiScene*, IOSystem* pIOHandler) { - // Read file into memory - std::shared_ptr fileStream(pIOHandler->Open(file, mode)); - if (!fileStream.get()) { - throw DeadlyImportError("Failed to open file " + file + "."); - } - - std::unique_ptr db(STEP::ReadFileHeader(fileStream)); - const STEP::HeaderInfo& head = static_cast(*db).GetHeader(); - if (!head.fileSchema.size() || head.fileSchema != StepFileSchema) { - DeadlyImportError("Unrecognized file schema: " + head.fileSchema); - } -} - -} // Namespace StepFile -} // Namespace Assimp - -#endif // ASSIMP_BUILD_NO_STEP_IMPORTER - diff --git a/code/AssetLib/StepFile/StepFileImporter.h b/code/AssetLib/StepFile/StepFileImporter.h deleted file mode 100644 index c6ac08bb6..000000000 --- a/code/AssetLib/StepFile/StepFileImporter.h +++ /dev/null @@ -1,69 +0,0 @@ -/* ---------------------------------------------------------------------------- -Open Asset Import Library (assimp) ---------------------------------------------------------------------------- - -Copyright (c) 2006-2020, assimp team - - - -All rights reserved. - -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following -conditions are met: - -* Redistributions of source code must retain the above - copyright notice, this list of conditions and the - following disclaimer. - -* Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the - following disclaimer in the documentation and/or other - materials provided with the distribution. - -* Neither the name of the assimp team, nor the names of its - contributors may be used to endorse or promote products - derived from this software without specific prior - written permission of the assimp team. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ---------------------------------------------------------------------------- -*/ - -#pragma once - -#ifndef ASSIMP_BUILD_NO_STEP_IMPORTER - -#include - -namespace Assimp { -namespace StepFile { - -class StepFileImporter : public BaseImporter { -public: - StepFileImporter(); - ~StepFileImporter(); - bool CanRead(const std::string& pFile, IOSystem* pIOHandler, bool checkSig) const override; - const aiImporterDesc* GetInfo() const override; - -protected: - void InternReadFile( const std::string& pFile, aiScene* pScene, IOSystem* pIOHandler ) override; - -private: -}; - -} // Namespace StepFile -} // Namespace Assimp - -#endif // ASSIMP_BUILD_NO_STEP_IMPORTER diff --git a/code/AssetLib/StepFile/StepReaderGen.h b/code/AssetLib/StepFile/StepReaderGen.h deleted file mode 100644 index c45220a83..000000000 --- a/code/AssetLib/StepFile/StepReaderGen.h +++ /dev/null @@ -1,7291 +0,0 @@ -/* -Open Asset Import Library (ASSIMP) ----------------------------------------------------------------------- - -Copyright (c) 2006-2020, ASSIMP Development Team -All rights reserved. - -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the -following conditions are met: - -* Redistributions of source code must retain the above - copyright notice, this list of conditions and the - following disclaimer. - -* Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the - following disclaimer in the documentation and/or other - materials provided with the distribution. - -* Neither the name of the ASSIMP team, nor the names of its - contributors may be used to endorse or promote products - derived from this software without specific prior - written permission of the ASSIMP Development Team. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ----------------------------------------------------------------------- -*/ - -/** MACHINE-GENERATED by scripts/ICFImporter/CppGenerator.py */ - -#ifndef INCLUDED_STEPFILE_READER_GEN_H -#define INCLUDED_STEPFILE_READER_GEN_H - -#include "code/Step/STEPFile.h" - -#ifdef _WIN32 -# pragma warning( disable : 4512 ) -#endif // _WIN32 -namespace Assimp { -namespace StepFile { - using namespace STEP; - using namespace STEP::EXPRESS; - - - struct NotImplemented : public ObjectHelper { - - }; - - - // ****************************************************************************** - // StepFile Custom data types - // ****************************************************************************** - - - // C++ wrapper type for absorbed_dose_measure - typedef REAL absorbed_dose_measure; - // C++ wrapper type for acceleration_measure - typedef REAL acceleration_measure; - // C++ wrapper type for action_items - typedef SELECT action_items; - // C++ wrapper type for action_method_items - typedef SELECT action_method_items; - // C++ wrapper type for action_request_item - typedef SELECT action_request_item; - // C++ wrapper type for ahead_or_behind - typedef ENUMERATION ahead_or_behind; - // C++ wrapper type for amount_of_substance_measure - typedef REAL amount_of_substance_measure; - // C++ wrapper type for angle_direction_reference_select - typedef SELECT angle_direction_reference_select; - // C++ wrapper type for angle_direction_reference_with_a2p3d_select - typedef SELECT angle_direction_reference_with_a2p3d_select; - // C++ wrapper type for angle_relator - typedef ENUMERATION angle_relator; - // C++ wrapper type for annotation_plane_element - typedef SELECT annotation_plane_element; - // C++ wrapper type for annotation_representation_select - typedef SELECT annotation_representation_select; - // C++ wrapper type for annotation_symbol_occurrence_item - typedef SELECT annotation_symbol_occurrence_item; - // C++ wrapper type for annotation_text_occurrence_item - typedef SELECT annotation_text_occurrence_item; - // C++ wrapper type for approval_item - typedef SELECT approval_item; - // C++ wrapper type for approved_item - typedef SELECT approved_item; - // C++ wrapper type for area_measure - typedef REAL area_measure; - // C++ wrapper type for area_or_view - typedef SELECT area_or_view; - // C++ wrapper type for attribute_classification_item - typedef SELECT attribute_classification_item; - // C++ wrapper type for attribute_language_item - typedef SELECT attribute_language_item; - // C++ wrapper type for attribute_type - typedef SELECT attribute_type; - // C++ wrapper type for axis2_placement - typedef SELECT axis2_placement; - // C++ wrapper type for b_spline_curve_form - typedef ENUMERATION b_spline_curve_form; - // C++ wrapper type for b_spline_surface_form - typedef ENUMERATION b_spline_surface_form; - // C++ wrapper type for base_solid_select - typedef SELECT base_solid_select; - // C++ wrapper type for blend_end_condition_select - typedef SELECT blend_end_condition_select; - // C++ wrapper type for blend_radius_variation_type - typedef ENUMERATION blend_radius_variation_type; - // C++ wrapper type for boolean_operand - typedef SELECT boolean_operand; - // C++ wrapper type for boolean_operator - typedef ENUMERATION boolean_operator; - // C++ wrapper type for box_characteristic_select - typedef SELECT box_characteristic_select; - // C++ wrapper type for box_height - typedef REAL box_height; - // C++ wrapper type for box_rotate_angle - typedef REAL box_rotate_angle; - // C++ wrapper type for box_slant_angle - typedef REAL box_slant_angle; - // C++ wrapper type for box_width - typedef REAL box_width; - // C++ wrapper type for camera_model_d3_multi_clipping_interection_select - typedef SELECT camera_model_d3_multi_clipping_interection_select; - // C++ wrapper type for camera_model_d3_multi_clipping_union_select - typedef SELECT camera_model_d3_multi_clipping_union_select; - // C++ wrapper type for capacitance_measure - typedef REAL capacitance_measure; - // C++ wrapper type for category_usage_item - typedef SELECT category_usage_item; - // C++ wrapper type for cc_classified_item - typedef SELECT cc_classified_item; - // C++ wrapper type for cc_person_organization_item - typedef SELECT cc_person_organization_item; - // C++ wrapper type for cc_specified_item - typedef SELECT cc_specified_item; - // C++ wrapper type for celsius_temperature_measure - typedef REAL celsius_temperature_measure; - // C++ wrapper type for central_or_parallel - typedef ENUMERATION central_or_parallel; - // C++ wrapper type for certification_item - typedef SELECT certification_item; - // C++ wrapper type for certified_item - typedef SELECT certified_item; - // C++ wrapper type for change_request_item - typedef SELECT change_request_item; - // C++ wrapper type for character_spacing_select - typedef SELECT character_spacing_select; - // C++ wrapper type for character_style_select - typedef SELECT character_style_select; - // C++ wrapper type for characterized_action_definition - typedef SELECT characterized_action_definition; - // C++ wrapper type for characterized_definition - typedef SELECT characterized_definition; - // C++ wrapper type for characterized_material_property - typedef SELECT characterized_material_property; - // C++ wrapper type for characterized_product_composition_value - typedef SELECT characterized_product_composition_value; - // C++ wrapper type for characterized_product_definition - typedef SELECT characterized_product_definition; - // C++ wrapper type for class_usage_effectivity_context_item - typedef SELECT class_usage_effectivity_context_item; - // C++ wrapper type for classification_item - typedef SELECT classification_item; - // C++ wrapper type for classified_item - typedef SELECT classified_item; - // C++ wrapper type for compound_item_definition - typedef SELECT compound_item_definition; - // C++ wrapper type for conductance_measure - typedef REAL conductance_measure; - // C++ wrapper type for configuration_design_item - typedef SELECT configuration_design_item; - // C++ wrapper type for configured_effectivity_context_item - typedef SELECT configured_effectivity_context_item; - // C++ wrapper type for configured_effectivity_item - typedef SELECT configured_effectivity_item; - // C++ wrapper type for constructive_geometry_representation_or_shape_represenation - typedef SELECT constructive_geometry_representation_or_shape_represenation; - // C++ wrapper type for context_dependent_measure - typedef REAL context_dependent_measure; - // C++ wrapper type for contract_item - typedef SELECT contract_item; - // C++ wrapper type for contracted_item - typedef SELECT contracted_item; - // C++ wrapper type for count_measure - typedef NUMBER count_measure; - // C++ wrapper type for csg_primitive - typedef SELECT csg_primitive; - // C++ wrapper type for csg_select - typedef SELECT csg_select; - // C++ wrapper type for curve_font_or_scaled_curve_font_select - typedef SELECT curve_font_or_scaled_curve_font_select; - // C++ wrapper type for curve_on_surface - typedef SELECT curve_on_surface; - // C++ wrapper type for curve_or_annotation_curve_occurrence - typedef SELECT curve_or_annotation_curve_occurrence; - // C++ wrapper type for curve_or_render - typedef SELECT curve_or_render; - // C++ wrapper type for curve_style_font_select - typedef SELECT curve_style_font_select; - // C++ wrapper type for date_and_time_item - typedef SELECT date_and_time_item; - // C++ wrapper type for date_item - typedef SELECT date_item; - // C++ wrapper type for date_time_item - typedef SELECT date_time_item; - // C++ wrapper type for date_time_or_event_occurrence - typedef SELECT date_time_or_event_occurrence; - // C++ wrapper type for date_time_select - typedef SELECT date_time_select; - // C++ wrapper type for day_in_month_number - typedef INTEGER day_in_month_number; - // C++ wrapper type for day_in_week_number - typedef INTEGER day_in_week_number; - // C++ wrapper type for day_in_year_number - typedef INTEGER day_in_year_number; - // C++ wrapper type for defined_symbol_select - typedef SELECT defined_symbol_select; - // C++ wrapper type for derived_property_select - typedef SELECT derived_property_select; - // C++ wrapper type for description_attribute_select - typedef SELECT description_attribute_select; - // C++ wrapper type for descriptive_measure - typedef STRING descriptive_measure; - // C++ wrapper type for dimension_count - typedef INTEGER dimension_count; - // C++ wrapper type for dimension_extent_usage - typedef ENUMERATION dimension_extent_usage; - // C++ wrapper type for dimensional_characteristic - typedef SELECT dimensional_characteristic; - // C++ wrapper type for direction_count_select - typedef SELECT direction_count_select; - // C++ wrapper type for document_identifier_assigned_item - typedef SELECT document_identifier_assigned_item; - // C++ wrapper type for document_reference_item - typedef SELECT document_reference_item; - // C++ wrapper type for dose_equivalent_measure - typedef REAL dose_equivalent_measure; - // C++ wrapper type for draughting_callout_element - typedef SELECT draughting_callout_element; - // C++ wrapper type for draughting_model_item_association_select - typedef SELECT draughting_model_item_association_select; - // C++ wrapper type for draughting_model_item_select - typedef SELECT draughting_model_item_select; - // C++ wrapper type for draughting_titled_item - typedef SELECT draughting_titled_item; - // C++ wrapper type for effectivity_item - typedef SELECT effectivity_item; - // C++ wrapper type for electric_charge_measure - typedef REAL electric_charge_measure; - // C++ wrapper type for electric_current_measure - typedef REAL electric_current_measure; - // C++ wrapper type for electric_potential_measure - typedef REAL electric_potential_measure; - // C++ wrapper type for energy_measure - typedef REAL energy_measure; - // C++ wrapper type for event_occurrence_item - typedef SELECT event_occurrence_item; - // C++ wrapper type for external_identification_item - typedef SELECT external_identification_item; - // C++ wrapper type for fill_area_style_tile_shape_select - typedef SELECT fill_area_style_tile_shape_select; - // C++ wrapper type for fill_style_select - typedef SELECT fill_style_select; - // C++ wrapper type for font_select - typedef SELECT font_select; - // C++ wrapper type for force_measure - typedef REAL force_measure; - // C++ wrapper type for founded_item_select - typedef SELECT founded_item_select; - // C++ wrapper type for frequency_measure - typedef REAL frequency_measure; - // C++ wrapper type for generalized_surface_select - typedef SELECT generalized_surface_select; - // C++ wrapper type for geometric_item_specific_usage_select - typedef SELECT geometric_item_specific_usage_select; - // C++ wrapper type for geometric_set_select - typedef SELECT geometric_set_select; - // C++ wrapper type for groupable_item - typedef SELECT groupable_item; - // C++ wrapper type for hour_in_day - typedef INTEGER hour_in_day; - // C++ wrapper type for id_attribute_select - typedef SELECT id_attribute_select; - // C++ wrapper type for identification_item - typedef SELECT identification_item; - // C++ wrapper type for identifier - typedef STRING identifier; - // C++ wrapper type for illuminance_measure - typedef REAL illuminance_measure; - // C++ wrapper type for inductance_measure - typedef REAL inductance_measure; - // C++ wrapper type for instance_usage_context_select - typedef SELECT instance_usage_context_select; - // C++ wrapper type for invisibility_context - typedef SELECT invisibility_context; - // C++ wrapper type for invisible_item - typedef SELECT invisible_item; - // C++ wrapper type for ir_usage_item - typedef SELECT ir_usage_item; - // C++ wrapper type for knot_type - typedef ENUMERATION knot_type; - // C++ wrapper type for label - typedef STRING label; - // C++ wrapper type for layered_item - typedef SELECT layered_item; - // C++ wrapper type for length_measure - typedef REAL length_measure; - // C++ wrapper type for limit_condition - typedef ENUMERATION limit_condition; - // C++ wrapper type for list_of_reversible_topology_item - typedef ListOf< SELECT, 0, 0 > list_of_reversible_topology_item; - // C++ wrapper type for luminous_flux_measure - typedef REAL luminous_flux_measure; - // C++ wrapper type for luminous_intensity_measure - typedef REAL luminous_intensity_measure; - // C++ wrapper type for magnetic_flux_density_measure - typedef REAL magnetic_flux_density_measure; - // C++ wrapper type for magnetic_flux_measure - typedef REAL magnetic_flux_measure; - // C++ wrapper type for marker_select - typedef SELECT marker_select; - // C++ wrapper type for marker_type - typedef ENUMERATION marker_type; - // C++ wrapper type for mass_measure - typedef REAL mass_measure; - // C++ wrapper type for measure_value - typedef SELECT measure_value; - // C++ wrapper type for mechanical_design_and_draughting_relationship_select - typedef SELECT mechanical_design_and_draughting_relationship_select; - // C++ wrapper type for mechanical_design_geometric_presentation_area_items - typedef SELECT mechanical_design_geometric_presentation_area_items; - // C++ wrapper type for mechanical_design_geometric_presentation_representation_items - typedef SELECT mechanical_design_geometric_presentation_representation_items; - // C++ wrapper type for message - typedef STRING message; - // C++ wrapper type for minute_in_hour - typedef INTEGER minute_in_hour; - // C++ wrapper type for month_in_year_number - typedef INTEGER month_in_year_number; - // C++ wrapper type for multi_language_attribute_item - typedef SELECT multi_language_attribute_item; - // C++ wrapper type for name_attribute_select - typedef SELECT name_attribute_select; - // C++ wrapper type for name_item - typedef SELECT name_item; - // C++ wrapper type for non_negative_length_measure - typedef REAL non_negative_length_measure; - // C++ wrapper type for nonnegative_integer - typedef INTEGER nonnegative_integer; - // C++ wrapper type for null_style - typedef ENUMERATION null_style; - // C++ wrapper type for numeric_measure - typedef NUMBER numeric_measure; - // C++ wrapper type for organization_item - typedef SELECT organization_item; - // C++ wrapper type for orientation_basis_select - typedef SELECT orientation_basis_select; - // C++ wrapper type for parameter_value - typedef REAL parameter_value; - // C++ wrapper type for pcurve_or_surface - typedef SELECT pcurve_or_surface; - // C++ wrapper type for person_and_organization_item - typedef SELECT person_and_organization_item; - // C++ wrapper type for person_organization_select - typedef SELECT person_organization_select; - // C++ wrapper type for picture_representation_item_select - typedef SELECT picture_representation_item_select; - // C++ wrapper type for plane_angle_measure - typedef REAL plane_angle_measure; - // C++ wrapper type for plane_or_planar_box - typedef SELECT plane_or_planar_box; - // C++ wrapper type for point_and_vector_member - typedef SELECT point_and_vector_member; - // C++ wrapper type for point_and_vector_members - typedef ListOf< SELECT, 2, 3 > point_and_vector_members; - // C++ wrapper type for positive_integer - typedef INTEGER positive_integer; - // C++ wrapper type for positive_length_measure - typedef REAL positive_length_measure; - // C++ wrapper type for positive_plane_angle_measure - typedef REAL positive_plane_angle_measure; - // C++ wrapper type for positive_ratio_measure - typedef REAL positive_ratio_measure; - // C++ wrapper type for power_measure - typedef REAL power_measure; - // C++ wrapper type for preferred_surface_curve_representation - typedef ENUMERATION preferred_surface_curve_representation; - // C++ wrapper type for presentable_text - typedef STRING presentable_text; - // C++ wrapper type for presentation_representation_select - typedef SELECT presentation_representation_select; - // C++ wrapper type for presentation_size_assignment_select - typedef SELECT presentation_size_assignment_select; - // C++ wrapper type for presentation_style_select - typedef SELECT presentation_style_select; - // C++ wrapper type for presented_item_select - //typedef SELECT presented_item_select; - // C++ wrapper type for pressure_measure - typedef REAL pressure_measure; - // C++ wrapper type for product_definition_or_assembly_relationship - typedef SELECT product_definition_or_assembly_relationship; - // C++ wrapper type for product_definition_or_breakdown_element_usage - typedef SELECT product_definition_or_breakdown_element_usage; - // C++ wrapper type for product_definition_or_product_definition_relationship - typedef SELECT product_definition_or_product_definition_relationship; - // C++ wrapper type for product_or_formation_or_definition - typedef SELECT product_or_formation_or_definition; - // C++ wrapper type for project_item - typedef SELECT project_item; - // C++ wrapper type for radioactivity_measure - typedef REAL radioactivity_measure; - // C++ wrapper type for ratio_measure - typedef REAL ratio_measure; - // C++ wrapper type for rendering_properties_select - typedef SELECT rendering_properties_select; - // C++ wrapper type for represented_definition - typedef SELECT represented_definition; - // C++ wrapper type for requirement_assigned_item - typedef SELECT requirement_assigned_item; - // C++ wrapper type for requirement_satisfaction_item - typedef SELECT requirement_satisfaction_item; - // C++ wrapper type for requirement_source_item - typedef SELECT requirement_source_item; - // C++ wrapper type for resistance_measure - typedef REAL resistance_measure; - // C++ wrapper type for reversible_topology - typedef SELECT reversible_topology; - // C++ wrapper type for reversible_topology_item - typedef SELECT reversible_topology_item; - // C++ wrapper type for role_select - typedef SELECT role_select; - // C++ wrapper type for rule_superseded_item - typedef SELECT rule_superseded_item; - // C++ wrapper type for second_in_minute - typedef REAL second_in_minute; - // C++ wrapper type for security_classification_item - typedef SELECT security_classification_item; - // C++ wrapper type for set_of_reversible_topology_item - typedef ListOf< SELECT, 0, 0 > set_of_reversible_topology_item; - // C++ wrapper type for shading_curve_method - typedef ENUMERATION shading_curve_method; - // C++ wrapper type for shading_surface_method - typedef ENUMERATION shading_surface_method; - // C++ wrapper type for shape_definition - typedef SELECT shape_definition; - // C++ wrapper type for shell - typedef SELECT shell; - // C++ wrapper type for si_prefix - typedef ENUMERATION si_prefix; - // C++ wrapper type for si_unit_name - typedef ENUMERATION si_unit_name; - // C++ wrapper type for size_select - typedef SELECT size_select; - // C++ wrapper type for sketch_basis_select - typedef SELECT sketch_basis_select; - // C++ wrapper type for solid_angle_measure - typedef REAL solid_angle_measure; - // C++ wrapper type for source - typedef ENUMERATION source; - // C++ wrapper type for source_item - typedef SELECT source_item; - // C++ wrapper type for start_request_item - typedef SELECT start_request_item; - // C++ wrapper type for string_representation_item_select - typedef SELECT string_representation_item_select; - // C++ wrapper type for style_context_select - typedef SELECT style_context_select; - // C++ wrapper type for surface_side - typedef ENUMERATION surface_side; - // C++ wrapper type for surface_side_style_select - typedef SELECT surface_side_style_select; - // C++ wrapper type for surface_style_element_select - typedef SELECT surface_style_element_select; - // C++ wrapper type for symbol_style_select - typedef SELECT symbol_style_select; - // C++ wrapper type for text - typedef STRING text; - // C++ wrapper type for text_alignment - typedef STRING text_alignment; - // C++ wrapper type for text_delineation - typedef STRING text_delineation; - // C++ wrapper type for text_or_character - typedef SELECT text_or_character; - // C++ wrapper type for text_path - typedef ENUMERATION text_path; - // C++ wrapper type for text_string_representation_item - typedef SELECT text_string_representation_item; - // C++ wrapper type for thermodynamic_temperature_measure - typedef REAL thermodynamic_temperature_measure; - // C++ wrapper type for time_interval_item - typedef SELECT time_interval_item; - // C++ wrapper type for time_measure - typedef REAL time_measure; - // C++ wrapper type for tolerance_method_definition - typedef SELECT tolerance_method_definition; - // C++ wrapper type for transformation - typedef SELECT transformation; - // C++ wrapper type for transition_code - typedef ENUMERATION transition_code; - // C++ wrapper type for trim_condition_select - typedef SELECT trim_condition_select; - // C++ wrapper type for trim_intent - typedef ENUMERATION trim_intent; - // C++ wrapper type for trimming_preference - typedef ENUMERATION trimming_preference; - // C++ wrapper type for trimming_select - typedef SELECT trimming_select; - // C++ wrapper type for u_direction_count - typedef INTEGER u_direction_count; - // C++ wrapper type for unit - typedef SELECT unit; - // C++ wrapper type for v_direction_count - typedef INTEGER v_direction_count; - // C++ wrapper type for value_qualifier - typedef SELECT value_qualifier; - // C++ wrapper type for vector_or_direction - typedef SELECT vector_or_direction; - // C++ wrapper type for velocity_measure - typedef REAL velocity_measure; - // C++ wrapper type for volume_measure - typedef REAL volume_measure; - // C++ wrapper type for week_in_year_number - typedef INTEGER week_in_year_number; - // C++ wrapper type for work_item - typedef SELECT work_item; - // C++ wrapper type for year_number - typedef INTEGER year_number; - - - // ****************************************************************************** - // StepFile Entities - // ****************************************************************************** - - struct measure_with_unit; - struct absorbed_dose_measure_with_unit; - struct derived_unit; - struct absorbed_dose_unit; - //struct abstract_variable; - struct acceleration_measure_with_unit; - struct acceleration_unit; - struct action; - struct action_assignment; - typedef NotImplemented action_directive; // (not currently used by Assimp) - struct action_method; - struct action_method_assignment; - struct action_method_relationship; - typedef NotImplemented action_method_role; // (not currently used by Assimp) - typedef NotImplemented action_property; // (not currently used by Assimp) - typedef NotImplemented action_property_representation; // (not currently used by Assimp) - typedef NotImplemented action_relationship; // (not currently used by Assimp) - struct action_request_assignment; - typedef NotImplemented action_request_solution; // (not currently used by Assimp) - typedef NotImplemented action_request_status; // (not currently used by Assimp) - typedef NotImplemented action_status; // (not currently used by Assimp) - struct address; - struct representation; - struct shape_representation; - struct advanced_brep_shape_representation; - struct face_surface; - struct advanced_face; - typedef NotImplemented alternate_product_relationship; // (not currently used by Assimp) - struct amount_of_substance_measure_with_unit; - struct named_unit; - struct amount_of_substance_unit; - struct angle_direction_reference; - struct representation_item; - struct geometric_representation_item; - struct draughting_callout; - struct dimension_curve_directed_callout; - struct angular_dimension; - struct shape_aspect_relationship; - struct dimensional_location; - struct angular_location; - struct dimensional_size; - struct angular_size; - struct geometric_tolerance; - struct geometric_tolerance_with_datum_reference; - struct angularity_tolerance; - struct styled_item; - struct annotation_occurrence; - struct annotation_curve_occurrence; - struct annotation_fill_area; - struct annotation_fill_area_occurrence; - struct annotation_occurrence_relationship; - struct annotation_occurrence_associativity; - struct annotation_plane; - struct annotation_symbol_occurrence; - struct annotation_subfigure_occurrence; - struct mapped_item; - struct annotation_symbol; - struct annotation_text; - struct annotation_text_character; - struct annotation_text_occurrence; - struct shape_aspect; - struct derived_shape_aspect; - struct apex; - typedef NotImplemented application_context; // (not currently used by Assimp) - struct application_context_element; - typedef NotImplemented application_protocol_definition; // (not currently used by Assimp) - struct applied_action_assignment; - struct applied_action_method_assignment; - struct applied_action_request_assignment; - struct approval_assignment; - struct applied_approval_assignment; - struct attribute_classification_assignment; - struct applied_attribute_classification_assignment; - struct certification_assignment; - struct applied_certification_assignment; - struct classification_assignment; - struct applied_classification_assignment; - struct contract_assignment; - struct applied_contract_assignment; - struct date_and_time_assignment; - struct applied_date_and_time_assignment; - struct date_assignment; - struct applied_date_assignment; - struct document_reference; - struct applied_document_reference; - struct document_usage_constraint_assignment; - struct applied_document_usage_constraint_assignment; - struct effectivity_assignment; - struct applied_effectivity_assignment; - struct event_occurrence_assignment; - struct applied_event_occurrence_assignment; - struct identification_assignment; - struct external_identification_assignment; - struct applied_external_identification_assignment; - struct group_assignment; - struct applied_group_assignment; - struct applied_identification_assignment; - struct name_assignment; - struct applied_name_assignment; - struct organization_assignment; - struct applied_organization_assignment; - struct organizational_project_assignment; - struct applied_organizational_project_assignment; - struct person_and_organization_assignment; - struct applied_person_and_organization_assignment; - //struct presented_item; - struct applied_presented_item; - struct security_classification_assignment; - struct applied_security_classification_assignment; - struct time_interval_assignment; - struct applied_time_interval_assignment; - struct applied_usage_right; - typedef NotImplemented approval; // (not currently used by Assimp) - typedef NotImplemented approval_date_time; // (not currently used by Assimp) - typedef NotImplemented approval_person_organization; // (not currently used by Assimp) - typedef NotImplemented approval_relationship; // (not currently used by Assimp) - typedef NotImplemented approval_role; // (not currently used by Assimp) - typedef NotImplemented approval_status; // (not currently used by Assimp) - struct area_in_set; - struct area_measure_with_unit; - struct area_unit; - struct product_definition_relationship; - struct product_definition_usage; - struct assembly_component_usage; - typedef NotImplemented assembly_component_usage_substitute; // (not currently used by Assimp) - struct assigned_requirement; - struct compound_representation_item; - struct atomic_formula; - struct attribute_assertion; - struct attribute_language_assignment; - struct attribute_value_assignment; - typedef NotImplemented attribute_value_role; // (not currently used by Assimp) - struct auxiliary_geometric_representation_item; - struct placement; - struct axis1_placement; - struct axis2_placement_2d; - struct axis2_placement_3d; - struct curve; - struct bounded_curve; - struct b_spline_curve; - struct b_spline_curve_with_knots; - struct surface; - struct bounded_surface; - struct b_spline_surface; - struct b_spline_surface_with_knots; - struct product_definition; - struct rule_software_definition; - struct rule_definition; - struct back_chaining_rule; - struct back_chaining_rule_body; - struct colour; - struct background_colour; - struct beveled_sheet_representation; - struct bezier_curve; - struct bezier_surface; - struct generic_expression; - struct binary_generic_expression; - struct binary_numeric_expression; - struct binary_representation_item; - struct block; - struct expression; - struct boolean_expression; - struct boolean_literal; - struct boolean_representation_item; - struct boolean_result; - struct composite_curve; - struct composite_curve_on_surface; - struct boundary_curve; - struct bounded_pcurve; - struct bounded_surface_curve; - struct founded_item; - struct box_domain; - struct half_space_solid; - struct boxed_half_space; - struct breakdown_context; - struct breakdown_element_group_assignment; - struct breakdown_element_realization; - struct breakdown_element_usage; - struct breakdown_of; - struct solid_model; - struct manifold_solid_brep; - struct brep_with_voids; - struct bytes_representation_item; - struct date; - struct calendar_date; - struct camera_image; - struct camera_image_3d_with_scale; - struct camera_model; - struct camera_model_d3; - struct camera_model_d3_multi_clipping; - struct camera_model_d3_multi_clipping_intersection; - struct camera_model_d3_multi_clipping_union; - struct camera_model_d3_with_hlhsr; - struct camera_model_with_light_sources; - struct representation_map; - struct camera_usage; - struct capacitance_measure_with_unit; - struct capacitance_unit; - struct point; - struct cartesian_point; - struct cartesian_transformation_operator; - struct cartesian_transformation_operator_2d; - struct cartesian_transformation_operator_3d; - struct cc_design_approval; - struct cc_design_certification; - struct cc_design_contract; - struct cc_design_date_and_time_assignment; - struct cc_design_person_and_organization_assignment; - struct cc_design_security_classification; - struct cc_design_specification_reference; - struct celsius_temperature_measure_with_unit; - struct centre_of_symmetry; - typedef NotImplemented certification; // (not currently used by Assimp) - typedef NotImplemented certification_type; // (not currently used by Assimp) - struct change; - struct change_request; - typedef NotImplemented character_glyph_font_usage; // (not currently used by Assimp) - struct character_glyph_style_outline; - struct character_glyph_style_stroke; - struct symbol_representation; - struct generic_character_glyph_symbol; - struct character_glyph_symbol; - struct character_glyph_symbol_outline; - struct character_glyph_symbol_stroke; - struct general_property; - struct characteristic_data_column_header; - struct general_property_relationship; - struct characteristic_data_column_header_link; - struct characteristic_data_table_header; - struct characteristic_data_table_header_decomposition; - struct group; - struct characteristic_type; - struct characterized_class; - struct characterized_object; - struct conic; - struct circle; - struct circular_runout_tolerance; - typedef NotImplemented class_t; // (not currently used by Assimp) - struct class_by_extension; - struct class_by_intension; - struct class_system; - struct effectivity_context_assignment; - struct class_usage_effectivity_context_assignment; - typedef NotImplemented classification_role; // (not currently used by Assimp) - struct topological_representation_item; - struct connected_face_set; - struct closed_shell; - struct coaxiality_tolerance; - struct colour_specification; - struct colour_rgb; - struct common_datum; - struct comparison_expression; - struct complex_clause; - struct complex_conjunctive_clause; - struct complex_disjunctive_clause; - struct modified_solid; - struct shelled_solid; - struct complex_shelled_solid; - struct composite_assembly_definition; - struct composite_assembly_sequence_definition; - struct laminate_table; - struct part_laminate_table; - struct composite_assembly_table; - struct composite_curve_segment; - struct material_designation; - struct composite_material_designation; - struct composite_shape_aspect; - struct composite_sheet_representation; - struct composite_text; - struct composite_text_with_associated_curves; - struct composite_text_with_blanking_box; - struct composite_text_with_delineation; - struct composite_text_with_extent; - struct compound_shape_representation; - struct concentricity_tolerance; - typedef NotImplemented concept_feature_operator; // (not currently used by Assimp) - struct concept_feature_relationship; - struct concept_feature_relationship_with_condition; - struct product_concept_feature; - struct conditional_concept_feature; - struct conductance_measure_with_unit; - struct conductance_unit; - struct configuration_item; - struct configurable_item; - typedef NotImplemented configuration_design; // (not currently used by Assimp) - struct effectivity; - struct product_definition_effectivity; - struct configuration_effectivity; - struct configuration_item_relationship; - struct configuration_item_hierarchical_relationship; - struct configuration_item_revision_sequence; - struct configured_effectivity_assignment; - struct configured_effectivity_context_assignment; - struct conical_stepped_hole_transition; - struct elementary_surface; - struct conical_surface; - struct connected_edge_set; - struct connected_face_sub_set; - struct constructive_geometry_representation; - struct representation_relationship; - struct constructive_geometry_representation_relationship; - struct contact_ratio_representation; - struct invisibility; - struct context_dependent_invisibility; - struct over_riding_styled_item; - struct context_dependent_over_riding_styled_item; - typedef NotImplemented context_dependent_shape_representation; // (not currently used by Assimp) - struct context_dependent_unit; - typedef NotImplemented contract; // (not currently used by Assimp) - typedef NotImplemented contract_relationship; // (not currently used by Assimp) - typedef NotImplemented contract_type; // (not currently used by Assimp) - struct conversion_based_unit; - typedef NotImplemented coordinated_universal_time_offset; // (not currently used by Assimp) - struct csg_shape_representation; - struct csg_solid; - struct currency; - struct currency_measure_with_unit; - struct curve_bounded_surface; - struct curve_dimension; - struct curve_replica; - struct curve_style; - struct curve_style_font; - struct curve_style_font_and_scaling; - struct curve_style_font_pattern; - typedef NotImplemented curve_style_rendering; // (not currently used by Assimp) - struct curve_swept_solid_shape_representation; - struct cylindrical_surface; - struct cylindricity_tolerance; - typedef NotImplemented data_environment; // (not currently used by Assimp) - typedef NotImplemented date_and_time; // (not currently used by Assimp) - struct date_representation_item; - typedef NotImplemented date_role; // (not currently used by Assimp) - struct date_time_representation_item; - typedef NotImplemented date_time_role; // (not currently used by Assimp) - struct dated_effectivity; - struct datum; - struct datum_feature; - struct datum_feature_callout; - struct datum_reference; - struct datum_target; - struct datum_target_callout; - struct default_tolerance_table; - struct default_tolerance_table_cell; - struct defined_symbol; - struct definitional_representation; - struct definitional_representation_relationship; - struct definitional_representation_relationship_with_same_context; - struct degenerate_pcurve; - struct toroidal_surface; - struct degenerate_toroidal_surface; - typedef NotImplemented derived_unit_element; // (not currently used by Assimp) - typedef NotImplemented description_attribute; // (not currently used by Assimp) - struct descriptive_representation_item; - struct product_definition_context; - struct design_context; - struct design_make_from_relationship; - struct diameter_dimension; - struct ratio_measure_with_unit; - struct dielectric_constant_measure_with_unit; - struct dimension_callout; - struct draughting_callout_relationship; - struct dimension_callout_component_relationship; - struct dimension_callout_relationship; - struct dimension_curve; - struct terminator_symbol; - struct dimension_curve_terminator; - struct dimension_curve_terminator_to_projection_curve_associativity; - struct dimension_pair; - typedef NotImplemented dimension_related_tolerance_zone_element; // (not currently used by Assimp) - struct dimension_text_associativity; - typedef NotImplemented dimensional_characteristic_representation; // (not currently used by Assimp) - typedef NotImplemented dimensional_exponents; // (not currently used by Assimp) - struct dimensional_location_with_path; - struct dimensional_size_with_path; - struct executed_action; - struct directed_action; - struct directed_dimensional_location; - struct direction; - typedef NotImplemented document; // (not currently used by Assimp) - struct document_file; - struct document_identifier; - struct document_identifier_assignment; - struct document_product_association; - struct document_product_equivalence; - typedef NotImplemented document_relationship; // (not currently used by Assimp) - typedef NotImplemented document_representation_type; // (not currently used by Assimp) - typedef NotImplemented document_type; // (not currently used by Assimp) - typedef NotImplemented document_usage_constraint; // (not currently used by Assimp) - typedef NotImplemented document_usage_role; // (not currently used by Assimp) - struct dose_equivalent_measure_with_unit; - struct dose_equivalent_unit; - struct double_offset_shelled_solid; - struct item_defined_transformation; - struct transformation_with_derived_angle; - struct draped_defined_transformation; - struct draughting_annotation_occurrence; - struct draughting_elements; - struct draughting_model; - struct item_identified_representation_usage; - struct draughting_model_item_association; - struct pre_defined_colour; - struct draughting_pre_defined_colour; - struct pre_defined_item; - struct pre_defined_curve_font; - struct draughting_pre_defined_curve_font; - struct pre_defined_text_font; - struct draughting_pre_defined_text_font; - struct draughting_subfigure_representation; - struct draughting_symbol_representation; - struct text_literal; - struct text_literal_with_delineation; - struct draughting_text_literal_with_delineation; - typedef NotImplemented draughting_title; // (not currently used by Assimp) - typedef NotImplemented drawing_definition; // (not currently used by Assimp) - struct presentation_set; - struct drawing_revision; - typedef NotImplemented drawing_revision_sequence; // (not currently used by Assimp) - struct presentation_representation; - struct presentation_area; - struct drawing_sheet_revision; - struct drawing_sheet_revision_sequence; - struct drawing_sheet_revision_usage; - struct edge; - struct edge_based_wireframe_model; - struct edge_based_wireframe_shape_representation; - struct edge_blended_solid; - struct edge_curve; - struct edge_loop; - typedef NotImplemented effectivity_context_role; // (not currently used by Assimp) - typedef NotImplemented effectivity_relationship; // (not currently used by Assimp) - struct electric_charge_measure_with_unit; - struct electric_charge_unit; - struct electric_current_measure_with_unit; - struct electric_current_unit; - struct electric_potential_measure_with_unit; - struct electric_potential_unit; - struct elementary_brep_shape_representation; - struct ellipse; - struct energy_measure_with_unit; - struct energy_unit; - struct property_definition; - struct fact_type; - struct entity_assertion; - struct enum_reference_prefix; - typedef NotImplemented environment; // (not currently used by Assimp) - struct evaluated_characteristic; - struct evaluated_degenerate_pcurve; - struct evaluation_product_definition; - struct event_occurrence; - typedef NotImplemented event_occurrence_relationship; // (not currently used by Assimp) - typedef NotImplemented event_occurrence_role; // (not currently used by Assimp) - struct product_concept_feature_category; - struct exclusive_product_concept_feature_category; - struct uncertainty_qualifier; - struct standard_uncertainty; - struct expanded_uncertainty; - struct representation_item_relationship; - struct explicit_procedural_representation_item_relationship; - struct explicit_procedural_geometric_representation_item_relationship; - struct explicit_procedural_representation_relationship; - struct explicit_procedural_shape_representation_relationship; - struct expression_conversion_based_unit; - struct extension; - struct extent; - struct external_source; - struct external_class_library; - typedef NotImplemented external_source_relationship; // (not currently used by Assimp) - struct externally_defined_class; - struct externally_defined_colour; - struct externally_defined_context_dependent_unit; - struct externally_defined_conversion_based_unit; - struct externally_defined_currency; - struct externally_defined_item; - struct externally_defined_curve_font; - struct externally_defined_dimension_definition; - struct externally_defined_general_property; - struct externally_defined_hatch_style; - typedef NotImplemented externally_defined_item_relationship; // (not currently used by Assimp) - struct externally_defined_marker; - struct picture_representation_item; - struct externally_defined_picture_representation_item; - struct externally_defined_representation_item; - struct externally_defined_string; - struct externally_defined_symbol; - struct externally_defined_terminator_symbol; - struct externally_defined_text_font; - struct externally_defined_tile; - struct externally_defined_tile_style; - struct swept_area_solid; - struct extruded_area_solid; - struct swept_face_solid; - struct extruded_face_solid; - struct extruded_face_solid_with_trim_conditions; - struct extruded_face_solid_with_draft_angle; - struct extruded_face_solid_with_multiple_draft_angles; - struct face; - struct face_based_surface_model; - struct face_bound; - struct face_outer_bound; - struct faceted_brep; - struct faceted_brep_shape_representation; - struct fill_area_style; - typedef NotImplemented fill_area_style_colour; // (not currently used by Assimp) - struct fill_area_style_hatching; - struct fill_area_style_tile_coloured_region; - struct fill_area_style_tile_curve_with_style; - struct fill_area_style_tile_symbol_with_style; - struct fill_area_style_tiles; - struct shape_representation_relationship; - struct flat_pattern_ply_representation_relationship; - struct flatness_tolerance; - struct force_measure_with_unit; - struct force_unit; - struct forward_chaining_rule; - struct forward_chaining_rule_premise; - struct frequency_measure_with_unit; - struct frequency_unit; - struct func; - struct functional_breakdown_context; - struct functional_element_usage; - typedef NotImplemented functionally_defined_transformation; // (not currently used by Assimp) - struct general_material_property; - typedef NotImplemented general_property_association; // (not currently used by Assimp) - struct simple_generic_expression; - struct generic_literal; - struct generic_variable; - struct geometric_alignment; - struct geometric_set; - struct geometric_curve_set; - struct geometric_intersection; - struct geometric_item_specific_usage; - struct geometric_model_element_relationship; - struct representation_context; - struct geometric_representation_context; - typedef NotImplemented geometric_tolerance_relationship; // (not currently used by Assimp) - struct geometric_tolerance_with_defined_unit; - struct geometrical_tolerance_callout; - struct geometrically_bounded_2d_wireframe_representation; - struct geometrically_bounded_surface_shape_representation; - struct geometrically_bounded_wireframe_shape_representation; - struct global_assignment; - struct global_uncertainty_assigned_context; - struct global_unit_assigned_context; - struct ground_fact; - typedef NotImplemented group_relationship; // (not currently used by Assimp) - struct hardness_representation; - struct hidden_element_over_riding_styled_item; - struct hyperbola; - typedef NotImplemented id_attribute; // (not currently used by Assimp) - typedef NotImplemented identification_role; // (not currently used by Assimp) - struct illuminance_measure_with_unit; - struct illuminance_unit; - struct included_text_block; - struct inclusion_product_concept_feature; - struct user_selected_elements; - struct indirectly_selected_elements; - struct indirectly_selected_shape_elements; - struct inductance_measure_with_unit; - struct inductance_unit; - struct information_right; - struct information_usage_right; - struct instance_usage_context_assignment; - struct instanced_feature; - struct literal_number; - struct int_literal; - struct integer_representation_item; - struct surface_curve; - struct intersection_curve; - struct interval_expression; - struct iso4217_currency; - struct known_source; - struct laid_defined_transformation; - struct language; - struct leader_curve; - struct leader_directed_callout; - struct leader_directed_dimension; - struct leader_terminator; - struct length_measure_with_unit; - struct length_unit; - struct light_source; - struct light_source_ambient; - struct light_source_directional; - struct light_source_positional; - struct light_source_spot; - typedef NotImplemented limits_and_fits; // (not currently used by Assimp) - struct line; - struct line_profile_tolerance; - struct linear_dimension; - struct simple_clause; - struct literal_conjunction; - struct literal_disjunction; - typedef NotImplemented local_time; // (not currently used by Assimp) - struct logical_literal; - struct logical_representation_item; - struct loop; - struct loss_tangent_measure_with_unit; - struct lot_effectivity; - struct luminous_flux_measure_with_unit; - struct luminous_flux_unit; - struct luminous_intensity_measure_with_unit; - struct luminous_intensity_unit; - struct magnetic_flux_density_measure_with_unit; - struct magnetic_flux_density_unit; - struct magnetic_flux_measure_with_unit; - struct magnetic_flux_unit; - struct make_from_usage_option; - struct manifold_subsurface_shape_representation; - struct manifold_surface_shape_representation; - struct mass_measure_with_unit; - struct mass_unit; - typedef NotImplemented material_designation_characterization; // (not currently used by Assimp) - struct material_property; - struct property_definition_representation; - struct material_property_representation; - typedef NotImplemented measure_qualification; // (not currently used by Assimp) - struct measure_representation_item; - struct product_context; - struct mechanical_context; - struct mechanical_design_and_draughting_relationship; - struct mechanical_design_geometric_presentation_area; - struct mechanical_design_geometric_presentation_representation; - struct mechanical_design_presentation_representation_with_draughting; - struct mechanical_design_shaded_presentation_area; - struct mechanical_design_shaded_presentation_representation; - struct min_and_major_ply_orientation_basis; - struct modified_geometric_tolerance; - struct modified_solid_with_placed_configuration; - struct moments_of_inertia_representation; - struct multi_language_attribute_assignment; - struct multiple_arity_boolean_expression; - struct multiple_arity_generic_expression; - struct multiple_arity_numeric_expression; - typedef NotImplemented name_attribute; // (not currently used by Assimp) - struct next_assembly_usage_occurrence; - struct non_manifold_surface_shape_representation; - struct null_representation_item; - struct numeric_expression; - typedef NotImplemented object_role; // (not currently used by Assimp) - struct offset_curve_2d; - struct offset_curve_3d; - struct offset_surface; - struct one_direction_repeat_factor; - struct open_shell; - struct ordinal_date; - struct projection_directed_callout; - struct ordinate_dimension; - typedef NotImplemented organization; // (not currently used by Assimp) - typedef NotImplemented organization_relationship; // (not currently used by Assimp) - typedef NotImplemented organization_role; // (not currently used by Assimp) - struct organizational_address; - typedef NotImplemented organizational_project; // (not currently used by Assimp) - typedef NotImplemented organizational_project_relationship; // (not currently used by Assimp) - typedef NotImplemented organizational_project_role; // (not currently used by Assimp) - struct oriented_closed_shell; - struct oriented_edge; - struct oriented_face; - struct oriented_open_shell; - struct path; - struct oriented_path; - struct oriented_surface; - struct outer_boundary_curve; - struct package_product_concept_feature; - struct parabola; - struct parallel_offset; - struct parallelism_tolerance; - struct parametric_representation_context; - struct partial_document_with_structured_text_representation_assignment; - struct pcurve; - struct percentage_laminate_definition; - struct zone_structural_makeup; - struct percentage_laminate_table; - struct percentage_ply_definition; - struct perpendicular_to; - struct perpendicularity_tolerance; - typedef NotImplemented person; // (not currently used by Assimp) - typedef NotImplemented person_and_organization; // (not currently used by Assimp) - struct person_and_organization_address; - typedef NotImplemented person_and_organization_role; // (not currently used by Assimp) - struct personal_address; - struct physical_breakdown_context; - struct physical_element_usage; - struct presentation_view; - struct picture_representation; - struct placed_datum_target_feature; - struct placed_feature; - struct planar_extent; - struct planar_box; - struct plane; - struct plane_angle_measure_with_unit; - struct plane_angle_unit; - typedef NotImplemented plus_minus_tolerance; // (not currently used by Assimp) - struct ply_laminate_definition; - struct ply_laminate_sequence_definition; - struct ply_laminate_table; - struct point_and_vector; - struct point_on_curve; - struct point_on_surface; - struct point_path; - struct point_replica; - struct point_style; - struct polar_complex_number_literal; - struct poly_loop; - struct polyline; - struct position_tolerance; - struct positioned_sketch; - struct power_measure_with_unit; - struct power_unit; - struct pre_defined_symbol; - struct pre_defined_dimension_symbol; - struct pre_defined_geometrical_tolerance_symbol; - struct pre_defined_marker; - struct pre_defined_point_marker_symbol; - struct pre_defined_surface_condition_symbol; - struct pre_defined_surface_side_style; - struct pre_defined_terminator_symbol; - struct pre_defined_tile; - typedef NotImplemented precision_qualifier; // (not currently used by Assimp) - struct predefined_picture_representation_item; - typedef NotImplemented presentation_layer_assignment; // (not currently used by Assimp) - typedef NotImplemented presentation_size; // (not currently used by Assimp) - struct presentation_style_assignment; - struct presentation_style_by_context; - typedef NotImplemented presented_item_representation; // (not currently used by Assimp) - struct pressure_measure_with_unit; - struct pressure_unit; - struct procedural_representation; - struct procedural_representation_sequence; - struct procedural_shape_representation; - struct procedural_shape_representation_sequence; - typedef NotImplemented product; // (not currently used by Assimp) - struct product_category; - struct product_class; - typedef NotImplemented product_concept; // (not currently used by Assimp) - struct product_concept_context; - typedef NotImplemented product_concept_feature_association; // (not currently used by Assimp) - struct product_concept_feature_category_usage; - typedef NotImplemented product_concept_relationship; // (not currently used by Assimp) - typedef NotImplemented product_definition_context_association; // (not currently used by Assimp) - typedef NotImplemented product_definition_context_role; // (not currently used by Assimp) - struct product_definition_element_relationship; - struct product_definition_formation; - typedef NotImplemented product_definition_formation_relationship; // (not currently used by Assimp) - struct product_definition_formation_with_specified_source; - struct product_definition_group_assignment; - typedef NotImplemented product_definition_occurrence_relationship; // (not currently used by Assimp) - struct product_definition_shape; - typedef NotImplemented product_definition_substitute; // (not currently used by Assimp) - struct product_definition_with_associated_documents; - struct product_identification; - struct product_material_composition_relationship; - struct product_related_product_category; - struct product_specification; - struct tolerance_zone_definition; - struct projected_zone_definition; - struct projection_curve; - struct promissory_usage_occurrence; - typedef NotImplemented property_definition_relationship; // (not currently used by Assimp) - struct qualified_representation_item; - struct qualitative_uncertainty; - struct quantified_assembly_component_usage; - struct quasi_uniform_curve; - struct quasi_uniform_surface; - struct radioactivity_measure_with_unit; - struct radioactivity_unit; - struct radius_dimension; - struct range_characteristic; - struct ratio_unit; - struct rational_b_spline_curve; - struct rational_b_spline_surface; - struct rational_representation_item; - struct real_literal; - struct real_representation_item; - struct rectangular_composite_surface; - struct rectangular_trimmed_surface; - struct referenced_modified_datum; - struct relative_event_occurrence; - struct rep_item_group; - struct reparametrised_composite_curve_segment; - struct representation_relationship_with_transformation; - struct requirement_assigned_object; - struct requirement_assignment; - struct requirement_source; - struct requirement_view_definition_relationship; - struct resistance_measure_with_unit; - struct resistance_unit; - struct revolved_area_solid; - struct revolved_face_solid; - struct revolved_face_solid_with_trim_conditions; - struct right_angular_wedge; - struct right_circular_cone; - struct right_circular_cylinder; - struct right_to_usage_association; - typedef NotImplemented role_association; // (not currently used by Assimp) - struct roundness_tolerance; - struct row_representation_item; - struct row_value; - struct row_variable; - struct rule_action; - struct rule_condition; - struct rule_set; - struct rule_set_group; - struct rule_superseded_assignment; - struct rule_supersedence; - struct surface_curve_swept_area_solid; - struct ruled_surface_swept_area_solid; - struct runout_zone_definition; - struct runout_zone_orientation; - struct runout_zone_orientation_reference_direction; - struct satisfied_requirement; - struct satisfies_requirement; - struct satisfying_item; - struct scalar_variable; - struct scattering_parameter; - struct sculptured_solid; - struct seam_curve; - typedef NotImplemented security_classification; // (not currently used by Assimp) - typedef NotImplemented security_classification_level; // (not currently used by Assimp) - struct serial_numbered_effectivity; - struct shape_aspect_associativity; - struct shape_aspect_deriving_relationship; - struct shape_definition_representation; - struct shape_dimension_representation; - struct shape_feature_definition; - struct shape_representation_with_parameters; - struct shell_based_surface_model; - struct shell_based_wireframe_model; - struct shell_based_wireframe_shape_representation; - struct si_absorbed_dose_unit; - struct si_capacitance_unit; - struct si_conductance_unit; - struct si_dose_equivalent_unit; - struct si_electric_charge_unit; - struct si_electric_potential_unit; - struct si_energy_unit; - struct si_force_unit; - struct si_frequency_unit; - struct si_illuminance_unit; - struct si_inductance_unit; - struct si_magnetic_flux_density_unit; - struct si_magnetic_flux_unit; - struct si_power_unit; - struct si_pressure_unit; - struct si_radioactivity_unit; - struct si_resistance_unit; - struct si_unit; - struct simple_boolean_expression; - struct simple_numeric_expression; - struct slash_expression; - struct smeared_material_definition; - struct solid_angle_measure_with_unit; - struct solid_angle_unit; - struct solid_curve_font; - struct solid_replica; - struct solid_with_chamfered_edges; - struct solid_with_angle_based_chamfer; - struct solid_with_shape_element_pattern; - struct solid_with_circular_pattern; - struct solid_with_depression; - struct solid_with_pocket; - struct solid_with_circular_pocket; - struct solid_with_protrusion; - struct solid_with_circular_protrusion; - struct solid_with_hole; - struct solid_with_stepped_round_hole; - struct solid_with_conical_bottom_round_hole; - struct solid_with_constant_radius_edge_blend; - struct solid_with_slot; - struct solid_with_curved_slot; - struct solid_with_double_offset_chamfer; - struct solid_with_flat_bottom_round_hole; - struct solid_with_general_pocket; - struct solid_with_general_protrusion; - struct solid_with_groove; - struct solid_with_incomplete_circular_pattern; - struct solid_with_rectangular_pattern; - struct solid_with_incomplete_rectangular_pattern; - struct solid_with_rectangular_pocket; - struct solid_with_rectangular_protrusion; - struct solid_with_single_offset_chamfer; - struct solid_with_spherical_bottom_round_hole; - struct solid_with_stepped_round_hole_and_conical_transitions; - struct solid_with_straight_slot; - struct solid_with_tee_section_slot; - struct solid_with_through_depression; - struct solid_with_trapezoidal_section_slot; - struct solid_with_variable_radius_edge_blend; - struct source_for_requirement; - struct sourced_requirement; - struct specification_definition; - struct specified_higher_usage_occurrence; - struct sphere; - struct spherical_surface; - struct start_request; - struct start_work; - struct straightness_tolerance; - struct structured_dimension_callout; - struct structured_text_composition; - struct structured_text_representation; - struct subedge; - struct subface; - struct supplied_part_relationship; - struct surface_condition_callout; - struct swept_surface; - struct surface_of_linear_extrusion; - struct surface_of_revolution; - struct surface_patch; - struct surface_profile_tolerance; - typedef NotImplemented surface_rendering_properties; // (not currently used by Assimp) - struct surface_replica; - struct surface_side_style; - struct surface_style_boundary; - struct surface_style_control_grid; - struct surface_style_fill_area; - struct surface_style_parameter_line; - struct surface_style_reflectance_ambient; - struct surface_style_reflectance_ambient_diffuse; - struct surface_style_reflectance_ambient_diffuse_specular; - struct surface_style_rendering; - struct surface_style_rendering_with_properties; - struct surface_style_segmentation_curve; - struct surface_style_silhouette; - typedef NotImplemented surface_style_transparent; // (not currently used by Assimp) - struct surface_style_usage; - struct surface_texture_representation; - struct surfaced_open_shell; - struct swept_disk_solid; - struct symbol; - typedef NotImplemented symbol_colour; // (not currently used by Assimp) - struct symbol_representation_map; - struct symbol_style; - struct symbol_target; - struct symmetric_shape_aspect; - struct symmetry_tolerance; - struct table_representation_item; - struct tactile_appearance_representation; - struct tagged_text_format; - struct tagged_text_item; - struct tangent; - typedef NotImplemented text_font; // (not currently used by Assimp) - typedef NotImplemented text_font_family; // (not currently used by Assimp) - typedef NotImplemented text_font_in_family; // (not currently used by Assimp) - struct text_literal_with_associated_curves; - struct text_literal_with_blanking_box; - struct text_literal_with_extent; - struct text_string_representation; - struct text_style; - typedef NotImplemented text_style_for_defined_font; // (not currently used by Assimp) - struct text_style_with_box_characteristics; - struct text_style_with_mirror; - struct text_style_with_spacing; - struct thermal_resistance_measure_with_unit; - struct thermal_resistance_unit; - struct thermodynamic_temperature_measure_with_unit; - struct thermodynamic_temperature_unit; - struct thickened_face_solid; - struct thickness_laminate_definition; - struct thickness_laminate_table; - struct time_interval; - struct time_interval_based_effectivity; - typedef NotImplemented time_interval_relationship; // (not currently used by Assimp) - typedef NotImplemented time_interval_role; // (not currently used by Assimp) - struct time_interval_with_bounds; - struct time_measure_with_unit; - struct time_unit; - typedef NotImplemented tolerance_value; // (not currently used by Assimp) - struct tolerance_zone; - typedef NotImplemented tolerance_zone_form; // (not currently used by Assimp) - struct torus; - struct total_runout_tolerance; - struct track_blended_solid; - struct track_blended_solid_with_end_conditions; - struct trimmed_curve; - struct two_direction_repeat_factor; - typedef NotImplemented type_qualifier; // (not currently used by Assimp) - struct unary_generic_expression; - struct unary_numeric_expression; - struct uncertainty_assigned_representation; - struct uncertainty_measure_with_unit; - struct uniform_curve; - struct uniform_resource_identifier; - struct uniform_surface; - struct usage_association; - struct user_defined_curve_font; - struct user_defined_marker; - struct user_defined_terminator_symbol; - struct user_selected_shape_elements; - struct value_range; - struct value_representation_item; - struct variable_semantics; - struct variational_representation_item; - struct vector; - struct vector_style; - struct velocity_measure_with_unit; - struct velocity_unit; - typedef NotImplemented versioned_action_request; // (not currently used by Assimp) - struct vertex; - struct vertex_loop; - struct vertex_point; - struct vertex_shell; - struct view_volume; - struct visual_appearance_representation; - struct volume_measure_with_unit; - struct volume_unit; - struct week_of_year_and_day_date; - struct wire_shell; - struct year_month; - - - - // C++ wrapper for measure_with_unit - struct measure_with_unit : ObjectHelper { measure_with_unit() : Object("measure_with_unit") {} - measure_value::Out value_component; - unit::Out unit_component; - }; - - // C++ wrapper for absorbed_dose_measure_with_unit - struct absorbed_dose_measure_with_unit : measure_with_unit, ObjectHelper { absorbed_dose_measure_with_unit() : Object("absorbed_dose_measure_with_unit") {} - - }; - - // C++ wrapper for derived_unit - struct derived_unit : ObjectHelper { derived_unit() : Object("derived_unit") {} - ListOf< Lazy< NotImplemented >, 1, 0 > elements; - }; - - // C++ wrapper for absorbed_dose_unit - struct absorbed_dose_unit : derived_unit, ObjectHelper { absorbed_dose_unit() : Object("absorbed_dose_unit") {} - - }; - - // C++ wrapper for abstract_variable - struct abstract_variable : ObjectHelper { abstract_variable() : Object("abstract_variable") {} - - }; - - // C++ wrapper for acceleration_measure_with_unit - struct acceleration_measure_with_unit : measure_with_unit, ObjectHelper { acceleration_measure_with_unit() : Object("acceleration_measure_with_unit") {} - - }; - - // C++ wrapper for acceleration_unit - struct acceleration_unit : derived_unit, ObjectHelper { acceleration_unit() : Object("acceleration_unit") {} - - }; - - // C++ wrapper for action - struct action : ObjectHelper { action() : Object("action") {} - label::Out name; - Maybe< text::Out > description; - Lazy< action_method > chosen_method; - }; - - // C++ wrapper for action_assignment - struct action_assignment : ObjectHelper { action_assignment() : Object("action_assignment") {} - Lazy< action > assigned_action; - }; - - // C++ wrapper for action_method - struct action_method : ObjectHelper { action_method() : Object("action_method") {} - label::Out name; - Maybe< text::Out > description; - text::Out consequence; - text::Out purpose; - }; - - // C++ wrapper for action_method_assignment - struct action_method_assignment : ObjectHelper { action_method_assignment() : Object("action_method_assignment") {} - Lazy< action_method > assigned_action_method; - Lazy< NotImplemented > role; - }; - - // C++ wrapper for action_method_relationship - struct action_method_relationship : ObjectHelper { action_method_relationship() : Object("action_method_relationship") {} - label::Out name; - Maybe< text::Out > description; - Lazy< action_method > relating_method; - Lazy< action_method > related_method; - }; - - // C++ wrapper for action_request_assignment - struct action_request_assignment : ObjectHelper { action_request_assignment() : Object("action_request_assignment") {} - Lazy< NotImplemented > assigned_action_request; - }; - - // C++ wrapper for address - struct address : ObjectHelper { address() : Object("address") {} - Maybe< label::Out > internal_location; - Maybe< label::Out > street_number; - Maybe< label::Out > street; - Maybe< label::Out > postal_box; - Maybe< label::Out > town; - Maybe< label::Out > region; - Maybe< label::Out > postal_code; - Maybe< label::Out > country; - Maybe< label::Out > facsimile_number; - Maybe< label::Out > telephone_number; - Maybe< label::Out > electronic_mail_address; - Maybe< label::Out > telex_number; - }; - - // C++ wrapper for representation - struct representation : ObjectHelper { representation() : Object("representation") {} - label::Out name; - ListOf< Lazy< representation_item >, 1, 0 > items; - Lazy< representation_context > context_of_items; - }; - - // C++ wrapper for shape_representation - struct shape_representation : representation, ObjectHelper { shape_representation() : Object("shape_representation") {} - - }; - - // C++ wrapper for advanced_brep_shape_representation - struct advanced_brep_shape_representation : shape_representation, ObjectHelper { advanced_brep_shape_representation() : Object("advanced_brep_shape_representation") {} - - }; - - // C++ wrapper for face_surface - struct face_surface : ObjectHelper { face_surface() : Object("face_surface") {} - Lazy< surface > face_geometry; - BOOLEAN::Out same_sense; - }; - - // C++ wrapper for advanced_face - struct advanced_face : face_surface, ObjectHelper { advanced_face() : Object("advanced_face") {} - - }; - - // C++ wrapper for amount_of_substance_measure_with_unit - struct amount_of_substance_measure_with_unit : measure_with_unit, ObjectHelper { amount_of_substance_measure_with_unit() : Object("amount_of_substance_measure_with_unit") {} - - }; - - // C++ wrapper for named_unit - struct named_unit : ObjectHelper { named_unit() : Object("named_unit") {} - Lazy< NotImplemented > dimensions; - }; - - // C++ wrapper for amount_of_substance_unit - struct amount_of_substance_unit : named_unit, ObjectHelper { amount_of_substance_unit() : Object("amount_of_substance_unit") {} - - }; - - // C++ wrapper for angle_direction_reference - struct angle_direction_reference : ObjectHelper { angle_direction_reference() : Object("angle_direction_reference") {} - - }; - - // C++ wrapper for representation_item - struct representation_item : ObjectHelper { representation_item() : Object("representation_item") {} - label::Out name; - }; - - // C++ wrapper for geometric_representation_item - struct geometric_representation_item : representation_item, ObjectHelper { geometric_representation_item() : Object("geometric_representation_item") {} - - }; - - // C++ wrapper for draughting_callout - struct draughting_callout : geometric_representation_item, ObjectHelper { draughting_callout() : Object("draughting_callout") {} - ListOf< draughting_callout_element, 1, 0 >::Out contents; - }; - - // C++ wrapper for dimension_curve_directed_callout - struct dimension_curve_directed_callout : draughting_callout, ObjectHelper { dimension_curve_directed_callout() : Object("dimension_curve_directed_callout") {} - - }; - - // C++ wrapper for angular_dimension - struct angular_dimension : dimension_curve_directed_callout, ObjectHelper { angular_dimension() : Object("angular_dimension") {} - - }; - - // C++ wrapper for shape_aspect_relationship - struct shape_aspect_relationship : ObjectHelper { shape_aspect_relationship() : Object("shape_aspect_relationship") {} - label::Out name; - Maybe< text::Out > description; - Lazy< shape_aspect > relating_shape_aspect; - Lazy< shape_aspect > related_shape_aspect; - }; - - // C++ wrapper for dimensional_location - struct dimensional_location : shape_aspect_relationship, ObjectHelper { dimensional_location() : Object("dimensional_location") {} - - }; - - // C++ wrapper for angular_location - struct angular_location : dimensional_location, ObjectHelper { angular_location() : Object("angular_location") {} - angle_relator::Out angle_selection; - }; - - // C++ wrapper for dimensional_size - struct dimensional_size : ObjectHelper { dimensional_size() : Object("dimensional_size") {} - Lazy< shape_aspect > applies_to; - label::Out name; - }; - - // C++ wrapper for angular_size - struct angular_size : dimensional_size, ObjectHelper { angular_size() : Object("angular_size") {} - angle_relator::Out angle_selection; - }; - - // C++ wrapper for geometric_tolerance - struct geometric_tolerance : ObjectHelper { geometric_tolerance() : Object("geometric_tolerance") {} - label::Out name; - text::Out description; - Lazy< measure_with_unit > magnitude; - Lazy< shape_aspect > toleranced_shape_aspect; - }; - - // C++ wrapper for geometric_tolerance_with_datum_reference - struct geometric_tolerance_with_datum_reference : geometric_tolerance, ObjectHelper { geometric_tolerance_with_datum_reference() : Object("geometric_tolerance_with_datum_reference") {} - ListOf< Lazy< datum_reference >, 1, 0 > datum_system; - }; - - // C++ wrapper for angularity_tolerance - struct angularity_tolerance : geometric_tolerance_with_datum_reference, ObjectHelper { angularity_tolerance() : Object("angularity_tolerance") {} - - }; - - // C++ wrapper for styled_item - struct styled_item : representation_item, ObjectHelper { styled_item() : Object("styled_item") {} - ListOf< Lazy< presentation_style_assignment >, 1, 0 > styles; - Lazy< representation_item > item; - }; - - // C++ wrapper for annotation_occurrence - struct annotation_occurrence : styled_item, ObjectHelper { annotation_occurrence() : Object("annotation_occurrence") {} - - }; - - // C++ wrapper for annotation_curve_occurrence - struct annotation_curve_occurrence : annotation_occurrence, ObjectHelper { annotation_curve_occurrence() : Object("annotation_curve_occurrence") {} - - }; - - // C++ wrapper for annotation_fill_area - struct annotation_fill_area : geometric_representation_item, ObjectHelper { annotation_fill_area() : Object("annotation_fill_area") {} - ListOf< Lazy< curve >, 1, 0 > boundaries; - }; - - // C++ wrapper for annotation_fill_area_occurrence - struct annotation_fill_area_occurrence : annotation_occurrence, ObjectHelper { annotation_fill_area_occurrence() : Object("annotation_fill_area_occurrence") {} - Lazy< point > fill_style_target; - }; - - // C++ wrapper for annotation_occurrence_relationship - struct annotation_occurrence_relationship : ObjectHelper { annotation_occurrence_relationship() : Object("annotation_occurrence_relationship") {} - label::Out name; - text::Out description; - Lazy< annotation_occurrence > relating_annotation_occurrence; - Lazy< annotation_occurrence > related_annotation_occurrence; - }; - - // C++ wrapper for annotation_occurrence_associativity - struct annotation_occurrence_associativity : annotation_occurrence_relationship, ObjectHelper { annotation_occurrence_associativity() : Object("annotation_occurrence_associativity") {} - - }; - - // C++ wrapper for annotation_plane - struct annotation_plane : ObjectHelper { annotation_plane() : Object("annotation_plane") {} - Maybe< ListOf< annotation_plane_element, 1, 0 >::Out > elements; - }; - - // C++ wrapper for annotation_symbol_occurrence - struct annotation_symbol_occurrence : annotation_occurrence, ObjectHelper { annotation_symbol_occurrence() : Object("annotation_symbol_occurrence") {} - - }; - - // C++ wrapper for annotation_subfigure_occurrence - struct annotation_subfigure_occurrence : annotation_symbol_occurrence, ObjectHelper { annotation_subfigure_occurrence() : Object("annotation_subfigure_occurrence") {} - - }; - - // C++ wrapper for mapped_item - struct mapped_item : representation_item, ObjectHelper { mapped_item() : Object("mapped_item") {} - Lazy< representation_map > mapping_source; - Lazy< representation_item > mapping_target; - }; - - // C++ wrapper for annotation_symbol - struct annotation_symbol : mapped_item, ObjectHelper { annotation_symbol() : Object("annotation_symbol") {} - - }; - - // C++ wrapper for annotation_text - struct annotation_text : mapped_item, ObjectHelper { annotation_text() : Object("annotation_text") {} - - }; - - // C++ wrapper for annotation_text_character - struct annotation_text_character : mapped_item, ObjectHelper { annotation_text_character() : Object("annotation_text_character") {} - text_alignment::Out alignment; - }; - - // C++ wrapper for annotation_text_occurrence - struct annotation_text_occurrence : annotation_occurrence, ObjectHelper { annotation_text_occurrence() : Object("annotation_text_occurrence") {} - - }; - - // C++ wrapper for shape_aspect - struct shape_aspect : ObjectHelper { shape_aspect() : Object("shape_aspect") {} - label::Out name; - Maybe< text::Out > description; - Lazy< product_definition_shape > of_shape; - LOGICAL::Out product_definitional; - }; - - // C++ wrapper for derived_shape_aspect - struct derived_shape_aspect : shape_aspect, ObjectHelper { derived_shape_aspect() : Object("derived_shape_aspect") {} - - }; - - // C++ wrapper for apex - struct apex : derived_shape_aspect, ObjectHelper { apex() : Object("apex") {} - - }; - - // C++ wrapper for application_context_element - struct application_context_element : ObjectHelper { application_context_element() : Object("application_context_element") {} - label::Out name; - Lazy< NotImplemented > frame_of_reference; - }; - - // C++ wrapper for applied_action_assignment - struct applied_action_assignment : action_assignment, ObjectHelper { applied_action_assignment() : Object("applied_action_assignment") {} - ListOf< action_items, 1, 0 >::Out items; - }; - - // C++ wrapper for applied_action_method_assignment - struct applied_action_method_assignment : action_method_assignment, ObjectHelper { applied_action_method_assignment() : Object("applied_action_method_assignment") {} - ListOf< action_method_items, 1, 0 >::Out items; - }; - - // C++ wrapper for applied_action_request_assignment - struct applied_action_request_assignment : action_request_assignment, ObjectHelper { applied_action_request_assignment() : Object("applied_action_request_assignment") {} - ListOf< action_request_item, 1, 0 >::Out items; - }; - - // C++ wrapper for approval_assignment - struct approval_assignment : ObjectHelper { approval_assignment() : Object("approval_assignment") {} - Lazy< NotImplemented > assigned_approval; - }; - - // C++ wrapper for applied_approval_assignment - struct applied_approval_assignment : approval_assignment, ObjectHelper { applied_approval_assignment() : Object("applied_approval_assignment") {} - ListOf< approval_item, 1, 0 >::Out items; - }; - - // C++ wrapper for attribute_classification_assignment - struct attribute_classification_assignment : ObjectHelper { attribute_classification_assignment() : Object("attribute_classification_assignment") {} - Lazy< group > assigned_class; - label::Out attribute_name; - Lazy< NotImplemented > role; - }; - - // C++ wrapper for applied_attribute_classification_assignment - struct applied_attribute_classification_assignment : attribute_classification_assignment, ObjectHelper { applied_attribute_classification_assignment() : Object("applied_attribute_classification_assignment") {} - ListOf< attribute_classification_item, 1, 0 >::Out items; - }; - - // C++ wrapper for certification_assignment - struct certification_assignment : ObjectHelper { certification_assignment() : Object("certification_assignment") {} - Lazy< NotImplemented > assigned_certification; - }; - - // C++ wrapper for applied_certification_assignment - struct applied_certification_assignment : certification_assignment, ObjectHelper { applied_certification_assignment() : Object("applied_certification_assignment") {} - ListOf< certification_item, 1, 0 >::Out items; - }; - - // C++ wrapper for classification_assignment - struct classification_assignment : ObjectHelper { classification_assignment() : Object("classification_assignment") {} - Lazy< group > assigned_class; - Lazy< NotImplemented > role; - }; - - // C++ wrapper for applied_classification_assignment - struct applied_classification_assignment : classification_assignment, ObjectHelper { applied_classification_assignment() : Object("applied_classification_assignment") {} - ListOf< classification_item, 1, 0 >::Out items; - }; - - // C++ wrapper for contract_assignment - struct contract_assignment : ObjectHelper { contract_assignment() : Object("contract_assignment") {} - Lazy< NotImplemented > assigned_contract; - }; - - // C++ wrapper for applied_contract_assignment - struct applied_contract_assignment : contract_assignment, ObjectHelper { applied_contract_assignment() : Object("applied_contract_assignment") {} - ListOf< contract_item, 1, 0 >::Out items; - }; - - // C++ wrapper for date_and_time_assignment - struct date_and_time_assignment : ObjectHelper { date_and_time_assignment() : Object("date_and_time_assignment") {} - Lazy< NotImplemented > assigned_date_and_time; - Lazy< NotImplemented > role; - }; - - // C++ wrapper for applied_date_and_time_assignment - struct applied_date_and_time_assignment : date_and_time_assignment, ObjectHelper { applied_date_and_time_assignment() : Object("applied_date_and_time_assignment") {} - ListOf< date_and_time_item, 1, 0 >::Out items; - }; - - // C++ wrapper for date_assignment - struct date_assignment : ObjectHelper { date_assignment() : Object("date_assignment") {} - Lazy< date > assigned_date; - Lazy< NotImplemented > role; - }; - - // C++ wrapper for applied_date_assignment - struct applied_date_assignment : date_assignment, ObjectHelper { applied_date_assignment() : Object("applied_date_assignment") {} - ListOf< date_item, 1, 0 >::Out items; - }; - - // C++ wrapper for document_reference - struct document_reference : ObjectHelper { document_reference() : Object("document_reference") {} - Lazy< NotImplemented > assigned_document; - label::Out source; - }; - - // C++ wrapper for applied_document_reference - struct applied_document_reference : document_reference, ObjectHelper { applied_document_reference() : Object("applied_document_reference") {} - ListOf< document_reference_item, 1, 0 >::Out items; - }; - - // C++ wrapper for document_usage_constraint_assignment - struct document_usage_constraint_assignment : ObjectHelper { document_usage_constraint_assignment() : Object("document_usage_constraint_assignment") {} - Lazy< NotImplemented > assigned_document_usage; - Lazy< NotImplemented > role; - }; - - // C++ wrapper for applied_document_usage_constraint_assignment - struct applied_document_usage_constraint_assignment : document_usage_constraint_assignment, ObjectHelper { applied_document_usage_constraint_assignment() : Object("applied_document_usage_constraint_assignment") {} - ListOf< document_reference_item, 1, 0 >::Out items; - }; - - // C++ wrapper for effectivity_assignment - struct effectivity_assignment : ObjectHelper { effectivity_assignment() : Object("effectivity_assignment") {} - Lazy< effectivity > assigned_effectivity; - }; - - // C++ wrapper for applied_effectivity_assignment - struct applied_effectivity_assignment : effectivity_assignment, ObjectHelper { applied_effectivity_assignment() : Object("applied_effectivity_assignment") {} - ListOf< effectivity_item, 1, 0 >::Out items; - }; - - // C++ wrapper for event_occurrence_assignment - struct event_occurrence_assignment : ObjectHelper { event_occurrence_assignment() : Object("event_occurrence_assignment") {} - Lazy< event_occurrence > assigned_event_occurrence; - Lazy< NotImplemented > role; - }; - - // C++ wrapper for applied_event_occurrence_assignment - struct applied_event_occurrence_assignment : event_occurrence_assignment, ObjectHelper { applied_event_occurrence_assignment() : Object("applied_event_occurrence_assignment") {} - ListOf< event_occurrence_item, 1, 0 >::Out items; - }; - - // C++ wrapper for identification_assignment - struct identification_assignment : ObjectHelper { identification_assignment() : Object("identification_assignment") {} - identifier::Out assigned_id; - Lazy< NotImplemented > role; - }; - - // C++ wrapper for external_identification_assignment - struct external_identification_assignment : identification_assignment, ObjectHelper { external_identification_assignment() : Object("external_identification_assignment") {} - Lazy< external_source > source; - }; - - // C++ wrapper for applied_external_identification_assignment - struct applied_external_identification_assignment : external_identification_assignment, ObjectHelper { applied_external_identification_assignment() : Object("applied_external_identification_assignment") {} - ListOf< external_identification_item, 1, 0 >::Out items; - }; - - // C++ wrapper for group_assignment - struct group_assignment : ObjectHelper { group_assignment() : Object("group_assignment") {} - Lazy< group > assigned_group; - }; - - // C++ wrapper for applied_group_assignment - struct applied_group_assignment : group_assignment, ObjectHelper { applied_group_assignment() : Object("applied_group_assignment") {} - ListOf< groupable_item, 1, 0 >::Out items; - }; - - // C++ wrapper for applied_identification_assignment - struct applied_identification_assignment : identification_assignment, ObjectHelper { applied_identification_assignment() : Object("applied_identification_assignment") {} - ListOf< identification_item, 1, 0 >::Out items; - }; - - // C++ wrapper for name_assignment - struct name_assignment : ObjectHelper { name_assignment() : Object("name_assignment") {} - label::Out assigned_name; - }; - - // C++ wrapper for applied_name_assignment - struct applied_name_assignment : name_assignment, ObjectHelper { applied_name_assignment() : Object("applied_name_assignment") {} - name_item::Out item; - }; - - // C++ wrapper for organization_assignment - struct organization_assignment : ObjectHelper { organization_assignment() : Object("organization_assignment") {} - Lazy< NotImplemented > assigned_organization; - Lazy< NotImplemented > role; - }; - - // C++ wrapper for applied_organization_assignment - struct applied_organization_assignment : organization_assignment, ObjectHelper { applied_organization_assignment() : Object("applied_organization_assignment") {} - ListOf< organization_item, 1, 0 >::Out items; - }; - - // C++ wrapper for organizational_project_assignment - struct organizational_project_assignment : ObjectHelper { organizational_project_assignment() : Object("organizational_project_assignment") {} - Lazy< NotImplemented > assigned_organizational_project; - Lazy< NotImplemented > role; - }; - - // C++ wrapper for applied_organizational_project_assignment - struct applied_organizational_project_assignment : organizational_project_assignment, ObjectHelper { applied_organizational_project_assignment() : Object("applied_organizational_project_assignment") {} - ListOf< project_item, 1, 0 >::Out items; - }; - - // C++ wrapper for person_and_organization_assignment - struct person_and_organization_assignment : ObjectHelper { person_and_organization_assignment() : Object("person_and_organization_assignment") {} - Lazy< NotImplemented > assigned_person_and_organization; - Lazy< NotImplemented > role; - }; - - // C++ wrapper for applied_person_and_organization_assignment - struct applied_person_and_organization_assignment : person_and_organization_assignment, ObjectHelper { applied_person_and_organization_assignment() : Object("applied_person_and_organization_assignment") {} - ListOf< person_and_organization_item, 1, 0 >::Out items; - }; - - // C++ wrapper for presented_item - struct presented_item : ObjectHelper { presented_item() : Object("presented_item") {} - - }; - - // C++ wrapper for applied_presented_item - struct applied_presented_item : presented_item, ObjectHelper { applied_presented_item() : Object("applied_presented_item") {} - ListOf< presented_item_select, 1, 0 >::Out items; - }; - - // C++ wrapper for security_classification_assignment - struct security_classification_assignment : ObjectHelper { security_classification_assignment() : Object("security_classification_assignment") {} - Lazy< NotImplemented > assigned_security_classification; - }; - - // C++ wrapper for applied_security_classification_assignment - struct applied_security_classification_assignment : security_classification_assignment, ObjectHelper { applied_security_classification_assignment() : Object("applied_security_classification_assignment") {} - ListOf< security_classification_item, 1, 0 >::Out items; - }; - - // C++ wrapper for time_interval_assignment - struct time_interval_assignment : ObjectHelper { time_interval_assignment() : Object("time_interval_assignment") {} - Lazy< time_interval > assigned_time_interval; - Lazy< NotImplemented > role; - }; - - // C++ wrapper for applied_time_interval_assignment - struct applied_time_interval_assignment : time_interval_assignment, ObjectHelper { applied_time_interval_assignment() : Object("applied_time_interval_assignment") {} - ListOf< time_interval_item, 0, 0 >::Out items; - }; - - // C++ wrapper for applied_usage_right - struct applied_usage_right : applied_action_assignment, ObjectHelper { applied_usage_right() : Object("applied_usage_right") {} - - }; - - // C++ wrapper for area_in_set - struct area_in_set : ObjectHelper { area_in_set() : Object("area_in_set") {} - Lazy< presentation_area > area; - Lazy< presentation_set > in_set; - }; - - // C++ wrapper for area_measure_with_unit - struct area_measure_with_unit : measure_with_unit, ObjectHelper { area_measure_with_unit() : Object("area_measure_with_unit") {} - - }; - - // C++ wrapper for area_unit - struct area_unit : derived_unit, ObjectHelper { area_unit() : Object("area_unit") {} - - }; - - // C++ wrapper for product_definition_relationship - struct product_definition_relationship : ObjectHelper { product_definition_relationship() : Object("product_definition_relationship") {} - identifier::Out id; - label::Out name; - Maybe< text::Out > description; - Lazy< product_definition > relating_product_definition; - Lazy< product_definition > related_product_definition; - }; - - // C++ wrapper for product_definition_usage - struct product_definition_usage : product_definition_relationship, ObjectHelper { product_definition_usage() : Object("product_definition_usage") {} - - }; - - // C++ wrapper for assembly_component_usage - struct assembly_component_usage : product_definition_usage, ObjectHelper { assembly_component_usage() : Object("assembly_component_usage") {} - Maybe< identifier::Out > reference_designator; - }; - - // C++ wrapper for assigned_requirement - struct assigned_requirement : group_assignment, ObjectHelper { assigned_requirement() : Object("assigned_requirement") {} - ListOf< Lazy< product_definition >, 1, 1 > items; - }; - - // C++ wrapper for compound_representation_item - struct compound_representation_item : representation_item, ObjectHelper { compound_representation_item() : Object("compound_representation_item") {} - compound_item_definition::Out item_element; - }; - - // C++ wrapper for atomic_formula - struct atomic_formula : compound_representation_item, ObjectHelper { atomic_formula() : Object("atomic_formula") {} - - }; - - // C++ wrapper for attribute_assertion - struct attribute_assertion : ObjectHelper { attribute_assertion() : Object("attribute_assertion") {} - - }; - - // C++ wrapper for attribute_language_assignment - struct attribute_language_assignment : attribute_classification_assignment, ObjectHelper { attribute_language_assignment() : Object("attribute_language_assignment") {} - ListOf< attribute_language_item, 1, 0 >::Out items; - }; - - // C++ wrapper for attribute_value_assignment - struct attribute_value_assignment : ObjectHelper { attribute_value_assignment() : Object("attribute_value_assignment") {} - label::Out attribute_name; - attribute_type::Out attribute_value; - Lazy< NotImplemented > role; - }; - - // C++ wrapper for auxiliary_geometric_representation_item - struct auxiliary_geometric_representation_item : ObjectHelper { auxiliary_geometric_representation_item() : Object("auxiliary_geometric_representation_item") {} - - }; - - // C++ wrapper for placement - struct placement : geometric_representation_item, ObjectHelper { placement() : Object("placement") {} - Lazy< cartesian_point > location; - }; - - // C++ wrapper for axis1_placement - struct axis1_placement : placement, ObjectHelper { axis1_placement() : Object("axis1_placement") {} - Maybe< Lazy< direction > > axis; - }; - - // C++ wrapper for axis2_placement_2d - struct axis2_placement_2d : placement, ObjectHelper { axis2_placement_2d() : Object("axis2_placement_2d") {} - Maybe< Lazy< direction > > ref_direction; - }; - - // C++ wrapper for axis2_placement_3d - struct axis2_placement_3d : placement, ObjectHelper { axis2_placement_3d() : Object("axis2_placement_3d") {} - Maybe< Lazy< direction > > axis; - Maybe< Lazy< direction > > ref_direction; - }; - - // C++ wrapper for curve - struct curve : geometric_representation_item, ObjectHelper { curve() : Object("curve") {} - - }; - - // C++ wrapper for bounded_curve - struct bounded_curve : curve, ObjectHelper { bounded_curve() : Object("bounded_curve") {} - - }; - - // C++ wrapper for b_spline_curve - struct b_spline_curve : bounded_curve, ObjectHelper { b_spline_curve() : Object("b_spline_curve") {} - INTEGER::Out degree; - ListOf< Lazy< cartesian_point >, 2, 0 > control_points_list; - b_spline_curve_form::Out curve_form; - LOGICAL::Out closed_curve; - LOGICAL::Out self_intersect; - }; - - // C++ wrapper for b_spline_curve_with_knots - struct b_spline_curve_with_knots : b_spline_curve, ObjectHelper { b_spline_curve_with_knots() : Object("b_spline_curve_with_knots") {} - ListOf< INTEGER, 2, 0 >::Out knot_multiplicities; - ListOf< parameter_value, 2, 0 >::Out knots; - knot_type::Out knot_spec; - }; - - // C++ wrapper for surface - struct surface : geometric_representation_item, ObjectHelper { surface() : Object("surface") {} - - }; - - // C++ wrapper for bounded_surface - struct bounded_surface : surface, ObjectHelper { bounded_surface() : Object("bounded_surface") {} - - }; - - // C++ wrapper for b_spline_surface - struct b_spline_surface : bounded_surface, ObjectHelper { b_spline_surface() : Object("b_spline_surface") {} - INTEGER::Out u_degree; - INTEGER::Out v_degree; - b_spline_surface_form::Out surface_form; - LOGICAL::Out u_closed; - LOGICAL::Out v_closed; - LOGICAL::Out self_intersect; - }; - - // C++ wrapper for b_spline_surface_with_knots - struct b_spline_surface_with_knots : b_spline_surface, ObjectHelper { b_spline_surface_with_knots() : Object("b_spline_surface_with_knots") {} - ListOf< INTEGER, 2, 0 >::Out u_multiplicities; - ListOf< INTEGER, 2, 0 >::Out v_multiplicities; - ListOf< parameter_value, 2, 0 >::Out u_knots; - ListOf< parameter_value, 2, 0 >::Out v_knots; - knot_type::Out knot_spec; - }; - - // C++ wrapper for product_definition - struct product_definition : ObjectHelper { product_definition() : Object("product_definition") {} - identifier::Out id; - Maybe< text::Out > description; - Lazy< product_definition_formation > formation; - Lazy< product_definition_context > frame_of_reference; - }; - - // C++ wrapper for rule_software_definition - struct rule_software_definition : product_definition, ObjectHelper { rule_software_definition() : Object("rule_software_definition") {} - - }; - - // C++ wrapper for rule_definition - struct rule_definition : rule_software_definition, ObjectHelper { rule_definition() : Object("rule_definition") {} - - }; - - // C++ wrapper for back_chaining_rule - struct back_chaining_rule : rule_definition, ObjectHelper { back_chaining_rule() : Object("back_chaining_rule") {} - - }; - - // C++ wrapper for back_chaining_rule_body - struct back_chaining_rule_body : ObjectHelper { back_chaining_rule_body() : Object("back_chaining_rule_body") {} - - }; - - // C++ wrapper for colour - struct colour : ObjectHelper { colour() : Object("colour") {} - - }; - - // C++ wrapper for background_colour - struct background_colour : colour, ObjectHelper { background_colour() : Object("background_colour") {} - area_or_view::Out presentation; - }; - - // C++ wrapper for beveled_sheet_representation - struct beveled_sheet_representation : shape_representation, ObjectHelper { beveled_sheet_representation() : Object("beveled_sheet_representation") {} - - }; - - // C++ wrapper for bezier_curve - struct bezier_curve : b_spline_curve, ObjectHelper { bezier_curve() : Object("bezier_curve") {} - - }; - - // C++ wrapper for bezier_surface - struct bezier_surface : b_spline_surface, ObjectHelper { bezier_surface() : Object("bezier_surface") {} - - }; - - // C++ wrapper for generic_expression - struct generic_expression : ObjectHelper { generic_expression() : Object("generic_expression") {} - - }; - - // C++ wrapper for binary_generic_expression - struct binary_generic_expression : generic_expression, ObjectHelper { binary_generic_expression() : Object("binary_generic_expression") {} - ListOf< Lazy< generic_expression >, 2, 2 > operands; - }; - - // C++ wrapper for binary_numeric_expression - struct binary_numeric_expression : ObjectHelper { binary_numeric_expression() : Object("binary_numeric_expression") {} - - }; - - // C++ wrapper for binary_representation_item - struct binary_representation_item : representation_item, ObjectHelper { binary_representation_item() : Object("binary_representation_item") {} - BINARY::Out binary_value; - }; - - // C++ wrapper for block - struct block : geometric_representation_item, ObjectHelper { block() : Object("block") {} - Lazy< axis2_placement_3d > position; - positive_length_measure::Out x; - positive_length_measure::Out y; - positive_length_measure::Out z; - }; - - // C++ wrapper for expression - struct expression : generic_expression, ObjectHelper { expression() : Object("expression") {} - - }; - - // C++ wrapper for boolean_expression - struct boolean_expression : expression, ObjectHelper { boolean_expression() : Object("boolean_expression") {} - - }; - - // C++ wrapper for boolean_literal - struct boolean_literal : ObjectHelper { boolean_literal() : Object("boolean_literal") {} - BOOLEAN::Out the_value; - }; - - // C++ wrapper for boolean_representation_item - struct boolean_representation_item : ObjectHelper { boolean_representation_item() : Object("boolean_representation_item") {} - - }; - - // C++ wrapper for boolean_result - struct boolean_result : geometric_representation_item, ObjectHelper { boolean_result() : Object("boolean_result") {} - boolean_operator::Out operator_; - boolean_operand::Out first_operand; - boolean_operand::Out second_operand; - }; - - // C++ wrapper for composite_curve - struct composite_curve : bounded_curve, ObjectHelper { composite_curve() : Object("composite_curve") {} - ListOf< Lazy< composite_curve_segment >, 1, 0 > segments; - LOGICAL::Out self_intersect; - }; - - // C++ wrapper for composite_curve_on_surface - struct composite_curve_on_surface : composite_curve, ObjectHelper { composite_curve_on_surface() : Object("composite_curve_on_surface") {} - - }; - - // C++ wrapper for boundary_curve - struct boundary_curve : composite_curve_on_surface, ObjectHelper { boundary_curve() : Object("boundary_curve") {} - - }; - - // C++ wrapper for bounded_pcurve - struct bounded_pcurve : ObjectHelper { bounded_pcurve() : Object("bounded_pcurve") {} - - }; - - // C++ wrapper for bounded_surface_curve - struct bounded_surface_curve : ObjectHelper { bounded_surface_curve() : Object("bounded_surface_curve") {} - - }; - - // C++ wrapper for founded_item - struct founded_item : ObjectHelper { founded_item() : Object("founded_item") {} - - }; - - // C++ wrapper for box_domain - struct box_domain : founded_item, ObjectHelper { box_domain() : Object("box_domain") {} - Lazy< cartesian_point > corner; - positive_length_measure::Out xlength; - positive_length_measure::Out ylength; - positive_length_measure::Out zlength; - }; - - // C++ wrapper for half_space_solid - struct half_space_solid : geometric_representation_item, ObjectHelper { half_space_solid() : Object("half_space_solid") {} - Lazy< surface > base_surface; - BOOLEAN::Out agreement_flag; - }; - - // C++ wrapper for boxed_half_space - struct boxed_half_space : half_space_solid, ObjectHelper { boxed_half_space() : Object("boxed_half_space") {} - Lazy< box_domain > enclosure; - }; - - // C++ wrapper for breakdown_context - struct breakdown_context : product_definition_relationship, ObjectHelper { breakdown_context() : Object("breakdown_context") {} - - }; - - // C++ wrapper for breakdown_element_group_assignment - struct breakdown_element_group_assignment : group_assignment, ObjectHelper { breakdown_element_group_assignment() : Object("breakdown_element_group_assignment") {} - ListOf< product_definition_or_breakdown_element_usage, 1, 1 >::Out items; - }; - - // C++ wrapper for breakdown_element_realization - struct breakdown_element_realization : ObjectHelper { breakdown_element_realization() : Object("breakdown_element_realization") {} - - }; - - // C++ wrapper for breakdown_element_usage - struct breakdown_element_usage : product_definition_relationship, ObjectHelper { breakdown_element_usage() : Object("breakdown_element_usage") {} - - }; - - // C++ wrapper for breakdown_of - struct breakdown_of : product_definition_relationship, ObjectHelper { breakdown_of() : Object("breakdown_of") {} - - }; - - // C++ wrapper for solid_model - struct solid_model : geometric_representation_item, ObjectHelper { solid_model() : Object("solid_model") {} - - }; - - // C++ wrapper for manifold_solid_brep - struct manifold_solid_brep : solid_model, ObjectHelper { manifold_solid_brep() : Object("manifold_solid_brep") {} - Lazy< closed_shell > outer; - }; - - // C++ wrapper for brep_with_voids - struct brep_with_voids : manifold_solid_brep, ObjectHelper { brep_with_voids() : Object("brep_with_voids") {} - ListOf< Lazy< oriented_closed_shell >, 1, 0 > voids; - }; - - // C++ wrapper for bytes_representation_item - struct bytes_representation_item : binary_representation_item, ObjectHelper { bytes_representation_item() : Object("bytes_representation_item") {} - - }; - - // C++ wrapper for date - struct date : ObjectHelper { date() : Object("date") {} - year_number::Out year_component; - }; - - // C++ wrapper for calendar_date - struct calendar_date : date, ObjectHelper { calendar_date() : Object("calendar_date") {} - day_in_month_number::Out day_component; - month_in_year_number::Out month_component; - }; - - // C++ wrapper for camera_image - struct camera_image : mapped_item, ObjectHelper { camera_image() : Object("camera_image") {} - - }; - - // C++ wrapper for camera_image_3d_with_scale - struct camera_image_3d_with_scale : camera_image, ObjectHelper { camera_image_3d_with_scale() : Object("camera_image_3d_with_scale") {} - - }; - - // C++ wrapper for camera_model - struct camera_model : geometric_representation_item, ObjectHelper { camera_model() : Object("camera_model") {} - - }; - - // C++ wrapper for camera_model_d3 - struct camera_model_d3 : camera_model, ObjectHelper { camera_model_d3() : Object("camera_model_d3") {} - Lazy< axis2_placement_3d > view_reference_system; - Lazy< view_volume > perspective_of_volume; - }; - - // C++ wrapper for camera_model_d3_multi_clipping - struct camera_model_d3_multi_clipping : camera_model_d3, ObjectHelper { camera_model_d3_multi_clipping() : Object("camera_model_d3_multi_clipping") {} - ListOf< camera_model_d3_multi_clipping_interection_select, 1, 0 >::Out shape_clipping; - }; - - // C++ wrapper for camera_model_d3_multi_clipping_intersection - struct camera_model_d3_multi_clipping_intersection : geometric_representation_item, ObjectHelper { camera_model_d3_multi_clipping_intersection() : Object("camera_model_d3_multi_clipping_intersection") {} - ListOf< camera_model_d3_multi_clipping_interection_select, 2, 0 >::Out shape_clipping; - }; - - // C++ wrapper for camera_model_d3_multi_clipping_union - struct camera_model_d3_multi_clipping_union : geometric_representation_item, ObjectHelper { camera_model_d3_multi_clipping_union() : Object("camera_model_d3_multi_clipping_union") {} - ListOf< camera_model_d3_multi_clipping_union_select, 2, 0 >::Out shape_clipping; - }; - - // C++ wrapper for camera_model_d3_with_hlhsr - struct camera_model_d3_with_hlhsr : camera_model_d3, ObjectHelper { camera_model_d3_with_hlhsr() : Object("camera_model_d3_with_hlhsr") {} - BOOLEAN::Out hidden_line_surface_removal; - }; - - // C++ wrapper for camera_model_with_light_sources - struct camera_model_with_light_sources : camera_model_d3, ObjectHelper { camera_model_with_light_sources() : Object("camera_model_with_light_sources") {} - ListOf< Lazy< light_source >, 1, 0 > sources; - }; - - // C++ wrapper for representation_map - struct representation_map : ObjectHelper { representation_map() : Object("representation_map") {} - Lazy< representation_item > mapping_origin; - Lazy< representation > mapped_representation; - }; - - // C++ wrapper for camera_usage - struct camera_usage : representation_map, ObjectHelper { camera_usage() : Object("camera_usage") {} - - }; - - // C++ wrapper for capacitance_measure_with_unit - struct capacitance_measure_with_unit : measure_with_unit, ObjectHelper { capacitance_measure_with_unit() : Object("capacitance_measure_with_unit") {} - - }; - - // C++ wrapper for capacitance_unit - struct capacitance_unit : derived_unit, ObjectHelper { capacitance_unit() : Object("capacitance_unit") {} - - }; - - // C++ wrapper for point - struct point : geometric_representation_item, ObjectHelper { point() : Object("point") {} - - }; - - // C++ wrapper for cartesian_point - struct cartesian_point : point, ObjectHelper { cartesian_point() : Object("cartesian_point") {} - ListOf< length_measure, 1, 3 >::Out coordinates; - }; - - // C++ wrapper for cartesian_transformation_operator - struct cartesian_transformation_operator : ObjectHelper { cartesian_transformation_operator() : Object("cartesian_transformation_operator") {} - Maybe< Lazy< direction > > axis1; - Maybe< Lazy< direction > > axis2; - Lazy< cartesian_point > local_origin; - Maybe< REAL::Out > scale; - }; - - // C++ wrapper for cartesian_transformation_operator_2d - struct cartesian_transformation_operator_2d : cartesian_transformation_operator, ObjectHelper { cartesian_transformation_operator_2d() : Object("cartesian_transformation_operator_2d") {} - - }; - - // C++ wrapper for cartesian_transformation_operator_3d - struct cartesian_transformation_operator_3d : cartesian_transformation_operator, ObjectHelper { cartesian_transformation_operator_3d() : Object("cartesian_transformation_operator_3d") {} - Maybe< Lazy< direction > > axis3; - }; - - // C++ wrapper for cc_design_approval - struct cc_design_approval : approval_assignment, ObjectHelper { cc_design_approval() : Object("cc_design_approval") {} - ListOf< approved_item, 1, 0 >::Out items; - }; - - // C++ wrapper for cc_design_certification - struct cc_design_certification : certification_assignment, ObjectHelper { cc_design_certification() : Object("cc_design_certification") {} - ListOf< certified_item, 1, 0 >::Out items; - }; - - // C++ wrapper for cc_design_contract - struct cc_design_contract : contract_assignment, ObjectHelper { cc_design_contract() : Object("cc_design_contract") {} - ListOf< contracted_item, 1, 0 >::Out items; - }; - - // C++ wrapper for cc_design_date_and_time_assignment - struct cc_design_date_and_time_assignment : date_and_time_assignment, ObjectHelper { cc_design_date_and_time_assignment() : Object("cc_design_date_and_time_assignment") {} - ListOf< date_time_item, 1, 0 >::Out items; - }; - - // C++ wrapper for cc_design_person_and_organization_assignment - struct cc_design_person_and_organization_assignment : person_and_organization_assignment, ObjectHelper { cc_design_person_and_organization_assignment() : Object("cc_design_person_and_organization_assignment") {} - ListOf< cc_person_organization_item, 1, 0 >::Out items; - }; - - // C++ wrapper for cc_design_security_classification - struct cc_design_security_classification : security_classification_assignment, ObjectHelper { cc_design_security_classification() : Object("cc_design_security_classification") {} - ListOf< cc_classified_item, 1, 0 >::Out items; - }; - - // C++ wrapper for cc_design_specification_reference - struct cc_design_specification_reference : document_reference, ObjectHelper { cc_design_specification_reference() : Object("cc_design_specification_reference") {} - ListOf< cc_specified_item, 1, 0 >::Out items; - }; - - // C++ wrapper for celsius_temperature_measure_with_unit - struct celsius_temperature_measure_with_unit : measure_with_unit, ObjectHelper { celsius_temperature_measure_with_unit() : Object("celsius_temperature_measure_with_unit") {} - - }; - - // C++ wrapper for centre_of_symmetry - struct centre_of_symmetry : derived_shape_aspect, ObjectHelper { centre_of_symmetry() : Object("centre_of_symmetry") {} - - }; - - // C++ wrapper for change - struct change : action_assignment, ObjectHelper { change() : Object("change") {} - ListOf< work_item, 1, 0 >::Out items; - }; - - // C++ wrapper for change_request - struct change_request : action_request_assignment, ObjectHelper { change_request() : Object("change_request") {} - ListOf< change_request_item, 1, 0 >::Out items; - }; - - // C++ wrapper for character_glyph_style_outline - struct character_glyph_style_outline : founded_item, ObjectHelper { character_glyph_style_outline() : Object("character_glyph_style_outline") {} - Lazy< curve_style > outline_style; - }; - - // C++ wrapper for character_glyph_style_stroke - struct character_glyph_style_stroke : founded_item, ObjectHelper { character_glyph_style_stroke() : Object("character_glyph_style_stroke") {} - Lazy< curve_style > stroke_style; - }; - - // C++ wrapper for symbol_representation - struct symbol_representation : representation, ObjectHelper { symbol_representation() : Object("symbol_representation") {} - - }; - - // C++ wrapper for generic_character_glyph_symbol - struct generic_character_glyph_symbol : symbol_representation, ObjectHelper { generic_character_glyph_symbol() : Object("generic_character_glyph_symbol") {} - - }; - - // C++ wrapper for character_glyph_symbol - struct character_glyph_symbol : generic_character_glyph_symbol, ObjectHelper { character_glyph_symbol() : Object("character_glyph_symbol") {} - Lazy< planar_extent > character_box; - ratio_measure::Out baseline_ratio; - }; - - // C++ wrapper for character_glyph_symbol_outline - struct character_glyph_symbol_outline : character_glyph_symbol, ObjectHelper { character_glyph_symbol_outline() : Object("character_glyph_symbol_outline") {} - ListOf< Lazy< annotation_fill_area >, 1, 0 > outlines; - }; - - // C++ wrapper for character_glyph_symbol_stroke - struct character_glyph_symbol_stroke : character_glyph_symbol, ObjectHelper { character_glyph_symbol_stroke() : Object("character_glyph_symbol_stroke") {} - ListOf< Lazy< curve >, 1, 0 > strokes; - }; - - // C++ wrapper for general_property - struct general_property : ObjectHelper { general_property() : Object("general_property") {} - identifier::Out id; - label::Out name; - Maybe< text::Out > description; - }; - - // C++ wrapper for characteristic_data_column_header - struct characteristic_data_column_header : general_property, ObjectHelper { characteristic_data_column_header() : Object("characteristic_data_column_header") {} - - }; - - // C++ wrapper for general_property_relationship - struct general_property_relationship : ObjectHelper { general_property_relationship() : Object("general_property_relationship") {} - label::Out name; - Maybe< text::Out > description; - Lazy< general_property > relating_property; - Lazy< general_property > related_property; - }; - - // C++ wrapper for characteristic_data_column_header_link - struct characteristic_data_column_header_link : general_property_relationship, ObjectHelper { characteristic_data_column_header_link() : Object("characteristic_data_column_header_link") {} - - }; - - // C++ wrapper for characteristic_data_table_header - struct characteristic_data_table_header : general_property, ObjectHelper { characteristic_data_table_header() : Object("characteristic_data_table_header") {} - - }; - - // C++ wrapper for characteristic_data_table_header_decomposition - struct characteristic_data_table_header_decomposition : general_property_relationship, ObjectHelper { characteristic_data_table_header_decomposition() : Object("characteristic_data_table_header_decomposition") {} - - }; - - // C++ wrapper for group - struct group : ObjectHelper { group() : Object("group") {} - label::Out name; - Maybe< text::Out > description; - }; - - // C++ wrapper for characteristic_type - struct characteristic_type : group, ObjectHelper { characteristic_type() : Object("characteristic_type") {} - - }; - - // C++ wrapper for characterized_class - struct characterized_class : ObjectHelper { characterized_class() : Object("characterized_class") {} - - }; - - // C++ wrapper for characterized_object - struct characterized_object : ObjectHelper { characterized_object() : Object("characterized_object") {} - label::Out name; - Maybe< text::Out > description; - }; - - // C++ wrapper for conic - struct conic : curve, ObjectHelper { conic() : Object("conic") {} - axis2_placement::Out position; - }; - - // C++ wrapper for circle - struct circle : conic, ObjectHelper { circle() : Object("circle") {} - positive_length_measure::Out radius; - }; - - // C++ wrapper for circular_runout_tolerance - struct circular_runout_tolerance : geometric_tolerance_with_datum_reference, ObjectHelper { circular_runout_tolerance() : Object("circular_runout_tolerance") {} - - }; - - // C++ wrapper for class_by_extension - struct class_by_extension : class_t, ObjectHelper { class_by_extension() : Object("class_by_extension") {} - - }; - - // C++ wrapper for class_by_intension - struct class_by_intension : class_t, ObjectHelper { class_by_intension() : Object("class_by_intension") {} - - }; - - // C++ wrapper for class_system - struct class_system : group, ObjectHelper { class_system() : Object("class_system") {} - - }; - - // C++ wrapper for effectivity_context_assignment - struct effectivity_context_assignment : ObjectHelper { effectivity_context_assignment() : Object("effectivity_context_assignment") {} - Lazy< effectivity_assignment > assigned_effectivity_assignment; - Lazy< NotImplemented > role; - }; - - // C++ wrapper for class_usage_effectivity_context_assignment - struct class_usage_effectivity_context_assignment : effectivity_context_assignment, ObjectHelper { class_usage_effectivity_context_assignment() : Object("class_usage_effectivity_context_assignment") {} - ListOf< class_usage_effectivity_context_item, 1, 0 >::Out items; - }; - - // C++ wrapper for topological_representation_item - struct topological_representation_item : representation_item, ObjectHelper { topological_representation_item() : Object("topological_representation_item") {} - - }; - - // C++ wrapper for connected_face_set - struct connected_face_set : topological_representation_item, ObjectHelper { connected_face_set() : Object("connected_face_set") {} - ListOf< Lazy< face >, 1, 0 > cfs_faces; - }; - - // C++ wrapper for closed_shell - struct closed_shell : connected_face_set, ObjectHelper { closed_shell() : Object("closed_shell") {} - - }; - - // C++ wrapper for coaxiality_tolerance - struct coaxiality_tolerance : geometric_tolerance_with_datum_reference, ObjectHelper { coaxiality_tolerance() : Object("coaxiality_tolerance") {} - - }; - - // C++ wrapper for colour_specification - struct colour_specification : colour, ObjectHelper { colour_specification() : Object("colour_specification") {} - label::Out name; - }; - - // C++ wrapper for colour_rgb - struct colour_rgb : colour_specification, ObjectHelper { colour_rgb() : Object("colour_rgb") {} - REAL::Out red; - REAL::Out green; - REAL::Out blue; - }; - - // C++ wrapper for common_datum - struct common_datum : ObjectHelper { common_datum() : Object("common_datum") {} - - }; - - // C++ wrapper for comparison_expression - struct comparison_expression : ObjectHelper { comparison_expression() : Object("comparison_expression") {} - - }; - - // C++ wrapper for complex_clause - struct complex_clause : compound_representation_item, ObjectHelper { complex_clause() : Object("complex_clause") {} - - }; - - // C++ wrapper for complex_conjunctive_clause - struct complex_conjunctive_clause : complex_clause, ObjectHelper { complex_conjunctive_clause() : Object("complex_conjunctive_clause") {} - - }; - - // C++ wrapper for complex_disjunctive_clause - struct complex_disjunctive_clause : complex_clause, ObjectHelper { complex_disjunctive_clause() : Object("complex_disjunctive_clause") {} - - }; - - // C++ wrapper for modified_solid - struct modified_solid : solid_model, ObjectHelper { modified_solid() : Object("modified_solid") {} - text::Out rationale; - base_solid_select::Out base_solid; - }; - - // C++ wrapper for shelled_solid - struct shelled_solid : modified_solid, ObjectHelper { shelled_solid() : Object("shelled_solid") {} - ListOf< Lazy< face_surface >, 1, 0 > deleted_face_set; - length_measure::Out thickness; - }; - - // C++ wrapper for complex_shelled_solid - struct complex_shelled_solid : shelled_solid, ObjectHelper { complex_shelled_solid() : Object("complex_shelled_solid") {} - ListOf< length_measure, 1, 0 >::Out thickness_list; - }; - - // C++ wrapper for composite_assembly_definition - struct composite_assembly_definition : product_definition, ObjectHelper { composite_assembly_definition() : Object("composite_assembly_definition") {} - - }; - - // C++ wrapper for composite_assembly_sequence_definition - struct composite_assembly_sequence_definition : product_definition, ObjectHelper { composite_assembly_sequence_definition() : Object("composite_assembly_sequence_definition") {} - - }; - - // C++ wrapper for laminate_table - struct laminate_table : product_definition, ObjectHelper { laminate_table() : Object("laminate_table") {} - - }; - - // C++ wrapper for part_laminate_table - struct part_laminate_table : laminate_table, ObjectHelper { part_laminate_table() : Object("part_laminate_table") {} - - }; - - // C++ wrapper for composite_assembly_table - struct composite_assembly_table : part_laminate_table, ObjectHelper { composite_assembly_table() : Object("composite_assembly_table") {} - - }; - - // C++ wrapper for composite_curve_segment - struct composite_curve_segment : founded_item, ObjectHelper { composite_curve_segment() : Object("composite_curve_segment") {} - transition_code::Out transition; - BOOLEAN::Out same_sense; - Lazy< curve > parent_curve; - }; - - // C++ wrapper for material_designation - struct material_designation : ObjectHelper { material_designation() : Object("material_designation") {} - label::Out name; - ListOf< characterized_definition, 1, 0 >::Out definitions; - }; - - // C++ wrapper for composite_material_designation - struct composite_material_designation : material_designation, ObjectHelper { composite_material_designation() : Object("composite_material_designation") {} - - }; - - // C++ wrapper for composite_shape_aspect - struct composite_shape_aspect : shape_aspect, ObjectHelper { composite_shape_aspect() : Object("composite_shape_aspect") {} - - }; - - // C++ wrapper for composite_sheet_representation - struct composite_sheet_representation : shape_representation, ObjectHelper { composite_sheet_representation() : Object("composite_sheet_representation") {} - - }; - - // C++ wrapper for composite_text - struct composite_text : geometric_representation_item, ObjectHelper { composite_text() : Object("composite_text") {} - ListOf< text_or_character, 2, 0 >::Out collected_text; - }; - - // C++ wrapper for composite_text_with_associated_curves - struct composite_text_with_associated_curves : composite_text, ObjectHelper { composite_text_with_associated_curves() : Object("composite_text_with_associated_curves") {} - ListOf< Lazy< curve >, 1, 0 > associated_curves; - }; - - // C++ wrapper for composite_text_with_blanking_box - struct composite_text_with_blanking_box : composite_text, ObjectHelper { composite_text_with_blanking_box() : Object("composite_text_with_blanking_box") {} - Lazy< planar_box > blanking; - }; - - // C++ wrapper for composite_text_with_delineation - struct composite_text_with_delineation : composite_text, ObjectHelper { composite_text_with_delineation() : Object("composite_text_with_delineation") {} - text_delineation::Out delineation; - }; - - // C++ wrapper for composite_text_with_extent - struct composite_text_with_extent : composite_text, ObjectHelper { composite_text_with_extent() : Object("composite_text_with_extent") {} - Lazy< planar_extent > extent; - }; - - // C++ wrapper for compound_shape_representation - struct compound_shape_representation : shape_representation, ObjectHelper { compound_shape_representation() : Object("compound_shape_representation") {} - - }; - - // C++ wrapper for concentricity_tolerance - struct concentricity_tolerance : geometric_tolerance_with_datum_reference, ObjectHelper { concentricity_tolerance() : Object("concentricity_tolerance") {} - - }; - - // C++ wrapper for concept_feature_relationship - struct concept_feature_relationship : ObjectHelper { concept_feature_relationship() : Object("concept_feature_relationship") {} - label::Out name; - Maybe< text::Out > description; - Lazy< product_concept_feature > relating_product_concept_feature; - Lazy< product_concept_feature > related_product_concept_feature; - }; - - // C++ wrapper for concept_feature_relationship_with_condition - struct concept_feature_relationship_with_condition : concept_feature_relationship, ObjectHelper { concept_feature_relationship_with_condition() : Object("concept_feature_relationship_with_condition") {} - Lazy< NotImplemented > conditional_operator; - }; - - // C++ wrapper for product_concept_feature - struct product_concept_feature : ObjectHelper { product_concept_feature() : Object("product_concept_feature") {} - identifier::Out id; - label::Out name; - Maybe< text::Out > description; - }; - - // C++ wrapper for conditional_concept_feature - struct conditional_concept_feature : product_concept_feature, ObjectHelper { conditional_concept_feature() : Object("conditional_concept_feature") {} - Lazy< concept_feature_relationship_with_condition > condition; - }; - - // C++ wrapper for conductance_measure_with_unit - struct conductance_measure_with_unit : measure_with_unit, ObjectHelper { conductance_measure_with_unit() : Object("conductance_measure_with_unit") {} - - }; - - // C++ wrapper for conductance_unit - struct conductance_unit : derived_unit, ObjectHelper { conductance_unit() : Object("conductance_unit") {} - - }; - - // C++ wrapper for configuration_item - struct configuration_item : ObjectHelper { configuration_item() : Object("configuration_item") {} - identifier::Out id; - label::Out name; - Maybe< text::Out > description; - Lazy< NotImplemented > item_concept; - Maybe< label::Out > purpose; - }; - - // C++ wrapper for configurable_item - struct configurable_item : configuration_item, ObjectHelper { configurable_item() : Object("configurable_item") {} - ListOf< Lazy< NotImplemented >, 1, 0 > item_concept_feature; - }; - - // C++ wrapper for effectivity - struct effectivity : ObjectHelper { effectivity() : Object("effectivity") {} - identifier::Out id; - }; - - // C++ wrapper for product_definition_effectivity - struct product_definition_effectivity : effectivity, ObjectHelper { product_definition_effectivity() : Object("product_definition_effectivity") {} - Lazy< product_definition_relationship > usage; - }; - - // C++ wrapper for configuration_effectivity - struct configuration_effectivity : product_definition_effectivity, ObjectHelper { configuration_effectivity() : Object("configuration_effectivity") {} - Lazy< NotImplemented > configuration; - }; - - // C++ wrapper for configuration_item_relationship - struct configuration_item_relationship : ObjectHelper { configuration_item_relationship() : Object("configuration_item_relationship") {} - label::Out name; - Maybe< text::Out > description; - Lazy< configuration_item > relating_configuration_item; - Lazy< configuration_item > related_configuration_item; - }; - - // C++ wrapper for configuration_item_hierarchical_relationship - struct configuration_item_hierarchical_relationship : configuration_item_relationship, ObjectHelper { configuration_item_hierarchical_relationship() : Object("configuration_item_hierarchical_relationship") {} - - }; - - // C++ wrapper for configuration_item_revision_sequence - struct configuration_item_revision_sequence : configuration_item_relationship, ObjectHelper { configuration_item_revision_sequence() : Object("configuration_item_revision_sequence") {} - - }; - - // C++ wrapper for configured_effectivity_assignment - struct configured_effectivity_assignment : effectivity_assignment, ObjectHelper { configured_effectivity_assignment() : Object("configured_effectivity_assignment") {} - ListOf< configured_effectivity_item, 1, 0 >::Out items; - }; - - // C++ wrapper for configured_effectivity_context_assignment - struct configured_effectivity_context_assignment : effectivity_context_assignment, ObjectHelper { configured_effectivity_context_assignment() : Object("configured_effectivity_context_assignment") {} - ListOf< configured_effectivity_context_item, 1, 0 >::Out items; - }; - - // C++ wrapper for conical_stepped_hole_transition - struct conical_stepped_hole_transition : geometric_representation_item, ObjectHelper { conical_stepped_hole_transition() : Object("conical_stepped_hole_transition") {} - positive_integer::Out transition_number; - plane_angle_measure::Out cone_apex_angle; - positive_length_measure::Out cone_base_radius; - }; - - // C++ wrapper for elementary_surface - struct elementary_surface : surface, ObjectHelper { elementary_surface() : Object("elementary_surface") {} - Lazy< axis2_placement_3d > position; - }; - - // C++ wrapper for conical_surface - struct conical_surface : elementary_surface, ObjectHelper { conical_surface() : Object("conical_surface") {} - length_measure::Out radius; - plane_angle_measure::Out semi_angle; - }; - - // C++ wrapper for connected_edge_set - struct connected_edge_set : topological_representation_item, ObjectHelper { connected_edge_set() : Object("connected_edge_set") {} - ListOf< Lazy< edge >, 1, 0 > ces_edges; - }; - - // C++ wrapper for connected_face_sub_set - struct connected_face_sub_set : connected_face_set, ObjectHelper { connected_face_sub_set() : Object("connected_face_sub_set") {} - Lazy< connected_face_set > parent_face_set; - }; - - // C++ wrapper for constructive_geometry_representation - struct constructive_geometry_representation : representation, ObjectHelper { constructive_geometry_representation() : Object("constructive_geometry_representation") {} - - }; - - // C++ wrapper for representation_relationship - struct representation_relationship : ObjectHelper { representation_relationship() : Object("representation_relationship") {} - label::Out name; - Maybe< text::Out > description; - Lazy< representation > rep_1; - Lazy< representation > rep_2; - }; - - // C++ wrapper for constructive_geometry_representation_relationship - struct constructive_geometry_representation_relationship : representation_relationship, ObjectHelper { constructive_geometry_representation_relationship() : Object("constructive_geometry_representation_relationship") {} - - }; - - // C++ wrapper for contact_ratio_representation - struct contact_ratio_representation : representation, ObjectHelper { contact_ratio_representation() : Object("contact_ratio_representation") {} - - }; - - // C++ wrapper for invisibility - struct invisibility : ObjectHelper { invisibility() : Object("invisibility") {} - ListOf< invisible_item, 1, 0 >::Out invisible_items; - }; - - // C++ wrapper for context_dependent_invisibility - struct context_dependent_invisibility : invisibility, ObjectHelper { context_dependent_invisibility() : Object("context_dependent_invisibility") {} - invisibility_context::Out presentation_context; - }; - - // C++ wrapper for over_riding_styled_item - struct over_riding_styled_item : styled_item, ObjectHelper { over_riding_styled_item() : Object("over_riding_styled_item") {} - Lazy< styled_item > over_ridden_style; - }; - - // C++ wrapper for context_dependent_over_riding_styled_item - struct context_dependent_over_riding_styled_item : over_riding_styled_item, ObjectHelper { context_dependent_over_riding_styled_item() : Object("context_dependent_over_riding_styled_item") {} - ListOf< style_context_select, 1, 0 >::Out style_context; - }; - - // C++ wrapper for context_dependent_unit - struct context_dependent_unit : named_unit, ObjectHelper { context_dependent_unit() : Object("context_dependent_unit") {} - label::Out name; - }; - - // C++ wrapper for conversion_based_unit - struct conversion_based_unit : named_unit, ObjectHelper { conversion_based_unit() : Object("conversion_based_unit") {} - label::Out name; - Lazy< measure_with_unit > conversion_factor; - }; - - // C++ wrapper for csg_shape_representation - struct csg_shape_representation : shape_representation, ObjectHelper { csg_shape_representation() : Object("csg_shape_representation") {} - - }; - - // C++ wrapper for csg_solid - struct csg_solid : solid_model, ObjectHelper { csg_solid() : Object("csg_solid") {} - csg_select::Out tree_root_expression; - }; - - // C++ wrapper for currency - struct currency : context_dependent_unit, ObjectHelper { currency() : Object("currency") {} - - }; - - // C++ wrapper for currency_measure_with_unit - struct currency_measure_with_unit : measure_with_unit, ObjectHelper { currency_measure_with_unit() : Object("currency_measure_with_unit") {} - - }; - - // C++ wrapper for curve_bounded_surface - struct curve_bounded_surface : bounded_surface, ObjectHelper { curve_bounded_surface() : Object("curve_bounded_surface") {} - Lazy< surface > basis_surface; - ListOf< Lazy< boundary_curve >, 1, 0 > boundaries; - BOOLEAN::Out implicit_outer; - }; - - // C++ wrapper for curve_dimension - struct curve_dimension : dimension_curve_directed_callout, ObjectHelper { curve_dimension() : Object("curve_dimension") {} - - }; - - // C++ wrapper for curve_replica - struct curve_replica : curve, ObjectHelper { curve_replica() : Object("curve_replica") {} - Lazy< curve > parent_curve; - Lazy< cartesian_transformation_operator > transformation; - }; - - // C++ wrapper for curve_style - struct curve_style : founded_item, ObjectHelper { curve_style() : Object("curve_style") {} - label::Out name; - curve_font_or_scaled_curve_font_select::Out curve_font; - size_select::Out curve_width; - Lazy< colour > curve_colour; - }; - - // C++ wrapper for curve_style_font - struct curve_style_font : founded_item, ObjectHelper { curve_style_font() : Object("curve_style_font") {} - label::Out name; - ListOf< Lazy< curve_style_font_pattern >, 1, 0 > pattern_list; - }; - - // C++ wrapper for curve_style_font_and_scaling - struct curve_style_font_and_scaling : founded_item, ObjectHelper { curve_style_font_and_scaling() : Object("curve_style_font_and_scaling") {} - label::Out name; - curve_style_font_select::Out curve_font; - REAL::Out curve_font_scaling; - }; - - // C++ wrapper for curve_style_font_pattern - struct curve_style_font_pattern : founded_item, ObjectHelper { curve_style_font_pattern() : Object("curve_style_font_pattern") {} - positive_length_measure::Out visible_segment_length; - positive_length_measure::Out invisible_segment_length; - }; - - // C++ wrapper for curve_swept_solid_shape_representation - struct curve_swept_solid_shape_representation : shape_representation, ObjectHelper { curve_swept_solid_shape_representation() : Object("curve_swept_solid_shape_representation") {} - - }; - - // C++ wrapper for cylindrical_surface - struct cylindrical_surface : elementary_surface, ObjectHelper { cylindrical_surface() : Object("cylindrical_surface") {} - positive_length_measure::Out radius; - }; - - // C++ wrapper for cylindricity_tolerance - struct cylindricity_tolerance : geometric_tolerance, ObjectHelper { cylindricity_tolerance() : Object("cylindricity_tolerance") {} - - }; - - // C++ wrapper for date_representation_item - struct date_representation_item : ObjectHelper { date_representation_item() : Object("date_representation_item") {} - - }; - - // C++ wrapper for date_time_representation_item - struct date_time_representation_item : ObjectHelper { date_time_representation_item() : Object("date_time_representation_item") {} - - }; - - // C++ wrapper for dated_effectivity - struct dated_effectivity : effectivity, ObjectHelper { dated_effectivity() : Object("dated_effectivity") {} - Maybe< date_time_or_event_occurrence::Out > effectivity_end_date; - date_time_or_event_occurrence::Out effectivity_start_date; - }; - - // C++ wrapper for datum - struct datum : shape_aspect, ObjectHelper { datum() : Object("datum") {} - identifier::Out identification; - }; - - // C++ wrapper for datum_feature - struct datum_feature : shape_aspect, ObjectHelper { datum_feature() : Object("datum_feature") {} - - }; - - // C++ wrapper for datum_feature_callout - struct datum_feature_callout : draughting_callout, ObjectHelper { datum_feature_callout() : Object("datum_feature_callout") {} - - }; - - // C++ wrapper for datum_reference - struct datum_reference : ObjectHelper { datum_reference() : Object("datum_reference") {} - INTEGER::Out precedence; - Lazy< datum > referenced_datum; - }; - - // C++ wrapper for datum_target - struct datum_target : shape_aspect, ObjectHelper { datum_target() : Object("datum_target") {} - identifier::Out target_id; - }; - - // C++ wrapper for datum_target_callout - struct datum_target_callout : draughting_callout, ObjectHelper { datum_target_callout() : Object("datum_target_callout") {} - - }; - - // C++ wrapper for default_tolerance_table - struct default_tolerance_table : representation, ObjectHelper { default_tolerance_table() : Object("default_tolerance_table") {} - - }; - - // C++ wrapper for default_tolerance_table_cell - struct default_tolerance_table_cell : compound_representation_item, ObjectHelper { default_tolerance_table_cell() : Object("default_tolerance_table_cell") {} - - }; - - // C++ wrapper for defined_symbol - struct defined_symbol : geometric_representation_item, ObjectHelper { defined_symbol() : Object("defined_symbol") {} - defined_symbol_select::Out definition; - Lazy< symbol_target > target; - }; - - // C++ wrapper for definitional_representation - struct definitional_representation : representation, ObjectHelper { definitional_representation() : Object("definitional_representation") {} - - }; - - // C++ wrapper for definitional_representation_relationship - struct definitional_representation_relationship : representation_relationship, ObjectHelper { definitional_representation_relationship() : Object("definitional_representation_relationship") {} - - }; - - // C++ wrapper for definitional_representation_relationship_with_same_context - struct definitional_representation_relationship_with_same_context : definitional_representation_relationship, ObjectHelper { definitional_representation_relationship_with_same_context() : Object("definitional_representation_relationship_with_same_context") {} - - }; - - // C++ wrapper for degenerate_pcurve - struct degenerate_pcurve : point, ObjectHelper { degenerate_pcurve() : Object("degenerate_pcurve") {} - Lazy< surface > basis_surface; - Lazy< definitional_representation > reference_to_curve; - }; - - // C++ wrapper for toroidal_surface - struct toroidal_surface : elementary_surface, ObjectHelper { toroidal_surface() : Object("toroidal_surface") {} - positive_length_measure::Out major_radius; - positive_length_measure::Out minor_radius; - }; - - // C++ wrapper for degenerate_toroidal_surface - struct degenerate_toroidal_surface : toroidal_surface, ObjectHelper { degenerate_toroidal_surface() : Object("degenerate_toroidal_surface") {} - BOOLEAN::Out select_outer; - }; - - // C++ wrapper for descriptive_representation_item - struct descriptive_representation_item : representation_item, ObjectHelper { descriptive_representation_item() : Object("descriptive_representation_item") {} - text::Out description; - }; - - // C++ wrapper for product_definition_context - struct product_definition_context : application_context_element, ObjectHelper { product_definition_context() : Object("product_definition_context") {} - label::Out life_cycle_stage; - }; - - // C++ wrapper for design_context - struct design_context : product_definition_context, ObjectHelper { design_context() : Object("design_context") {} - - }; - - // C++ wrapper for design_make_from_relationship - struct design_make_from_relationship : product_definition_relationship, ObjectHelper { design_make_from_relationship() : Object("design_make_from_relationship") {} - - }; - - // C++ wrapper for diameter_dimension - struct diameter_dimension : dimension_curve_directed_callout, ObjectHelper { diameter_dimension() : Object("diameter_dimension") {} - - }; - - // C++ wrapper for ratio_measure_with_unit - struct ratio_measure_with_unit : measure_with_unit, ObjectHelper { ratio_measure_with_unit() : Object("ratio_measure_with_unit") {} - - }; - - // C++ wrapper for dielectric_constant_measure_with_unit - struct dielectric_constant_measure_with_unit : ratio_measure_with_unit, ObjectHelper { dielectric_constant_measure_with_unit() : Object("dielectric_constant_measure_with_unit") {} - - }; - - // C++ wrapper for dimension_callout - struct dimension_callout : draughting_callout, ObjectHelper { dimension_callout() : Object("dimension_callout") {} - - }; - - // C++ wrapper for draughting_callout_relationship - struct draughting_callout_relationship : ObjectHelper { draughting_callout_relationship() : Object("draughting_callout_relationship") {} - label::Out name; - text::Out description; - Lazy< draughting_callout > relating_draughting_callout; - Lazy< draughting_callout > related_draughting_callout; - }; - - // C++ wrapper for dimension_callout_component_relationship - struct dimension_callout_component_relationship : draughting_callout_relationship, ObjectHelper { dimension_callout_component_relationship() : Object("dimension_callout_component_relationship") {} - - }; - - // C++ wrapper for dimension_callout_relationship - struct dimension_callout_relationship : draughting_callout_relationship, ObjectHelper { dimension_callout_relationship() : Object("dimension_callout_relationship") {} - - }; - - // C++ wrapper for dimension_curve - struct dimension_curve : annotation_curve_occurrence, ObjectHelper { dimension_curve() : Object("dimension_curve") {} - - }; - - // C++ wrapper for terminator_symbol - struct terminator_symbol : annotation_symbol_occurrence, ObjectHelper { terminator_symbol() : Object("terminator_symbol") {} - Lazy< annotation_curve_occurrence > annotated_curve; - }; - - // C++ wrapper for dimension_curve_terminator - struct dimension_curve_terminator : terminator_symbol, ObjectHelper { dimension_curve_terminator() : Object("dimension_curve_terminator") {} - dimension_extent_usage::Out role; - }; - - // C++ wrapper for dimension_curve_terminator_to_projection_curve_associativity - struct dimension_curve_terminator_to_projection_curve_associativity : annotation_occurrence_associativity, ObjectHelper { dimension_curve_terminator_to_projection_curve_associativity() : Object("dimension_curve_terminator_to_projection_curve_associativity") {} - - }; - - // C++ wrapper for dimension_pair - struct dimension_pair : draughting_callout_relationship, ObjectHelper { dimension_pair() : Object("dimension_pair") {} - - }; - - // C++ wrapper for dimension_text_associativity - struct dimension_text_associativity : ObjectHelper { dimension_text_associativity() : Object("dimension_text_associativity") {} - - }; - - // C++ wrapper for dimensional_location_with_path - struct dimensional_location_with_path : dimensional_location, ObjectHelper { dimensional_location_with_path() : Object("dimensional_location_with_path") {} - Lazy< shape_aspect > path; - }; - - // C++ wrapper for dimensional_size_with_path - struct dimensional_size_with_path : dimensional_size, ObjectHelper { dimensional_size_with_path() : Object("dimensional_size_with_path") {} - Lazy< shape_aspect > path; - }; - - // C++ wrapper for executed_action - struct executed_action : action, ObjectHelper { executed_action() : Object("executed_action") {} - - }; - - // C++ wrapper for directed_action - struct directed_action : executed_action, ObjectHelper { directed_action() : Object("directed_action") {} - Lazy< NotImplemented > directive; - }; - - // C++ wrapper for directed_dimensional_location - struct directed_dimensional_location : dimensional_location, ObjectHelper { directed_dimensional_location() : Object("directed_dimensional_location") {} - - }; - - // C++ wrapper for direction - struct direction : geometric_representation_item, ObjectHelper { direction() : Object("direction") {} - ListOf< REAL, 2, 3 >::Out direction_ratios; - }; - - // C++ wrapper for document_file - struct document_file : ObjectHelper { document_file() : Object("document_file") {} - - }; - - // C++ wrapper for document_identifier - struct document_identifier : group, ObjectHelper { document_identifier() : Object("document_identifier") {} - - }; - - // C++ wrapper for document_identifier_assignment - struct document_identifier_assignment : group_assignment, ObjectHelper { document_identifier_assignment() : Object("document_identifier_assignment") {} - ListOf< document_identifier_assigned_item, 1, 0 >::Out items; - }; - - // C++ wrapper for document_product_association - struct document_product_association : ObjectHelper { document_product_association() : Object("document_product_association") {} - label::Out name; - Maybe< text::Out > description; - Lazy< NotImplemented > relating_document; - product_or_formation_or_definition::Out related_product; - }; - - // C++ wrapper for document_product_equivalence - struct document_product_equivalence : document_product_association, ObjectHelper { document_product_equivalence() : Object("document_product_equivalence") {} - - }; - - // C++ wrapper for dose_equivalent_measure_with_unit - struct dose_equivalent_measure_with_unit : measure_with_unit, ObjectHelper { dose_equivalent_measure_with_unit() : Object("dose_equivalent_measure_with_unit") {} - - }; - - // C++ wrapper for dose_equivalent_unit - struct dose_equivalent_unit : derived_unit, ObjectHelper { dose_equivalent_unit() : Object("dose_equivalent_unit") {} - - }; - - // C++ wrapper for double_offset_shelled_solid - struct double_offset_shelled_solid : shelled_solid, ObjectHelper { double_offset_shelled_solid() : Object("double_offset_shelled_solid") {} - length_measure::Out thickness2; - }; - - // C++ wrapper for item_defined_transformation - struct item_defined_transformation : ObjectHelper { item_defined_transformation() : Object("item_defined_transformation") {} - label::Out name; - Maybe< text::Out > description; - Lazy< representation_item > transform_item_1; - Lazy< representation_item > transform_item_2; - }; - - // C++ wrapper for transformation_with_derived_angle - struct transformation_with_derived_angle : item_defined_transformation, ObjectHelper { transformation_with_derived_angle() : Object("transformation_with_derived_angle") {} - - }; - - // C++ wrapper for draped_defined_transformation - struct draped_defined_transformation : transformation_with_derived_angle, ObjectHelper { draped_defined_transformation() : Object("draped_defined_transformation") {} - - }; - - // C++ wrapper for draughting_annotation_occurrence - struct draughting_annotation_occurrence : annotation_occurrence, ObjectHelper { draughting_annotation_occurrence() : Object("draughting_annotation_occurrence") {} - - }; - - // C++ wrapper for draughting_elements - struct draughting_elements : draughting_callout, ObjectHelper { draughting_elements() : Object("draughting_elements") {} - - }; - - // C++ wrapper for draughting_model - struct draughting_model : representation, ObjectHelper { draughting_model() : Object("draughting_model") {} - - }; - - // C++ wrapper for item_identified_representation_usage - struct item_identified_representation_usage : ObjectHelper { item_identified_representation_usage() : Object("item_identified_representation_usage") {} - label::Out name; - Maybe< text::Out > description; - represented_definition::Out definition; - Lazy< representation > used_representation; - Lazy< representation_item > identified_item; - }; - - // C++ wrapper for draughting_model_item_association - struct draughting_model_item_association : item_identified_representation_usage, ObjectHelper { draughting_model_item_association() : Object("draughting_model_item_association") {} - - }; - - // C++ wrapper for pre_defined_colour - struct pre_defined_colour : ObjectHelper { pre_defined_colour() : Object("pre_defined_colour") {} - - }; - - // C++ wrapper for draughting_pre_defined_colour - struct draughting_pre_defined_colour : pre_defined_colour, ObjectHelper { draughting_pre_defined_colour() : Object("draughting_pre_defined_colour") {} - - }; - - // C++ wrapper for pre_defined_item - struct pre_defined_item : ObjectHelper { pre_defined_item() : Object("pre_defined_item") {} - label::Out name; - }; - - // C++ wrapper for pre_defined_curve_font - struct pre_defined_curve_font : pre_defined_item, ObjectHelper { pre_defined_curve_font() : Object("pre_defined_curve_font") {} - - }; - - // C++ wrapper for draughting_pre_defined_curve_font - struct draughting_pre_defined_curve_font : pre_defined_curve_font, ObjectHelper { draughting_pre_defined_curve_font() : Object("draughting_pre_defined_curve_font") {} - - }; - - // C++ wrapper for pre_defined_text_font - struct pre_defined_text_font : pre_defined_item, ObjectHelper { pre_defined_text_font() : Object("pre_defined_text_font") {} - - }; - - // C++ wrapper for draughting_pre_defined_text_font - struct draughting_pre_defined_text_font : pre_defined_text_font, ObjectHelper { draughting_pre_defined_text_font() : Object("draughting_pre_defined_text_font") {} - - }; - - // C++ wrapper for draughting_subfigure_representation - struct draughting_subfigure_representation : symbol_representation, ObjectHelper { draughting_subfigure_representation() : Object("draughting_subfigure_representation") {} - - }; - - // C++ wrapper for draughting_symbol_representation - struct draughting_symbol_representation : symbol_representation, ObjectHelper { draughting_symbol_representation() : Object("draughting_symbol_representation") {} - - }; - - // C++ wrapper for text_literal - struct text_literal : geometric_representation_item, ObjectHelper { text_literal() : Object("text_literal") {} - presentable_text::Out literal; - axis2_placement::Out placement; - text_alignment::Out alignment; - text_path::Out path; - font_select::Out font; - }; - - // C++ wrapper for text_literal_with_delineation - struct text_literal_with_delineation : text_literal, ObjectHelper { text_literal_with_delineation() : Object("text_literal_with_delineation") {} - text_delineation::Out delineation; - }; - - // C++ wrapper for draughting_text_literal_with_delineation - struct draughting_text_literal_with_delineation : text_literal_with_delineation, ObjectHelper { draughting_text_literal_with_delineation() : Object("draughting_text_literal_with_delineation") {} - - }; - - // C++ wrapper for presentation_set - struct presentation_set : ObjectHelper { presentation_set() : Object("presentation_set") {} - - }; - - // C++ wrapper for drawing_revision - struct drawing_revision : presentation_set, ObjectHelper { drawing_revision() : Object("drawing_revision") {} - identifier::Out revision_identifier; - Lazy< NotImplemented > drawing_identifier; - Maybe< text::Out > intended_scale; - }; - - // C++ wrapper for presentation_representation - struct presentation_representation : representation, ObjectHelper { presentation_representation() : Object("presentation_representation") {} - - }; - - // C++ wrapper for presentation_area - struct presentation_area : presentation_representation, ObjectHelper { presentation_area() : Object("presentation_area") {} - - }; - - // C++ wrapper for drawing_sheet_revision - struct drawing_sheet_revision : presentation_area, ObjectHelper { drawing_sheet_revision() : Object("drawing_sheet_revision") {} - identifier::Out revision_identifier; - }; - - // C++ wrapper for drawing_sheet_revision_sequence - struct drawing_sheet_revision_sequence : representation_relationship, ObjectHelper { drawing_sheet_revision_sequence() : Object("drawing_sheet_revision_sequence") {} - - }; - - // C++ wrapper for drawing_sheet_revision_usage - struct drawing_sheet_revision_usage : area_in_set, ObjectHelper { drawing_sheet_revision_usage() : Object("drawing_sheet_revision_usage") {} - identifier::Out sheet_number; - }; - - // C++ wrapper for edge - struct edge : topological_representation_item, ObjectHelper { edge() : Object("edge") {} - Lazy< vertex > edge_start; - Lazy< vertex > edge_end; - }; - - // C++ wrapper for edge_based_wireframe_model - struct edge_based_wireframe_model : geometric_representation_item, ObjectHelper { edge_based_wireframe_model() : Object("edge_based_wireframe_model") {} - ListOf< Lazy< connected_edge_set >, 1, 0 > ebwm_boundary; - }; - - // C++ wrapper for edge_based_wireframe_shape_representation - struct edge_based_wireframe_shape_representation : shape_representation, ObjectHelper { edge_based_wireframe_shape_representation() : Object("edge_based_wireframe_shape_representation") {} - - }; - - // C++ wrapper for edge_blended_solid - struct edge_blended_solid : modified_solid, ObjectHelper { edge_blended_solid() : Object("edge_blended_solid") {} - ListOf< Lazy< edge_curve >, 1, 0 > blended_edges; - }; - - // C++ wrapper for edge_curve - struct edge_curve : ObjectHelper { edge_curve() : Object("edge_curve") {} - Lazy< curve > edge_geometry; - BOOLEAN::Out same_sense; - }; - - // C++ wrapper for edge_loop - struct edge_loop : ObjectHelper { edge_loop() : Object("edge_loop") {} - - }; - - // C++ wrapper for electric_charge_measure_with_unit - struct electric_charge_measure_with_unit : measure_with_unit, ObjectHelper { electric_charge_measure_with_unit() : Object("electric_charge_measure_with_unit") {} - - }; - - // C++ wrapper for electric_charge_unit - struct electric_charge_unit : derived_unit, ObjectHelper { electric_charge_unit() : Object("electric_charge_unit") {} - - }; - - // C++ wrapper for electric_current_measure_with_unit - struct electric_current_measure_with_unit : measure_with_unit, ObjectHelper { electric_current_measure_with_unit() : Object("electric_current_measure_with_unit") {} - - }; - - // C++ wrapper for electric_current_unit - struct electric_current_unit : named_unit, ObjectHelper { electric_current_unit() : Object("electric_current_unit") {} - - }; - - // C++ wrapper for electric_potential_measure_with_unit - struct electric_potential_measure_with_unit : measure_with_unit, ObjectHelper { electric_potential_measure_with_unit() : Object("electric_potential_measure_with_unit") {} - - }; - - // C++ wrapper for electric_potential_unit - struct electric_potential_unit : derived_unit, ObjectHelper { electric_potential_unit() : Object("electric_potential_unit") {} - - }; - - // C++ wrapper for elementary_brep_shape_representation - struct elementary_brep_shape_representation : shape_representation, ObjectHelper { elementary_brep_shape_representation() : Object("elementary_brep_shape_representation") {} - - }; - - // C++ wrapper for ellipse - struct ellipse : conic, ObjectHelper { ellipse() : Object("ellipse") {} - positive_length_measure::Out semi_axis_1; - positive_length_measure::Out semi_axis_2; - }; - - // C++ wrapper for energy_measure_with_unit - struct energy_measure_with_unit : measure_with_unit, ObjectHelper { energy_measure_with_unit() : Object("energy_measure_with_unit") {} - - }; - - // C++ wrapper for energy_unit - struct energy_unit : derived_unit, ObjectHelper { energy_unit() : Object("energy_unit") {} - - }; - - // C++ wrapper for property_definition - struct property_definition : ObjectHelper { property_definition() : Object("property_definition") {} - label::Out name; - Maybe< text::Out > description; - characterized_definition::Out definition; - }; - - // C++ wrapper for fact_type - struct fact_type : property_definition, ObjectHelper { fact_type() : Object("fact_type") {} - - }; - - // C++ wrapper for entity_assertion - struct entity_assertion : fact_type, ObjectHelper { entity_assertion() : Object("entity_assertion") {} - - }; - - // C++ wrapper for enum_reference_prefix - struct enum_reference_prefix : descriptive_representation_item, ObjectHelper { enum_reference_prefix() : Object("enum_reference_prefix") {} - - }; - - // C++ wrapper for evaluated_characteristic - struct evaluated_characteristic : ObjectHelper { evaluated_characteristic() : Object("evaluated_characteristic") {} - - }; - - // C++ wrapper for evaluated_degenerate_pcurve - struct evaluated_degenerate_pcurve : degenerate_pcurve, ObjectHelper { evaluated_degenerate_pcurve() : Object("evaluated_degenerate_pcurve") {} - Lazy< cartesian_point > equivalent_point; - }; - - // C++ wrapper for evaluation_product_definition - struct evaluation_product_definition : product_definition, ObjectHelper { evaluation_product_definition() : Object("evaluation_product_definition") {} - - }; - - // C++ wrapper for event_occurrence - struct event_occurrence : ObjectHelper { event_occurrence() : Object("event_occurrence") {} - identifier::Out id; - label::Out name; - Maybe< text::Out > description; - }; - - // C++ wrapper for product_concept_feature_category - struct product_concept_feature_category : group, ObjectHelper { product_concept_feature_category() : Object("product_concept_feature_category") {} - - }; - - // C++ wrapper for exclusive_product_concept_feature_category - struct exclusive_product_concept_feature_category : product_concept_feature_category, ObjectHelper { exclusive_product_concept_feature_category() : Object("exclusive_product_concept_feature_category") {} - - }; - - // C++ wrapper for uncertainty_qualifier - struct uncertainty_qualifier : ObjectHelper { uncertainty_qualifier() : Object("uncertainty_qualifier") {} - label::Out measure_name; - text::Out description; - }; - - // C++ wrapper for standard_uncertainty - struct standard_uncertainty : uncertainty_qualifier, ObjectHelper { standard_uncertainty() : Object("standard_uncertainty") {} - REAL::Out uncertainty_value; - }; - - // C++ wrapper for expanded_uncertainty - struct expanded_uncertainty : standard_uncertainty, ObjectHelper { expanded_uncertainty() : Object("expanded_uncertainty") {} - REAL::Out coverage_factor; - }; - - // C++ wrapper for representation_item_relationship - struct representation_item_relationship : ObjectHelper { representation_item_relationship() : Object("representation_item_relationship") {} - label::Out name; - Maybe< text::Out > description; - Lazy< representation_item > relating_representation_item; - Lazy< representation_item > related_representation_item; - }; - - // C++ wrapper for explicit_procedural_representation_item_relationship - struct explicit_procedural_representation_item_relationship : representation_item_relationship, ObjectHelper { explicit_procedural_representation_item_relationship() : Object("explicit_procedural_representation_item_relationship") {} - - }; - - // C++ wrapper for explicit_procedural_geometric_representation_item_relationship - struct explicit_procedural_geometric_representation_item_relationship : explicit_procedural_representation_item_relationship, ObjectHelper { explicit_procedural_geometric_representation_item_relationship() : Object("explicit_procedural_geometric_representation_item_relationship") {} - - }; - - // C++ wrapper for explicit_procedural_representation_relationship - struct explicit_procedural_representation_relationship : representation_relationship, ObjectHelper { explicit_procedural_representation_relationship() : Object("explicit_procedural_representation_relationship") {} - - }; - - // C++ wrapper for explicit_procedural_shape_representation_relationship - struct explicit_procedural_shape_representation_relationship : explicit_procedural_representation_relationship, ObjectHelper { explicit_procedural_shape_representation_relationship() : Object("explicit_procedural_shape_representation_relationship") {} - - }; - - // C++ wrapper for expression_conversion_based_unit - struct expression_conversion_based_unit : ObjectHelper { expression_conversion_based_unit() : Object("expression_conversion_based_unit") {} - - }; - - // C++ wrapper for extension - struct extension : derived_shape_aspect, ObjectHelper { extension() : Object("extension") {} - - }; - - // C++ wrapper for extent - struct extent : characterized_object, ObjectHelper { extent() : Object("extent") {} - - }; - - // C++ wrapper for external_source - struct external_source : ObjectHelper { external_source() : Object("external_source") {} - source_item::Out source_id; - }; - - // C++ wrapper for external_class_library - struct external_class_library : external_source, ObjectHelper { external_class_library() : Object("external_class_library") {} - - }; - - // C++ wrapper for externally_defined_class - struct externally_defined_class : ObjectHelper { externally_defined_class() : Object("externally_defined_class") {} - - }; - - // C++ wrapper for externally_defined_colour - struct externally_defined_colour : ObjectHelper { externally_defined_colour() : Object("externally_defined_colour") {} - - }; - - // C++ wrapper for externally_defined_context_dependent_unit - struct externally_defined_context_dependent_unit : ObjectHelper { externally_defined_context_dependent_unit() : Object("externally_defined_context_dependent_unit") {} - - }; - - // C++ wrapper for externally_defined_conversion_based_unit - struct externally_defined_conversion_based_unit : ObjectHelper { externally_defined_conversion_based_unit() : Object("externally_defined_conversion_based_unit") {} - - }; - - // C++ wrapper for externally_defined_currency - struct externally_defined_currency : ObjectHelper { externally_defined_currency() : Object("externally_defined_currency") {} - - }; - - // C++ wrapper for externally_defined_item - struct externally_defined_item : ObjectHelper { externally_defined_item() : Object("externally_defined_item") {} - source_item::Out item_id; - Lazy< external_source > source; - }; - - // C++ wrapper for externally_defined_curve_font - struct externally_defined_curve_font : externally_defined_item, ObjectHelper { externally_defined_curve_font() : Object("externally_defined_curve_font") {} - - }; - - // C++ wrapper for externally_defined_dimension_definition - struct externally_defined_dimension_definition : ObjectHelper { externally_defined_dimension_definition() : Object("externally_defined_dimension_definition") {} - - }; - - // C++ wrapper for externally_defined_general_property - struct externally_defined_general_property : ObjectHelper { externally_defined_general_property() : Object("externally_defined_general_property") {} - - }; - - // C++ wrapper for externally_defined_hatch_style - struct externally_defined_hatch_style : ObjectHelper { externally_defined_hatch_style() : Object("externally_defined_hatch_style") {} - - }; - - // C++ wrapper for externally_defined_marker - struct externally_defined_marker : ObjectHelper { externally_defined_marker() : Object("externally_defined_marker") {} - - }; - - // C++ wrapper for picture_representation_item - struct picture_representation_item : bytes_representation_item, ObjectHelper { picture_representation_item() : Object("picture_representation_item") {} - - }; - - // C++ wrapper for externally_defined_picture_representation_item - struct externally_defined_picture_representation_item : picture_representation_item, ObjectHelper { externally_defined_picture_representation_item() : Object("externally_defined_picture_representation_item") {} - - }; - - // C++ wrapper for externally_defined_representation_item - struct externally_defined_representation_item : ObjectHelper { externally_defined_representation_item() : Object("externally_defined_representation_item") {} - - }; - - // C++ wrapper for externally_defined_string - struct externally_defined_string : externally_defined_representation_item, ObjectHelper { externally_defined_string() : Object("externally_defined_string") {} - - }; - - // C++ wrapper for externally_defined_symbol - struct externally_defined_symbol : externally_defined_item, ObjectHelper { externally_defined_symbol() : Object("externally_defined_symbol") {} - - }; - - // C++ wrapper for externally_defined_terminator_symbol - struct externally_defined_terminator_symbol : externally_defined_symbol, ObjectHelper { externally_defined_terminator_symbol() : Object("externally_defined_terminator_symbol") {} - - }; - - // C++ wrapper for externally_defined_text_font - struct externally_defined_text_font : externally_defined_item, ObjectHelper { externally_defined_text_font() : Object("externally_defined_text_font") {} - - }; - - // C++ wrapper for externally_defined_tile - struct externally_defined_tile : externally_defined_item, ObjectHelper { externally_defined_tile() : Object("externally_defined_tile") {} - - }; - - // C++ wrapper for externally_defined_tile_style - struct externally_defined_tile_style : ObjectHelper { externally_defined_tile_style() : Object("externally_defined_tile_style") {} - - }; - - // C++ wrapper for swept_area_solid - struct swept_area_solid : solid_model, ObjectHelper { swept_area_solid() : Object("swept_area_solid") {} - Lazy< curve_bounded_surface > swept_area; - }; - - // C++ wrapper for extruded_area_solid - struct extruded_area_solid : swept_area_solid, ObjectHelper { extruded_area_solid() : Object("extruded_area_solid") {} - Lazy< direction > extruded_direction; - positive_length_measure::Out depth; - }; - - // C++ wrapper for swept_face_solid - struct swept_face_solid : solid_model, ObjectHelper { swept_face_solid() : Object("swept_face_solid") {} - Lazy< face_surface > swept_face; - }; - - // C++ wrapper for extruded_face_solid - struct extruded_face_solid : swept_face_solid, ObjectHelper { extruded_face_solid() : Object("extruded_face_solid") {} - Lazy< direction > extruded_direction; - positive_length_measure::Out depth; - }; - - // C++ wrapper for extruded_face_solid_with_trim_conditions - struct extruded_face_solid_with_trim_conditions : extruded_face_solid, ObjectHelper { extruded_face_solid_with_trim_conditions() : Object("extruded_face_solid_with_trim_conditions") {} - trim_condition_select::Out first_trim_condition; - trim_condition_select::Out second_trim_condition; - trim_intent::Out first_trim_intent; - trim_intent::Out second_trim_intent; - non_negative_length_measure::Out first_offset; - non_negative_length_measure::Out second_offset; - }; - - // C++ wrapper for extruded_face_solid_with_draft_angle - struct extruded_face_solid_with_draft_angle : extruded_face_solid_with_trim_conditions, ObjectHelper { extruded_face_solid_with_draft_angle() : Object("extruded_face_solid_with_draft_angle") {} - plane_angle_measure::Out draft_angle; - }; - - // C++ wrapper for extruded_face_solid_with_multiple_draft_angles - struct extruded_face_solid_with_multiple_draft_angles : extruded_face_solid_with_trim_conditions, ObjectHelper { extruded_face_solid_with_multiple_draft_angles() : Object("extruded_face_solid_with_multiple_draft_angles") {} - ListOf< plane_angle_measure, 2, 0 >::Out draft_angles; - }; - - // C++ wrapper for face - struct face : topological_representation_item, ObjectHelper { face() : Object("face") {} - ListOf< Lazy< face_bound >, 1, 0 > bounds; - }; - - // C++ wrapper for face_based_surface_model - struct face_based_surface_model : geometric_representation_item, ObjectHelper { face_based_surface_model() : Object("face_based_surface_model") {} - ListOf< Lazy< connected_face_set >, 1, 0 > fbsm_faces; - }; - - // C++ wrapper for face_bound - struct face_bound : topological_representation_item, ObjectHelper { face_bound() : Object("face_bound") {} - Lazy< loop > bound; - BOOLEAN::Out orientation; - }; - - // C++ wrapper for face_outer_bound - struct face_outer_bound : face_bound, ObjectHelper { face_outer_bound() : Object("face_outer_bound") {} - - }; - - // C++ wrapper for faceted_brep - struct faceted_brep : manifold_solid_brep, ObjectHelper { faceted_brep() : Object("faceted_brep") {} - - }; - - // C++ wrapper for faceted_brep_shape_representation - struct faceted_brep_shape_representation : shape_representation, ObjectHelper { faceted_brep_shape_representation() : Object("faceted_brep_shape_representation") {} - - }; - - // C++ wrapper for fill_area_style - struct fill_area_style : founded_item, ObjectHelper { fill_area_style() : Object("fill_area_style") {} - label::Out name; - ListOf< fill_style_select, 1, 0 >::Out fill_styles; - }; - - // C++ wrapper for fill_area_style_hatching - struct fill_area_style_hatching : geometric_representation_item, ObjectHelper { fill_area_style_hatching() : Object("fill_area_style_hatching") {} - Lazy< curve_style > hatch_line_appearance; - Lazy< one_direction_repeat_factor > start_of_next_hatch_line; - Lazy< cartesian_point > point_of_reference_hatch_line; - Lazy< cartesian_point > pattern_start; - plane_angle_measure::Out hatch_line_angle; - }; - - // C++ wrapper for fill_area_style_tile_coloured_region - struct fill_area_style_tile_coloured_region : geometric_representation_item, ObjectHelper { fill_area_style_tile_coloured_region() : Object("fill_area_style_tile_coloured_region") {} - curve_or_annotation_curve_occurrence::Out closed_curve; - Lazy< colour > region_colour; - }; - - // C++ wrapper for fill_area_style_tile_curve_with_style - struct fill_area_style_tile_curve_with_style : geometric_representation_item, ObjectHelper { fill_area_style_tile_curve_with_style() : Object("fill_area_style_tile_curve_with_style") {} - Lazy< annotation_curve_occurrence > styled_curve; - }; - - // C++ wrapper for fill_area_style_tile_symbol_with_style - struct fill_area_style_tile_symbol_with_style : geometric_representation_item, ObjectHelper { fill_area_style_tile_symbol_with_style() : Object("fill_area_style_tile_symbol_with_style") {} - Lazy< annotation_symbol_occurrence > symbol; - }; - - // C++ wrapper for fill_area_style_tiles - struct fill_area_style_tiles : geometric_representation_item, ObjectHelper { fill_area_style_tiles() : Object("fill_area_style_tiles") {} - Lazy< two_direction_repeat_factor > tiling_pattern; - ListOf< fill_area_style_tile_shape_select, 1, 0 >::Out tiles; - positive_ratio_measure::Out tiling_scale; - }; - - // C++ wrapper for shape_representation_relationship - struct shape_representation_relationship : representation_relationship, ObjectHelper { shape_representation_relationship() : Object("shape_representation_relationship") {} - - }; - - // C++ wrapper for flat_pattern_ply_representation_relationship - struct flat_pattern_ply_representation_relationship : shape_representation_relationship, ObjectHelper { flat_pattern_ply_representation_relationship() : Object("flat_pattern_ply_representation_relationship") {} - - }; - - // C++ wrapper for flatness_tolerance - struct flatness_tolerance : geometric_tolerance, ObjectHelper { flatness_tolerance() : Object("flatness_tolerance") {} - - }; - - // C++ wrapper for force_measure_with_unit - struct force_measure_with_unit : measure_with_unit, ObjectHelper { force_measure_with_unit() : Object("force_measure_with_unit") {} - - }; - - // C++ wrapper for force_unit - struct force_unit : derived_unit, ObjectHelper { force_unit() : Object("force_unit") {} - - }; - - // C++ wrapper for forward_chaining_rule - struct forward_chaining_rule : rule_definition, ObjectHelper { forward_chaining_rule() : Object("forward_chaining_rule") {} - - }; - - // C++ wrapper for forward_chaining_rule_premise - struct forward_chaining_rule_premise : ObjectHelper { forward_chaining_rule_premise() : Object("forward_chaining_rule_premise") {} - - }; - - // C++ wrapper for frequency_measure_with_unit - struct frequency_measure_with_unit : measure_with_unit, ObjectHelper { frequency_measure_with_unit() : Object("frequency_measure_with_unit") {} - - }; - - // C++ wrapper for frequency_unit - struct frequency_unit : derived_unit, ObjectHelper { frequency_unit() : Object("frequency_unit") {} - - }; - - // C++ wrapper for func - struct func : compound_representation_item, ObjectHelper { func() : Object("func") {} - - }; - - // C++ wrapper for functional_breakdown_context - struct functional_breakdown_context : breakdown_context, ObjectHelper { functional_breakdown_context() : Object("functional_breakdown_context") {} - - }; - - // C++ wrapper for functional_element_usage - struct functional_element_usage : breakdown_element_usage, ObjectHelper { functional_element_usage() : Object("functional_element_usage") {} - - }; - - // C++ wrapper for general_material_property - struct general_material_property : general_property, ObjectHelper { general_material_property() : Object("general_material_property") {} - - }; - - // C++ wrapper for simple_generic_expression - struct simple_generic_expression : generic_expression, ObjectHelper { simple_generic_expression() : Object("simple_generic_expression") {} - - }; - - // C++ wrapper for generic_literal - struct generic_literal : simple_generic_expression, ObjectHelper { generic_literal() : Object("generic_literal") {} - - }; - - // C++ wrapper for generic_variable - struct generic_variable : simple_generic_expression, ObjectHelper { generic_variable() : Object("generic_variable") {} - - }; - - // C++ wrapper for geometric_alignment - struct geometric_alignment : derived_shape_aspect, ObjectHelper { geometric_alignment() : Object("geometric_alignment") {} - - }; - - // C++ wrapper for geometric_set - struct geometric_set : geometric_representation_item, ObjectHelper { geometric_set() : Object("geometric_set") {} - ListOf< geometric_set_select, 1, 0 >::Out elements; - }; - - // C++ wrapper for geometric_curve_set - struct geometric_curve_set : geometric_set, ObjectHelper { geometric_curve_set() : Object("geometric_curve_set") {} - - }; - - // C++ wrapper for geometric_intersection - struct geometric_intersection : derived_shape_aspect, ObjectHelper { geometric_intersection() : Object("geometric_intersection") {} - - }; - - // C++ wrapper for geometric_item_specific_usage - struct geometric_item_specific_usage : item_identified_representation_usage, ObjectHelper { geometric_item_specific_usage() : Object("geometric_item_specific_usage") {} - - }; - - // C++ wrapper for geometric_model_element_relationship - struct geometric_model_element_relationship : ObjectHelper { geometric_model_element_relationship() : Object("geometric_model_element_relationship") {} - - }; - - // C++ wrapper for representation_context - struct representation_context : ObjectHelper { representation_context() : Object("representation_context") {} - identifier::Out context_identifier; - text::Out context_type; - }; - - // C++ wrapper for geometric_representation_context - struct geometric_representation_context : representation_context, ObjectHelper { geometric_representation_context() : Object("geometric_representation_context") {} - dimension_count::Out coordinate_space_dimension; - }; - - // C++ wrapper for geometric_tolerance_with_defined_unit - struct geometric_tolerance_with_defined_unit : geometric_tolerance, ObjectHelper { geometric_tolerance_with_defined_unit() : Object("geometric_tolerance_with_defined_unit") {} - Lazy< measure_with_unit > unit_size; - }; - - // C++ wrapper for geometrical_tolerance_callout - struct geometrical_tolerance_callout : draughting_callout, ObjectHelper { geometrical_tolerance_callout() : Object("geometrical_tolerance_callout") {} - - }; - - // C++ wrapper for geometrically_bounded_2d_wireframe_representation - struct geometrically_bounded_2d_wireframe_representation : shape_representation, ObjectHelper { geometrically_bounded_2d_wireframe_representation() : Object("geometrically_bounded_2d_wireframe_representation") {} - - }; - - // C++ wrapper for geometrically_bounded_surface_shape_representation - struct geometrically_bounded_surface_shape_representation : shape_representation, ObjectHelper { geometrically_bounded_surface_shape_representation() : Object("geometrically_bounded_surface_shape_representation") {} - - }; - - // C++ wrapper for geometrically_bounded_wireframe_shape_representation - struct geometrically_bounded_wireframe_shape_representation : shape_representation, ObjectHelper { geometrically_bounded_wireframe_shape_representation() : Object("geometrically_bounded_wireframe_shape_representation") {} - - }; - - // C++ wrapper for global_assignment - struct global_assignment : representation_item_relationship, ObjectHelper { global_assignment() : Object("global_assignment") {} - - }; - - // C++ wrapper for global_uncertainty_assigned_context - struct global_uncertainty_assigned_context : representation_context, ObjectHelper { global_uncertainty_assigned_context() : Object("global_uncertainty_assigned_context") {} - ListOf< Lazy< uncertainty_measure_with_unit >, 1, 0 > uncertainty; - }; - - // C++ wrapper for global_unit_assigned_context - struct global_unit_assigned_context : representation_context, ObjectHelper { global_unit_assigned_context() : Object("global_unit_assigned_context") {} - ListOf< unit, 1, 0 >::Out units; - }; - - // C++ wrapper for ground_fact - struct ground_fact : atomic_formula, ObjectHelper { ground_fact() : Object("ground_fact") {} - - }; - - // C++ wrapper for hardness_representation - struct hardness_representation : representation, ObjectHelper { hardness_representation() : Object("hardness_representation") {} - - }; - - // C++ wrapper for hidden_element_over_riding_styled_item - struct hidden_element_over_riding_styled_item : context_dependent_over_riding_styled_item, ObjectHelper { hidden_element_over_riding_styled_item() : Object("hidden_element_over_riding_styled_item") {} - - }; - - // C++ wrapper for hyperbola - struct hyperbola : conic, ObjectHelper { hyperbola() : Object("hyperbola") {} - positive_length_measure::Out semi_axis; - positive_length_measure::Out semi_imag_axis; - }; - - // C++ wrapper for illuminance_measure_with_unit - struct illuminance_measure_with_unit : measure_with_unit, ObjectHelper { illuminance_measure_with_unit() : Object("illuminance_measure_with_unit") {} - - }; - - // C++ wrapper for illuminance_unit - struct illuminance_unit : derived_unit, ObjectHelper { illuminance_unit() : Object("illuminance_unit") {} - - }; - - // C++ wrapper for included_text_block - struct included_text_block : mapped_item, ObjectHelper { included_text_block() : Object("included_text_block") {} - - }; - - // C++ wrapper for inclusion_product_concept_feature - struct inclusion_product_concept_feature : conditional_concept_feature, ObjectHelper { inclusion_product_concept_feature() : Object("inclusion_product_concept_feature") {} - - }; - - // C++ wrapper for user_selected_elements - struct user_selected_elements : representation_item, ObjectHelper { user_selected_elements() : Object("user_selected_elements") {} - ListOf< Lazy< representation_item >, 1, 0 > picked_items; - }; - - // C++ wrapper for indirectly_selected_elements - struct indirectly_selected_elements : user_selected_elements, ObjectHelper { indirectly_selected_elements() : Object("indirectly_selected_elements") {} - ListOf< Lazy< representation_item >, 1, 0 > indirectly_picked_items; - }; - - // C++ wrapper for indirectly_selected_shape_elements - struct indirectly_selected_shape_elements : ObjectHelper { indirectly_selected_shape_elements() : Object("indirectly_selected_shape_elements") {} - - }; - - // C++ wrapper for inductance_measure_with_unit - struct inductance_measure_with_unit : measure_with_unit, ObjectHelper { inductance_measure_with_unit() : Object("inductance_measure_with_unit") {} - - }; - - // C++ wrapper for inductance_unit - struct inductance_unit : derived_unit, ObjectHelper { inductance_unit() : Object("inductance_unit") {} - - }; - - // C++ wrapper for information_right - struct information_right : action_method, ObjectHelper { information_right() : Object("information_right") {} - - }; - - // C++ wrapper for information_usage_right - struct information_usage_right : action_method, ObjectHelper { information_usage_right() : Object("information_usage_right") {} - - }; - - // C++ wrapper for instance_usage_context_assignment - struct instance_usage_context_assignment : product_definition_context, ObjectHelper { instance_usage_context_assignment() : Object("instance_usage_context_assignment") {} - ListOf< instance_usage_context_select, 1, 0 >::Out items; - }; - - // C++ wrapper for instanced_feature - struct instanced_feature : ObjectHelper { instanced_feature() : Object("instanced_feature") {} - - }; - - // C++ wrapper for literal_number - struct literal_number : ObjectHelper { literal_number() : Object("literal_number") {} - NUMBER::Out the_value; - }; - - // C++ wrapper for int_literal - struct int_literal : literal_number, ObjectHelper { int_literal() : Object("int_literal") {} - - }; - - // C++ wrapper for integer_representation_item - struct integer_representation_item : ObjectHelper { integer_representation_item() : Object("integer_representation_item") {} - - }; - - // C++ wrapper for surface_curve - struct surface_curve : curve, ObjectHelper { surface_curve() : Object("surface_curve") {} - Lazy< curve > curve_3d; - ListOf< pcurve_or_surface, 1, 2 >::Out associated_geometry; - preferred_surface_curve_representation::Out master_representation; - }; - - // C++ wrapper for intersection_curve - struct intersection_curve : surface_curve, ObjectHelper { intersection_curve() : Object("intersection_curve") {} - - }; - - // C++ wrapper for interval_expression - struct interval_expression : ObjectHelper { interval_expression() : Object("interval_expression") {} - - }; - - // C++ wrapper for iso4217_currency - struct iso4217_currency : currency, ObjectHelper { iso4217_currency() : Object("iso4217_currency") {} - - }; - - // C++ wrapper for known_source - struct known_source : ObjectHelper { known_source() : Object("known_source") {} - - }; - - // C++ wrapper for laid_defined_transformation - struct laid_defined_transformation : transformation_with_derived_angle, ObjectHelper { laid_defined_transformation() : Object("laid_defined_transformation") {} - - }; - - // C++ wrapper for language - struct language : group, ObjectHelper { language() : Object("language") {} - - }; - - // C++ wrapper for leader_curve - struct leader_curve : annotation_curve_occurrence, ObjectHelper { leader_curve() : Object("leader_curve") {} - - }; - - // C++ wrapper for leader_directed_callout - struct leader_directed_callout : draughting_callout, ObjectHelper { leader_directed_callout() : Object("leader_directed_callout") {} - - }; - - // C++ wrapper for leader_directed_dimension - struct leader_directed_dimension : leader_directed_callout, ObjectHelper { leader_directed_dimension() : Object("leader_directed_dimension") {} - - }; - - // C++ wrapper for leader_terminator - struct leader_terminator : terminator_symbol, ObjectHelper { leader_terminator() : Object("leader_terminator") {} - - }; - - // C++ wrapper for length_measure_with_unit - struct length_measure_with_unit : measure_with_unit, ObjectHelper { length_measure_with_unit() : Object("length_measure_with_unit") {} - - }; - - // C++ wrapper for length_unit - struct length_unit : named_unit, ObjectHelper { length_unit() : Object("length_unit") {} - - }; - - // C++ wrapper for light_source - struct light_source : geometric_representation_item, ObjectHelper { light_source() : Object("light_source") {} - Lazy< colour > light_colour; - }; - - // C++ wrapper for light_source_ambient - struct light_source_ambient : light_source, ObjectHelper { light_source_ambient() : Object("light_source_ambient") {} - - }; - - // C++ wrapper for light_source_directional - struct light_source_directional : light_source, ObjectHelper { light_source_directional() : Object("light_source_directional") {} - Lazy< direction > orientation; - }; - - // C++ wrapper for light_source_positional - struct light_source_positional : light_source, ObjectHelper { light_source_positional() : Object("light_source_positional") {} - Lazy< cartesian_point > position; - REAL::Out constant_attenuation; - REAL::Out distance_attenuation; - }; - - // C++ wrapper for light_source_spot - struct light_source_spot : light_source, ObjectHelper { light_source_spot() : Object("light_source_spot") {} - Lazy< cartesian_point > position; - Lazy< direction > orientation; - REAL::Out concentration_exponent; - REAL::Out constant_attenuation; - REAL::Out distance_attenuation; - positive_plane_angle_measure::Out spread_angle; - }; - - // C++ wrapper for line - struct line : curve, ObjectHelper { line() : Object("line") {} - Lazy< cartesian_point > pnt; - Lazy< vector > dir; - }; - - // C++ wrapper for line_profile_tolerance - struct line_profile_tolerance : geometric_tolerance, ObjectHelper { line_profile_tolerance() : Object("line_profile_tolerance") {} - - }; - - // C++ wrapper for linear_dimension - struct linear_dimension : dimension_curve_directed_callout, ObjectHelper { linear_dimension() : Object("linear_dimension") {} - - }; - - // C++ wrapper for simple_clause - struct simple_clause : compound_representation_item, ObjectHelper { simple_clause() : Object("simple_clause") {} - - }; - - // C++ wrapper for literal_conjunction - struct literal_conjunction : simple_clause, ObjectHelper { literal_conjunction() : Object("literal_conjunction") {} - - }; - - // C++ wrapper for literal_disjunction - struct literal_disjunction : simple_clause, ObjectHelper { literal_disjunction() : Object("literal_disjunction") {} - - }; - - // C++ wrapper for logical_literal - struct logical_literal : generic_literal, ObjectHelper { logical_literal() : Object("logical_literal") {} - LOGICAL::Out lit_value; - }; - - // C++ wrapper for logical_representation_item - struct logical_representation_item : ObjectHelper { logical_representation_item() : Object("logical_representation_item") {} - - }; - - // C++ wrapper for loop - struct loop : topological_representation_item, ObjectHelper { loop() : Object("loop") {} - - }; - - // C++ wrapper for loss_tangent_measure_with_unit - struct loss_tangent_measure_with_unit : ratio_measure_with_unit, ObjectHelper { loss_tangent_measure_with_unit() : Object("loss_tangent_measure_with_unit") {} - - }; - - // C++ wrapper for lot_effectivity - struct lot_effectivity : effectivity, ObjectHelper { lot_effectivity() : Object("lot_effectivity") {} - identifier::Out effectivity_lot_id; - Lazy< measure_with_unit > effectivity_lot_size; - }; - - // C++ wrapper for luminous_flux_measure_with_unit - struct luminous_flux_measure_with_unit : measure_with_unit, ObjectHelper { luminous_flux_measure_with_unit() : Object("luminous_flux_measure_with_unit") {} - - }; - - // C++ wrapper for luminous_flux_unit - struct luminous_flux_unit : named_unit, ObjectHelper { luminous_flux_unit() : Object("luminous_flux_unit") {} - - }; - - // C++ wrapper for luminous_intensity_measure_with_unit - struct luminous_intensity_measure_with_unit : measure_with_unit, ObjectHelper { luminous_intensity_measure_with_unit() : Object("luminous_intensity_measure_with_unit") {} - - }; - - // C++ wrapper for luminous_intensity_unit - struct luminous_intensity_unit : named_unit, ObjectHelper { luminous_intensity_unit() : Object("luminous_intensity_unit") {} - - }; - - // C++ wrapper for magnetic_flux_density_measure_with_unit - struct magnetic_flux_density_measure_with_unit : measure_with_unit, ObjectHelper { magnetic_flux_density_measure_with_unit() : Object("magnetic_flux_density_measure_with_unit") {} - - }; - - // C++ wrapper for magnetic_flux_density_unit - struct magnetic_flux_density_unit : derived_unit, ObjectHelper { magnetic_flux_density_unit() : Object("magnetic_flux_density_unit") {} - - }; - - // C++ wrapper for magnetic_flux_measure_with_unit - struct magnetic_flux_measure_with_unit : measure_with_unit, ObjectHelper { magnetic_flux_measure_with_unit() : Object("magnetic_flux_measure_with_unit") {} - - }; - - // C++ wrapper for magnetic_flux_unit - struct magnetic_flux_unit : derived_unit, ObjectHelper { magnetic_flux_unit() : Object("magnetic_flux_unit") {} - - }; - - // C++ wrapper for make_from_usage_option - struct make_from_usage_option : product_definition_usage, ObjectHelper { make_from_usage_option() : Object("make_from_usage_option") {} - INTEGER::Out ranking; - text::Out ranking_rationale; - Lazy< measure_with_unit > quantity; - }; - - // C++ wrapper for manifold_subsurface_shape_representation - struct manifold_subsurface_shape_representation : shape_representation, ObjectHelper { manifold_subsurface_shape_representation() : Object("manifold_subsurface_shape_representation") {} - - }; - - // C++ wrapper for manifold_surface_shape_representation - struct manifold_surface_shape_representation : shape_representation, ObjectHelper { manifold_surface_shape_representation() : Object("manifold_surface_shape_representation") {} - - }; - - // C++ wrapper for mass_measure_with_unit - struct mass_measure_with_unit : measure_with_unit, ObjectHelper { mass_measure_with_unit() : Object("mass_measure_with_unit") {} - - }; - - // C++ wrapper for mass_unit - struct mass_unit : named_unit, ObjectHelper { mass_unit() : Object("mass_unit") {} - - }; - - // C++ wrapper for material_property - struct material_property : property_definition, ObjectHelper { material_property() : Object("material_property") {} - - }; - - // C++ wrapper for property_definition_representation - struct property_definition_representation : ObjectHelper { property_definition_representation() : Object("property_definition_representation") {} - represented_definition::Out definition; - Lazy< representation > used_representation; - }; - - // C++ wrapper for material_property_representation - struct material_property_representation : property_definition_representation, ObjectHelper { material_property_representation() : Object("material_property_representation") {} - Lazy< NotImplemented > dependent_environment; - }; - - // C++ wrapper for measure_representation_item - struct measure_representation_item : ObjectHelper { measure_representation_item() : Object("measure_representation_item") {} - - }; - - // C++ wrapper for product_context - struct product_context : application_context_element, ObjectHelper { product_context() : Object("product_context") {} - label::Out discipline_type; - }; - - // C++ wrapper for mechanical_context - struct mechanical_context : product_context, ObjectHelper { mechanical_context() : Object("mechanical_context") {} - - }; - - // C++ wrapper for mechanical_design_and_draughting_relationship - struct mechanical_design_and_draughting_relationship : definitional_representation_relationship_with_same_context, ObjectHelper { mechanical_design_and_draughting_relationship() : Object("mechanical_design_and_draughting_relationship") {} - - }; - - // C++ wrapper for mechanical_design_geometric_presentation_area - struct mechanical_design_geometric_presentation_area : presentation_area, ObjectHelper { mechanical_design_geometric_presentation_area() : Object("mechanical_design_geometric_presentation_area") {} - - }; - - // C++ wrapper for mechanical_design_geometric_presentation_representation - struct mechanical_design_geometric_presentation_representation : representation, ObjectHelper { mechanical_design_geometric_presentation_representation() : Object("mechanical_design_geometric_presentation_representation") {} - - }; - - // C++ wrapper for mechanical_design_presentation_representation_with_draughting - struct mechanical_design_presentation_representation_with_draughting : representation, ObjectHelper { mechanical_design_presentation_representation_with_draughting() : Object("mechanical_design_presentation_representation_with_draughting") {} - - }; - - // C++ wrapper for mechanical_design_shaded_presentation_area - struct mechanical_design_shaded_presentation_area : presentation_area, ObjectHelper { mechanical_design_shaded_presentation_area() : Object("mechanical_design_shaded_presentation_area") {} - - }; - - // C++ wrapper for mechanical_design_shaded_presentation_representation - struct mechanical_design_shaded_presentation_representation : representation, ObjectHelper { mechanical_design_shaded_presentation_representation() : Object("mechanical_design_shaded_presentation_representation") {} - - }; - - // C++ wrapper for min_and_major_ply_orientation_basis - struct min_and_major_ply_orientation_basis : ObjectHelper { min_and_major_ply_orientation_basis() : Object("min_and_major_ply_orientation_basis") {} - - }; - - // C++ wrapper for modified_geometric_tolerance - struct modified_geometric_tolerance : geometric_tolerance, ObjectHelper { modified_geometric_tolerance() : Object("modified_geometric_tolerance") {} - limit_condition::Out modifier; - }; - - // C++ wrapper for modified_solid_with_placed_configuration - struct modified_solid_with_placed_configuration : modified_solid, ObjectHelper { modified_solid_with_placed_configuration() : Object("modified_solid_with_placed_configuration") {} - Lazy< axis2_placement_3d > placing; - }; - - // C++ wrapper for moments_of_inertia_representation - struct moments_of_inertia_representation : representation, ObjectHelper { moments_of_inertia_representation() : Object("moments_of_inertia_representation") {} - - }; - - // C++ wrapper for multi_language_attribute_assignment - struct multi_language_attribute_assignment : attribute_value_assignment, ObjectHelper { multi_language_attribute_assignment() : Object("multi_language_attribute_assignment") {} - ListOf< multi_language_attribute_item, 1, 0 >::Out items; - }; - - // C++ wrapper for multiple_arity_boolean_expression - struct multiple_arity_boolean_expression : ObjectHelper { multiple_arity_boolean_expression() : Object("multiple_arity_boolean_expression") {} - - }; - - // C++ wrapper for multiple_arity_generic_expression - struct multiple_arity_generic_expression : generic_expression, ObjectHelper { multiple_arity_generic_expression() : Object("multiple_arity_generic_expression") {} - ListOf< Lazy< generic_expression >, 2, 0 > operands; - }; - - // C++ wrapper for multiple_arity_numeric_expression - struct multiple_arity_numeric_expression : ObjectHelper { multiple_arity_numeric_expression() : Object("multiple_arity_numeric_expression") {} - - }; - - // C++ wrapper for next_assembly_usage_occurrence - struct next_assembly_usage_occurrence : assembly_component_usage, ObjectHelper { next_assembly_usage_occurrence() : Object("next_assembly_usage_occurrence") {} - - }; - - // C++ wrapper for non_manifold_surface_shape_representation - struct non_manifold_surface_shape_representation : shape_representation, ObjectHelper { non_manifold_surface_shape_representation() : Object("non_manifold_surface_shape_representation") {} - - }; - - // C++ wrapper for null_representation_item - struct null_representation_item : representation_item, ObjectHelper { null_representation_item() : Object("null_representation_item") {} - - }; - - // C++ wrapper for numeric_expression - struct numeric_expression : expression, ObjectHelper { numeric_expression() : Object("numeric_expression") {} - - }; - - // C++ wrapper for offset_curve_2d - struct offset_curve_2d : curve, ObjectHelper { offset_curve_2d() : Object("offset_curve_2d") {} - Lazy< curve > basis_curve; - length_measure::Out distance; - LOGICAL::Out self_intersect; - }; - - // C++ wrapper for offset_curve_3d - struct offset_curve_3d : curve, ObjectHelper { offset_curve_3d() : Object("offset_curve_3d") {} - Lazy< curve > basis_curve; - length_measure::Out distance; - LOGICAL::Out self_intersect; - Lazy< direction > ref_direction; - }; - - // C++ wrapper for offset_surface - struct offset_surface : surface, ObjectHelper { offset_surface() : Object("offset_surface") {} - Lazy< surface > basis_surface; - length_measure::Out distance; - LOGICAL::Out self_intersect; - }; - - // C++ wrapper for one_direction_repeat_factor - struct one_direction_repeat_factor : geometric_representation_item, ObjectHelper { one_direction_repeat_factor() : Object("one_direction_repeat_factor") {} - Lazy< vector > repeat_factor; - }; - - // C++ wrapper for open_shell - struct open_shell : connected_face_set, ObjectHelper { open_shell() : Object("open_shell") {} - - }; - - // C++ wrapper for ordinal_date - struct ordinal_date : date, ObjectHelper { ordinal_date() : Object("ordinal_date") {} - day_in_year_number::Out day_component; - }; - - // C++ wrapper for projection_directed_callout - struct projection_directed_callout : draughting_callout, ObjectHelper { projection_directed_callout() : Object("projection_directed_callout") {} - - }; - - // C++ wrapper for ordinate_dimension - struct ordinate_dimension : projection_directed_callout, ObjectHelper { ordinate_dimension() : Object("ordinate_dimension") {} - - }; - - // C++ wrapper for organizational_address - struct organizational_address : address, ObjectHelper { organizational_address() : Object("organizational_address") {} - ListOf< Lazy< NotImplemented >, 1, 0 > organizations; - Maybe< text::Out > description; - }; - - // C++ wrapper for oriented_closed_shell - struct oriented_closed_shell : closed_shell, ObjectHelper { oriented_closed_shell() : Object("oriented_closed_shell") {} - Lazy< closed_shell > closed_shell_element; - BOOLEAN::Out orientation; - }; - - // C++ wrapper for oriented_edge - struct oriented_edge : edge, ObjectHelper { oriented_edge() : Object("oriented_edge") {} - Lazy< edge > edge_element; - BOOLEAN::Out orientation; - }; - - // C++ wrapper for oriented_face - struct oriented_face : face, ObjectHelper { oriented_face() : Object("oriented_face") {} - Lazy< face > face_element; - BOOLEAN::Out orientation; - }; - - // C++ wrapper for oriented_open_shell - struct oriented_open_shell : open_shell, ObjectHelper { oriented_open_shell() : Object("oriented_open_shell") {} - Lazy< open_shell > open_shell_element; - BOOLEAN::Out orientation; - }; - - // C++ wrapper for path - struct path : topological_representation_item, ObjectHelper { path() : Object("path") {} - ListOf< Lazy< oriented_edge >, 1, 0 > edge_list; - }; - - // C++ wrapper for oriented_path - struct oriented_path : path, ObjectHelper { oriented_path() : Object("oriented_path") {} - Lazy< path > path_element; - BOOLEAN::Out orientation; - }; - - // C++ wrapper for oriented_surface - struct oriented_surface : surface, ObjectHelper { oriented_surface() : Object("oriented_surface") {} - BOOLEAN::Out orientation; - }; - - // C++ wrapper for outer_boundary_curve - struct outer_boundary_curve : boundary_curve, ObjectHelper { outer_boundary_curve() : Object("outer_boundary_curve") {} - - }; - - // C++ wrapper for package_product_concept_feature - struct package_product_concept_feature : product_concept_feature, ObjectHelper { package_product_concept_feature() : Object("package_product_concept_feature") {} - - }; - - // C++ wrapper for parabola - struct parabola : conic, ObjectHelper { parabola() : Object("parabola") {} - length_measure::Out focal_dist; - }; - - // C++ wrapper for parallel_offset - struct parallel_offset : derived_shape_aspect, ObjectHelper { parallel_offset() : Object("parallel_offset") {} - Lazy< measure_with_unit > offset; - }; - - // C++ wrapper for parallelism_tolerance - struct parallelism_tolerance : geometric_tolerance_with_datum_reference, ObjectHelper { parallelism_tolerance() : Object("parallelism_tolerance") {} - - }; - - // C++ wrapper for parametric_representation_context - struct parametric_representation_context : representation_context, ObjectHelper { parametric_representation_context() : Object("parametric_representation_context") {} - - }; - - // C++ wrapper for partial_document_with_structured_text_representation_assignment - struct partial_document_with_structured_text_representation_assignment : ObjectHelper { partial_document_with_structured_text_representation_assignment() : Object("partial_document_with_structured_text_representation_assignment") {} - - }; - - // C++ wrapper for pcurve - struct pcurve : curve, ObjectHelper { pcurve() : Object("pcurve") {} - Lazy< surface > basis_surface; - Lazy< definitional_representation > reference_to_curve; - }; - - // C++ wrapper for percentage_laminate_definition - struct percentage_laminate_definition : product_definition, ObjectHelper { percentage_laminate_definition() : Object("percentage_laminate_definition") {} - - }; - - // C++ wrapper for zone_structural_makeup - struct zone_structural_makeup : laminate_table, ObjectHelper { zone_structural_makeup() : Object("zone_structural_makeup") {} - - }; - - // C++ wrapper for percentage_laminate_table - struct percentage_laminate_table : zone_structural_makeup, ObjectHelper { percentage_laminate_table() : Object("percentage_laminate_table") {} - - }; - - // C++ wrapper for percentage_ply_definition - struct percentage_ply_definition : product_definition, ObjectHelper { percentage_ply_definition() : Object("percentage_ply_definition") {} - - }; - - // C++ wrapper for perpendicular_to - struct perpendicular_to : derived_shape_aspect, ObjectHelper { perpendicular_to() : Object("perpendicular_to") {} - - }; - - // C++ wrapper for perpendicularity_tolerance - struct perpendicularity_tolerance : geometric_tolerance_with_datum_reference, ObjectHelper { perpendicularity_tolerance() : Object("perpendicularity_tolerance") {} - - }; - - // C++ wrapper for person_and_organization_address - struct person_and_organization_address : ObjectHelper { person_and_organization_address() : Object("person_and_organization_address") {} - - }; - - // C++ wrapper for personal_address - struct personal_address : address, ObjectHelper { personal_address() : Object("personal_address") {} - ListOf< Lazy< NotImplemented >, 1, 0 > people; - Maybe< text::Out > description; - }; - - // C++ wrapper for physical_breakdown_context - struct physical_breakdown_context : breakdown_context, ObjectHelper { physical_breakdown_context() : Object("physical_breakdown_context") {} - - }; - - // C++ wrapper for physical_element_usage - struct physical_element_usage : breakdown_element_usage, ObjectHelper { physical_element_usage() : Object("physical_element_usage") {} - - }; - - // C++ wrapper for presentation_view - struct presentation_view : presentation_representation, ObjectHelper { presentation_view() : Object("presentation_view") {} - - }; - - // C++ wrapper for picture_representation - struct picture_representation : presentation_view, ObjectHelper { picture_representation() : Object("picture_representation") {} - - }; - - // C++ wrapper for placed_datum_target_feature - struct placed_datum_target_feature : datum_target, ObjectHelper { placed_datum_target_feature() : Object("placed_datum_target_feature") {} - - }; - - // C++ wrapper for placed_feature - struct placed_feature : shape_aspect, ObjectHelper { placed_feature() : Object("placed_feature") {} - - }; - - // C++ wrapper for planar_extent - struct planar_extent : geometric_representation_item, ObjectHelper { planar_extent() : Object("planar_extent") {} - length_measure::Out size_in_x; - length_measure::Out size_in_y; - }; - - // C++ wrapper for planar_box - struct planar_box : planar_extent, ObjectHelper { planar_box() : Object("planar_box") {} - axis2_placement::Out placement; - }; - - // C++ wrapper for plane - struct plane : elementary_surface, ObjectHelper { plane() : Object("plane") {} - - }; - - // C++ wrapper for plane_angle_measure_with_unit - struct plane_angle_measure_with_unit : measure_with_unit, ObjectHelper { plane_angle_measure_with_unit() : Object("plane_angle_measure_with_unit") {} - - }; - - // C++ wrapper for plane_angle_unit - struct plane_angle_unit : named_unit, ObjectHelper { plane_angle_unit() : Object("plane_angle_unit") {} - - }; - - // C++ wrapper for ply_laminate_definition - struct ply_laminate_definition : product_definition, ObjectHelper { ply_laminate_definition() : Object("ply_laminate_definition") {} - - }; - - // C++ wrapper for ply_laminate_sequence_definition - struct ply_laminate_sequence_definition : product_definition, ObjectHelper { ply_laminate_sequence_definition() : Object("ply_laminate_sequence_definition") {} - - }; - - // C++ wrapper for ply_laminate_table - struct ply_laminate_table : part_laminate_table, ObjectHelper { ply_laminate_table() : Object("ply_laminate_table") {} - - }; - - // C++ wrapper for point_and_vector - struct point_and_vector : ObjectHelper { point_and_vector() : Object("point_and_vector") {} - - }; - - // C++ wrapper for point_on_curve - struct point_on_curve : point, ObjectHelper { point_on_curve() : Object("point_on_curve") {} - Lazy< curve > basis_curve; - parameter_value::Out point_parameter; - }; - - // C++ wrapper for point_on_surface - struct point_on_surface : point, ObjectHelper { point_on_surface() : Object("point_on_surface") {} - Lazy< surface > basis_surface; - parameter_value::Out point_parameter_u; - parameter_value::Out point_parameter_v; - }; - - // C++ wrapper for point_path - struct point_path : ObjectHelper { point_path() : Object("point_path") {} - - }; - - // C++ wrapper for point_replica - struct point_replica : point, ObjectHelper { point_replica() : Object("point_replica") {} - Lazy< point > parent_pt; - Lazy< cartesian_transformation_operator > transformation; - }; - - // C++ wrapper for point_style - struct point_style : founded_item, ObjectHelper { point_style() : Object("point_style") {} - label::Out name; - marker_select::Out marker; - size_select::Out marker_size; - Lazy< colour > marker_colour; - }; - - // C++ wrapper for polar_complex_number_literal - struct polar_complex_number_literal : generic_literal, ObjectHelper { polar_complex_number_literal() : Object("polar_complex_number_literal") {} - REAL::Out radius; - REAL::Out angle; - }; - - // C++ wrapper for poly_loop - struct poly_loop : ObjectHelper { poly_loop() : Object("poly_loop") {} - ListOf< Lazy< cartesian_point >, 3, 0 > polygon; - }; - - // C++ wrapper for polyline - struct polyline : bounded_curve, ObjectHelper { polyline() : Object("polyline") {} - ListOf< Lazy< cartesian_point >, 2, 0 > points; - }; - - // C++ wrapper for position_tolerance - struct position_tolerance : geometric_tolerance, ObjectHelper { position_tolerance() : Object("position_tolerance") {} - - }; - - // C++ wrapper for positioned_sketch - struct positioned_sketch : geometric_representation_item, ObjectHelper { positioned_sketch() : Object("positioned_sketch") {} - sketch_basis_select::Out sketch_basis; - ListOf< Lazy< auxiliary_geometric_representation_item >, 0, 0 > auxiliary_elements; - }; - - // C++ wrapper for power_measure_with_unit - struct power_measure_with_unit : measure_with_unit, ObjectHelper { power_measure_with_unit() : Object("power_measure_with_unit") {} - - }; - - // C++ wrapper for power_unit - struct power_unit : derived_unit, ObjectHelper { power_unit() : Object("power_unit") {} - - }; - - // C++ wrapper for pre_defined_symbol - struct pre_defined_symbol : pre_defined_item, ObjectHelper { pre_defined_symbol() : Object("pre_defined_symbol") {} - - }; - - // C++ wrapper for pre_defined_dimension_symbol - struct pre_defined_dimension_symbol : pre_defined_symbol, ObjectHelper { pre_defined_dimension_symbol() : Object("pre_defined_dimension_symbol") {} - - }; - - // C++ wrapper for pre_defined_geometrical_tolerance_symbol - struct pre_defined_geometrical_tolerance_symbol : pre_defined_symbol, ObjectHelper { pre_defined_geometrical_tolerance_symbol() : Object("pre_defined_geometrical_tolerance_symbol") {} - - }; - - // C++ wrapper for pre_defined_marker - struct pre_defined_marker : pre_defined_item, ObjectHelper { pre_defined_marker() : Object("pre_defined_marker") {} - - }; - - // C++ wrapper for pre_defined_point_marker_symbol - struct pre_defined_point_marker_symbol : ObjectHelper { pre_defined_point_marker_symbol() : Object("pre_defined_point_marker_symbol") {} - - }; - - // C++ wrapper for pre_defined_surface_condition_symbol - struct pre_defined_surface_condition_symbol : pre_defined_symbol, ObjectHelper { pre_defined_surface_condition_symbol() : Object("pre_defined_surface_condition_symbol") {} - - }; - - // C++ wrapper for pre_defined_surface_side_style - struct pre_defined_surface_side_style : pre_defined_item, ObjectHelper { pre_defined_surface_side_style() : Object("pre_defined_surface_side_style") {} - - }; - - // C++ wrapper for pre_defined_terminator_symbol - struct pre_defined_terminator_symbol : pre_defined_symbol, ObjectHelper { pre_defined_terminator_symbol() : Object("pre_defined_terminator_symbol") {} - - }; - - // C++ wrapper for pre_defined_tile - struct pre_defined_tile : pre_defined_item, ObjectHelper { pre_defined_tile() : Object("pre_defined_tile") {} - - }; - - // C++ wrapper for predefined_picture_representation_item - struct predefined_picture_representation_item : picture_representation_item, ObjectHelper { predefined_picture_representation_item() : Object("predefined_picture_representation_item") {} - - }; - - // C++ wrapper for presentation_style_assignment - struct presentation_style_assignment : founded_item, ObjectHelper { presentation_style_assignment() : Object("presentation_style_assignment") {} - ListOf< presentation_style_select, 1, 0 >::Out styles; - }; - - // C++ wrapper for presentation_style_by_context - struct presentation_style_by_context : presentation_style_assignment, ObjectHelper { presentation_style_by_context() : Object("presentation_style_by_context") {} - style_context_select::Out style_context; - }; - - // C++ wrapper for pressure_measure_with_unit - struct pressure_measure_with_unit : measure_with_unit, ObjectHelper { pressure_measure_with_unit() : Object("pressure_measure_with_unit") {} - - }; - - // C++ wrapper for pressure_unit - struct pressure_unit : derived_unit, ObjectHelper { pressure_unit() : Object("pressure_unit") {} - - }; - - // C++ wrapper for procedural_representation - struct procedural_representation : representation, ObjectHelper { procedural_representation() : Object("procedural_representation") {} - - }; - - // C++ wrapper for procedural_representation_sequence - struct procedural_representation_sequence : representation_item, ObjectHelper { procedural_representation_sequence() : Object("procedural_representation_sequence") {} - ListOf< Lazy< representation_item >, 1, 0 > elements; - ListOf< Lazy< representation_item >, 0, 0 > suppressed_items; - text::Out rationale; - }; - - // C++ wrapper for procedural_shape_representation - struct procedural_shape_representation : ObjectHelper { procedural_shape_representation() : Object("procedural_shape_representation") {} - - }; - - // C++ wrapper for procedural_shape_representation_sequence - struct procedural_shape_representation_sequence : ObjectHelper { procedural_shape_representation_sequence() : Object("procedural_shape_representation_sequence") {} - - }; - - // C++ wrapper for product_category - struct product_category : ObjectHelper { product_category() : Object("product_category") {} - label::Out name; - Maybe< text::Out > description; - }; - - // C++ wrapper for product_class - struct product_class : ObjectHelper { product_class() : Object("product_class") {} - - }; - - // C++ wrapper for product_concept_context - struct product_concept_context : application_context_element, ObjectHelper { product_concept_context() : Object("product_concept_context") {} - label::Out market_segment_type; - }; - - // C++ wrapper for product_concept_feature_category_usage - struct product_concept_feature_category_usage : group_assignment, ObjectHelper { product_concept_feature_category_usage() : Object("product_concept_feature_category_usage") {} - ListOf< category_usage_item, 1, 0 >::Out items; - }; - - // C++ wrapper for product_definition_element_relationship - struct product_definition_element_relationship : group, ObjectHelper { product_definition_element_relationship() : Object("product_definition_element_relationship") {} - - }; - - // C++ wrapper for product_definition_formation - struct product_definition_formation : ObjectHelper { product_definition_formation() : Object("product_definition_formation") {} - identifier::Out id; - Maybe< text::Out > description; - Lazy< NotImplemented > of_product; - }; - - // C++ wrapper for product_definition_formation_with_specified_source - struct product_definition_formation_with_specified_source : product_definition_formation, ObjectHelper { product_definition_formation_with_specified_source() : Object("product_definition_formation_with_specified_source") {} - source::Out make_or_buy; - }; - - // C++ wrapper for product_definition_group_assignment - struct product_definition_group_assignment : group_assignment, ObjectHelper { product_definition_group_assignment() : Object("product_definition_group_assignment") {} - ListOf< product_definition_or_product_definition_relationship, 1, 1 >::Out items; - }; - - // C++ wrapper for product_definition_shape - struct product_definition_shape : property_definition, ObjectHelper { product_definition_shape() : Object("product_definition_shape") {} - - }; - - // C++ wrapper for product_definition_with_associated_documents - struct product_definition_with_associated_documents : product_definition, ObjectHelper { product_definition_with_associated_documents() : Object("product_definition_with_associated_documents") {} - ListOf< Lazy< NotImplemented >, 1, 0 > documentation_ids; - }; - - // C++ wrapper for product_identification - struct product_identification : ObjectHelper { product_identification() : Object("product_identification") {} - - }; - - // C++ wrapper for product_material_composition_relationship - struct product_material_composition_relationship : product_definition_relationship, ObjectHelper { product_material_composition_relationship() : Object("product_material_composition_relationship") {} - label::Out class_; - ListOf< characterized_product_composition_value, 1, 0 >::Out constituent_amount; - label::Out composition_basis; - text::Out determination_method; - }; - - // C++ wrapper for product_related_product_category - struct product_related_product_category : product_category, ObjectHelper { product_related_product_category() : Object("product_related_product_category") {} - ListOf< Lazy< NotImplemented >, 1, 0 > products; - }; - - // C++ wrapper for product_specification - struct product_specification : ObjectHelper { product_specification() : Object("product_specification") {} - - }; - - // C++ wrapper for tolerance_zone_definition - struct tolerance_zone_definition : ObjectHelper { tolerance_zone_definition() : Object("tolerance_zone_definition") {} - Lazy< tolerance_zone > zone; - ListOf< Lazy< shape_aspect >, 1, 0 > boundaries; - }; - - // C++ wrapper for projected_zone_definition - struct projected_zone_definition : tolerance_zone_definition, ObjectHelper { projected_zone_definition() : Object("projected_zone_definition") {} - Lazy< shape_aspect > projection_end; - Lazy< measure_with_unit > projected_length; - }; - - // C++ wrapper for projection_curve - struct projection_curve : annotation_curve_occurrence, ObjectHelper { projection_curve() : Object("projection_curve") {} - - }; - - // C++ wrapper for promissory_usage_occurrence - struct promissory_usage_occurrence : assembly_component_usage, ObjectHelper { promissory_usage_occurrence() : Object("promissory_usage_occurrence") {} - - }; - - // C++ wrapper for qualified_representation_item - struct qualified_representation_item : representation_item, ObjectHelper { qualified_representation_item() : Object("qualified_representation_item") {} - ListOf< value_qualifier, 1, 0 >::Out qualifiers; - }; - - // C++ wrapper for qualitative_uncertainty - struct qualitative_uncertainty : uncertainty_qualifier, ObjectHelper { qualitative_uncertainty() : Object("qualitative_uncertainty") {} - text::Out uncertainty_value; - }; - - // C++ wrapper for quantified_assembly_component_usage - struct quantified_assembly_component_usage : assembly_component_usage, ObjectHelper { quantified_assembly_component_usage() : Object("quantified_assembly_component_usage") {} - Lazy< measure_with_unit > quantity; - }; - - // C++ wrapper for quasi_uniform_curve - struct quasi_uniform_curve : b_spline_curve, ObjectHelper { quasi_uniform_curve() : Object("quasi_uniform_curve") {} - - }; - - // C++ wrapper for quasi_uniform_surface - struct quasi_uniform_surface : b_spline_surface, ObjectHelper { quasi_uniform_surface() : Object("quasi_uniform_surface") {} - - }; - - // C++ wrapper for radioactivity_measure_with_unit - struct radioactivity_measure_with_unit : measure_with_unit, ObjectHelper { radioactivity_measure_with_unit() : Object("radioactivity_measure_with_unit") {} - - }; - - // C++ wrapper for radioactivity_unit - struct radioactivity_unit : derived_unit, ObjectHelper { radioactivity_unit() : Object("radioactivity_unit") {} - - }; - - // C++ wrapper for radius_dimension - struct radius_dimension : dimension_curve_directed_callout, ObjectHelper { radius_dimension() : Object("radius_dimension") {} - - }; - - // C++ wrapper for range_characteristic - struct range_characteristic : ObjectHelper { range_characteristic() : Object("range_characteristic") {} - - }; - - // C++ wrapper for ratio_unit - struct ratio_unit : named_unit, ObjectHelper { ratio_unit() : Object("ratio_unit") {} - - }; - - // C++ wrapper for rational_b_spline_curve - struct rational_b_spline_curve : b_spline_curve, ObjectHelper { rational_b_spline_curve() : Object("rational_b_spline_curve") {} - ListOf< REAL, 2, 0 >::Out weights_data; - }; - - // C++ wrapper for rational_b_spline_surface - struct rational_b_spline_surface : b_spline_surface, ObjectHelper { rational_b_spline_surface() : Object("rational_b_spline_surface") {} - - }; - - // C++ wrapper for rational_representation_item - struct rational_representation_item : ObjectHelper { rational_representation_item() : Object("rational_representation_item") {} - - }; - - // C++ wrapper for real_literal - struct real_literal : literal_number, ObjectHelper { real_literal() : Object("real_literal") {} - - }; - - // C++ wrapper for real_representation_item - struct real_representation_item : ObjectHelper { real_representation_item() : Object("real_representation_item") {} - - }; - - // C++ wrapper for rectangular_composite_surface - struct rectangular_composite_surface : bounded_surface, ObjectHelper { rectangular_composite_surface() : Object("rectangular_composite_surface") {} - - }; - - // C++ wrapper for rectangular_trimmed_surface - struct rectangular_trimmed_surface : bounded_surface, ObjectHelper { rectangular_trimmed_surface() : Object("rectangular_trimmed_surface") {} - Lazy< surface > basis_surface; - parameter_value::Out u1; - parameter_value::Out u2; - parameter_value::Out v1; - parameter_value::Out v2; - BOOLEAN::Out usense; - BOOLEAN::Out vsense; - }; - - // C++ wrapper for referenced_modified_datum - struct referenced_modified_datum : datum_reference, ObjectHelper { referenced_modified_datum() : Object("referenced_modified_datum") {} - limit_condition::Out modifier; - }; - - // C++ wrapper for relative_event_occurrence - struct relative_event_occurrence : event_occurrence, ObjectHelper { relative_event_occurrence() : Object("relative_event_occurrence") {} - Lazy< event_occurrence > base_event; - Lazy< time_measure_with_unit > offset; - }; - - // C++ wrapper for rep_item_group - struct rep_item_group : ObjectHelper { rep_item_group() : Object("rep_item_group") {} - - }; - - // C++ wrapper for reparametrised_composite_curve_segment - struct reparametrised_composite_curve_segment : composite_curve_segment, ObjectHelper { reparametrised_composite_curve_segment() : Object("reparametrised_composite_curve_segment") {} - parameter_value::Out param_length; - }; - - // C++ wrapper for representation_relationship_with_transformation - struct representation_relationship_with_transformation : representation_relationship, ObjectHelper { representation_relationship_with_transformation() : Object("representation_relationship_with_transformation") {} - transformation::Out transformation_operator; - }; - - // C++ wrapper for requirement_assigned_object - struct requirement_assigned_object : group_assignment, ObjectHelper { requirement_assigned_object() : Object("requirement_assigned_object") {} - ListOf< requirement_assigned_item, 1, 1 >::Out items; - }; - - // C++ wrapper for requirement_assignment - struct requirement_assignment : ObjectHelper { requirement_assignment() : Object("requirement_assignment") {} - - }; - - // C++ wrapper for requirement_source - struct requirement_source : group, ObjectHelper { requirement_source() : Object("requirement_source") {} - - }; - - // C++ wrapper for requirement_view_definition_relationship - struct requirement_view_definition_relationship : product_definition_relationship, ObjectHelper { requirement_view_definition_relationship() : Object("requirement_view_definition_relationship") {} - - }; - - // C++ wrapper for resistance_measure_with_unit - struct resistance_measure_with_unit : measure_with_unit, ObjectHelper { resistance_measure_with_unit() : Object("resistance_measure_with_unit") {} - - }; - - // C++ wrapper for resistance_unit - struct resistance_unit : derived_unit, ObjectHelper { resistance_unit() : Object("resistance_unit") {} - - }; - - // C++ wrapper for revolved_area_solid - struct revolved_area_solid : swept_area_solid, ObjectHelper { revolved_area_solid() : Object("revolved_area_solid") {} - Lazy< axis1_placement > axis; - plane_angle_measure::Out angle; - }; - - // C++ wrapper for revolved_face_solid - struct revolved_face_solid : swept_face_solid, ObjectHelper { revolved_face_solid() : Object("revolved_face_solid") {} - Lazy< axis1_placement > axis; - plane_angle_measure::Out angle; - }; - - // C++ wrapper for revolved_face_solid_with_trim_conditions - struct revolved_face_solid_with_trim_conditions : revolved_face_solid, ObjectHelper { revolved_face_solid_with_trim_conditions() : Object("revolved_face_solid_with_trim_conditions") {} - trim_condition_select::Out first_trim_condition; - trim_condition_select::Out second_trim_condition; - }; - - // C++ wrapper for right_angular_wedge - struct right_angular_wedge : geometric_representation_item, ObjectHelper { right_angular_wedge() : Object("right_angular_wedge") {} - Lazy< axis2_placement_3d > position; - positive_length_measure::Out x; - positive_length_measure::Out y; - positive_length_measure::Out z; - length_measure::Out ltx; - }; - - // C++ wrapper for right_circular_cone - struct right_circular_cone : geometric_representation_item, ObjectHelper { right_circular_cone() : Object("right_circular_cone") {} - Lazy< axis1_placement > position; - positive_length_measure::Out height; - length_measure::Out radius; - plane_angle_measure::Out semi_angle; - }; - - // C++ wrapper for right_circular_cylinder - struct right_circular_cylinder : geometric_representation_item, ObjectHelper { right_circular_cylinder() : Object("right_circular_cylinder") {} - Lazy< axis1_placement > position; - positive_length_measure::Out height; - positive_length_measure::Out radius; - }; - - // C++ wrapper for right_to_usage_association - struct right_to_usage_association : action_method_relationship, ObjectHelper { right_to_usage_association() : Object("right_to_usage_association") {} - - }; - - // C++ wrapper for roundness_tolerance - struct roundness_tolerance : geometric_tolerance, ObjectHelper { roundness_tolerance() : Object("roundness_tolerance") {} - - }; - - // C++ wrapper for row_representation_item - struct row_representation_item : compound_representation_item, ObjectHelper { row_representation_item() : Object("row_representation_item") {} - - }; - - // C++ wrapper for row_value - struct row_value : compound_representation_item, ObjectHelper { row_value() : Object("row_value") {} - - }; - - // C++ wrapper for row_variable - struct row_variable : abstract_variable, ObjectHelper { row_variable() : Object("row_variable") {} - - }; - - // C++ wrapper for rule_action - struct rule_action : action, ObjectHelper { rule_action() : Object("rule_action") {} - - }; - - // C++ wrapper for rule_condition - struct rule_condition : atomic_formula, ObjectHelper { rule_condition() : Object("rule_condition") {} - - }; - - // C++ wrapper for rule_set - struct rule_set : rule_software_definition, ObjectHelper { rule_set() : Object("rule_set") {} - - }; - - // C++ wrapper for rule_set_group - struct rule_set_group : rule_software_definition, ObjectHelper { rule_set_group() : Object("rule_set_group") {} - - }; - - // C++ wrapper for rule_superseded_assignment - struct rule_superseded_assignment : action_assignment, ObjectHelper { rule_superseded_assignment() : Object("rule_superseded_assignment") {} - ListOf< rule_superseded_item, 1, 0 >::Out items; - }; - - // C++ wrapper for rule_supersedence - struct rule_supersedence : rule_action, ObjectHelper { rule_supersedence() : Object("rule_supersedence") {} - - }; - - // C++ wrapper for surface_curve_swept_area_solid - struct surface_curve_swept_area_solid : swept_area_solid, ObjectHelper { surface_curve_swept_area_solid() : Object("surface_curve_swept_area_solid") {} - Lazy< curve > directrix; - REAL::Out start_param; - REAL::Out end_param; - Lazy< surface > reference_surface; - }; - - // C++ wrapper for ruled_surface_swept_area_solid - struct ruled_surface_swept_area_solid : surface_curve_swept_area_solid, ObjectHelper { ruled_surface_swept_area_solid() : Object("ruled_surface_swept_area_solid") {} - - }; - - // C++ wrapper for runout_zone_definition - struct runout_zone_definition : tolerance_zone_definition, ObjectHelper { runout_zone_definition() : Object("runout_zone_definition") {} - Lazy< runout_zone_orientation > orientation; - }; - - // C++ wrapper for runout_zone_orientation - struct runout_zone_orientation : ObjectHelper { runout_zone_orientation() : Object("runout_zone_orientation") {} - Lazy< measure_with_unit > angle; - }; - - // C++ wrapper for runout_zone_orientation_reference_direction - struct runout_zone_orientation_reference_direction : runout_zone_orientation, ObjectHelper { runout_zone_orientation_reference_direction() : Object("runout_zone_orientation_reference_direction") {} - Lazy< shape_aspect_relationship > orientation_defining_relationship; - }; - - // C++ wrapper for satisfied_requirement - struct satisfied_requirement : group_assignment, ObjectHelper { satisfied_requirement() : Object("satisfied_requirement") {} - ListOf< Lazy< product_definition >, 1, 1 > items; - }; - - // C++ wrapper for satisfies_requirement - struct satisfies_requirement : group, ObjectHelper { satisfies_requirement() : Object("satisfies_requirement") {} - - }; - - // C++ wrapper for satisfying_item - struct satisfying_item : group_assignment, ObjectHelper { satisfying_item() : Object("satisfying_item") {} - ListOf< requirement_satisfaction_item, 1, 1 >::Out items; - }; - - // C++ wrapper for scalar_variable - struct scalar_variable : abstract_variable, ObjectHelper { scalar_variable() : Object("scalar_variable") {} - - }; - - // C++ wrapper for scattering_parameter - struct scattering_parameter : polar_complex_number_literal, ObjectHelper { scattering_parameter() : Object("scattering_parameter") {} - - }; - - // C++ wrapper for sculptured_solid - struct sculptured_solid : modified_solid, ObjectHelper { sculptured_solid() : Object("sculptured_solid") {} - generalized_surface_select::Out sculpturing_element; - BOOLEAN::Out positive_side; - }; - - // C++ wrapper for seam_curve - struct seam_curve : surface_curve, ObjectHelper { seam_curve() : Object("seam_curve") {} - - }; - - // C++ wrapper for serial_numbered_effectivity - struct serial_numbered_effectivity : effectivity, ObjectHelper { serial_numbered_effectivity() : Object("serial_numbered_effectivity") {} - identifier::Out effectivity_start_id; - Maybe< identifier::Out > effectivity_end_id; - }; - - // C++ wrapper for shape_aspect_associativity - struct shape_aspect_associativity : shape_aspect_relationship, ObjectHelper { shape_aspect_associativity() : Object("shape_aspect_associativity") {} - - }; - - // C++ wrapper for shape_aspect_deriving_relationship - struct shape_aspect_deriving_relationship : shape_aspect_relationship, ObjectHelper { shape_aspect_deriving_relationship() : Object("shape_aspect_deriving_relationship") {} - - }; - - // C++ wrapper for shape_definition_representation - struct shape_definition_representation : property_definition_representation, ObjectHelper { shape_definition_representation() : Object("shape_definition_representation") {} - - }; - - // C++ wrapper for shape_dimension_representation - struct shape_dimension_representation : shape_representation, ObjectHelper { shape_dimension_representation() : Object("shape_dimension_representation") {} - - }; - - // C++ wrapper for shape_feature_definition - struct shape_feature_definition : characterized_object, ObjectHelper { shape_feature_definition() : Object("shape_feature_definition") {} - - }; - - // C++ wrapper for shape_representation_with_parameters - struct shape_representation_with_parameters : shape_representation, ObjectHelper { shape_representation_with_parameters() : Object("shape_representation_with_parameters") {} - - }; - - // C++ wrapper for shell_based_surface_model - struct shell_based_surface_model : geometric_representation_item, ObjectHelper { shell_based_surface_model() : Object("shell_based_surface_model") {} - ListOf< shell, 1, 0 >::Out sbsm_boundary; - }; - - // C++ wrapper for shell_based_wireframe_model - struct shell_based_wireframe_model : geometric_representation_item, ObjectHelper { shell_based_wireframe_model() : Object("shell_based_wireframe_model") {} - ListOf< shell, 1, 0 >::Out sbwm_boundary; - }; - - // C++ wrapper for shell_based_wireframe_shape_representation - struct shell_based_wireframe_shape_representation : shape_representation, ObjectHelper { shell_based_wireframe_shape_representation() : Object("shell_based_wireframe_shape_representation") {} - - }; - - // C++ wrapper for si_absorbed_dose_unit - struct si_absorbed_dose_unit : ObjectHelper { si_absorbed_dose_unit() : Object("si_absorbed_dose_unit") {} - - }; - - // C++ wrapper for si_capacitance_unit - struct si_capacitance_unit : ObjectHelper { si_capacitance_unit() : Object("si_capacitance_unit") {} - - }; - - // C++ wrapper for si_conductance_unit - struct si_conductance_unit : ObjectHelper { si_conductance_unit() : Object("si_conductance_unit") {} - - }; - - // C++ wrapper for si_dose_equivalent_unit - struct si_dose_equivalent_unit : ObjectHelper { si_dose_equivalent_unit() : Object("si_dose_equivalent_unit") {} - - }; - - // C++ wrapper for si_electric_charge_unit - struct si_electric_charge_unit : ObjectHelper { si_electric_charge_unit() : Object("si_electric_charge_unit") {} - - }; - - // C++ wrapper for si_electric_potential_unit - struct si_electric_potential_unit : ObjectHelper { si_electric_potential_unit() : Object("si_electric_potential_unit") {} - - }; - - // C++ wrapper for si_energy_unit - struct si_energy_unit : ObjectHelper { si_energy_unit() : Object("si_energy_unit") {} - - }; - - // C++ wrapper for si_force_unit - struct si_force_unit : ObjectHelper { si_force_unit() : Object("si_force_unit") {} - - }; - - // C++ wrapper for si_frequency_unit - struct si_frequency_unit : ObjectHelper { si_frequency_unit() : Object("si_frequency_unit") {} - - }; - - // C++ wrapper for si_illuminance_unit - struct si_illuminance_unit : ObjectHelper { si_illuminance_unit() : Object("si_illuminance_unit") {} - - }; - - // C++ wrapper for si_inductance_unit - struct si_inductance_unit : ObjectHelper { si_inductance_unit() : Object("si_inductance_unit") {} - - }; - - // C++ wrapper for si_magnetic_flux_density_unit - struct si_magnetic_flux_density_unit : ObjectHelper { si_magnetic_flux_density_unit() : Object("si_magnetic_flux_density_unit") {} - - }; - - // C++ wrapper for si_magnetic_flux_unit - struct si_magnetic_flux_unit : ObjectHelper { si_magnetic_flux_unit() : Object("si_magnetic_flux_unit") {} - - }; - - // C++ wrapper for si_power_unit - struct si_power_unit : ObjectHelper { si_power_unit() : Object("si_power_unit") {} - - }; - - // C++ wrapper for si_pressure_unit - struct si_pressure_unit : ObjectHelper { si_pressure_unit() : Object("si_pressure_unit") {} - - }; - - // C++ wrapper for si_radioactivity_unit - struct si_radioactivity_unit : ObjectHelper { si_radioactivity_unit() : Object("si_radioactivity_unit") {} - - }; - - // C++ wrapper for si_resistance_unit - struct si_resistance_unit : ObjectHelper { si_resistance_unit() : Object("si_resistance_unit") {} - - }; - - // C++ wrapper for si_unit - struct si_unit : named_unit, ObjectHelper { si_unit() : Object("si_unit") {} - Maybe< si_prefix::Out > prefix; - si_unit_name::Out name; - }; - - // C++ wrapper for simple_boolean_expression - struct simple_boolean_expression : ObjectHelper { simple_boolean_expression() : Object("simple_boolean_expression") {} - - }; - - // C++ wrapper for simple_numeric_expression - struct simple_numeric_expression : ObjectHelper { simple_numeric_expression() : Object("simple_numeric_expression") {} - - }; - - // C++ wrapper for slash_expression - struct slash_expression : binary_numeric_expression, ObjectHelper { slash_expression() : Object("slash_expression") {} - - }; - - // C++ wrapper for smeared_material_definition - struct smeared_material_definition : zone_structural_makeup, ObjectHelper { smeared_material_definition() : Object("smeared_material_definition") {} - - }; - - // C++ wrapper for solid_angle_measure_with_unit - struct solid_angle_measure_with_unit : measure_with_unit, ObjectHelper { solid_angle_measure_with_unit() : Object("solid_angle_measure_with_unit") {} - - }; - - // C++ wrapper for solid_angle_unit - struct solid_angle_unit : named_unit, ObjectHelper { solid_angle_unit() : Object("solid_angle_unit") {} - - }; - - // C++ wrapper for solid_curve_font - struct solid_curve_font : pre_defined_curve_font, ObjectHelper { solid_curve_font() : Object("solid_curve_font") {} - - }; - - // C++ wrapper for solid_replica - struct solid_replica : solid_model, ObjectHelper { solid_replica() : Object("solid_replica") {} - Lazy< solid_model > parent_solid; - Lazy< cartesian_transformation_operator_3d > transformation; - }; - - // C++ wrapper for solid_with_chamfered_edges - struct solid_with_chamfered_edges : edge_blended_solid, ObjectHelper { solid_with_chamfered_edges() : Object("solid_with_chamfered_edges") {} - - }; - - // C++ wrapper for solid_with_angle_based_chamfer - struct solid_with_angle_based_chamfer : solid_with_chamfered_edges, ObjectHelper { solid_with_angle_based_chamfer() : Object("solid_with_angle_based_chamfer") {} - positive_length_measure::Out offset_distance; - BOOLEAN::Out left_offset; - positive_plane_angle_measure::Out offset_angle; - }; - - // C++ wrapper for solid_with_shape_element_pattern - struct solid_with_shape_element_pattern : modified_solid_with_placed_configuration, ObjectHelper { solid_with_shape_element_pattern() : Object("solid_with_shape_element_pattern") {} - Lazy< modified_solid_with_placed_configuration > replicated_element; - }; - - // C++ wrapper for solid_with_circular_pattern - struct solid_with_circular_pattern : solid_with_shape_element_pattern, ObjectHelper { solid_with_circular_pattern() : Object("solid_with_circular_pattern") {} - positive_integer::Out replicate_count; - plane_angle_measure::Out angular_spacing; - BOOLEAN::Out radial_alignment; - Lazy< point > reference_point; - }; - - // C++ wrapper for solid_with_depression - struct solid_with_depression : modified_solid_with_placed_configuration, ObjectHelper { solid_with_depression() : Object("solid_with_depression") {} - positive_length_measure::Out depth; - }; - - // C++ wrapper for solid_with_pocket - struct solid_with_pocket : solid_with_depression, ObjectHelper { solid_with_pocket() : Object("solid_with_pocket") {} - non_negative_length_measure::Out floor_blend_radius; - plane_angle_measure::Out draft_angle; - }; - - // C++ wrapper for solid_with_circular_pocket - struct solid_with_circular_pocket : solid_with_pocket, ObjectHelper { solid_with_circular_pocket() : Object("solid_with_circular_pocket") {} - positive_length_measure::Out pocket_radius; - }; - - // C++ wrapper for solid_with_protrusion - struct solid_with_protrusion : modified_solid_with_placed_configuration, ObjectHelper { solid_with_protrusion() : Object("solid_with_protrusion") {} - positive_length_measure::Out protrusion_height; - plane_angle_measure::Out protrusion_draft_angle; - }; - - // C++ wrapper for solid_with_circular_protrusion - struct solid_with_circular_protrusion : solid_with_protrusion, ObjectHelper { solid_with_circular_protrusion() : Object("solid_with_circular_protrusion") {} - positive_length_measure::Out protrusion_radius; - }; - - // C++ wrapper for solid_with_hole - struct solid_with_hole : solid_with_depression, ObjectHelper { solid_with_hole() : Object("solid_with_hole") {} - - }; - - // C++ wrapper for solid_with_stepped_round_hole - struct solid_with_stepped_round_hole : solid_with_hole, ObjectHelper { solid_with_stepped_round_hole() : Object("solid_with_stepped_round_hole") {} - positive_integer::Out segments; - }; - - // C++ wrapper for solid_with_conical_bottom_round_hole - struct solid_with_conical_bottom_round_hole : solid_with_stepped_round_hole, ObjectHelper { solid_with_conical_bottom_round_hole() : Object("solid_with_conical_bottom_round_hole") {} - positive_plane_angle_measure::Out semi_apex_angle; - non_negative_length_measure::Out tip_radius; - }; - - // C++ wrapper for solid_with_constant_radius_edge_blend - struct solid_with_constant_radius_edge_blend : edge_blended_solid, ObjectHelper { solid_with_constant_radius_edge_blend() : Object("solid_with_constant_radius_edge_blend") {} - positive_length_measure::Out radius; - }; - - // C++ wrapper for solid_with_slot - struct solid_with_slot : solid_with_depression, ObjectHelper { solid_with_slot() : Object("solid_with_slot") {} - positive_length_measure::Out slot_width; - ListOf< LOGICAL, 2, 2 >::Out closed_ends; - }; - - // C++ wrapper for solid_with_curved_slot - struct solid_with_curved_slot : solid_with_slot, ObjectHelper { solid_with_curved_slot() : Object("solid_with_curved_slot") {} - Lazy< bounded_curve > slot_centreline; - }; - - // C++ wrapper for solid_with_double_offset_chamfer - struct solid_with_double_offset_chamfer : solid_with_chamfered_edges, ObjectHelper { solid_with_double_offset_chamfer() : Object("solid_with_double_offset_chamfer") {} - positive_length_measure::Out left_offset_distance; - positive_length_measure::Out right_offset_distance; - }; - - // C++ wrapper for solid_with_flat_bottom_round_hole - struct solid_with_flat_bottom_round_hole : solid_with_stepped_round_hole, ObjectHelper { solid_with_flat_bottom_round_hole() : Object("solid_with_flat_bottom_round_hole") {} - non_negative_length_measure::Out fillet_radius; - }; - - // C++ wrapper for solid_with_general_pocket - struct solid_with_general_pocket : solid_with_pocket, ObjectHelper { solid_with_general_pocket() : Object("solid_with_general_pocket") {} - Lazy< positioned_sketch > profile; - Lazy< point > reference_point; - }; - - // C++ wrapper for solid_with_general_protrusion - struct solid_with_general_protrusion : solid_with_protrusion, ObjectHelper { solid_with_general_protrusion() : Object("solid_with_general_protrusion") {} - Lazy< positioned_sketch > profile; - Lazy< point > reference_point; - }; - - // C++ wrapper for solid_with_groove - struct solid_with_groove : solid_with_depression, ObjectHelper { solid_with_groove() : Object("solid_with_groove") {} - positive_length_measure::Out groove_radius; - positive_length_measure::Out groove_width; - plane_angle_measure::Out draft_angle; - non_negative_length_measure::Out floor_fillet_radius; - BOOLEAN::Out external_groove; - }; - - // C++ wrapper for solid_with_incomplete_circular_pattern - struct solid_with_incomplete_circular_pattern : solid_with_circular_pattern, ObjectHelper { solid_with_incomplete_circular_pattern() : Object("solid_with_incomplete_circular_pattern") {} - ListOf< positive_integer, 1, 0 >::Out omitted_instances; - }; - - // C++ wrapper for solid_with_rectangular_pattern - struct solid_with_rectangular_pattern : solid_with_shape_element_pattern, ObjectHelper { solid_with_rectangular_pattern() : Object("solid_with_rectangular_pattern") {} - positive_integer::Out row_count; - positive_integer::Out column_count; - length_measure::Out row_spacing; - length_measure::Out column_spacing; - }; - - // C++ wrapper for solid_with_incomplete_rectangular_pattern - struct solid_with_incomplete_rectangular_pattern : solid_with_rectangular_pattern, ObjectHelper { solid_with_incomplete_rectangular_pattern() : Object("solid_with_incomplete_rectangular_pattern") {} - - }; - - // C++ wrapper for solid_with_rectangular_pocket - struct solid_with_rectangular_pocket : solid_with_pocket, ObjectHelper { solid_with_rectangular_pocket() : Object("solid_with_rectangular_pocket") {} - positive_length_measure::Out pocket_length; - positive_length_measure::Out pocket_width; - non_negative_length_measure::Out corner_radius; - }; - - // C++ wrapper for solid_with_rectangular_protrusion - struct solid_with_rectangular_protrusion : solid_with_protrusion, ObjectHelper { solid_with_rectangular_protrusion() : Object("solid_with_rectangular_protrusion") {} - positive_length_measure::Out protrusion_length; - positive_length_measure::Out protrusion_width; - non_negative_length_measure::Out protrusion_corner_radius; - }; - - // C++ wrapper for solid_with_single_offset_chamfer - struct solid_with_single_offset_chamfer : solid_with_chamfered_edges, ObjectHelper { solid_with_single_offset_chamfer() : Object("solid_with_single_offset_chamfer") {} - positive_length_measure::Out offset_distance; - }; - - // C++ wrapper for solid_with_spherical_bottom_round_hole - struct solid_with_spherical_bottom_round_hole : solid_with_stepped_round_hole, ObjectHelper { solid_with_spherical_bottom_round_hole() : Object("solid_with_spherical_bottom_round_hole") {} - positive_length_measure::Out sphere_radius; - }; - - // C++ wrapper for solid_with_stepped_round_hole_and_conical_transitions - struct solid_with_stepped_round_hole_and_conical_transitions : solid_with_stepped_round_hole, ObjectHelper { solid_with_stepped_round_hole_and_conical_transitions() : Object("solid_with_stepped_round_hole_and_conical_transitions") {} - ListOf< Lazy< conical_stepped_hole_transition >, 1, 0 > conical_transitions; - }; - - // C++ wrapper for solid_with_straight_slot - struct solid_with_straight_slot : solid_with_slot, ObjectHelper { solid_with_straight_slot() : Object("solid_with_straight_slot") {} - positive_length_measure::Out slot_length; - }; - - // C++ wrapper for solid_with_tee_section_slot - struct solid_with_tee_section_slot : solid_with_slot, ObjectHelper { solid_with_tee_section_slot() : Object("solid_with_tee_section_slot") {} - positive_length_measure::Out tee_section_width; - positive_length_measure::Out collar_depth; - }; - - // C++ wrapper for solid_with_through_depression - struct solid_with_through_depression : solid_with_depression, ObjectHelper { solid_with_through_depression() : Object("solid_with_through_depression") {} - ListOf< Lazy< face_surface >, 1, 0 > exit_faces; - }; - - // C++ wrapper for solid_with_trapezoidal_section_slot - struct solid_with_trapezoidal_section_slot : solid_with_slot, ObjectHelper { solid_with_trapezoidal_section_slot() : Object("solid_with_trapezoidal_section_slot") {} - plane_angle_measure::Out draft_angle; - non_negative_length_measure::Out floor_fillet_radius; - }; - - // C++ wrapper for solid_with_variable_radius_edge_blend - struct solid_with_variable_radius_edge_blend : ObjectHelper { solid_with_variable_radius_edge_blend() : Object("solid_with_variable_radius_edge_blend") {} - ListOf< Lazy< point >, 2, 0 > point_list; - ListOf< positive_length_measure, 2, 0 >::Out radius_list; - ListOf< blend_radius_variation_type, 1, 0 >::Out edge_function_list; - }; - - // C++ wrapper for source_for_requirement - struct source_for_requirement : group_assignment, ObjectHelper { source_for_requirement() : Object("source_for_requirement") {} - ListOf< requirement_source_item, 1, 1 >::Out items; - }; - - // C++ wrapper for sourced_requirement - struct sourced_requirement : group_assignment, ObjectHelper { sourced_requirement() : Object("sourced_requirement") {} - ListOf< Lazy< product_definition >, 1, 1 > items; - }; - - // C++ wrapper for specification_definition - struct specification_definition : product_definition, ObjectHelper { specification_definition() : Object("specification_definition") {} - - }; - - // C++ wrapper for specified_higher_usage_occurrence - struct specified_higher_usage_occurrence : assembly_component_usage, ObjectHelper { specified_higher_usage_occurrence() : Object("specified_higher_usage_occurrence") {} - Lazy< assembly_component_usage > upper_usage; - Lazy< next_assembly_usage_occurrence > next_usage; - }; - - // C++ wrapper for sphere - struct sphere : geometric_representation_item, ObjectHelper { sphere() : Object("sphere") {} - positive_length_measure::Out radius; - Lazy< point > centre; - }; - - // C++ wrapper for spherical_surface - struct spherical_surface : elementary_surface, ObjectHelper { spherical_surface() : Object("spherical_surface") {} - positive_length_measure::Out radius; - }; - - // C++ wrapper for start_request - struct start_request : action_request_assignment, ObjectHelper { start_request() : Object("start_request") {} - ListOf< start_request_item, 1, 0 >::Out items; - }; - - // C++ wrapper for start_work - struct start_work : action_assignment, ObjectHelper { start_work() : Object("start_work") {} - ListOf< work_item, 1, 0 >::Out items; - }; - - // C++ wrapper for straightness_tolerance - struct straightness_tolerance : geometric_tolerance, ObjectHelper { straightness_tolerance() : Object("straightness_tolerance") {} - - }; - - // C++ wrapper for structured_dimension_callout - struct structured_dimension_callout : draughting_callout, ObjectHelper { structured_dimension_callout() : Object("structured_dimension_callout") {} - - }; - - // C++ wrapper for structured_text_composition - struct structured_text_composition : compound_representation_item, ObjectHelper { structured_text_composition() : Object("structured_text_composition") {} - - }; - - // C++ wrapper for structured_text_representation - struct structured_text_representation : representation, ObjectHelper { structured_text_representation() : Object("structured_text_representation") {} - - }; - - // C++ wrapper for subedge - struct subedge : edge, ObjectHelper { subedge() : Object("subedge") {} - Lazy< edge > parent_edge; - }; - - // C++ wrapper for subface - struct subface : face, ObjectHelper { subface() : Object("subface") {} - Lazy< face > parent_face; - }; - - // C++ wrapper for supplied_part_relationship - struct supplied_part_relationship : product_definition_relationship, ObjectHelper { supplied_part_relationship() : Object("supplied_part_relationship") {} - - }; - - // C++ wrapper for surface_condition_callout - struct surface_condition_callout : draughting_callout, ObjectHelper { surface_condition_callout() : Object("surface_condition_callout") {} - - }; - - // C++ wrapper for swept_surface - struct swept_surface : surface, ObjectHelper { swept_surface() : Object("swept_surface") {} - Lazy< curve > swept_curve; - }; - - // C++ wrapper for surface_of_linear_extrusion - struct surface_of_linear_extrusion : swept_surface, ObjectHelper { surface_of_linear_extrusion() : Object("surface_of_linear_extrusion") {} - Lazy< vector > extrusion_axis; - }; - - // C++ wrapper for surface_of_revolution - struct surface_of_revolution : swept_surface, ObjectHelper { surface_of_revolution() : Object("surface_of_revolution") {} - Lazy< axis1_placement > axis_position; - }; - - // C++ wrapper for surface_patch - struct surface_patch : founded_item, ObjectHelper { surface_patch() : Object("surface_patch") {} - Lazy< bounded_surface > parent_surface; - transition_code::Out u_transition; - transition_code::Out v_transition; - BOOLEAN::Out u_sense; - BOOLEAN::Out v_sense; - }; - - // C++ wrapper for surface_profile_tolerance - struct surface_profile_tolerance : geometric_tolerance, ObjectHelper { surface_profile_tolerance() : Object("surface_profile_tolerance") {} - - }; - - // C++ wrapper for surface_replica - struct surface_replica : surface, ObjectHelper { surface_replica() : Object("surface_replica") {} - Lazy< surface > parent_surface; - Lazy< cartesian_transformation_operator_3d > transformation; - }; - - // C++ wrapper for surface_side_style - struct surface_side_style : founded_item, ObjectHelper { surface_side_style() : Object("surface_side_style") {} - label::Out name; - ListOf< surface_style_element_select, 1, 7 >::Out styles; - }; - - // C++ wrapper for surface_style_boundary - struct surface_style_boundary : founded_item, ObjectHelper { surface_style_boundary() : Object("surface_style_boundary") {} - curve_or_render::Out style_of_boundary; - }; - - // C++ wrapper for surface_style_control_grid - struct surface_style_control_grid : founded_item, ObjectHelper { surface_style_control_grid() : Object("surface_style_control_grid") {} - curve_or_render::Out style_of_control_grid; - }; - - // C++ wrapper for surface_style_fill_area - struct surface_style_fill_area : founded_item, ObjectHelper { surface_style_fill_area() : Object("surface_style_fill_area") {} - Lazy< fill_area_style > fill_area; - }; - - // C++ wrapper for surface_style_parameter_line - struct surface_style_parameter_line : founded_item, ObjectHelper { surface_style_parameter_line() : Object("surface_style_parameter_line") {} - curve_or_render::Out style_of_parameter_lines; - ListOf< direction_count_select, 1, 2 >::Out direction_counts; - }; - - // C++ wrapper for surface_style_reflectance_ambient - struct surface_style_reflectance_ambient : ObjectHelper { surface_style_reflectance_ambient() : Object("surface_style_reflectance_ambient") {} - REAL::Out ambient_reflectance; - }; - - // C++ wrapper for surface_style_reflectance_ambient_diffuse - struct surface_style_reflectance_ambient_diffuse : surface_style_reflectance_ambient, ObjectHelper { surface_style_reflectance_ambient_diffuse() : Object("surface_style_reflectance_ambient_diffuse") {} - REAL::Out diffuse_reflectance; - }; - - // C++ wrapper for surface_style_reflectance_ambient_diffuse_specular - struct surface_style_reflectance_ambient_diffuse_specular : surface_style_reflectance_ambient_diffuse, ObjectHelper { surface_style_reflectance_ambient_diffuse_specular() : Object("surface_style_reflectance_ambient_diffuse_specular") {} - REAL::Out specular_reflectance; - REAL::Out specular_exponent; - Lazy< colour > specular_colour; - }; - - // C++ wrapper for surface_style_rendering - struct surface_style_rendering : ObjectHelper { surface_style_rendering() : Object("surface_style_rendering") {} - shading_surface_method::Out rendering_method; - Lazy< colour > surface_colour; - }; - - // C++ wrapper for surface_style_rendering_with_properties - struct surface_style_rendering_with_properties : surface_style_rendering, ObjectHelper { surface_style_rendering_with_properties() : Object("surface_style_rendering_with_properties") {} - ListOf< rendering_properties_select, 1, 2 >::Out properties; - }; - - // C++ wrapper for surface_style_segmentation_curve - struct surface_style_segmentation_curve : founded_item, ObjectHelper { surface_style_segmentation_curve() : Object("surface_style_segmentation_curve") {} - curve_or_render::Out style_of_segmentation_curve; - }; - - // C++ wrapper for surface_style_silhouette - struct surface_style_silhouette : founded_item, ObjectHelper { surface_style_silhouette() : Object("surface_style_silhouette") {} - curve_or_render::Out style_of_silhouette; - }; - - // C++ wrapper for surface_style_usage - struct surface_style_usage : founded_item, ObjectHelper { surface_style_usage() : Object("surface_style_usage") {} - surface_side::Out side; - surface_side_style_select::Out style; - }; - - // C++ wrapper for surface_texture_representation - struct surface_texture_representation : representation, ObjectHelper { surface_texture_representation() : Object("surface_texture_representation") {} - - }; - - // C++ wrapper for surfaced_open_shell - struct surfaced_open_shell : open_shell, ObjectHelper { surfaced_open_shell() : Object("surfaced_open_shell") {} - - }; - - // C++ wrapper for swept_disk_solid - struct swept_disk_solid : solid_model, ObjectHelper { swept_disk_solid() : Object("swept_disk_solid") {} - Lazy< curve > directrix; - positive_length_measure::Out radius; - Maybe< positive_length_measure::Out > inner_radius; - REAL::Out start_param; - REAL::Out end_param; - }; - - // C++ wrapper for symbol - struct symbol : representation_item, ObjectHelper { symbol() : Object("symbol") {} - - }; - - // C++ wrapper for symbol_representation_map - struct symbol_representation_map : representation_map, ObjectHelper { symbol_representation_map() : Object("symbol_representation_map") {} - - }; - - // C++ wrapper for symbol_style - struct symbol_style : founded_item, ObjectHelper { symbol_style() : Object("symbol_style") {} - label::Out name; - symbol_style_select::Out style_of_symbol; - }; - - // C++ wrapper for symbol_target - struct symbol_target : geometric_representation_item, ObjectHelper { symbol_target() : Object("symbol_target") {} - axis2_placement::Out placement; - positive_ratio_measure::Out x_scale; - positive_ratio_measure::Out y_scale; - }; - - // C++ wrapper for symmetric_shape_aspect - struct symmetric_shape_aspect : shape_aspect, ObjectHelper { symmetric_shape_aspect() : Object("symmetric_shape_aspect") {} - - }; - - // C++ wrapper for symmetry_tolerance - struct symmetry_tolerance : geometric_tolerance_with_datum_reference, ObjectHelper { symmetry_tolerance() : Object("symmetry_tolerance") {} - - }; - - // C++ wrapper for table_representation_item - struct table_representation_item : compound_representation_item, ObjectHelper { table_representation_item() : Object("table_representation_item") {} - - }; - - // C++ wrapper for tactile_appearance_representation - struct tactile_appearance_representation : representation, ObjectHelper { tactile_appearance_representation() : Object("tactile_appearance_representation") {} - - }; - - // C++ wrapper for tagged_text_format - struct tagged_text_format : representation_context, ObjectHelper { tagged_text_format() : Object("tagged_text_format") {} - - }; - - // C++ wrapper for tagged_text_item - struct tagged_text_item : descriptive_representation_item, ObjectHelper { tagged_text_item() : Object("tagged_text_item") {} - - }; - - // C++ wrapper for tangent - struct tangent : derived_shape_aspect, ObjectHelper { tangent() : Object("tangent") {} - - }; - - // C++ wrapper for text_literal_with_associated_curves - struct text_literal_with_associated_curves : text_literal, ObjectHelper { text_literal_with_associated_curves() : Object("text_literal_with_associated_curves") {} - ListOf< Lazy< curve >, 1, 0 > associated_curves; - }; - - // C++ wrapper for text_literal_with_blanking_box - struct text_literal_with_blanking_box : text_literal, ObjectHelper { text_literal_with_blanking_box() : Object("text_literal_with_blanking_box") {} - Lazy< planar_box > blanking; - }; - - // C++ wrapper for text_literal_with_extent - struct text_literal_with_extent : text_literal, ObjectHelper { text_literal_with_extent() : Object("text_literal_with_extent") {} - Lazy< planar_extent > extent; - }; - - // C++ wrapper for text_string_representation - struct text_string_representation : representation, ObjectHelper { text_string_representation() : Object("text_string_representation") {} - - }; - - // C++ wrapper for text_style - struct text_style : founded_item, ObjectHelper { text_style() : Object("text_style") {} - label::Out name; - character_style_select::Out character_appearance; - }; - - // C++ wrapper for text_style_with_box_characteristics - struct text_style_with_box_characteristics : text_style, ObjectHelper { text_style_with_box_characteristics() : Object("text_style_with_box_characteristics") {} - ListOf< box_characteristic_select, 1, 4 >::Out characteristics; - }; - - // C++ wrapper for text_style_with_mirror - struct text_style_with_mirror : text_style, ObjectHelper { text_style_with_mirror() : Object("text_style_with_mirror") {} - axis2_placement::Out mirror_placement; - }; - - // C++ wrapper for text_style_with_spacing - struct text_style_with_spacing : text_style, ObjectHelper { text_style_with_spacing() : Object("text_style_with_spacing") {} - character_spacing_select::Out character_spacing; - }; - - // C++ wrapper for thermal_resistance_measure_with_unit - struct thermal_resistance_measure_with_unit : measure_with_unit, ObjectHelper { thermal_resistance_measure_with_unit() : Object("thermal_resistance_measure_with_unit") {} - - }; - - // C++ wrapper for thermal_resistance_unit - struct thermal_resistance_unit : derived_unit, ObjectHelper { thermal_resistance_unit() : Object("thermal_resistance_unit") {} - - }; - - // C++ wrapper for thermodynamic_temperature_measure_with_unit - struct thermodynamic_temperature_measure_with_unit : measure_with_unit, ObjectHelper { thermodynamic_temperature_measure_with_unit() : Object("thermodynamic_temperature_measure_with_unit") {} - - }; - - // C++ wrapper for thermodynamic_temperature_unit - struct thermodynamic_temperature_unit : named_unit, ObjectHelper { thermodynamic_temperature_unit() : Object("thermodynamic_temperature_unit") {} - - }; - - // C++ wrapper for thickened_face_solid - struct thickened_face_solid : solid_model, ObjectHelper { thickened_face_solid() : Object("thickened_face_solid") {} - generalized_surface_select::Out base_element; - length_measure::Out offset1; - length_measure::Out offset2; - }; - - // C++ wrapper for thickness_laminate_definition - struct thickness_laminate_definition : product_definition, ObjectHelper { thickness_laminate_definition() : Object("thickness_laminate_definition") {} - - }; - - // C++ wrapper for thickness_laminate_table - struct thickness_laminate_table : zone_structural_makeup, ObjectHelper { thickness_laminate_table() : Object("thickness_laminate_table") {} - - }; - - // C++ wrapper for time_interval - struct time_interval : ObjectHelper { time_interval() : Object("time_interval") {} - identifier::Out id; - label::Out name; - Maybe< text::Out > description; - }; - - // C++ wrapper for time_interval_based_effectivity - struct time_interval_based_effectivity : effectivity, ObjectHelper { time_interval_based_effectivity() : Object("time_interval_based_effectivity") {} - Lazy< time_interval > effectivity_period; - }; - - // C++ wrapper for time_interval_with_bounds - struct time_interval_with_bounds : time_interval, ObjectHelper { time_interval_with_bounds() : Object("time_interval_with_bounds") {} - Maybe< date_time_or_event_occurrence::Out > primary_bound; - Maybe< date_time_or_event_occurrence::Out > secondary_bound; - Maybe< Lazy< time_measure_with_unit > > duration; - }; - - // C++ wrapper for time_measure_with_unit - struct time_measure_with_unit : measure_with_unit, ObjectHelper { time_measure_with_unit() : Object("time_measure_with_unit") {} - - }; - - // C++ wrapper for time_unit - struct time_unit : named_unit, ObjectHelper { time_unit() : Object("time_unit") {} - - }; - - // C++ wrapper for tolerance_zone - struct tolerance_zone : shape_aspect, ObjectHelper { tolerance_zone() : Object("tolerance_zone") {} - ListOf< Lazy< geometric_tolerance >, 1, 0 > defining_tolerance; - Lazy< NotImplemented > form; - }; - - // C++ wrapper for torus - struct torus : geometric_representation_item, ObjectHelper { torus() : Object("torus") {} - Lazy< axis1_placement > position; - positive_length_measure::Out major_radius; - positive_length_measure::Out minor_radius; - }; - - // C++ wrapper for total_runout_tolerance - struct total_runout_tolerance : geometric_tolerance_with_datum_reference, ObjectHelper { total_runout_tolerance() : Object("total_runout_tolerance") {} - - }; - - // C++ wrapper for track_blended_solid - struct track_blended_solid : edge_blended_solid, ObjectHelper { track_blended_solid() : Object("track_blended_solid") {} - - }; - - // C++ wrapper for track_blended_solid_with_end_conditions - struct track_blended_solid_with_end_conditions : track_blended_solid, ObjectHelper { track_blended_solid_with_end_conditions() : Object("track_blended_solid_with_end_conditions") {} - ListOf< blend_end_condition_select, 2, 2 >::Out end_conditions; - }; - - // C++ wrapper for trimmed_curve - struct trimmed_curve : bounded_curve, ObjectHelper { trimmed_curve() : Object("trimmed_curve") {} - Lazy< curve > basis_curve; - ListOf< trimming_select, 1, 2 >::Out trim_1; - ListOf< trimming_select, 1, 2 >::Out trim_2; - BOOLEAN::Out sense_agreement; - trimming_preference::Out master_representation; - }; - - // C++ wrapper for two_direction_repeat_factor - struct two_direction_repeat_factor : one_direction_repeat_factor, ObjectHelper { two_direction_repeat_factor() : Object("two_direction_repeat_factor") {} - Lazy< vector > second_repeat_factor; - }; - - // C++ wrapper for unary_generic_expression - struct unary_generic_expression : generic_expression, ObjectHelper { unary_generic_expression() : Object("unary_generic_expression") {} - Lazy< generic_expression > operand; - }; - - // C++ wrapper for unary_numeric_expression - struct unary_numeric_expression : ObjectHelper { unary_numeric_expression() : Object("unary_numeric_expression") {} - - }; - - // C++ wrapper for uncertainty_assigned_representation - struct uncertainty_assigned_representation : representation, ObjectHelper { uncertainty_assigned_representation() : Object("uncertainty_assigned_representation") {} - ListOf< Lazy< uncertainty_measure_with_unit >, 1, 0 > uncertainty; - }; - - // C++ wrapper for uncertainty_measure_with_unit - struct uncertainty_measure_with_unit : measure_with_unit, ObjectHelper { uncertainty_measure_with_unit() : Object("uncertainty_measure_with_unit") {} - label::Out name; - Maybe< text::Out > description; - }; - - // C++ wrapper for uniform_curve - struct uniform_curve : b_spline_curve, ObjectHelper { uniform_curve() : Object("uniform_curve") {} - - }; - - // C++ wrapper for uniform_resource_identifier - struct uniform_resource_identifier : descriptive_representation_item, ObjectHelper { uniform_resource_identifier() : Object("uniform_resource_identifier") {} - - }; - - // C++ wrapper for uniform_surface - struct uniform_surface : b_spline_surface, ObjectHelper { uniform_surface() : Object("uniform_surface") {} - - }; - - // C++ wrapper for usage_association - struct usage_association : action_method_relationship, ObjectHelper { usage_association() : Object("usage_association") {} - - }; - - // C++ wrapper for user_defined_curve_font - struct user_defined_curve_font : ObjectHelper { user_defined_curve_font() : Object("user_defined_curve_font") {} - - }; - - // C++ wrapper for user_defined_marker - struct user_defined_marker : ObjectHelper { user_defined_marker() : Object("user_defined_marker") {} - - }; - - // C++ wrapper for user_defined_terminator_symbol - struct user_defined_terminator_symbol : ObjectHelper { user_defined_terminator_symbol() : Object("user_defined_terminator_symbol") {} - - }; - - // C++ wrapper for user_selected_shape_elements - struct user_selected_shape_elements : user_selected_elements, ObjectHelper { user_selected_shape_elements() : Object("user_selected_shape_elements") {} - - }; - - // C++ wrapper for value_range - struct value_range : compound_representation_item, ObjectHelper { value_range() : Object("value_range") {} - - }; - - // C++ wrapper for value_representation_item - struct value_representation_item : representation_item, ObjectHelper { value_representation_item() : Object("value_representation_item") {} - measure_value::Out value_component; - }; - - // C++ wrapper for variable_semantics - struct variable_semantics : ObjectHelper { variable_semantics() : Object("variable_semantics") {} - - }; - - // C++ wrapper for variational_representation_item - struct variational_representation_item : representation_item, ObjectHelper { variational_representation_item() : Object("variational_representation_item") {} - - }; - - // C++ wrapper for vector - struct vector : geometric_representation_item, ObjectHelper { vector() : Object("vector") {} - Lazy< direction > orientation; - length_measure::Out magnitude; - }; - - // C++ wrapper for vector_style - struct vector_style : ObjectHelper { vector_style() : Object("vector_style") {} - - }; - - // C++ wrapper for velocity_measure_with_unit - struct velocity_measure_with_unit : measure_with_unit, ObjectHelper { velocity_measure_with_unit() : Object("velocity_measure_with_unit") {} - - }; - - // C++ wrapper for velocity_unit - struct velocity_unit : derived_unit, ObjectHelper { velocity_unit() : Object("velocity_unit") {} - - }; - - // C++ wrapper for vertex - struct vertex : topological_representation_item, ObjectHelper { vertex() : Object("vertex") {} - - }; - - // C++ wrapper for vertex_loop - struct vertex_loop : loop, ObjectHelper { vertex_loop() : Object("vertex_loop") {} - Lazy< vertex > loop_vertex; - }; - - // C++ wrapper for vertex_point - struct vertex_point : ObjectHelper { vertex_point() : Object("vertex_point") {} - Lazy< point > vertex_geometry; - }; - - // C++ wrapper for vertex_shell - struct vertex_shell : topological_representation_item, ObjectHelper { vertex_shell() : Object("vertex_shell") {} - Lazy< vertex_loop > vertex_shell_extent; - }; - - // C++ wrapper for view_volume - struct view_volume : founded_item, ObjectHelper { view_volume() : Object("view_volume") {} - central_or_parallel::Out projection_type; - Lazy< cartesian_point > projection_point; - length_measure::Out view_plane_distance; - length_measure::Out front_plane_distance; - BOOLEAN::Out front_plane_clipping; - length_measure::Out back_plane_distance; - BOOLEAN::Out back_plane_clipping; - BOOLEAN::Out view_volume_sides_clipping; - Lazy< planar_box > view_window; - }; - - // C++ wrapper for visual_appearance_representation - struct visual_appearance_representation : representation, ObjectHelper { visual_appearance_representation() : Object("visual_appearance_representation") {} - - }; - - // C++ wrapper for volume_measure_with_unit - struct volume_measure_with_unit : measure_with_unit, ObjectHelper { volume_measure_with_unit() : Object("volume_measure_with_unit") {} - - }; - - // C++ wrapper for volume_unit - struct volume_unit : derived_unit, ObjectHelper { volume_unit() : Object("volume_unit") {} - - }; - - // C++ wrapper for week_of_year_and_day_date - struct week_of_year_and_day_date : date, ObjectHelper { week_of_year_and_day_date() : Object("week_of_year_and_day_date") {} - week_in_year_number::Out week_component; - Maybe< day_in_week_number::Out > day_component; - }; - - // C++ wrapper for wire_shell - struct wire_shell : topological_representation_item, ObjectHelper { wire_shell() : Object("wire_shell") {} - ListOf< Lazy< loop >, 1, 0 > wire_shell_extent; - }; - - // C++ wrapper for year_month - struct year_month : date, ObjectHelper { year_month() : Object("year_month") {} - month_in_year_number::Out month_component; - }; - - void GetSchema(EXPRESS::ConversionSchema& out); - -} //! StepFile -namespace STEP { - - // ****************************************************************************** - // Converter stubs - // ****************************************************************************** - -#define DECL_CONV_STUB(type) template <> size_t GenericFill(const STEP::DB& db, const EXPRESS::LIST& params, StepFile::type* in) - - DECL_CONV_STUB(measure_with_unit); - DECL_CONV_STUB(absorbed_dose_measure_with_unit); - DECL_CONV_STUB(derived_unit); - DECL_CONV_STUB(absorbed_dose_unit); - DECL_CONV_STUB(abstract_variable); - DECL_CONV_STUB(acceleration_measure_with_unit); - DECL_CONV_STUB(acceleration_unit); - DECL_CONV_STUB(action); - DECL_CONV_STUB(action_assignment); - DECL_CONV_STUB(action_method); - DECL_CONV_STUB(action_method_assignment); - DECL_CONV_STUB(action_method_relationship); - DECL_CONV_STUB(action_request_assignment); - DECL_CONV_STUB(address); - DECL_CONV_STUB(representation); - DECL_CONV_STUB(shape_representation); - DECL_CONV_STUB(advanced_brep_shape_representation); - DECL_CONV_STUB(face_surface); - DECL_CONV_STUB(advanced_face); - DECL_CONV_STUB(amount_of_substance_measure_with_unit); - DECL_CONV_STUB(named_unit); - DECL_CONV_STUB(amount_of_substance_unit); - DECL_CONV_STUB(angle_direction_reference); - DECL_CONV_STUB(representation_item); - DECL_CONV_STUB(geometric_representation_item); - DECL_CONV_STUB(draughting_callout); - DECL_CONV_STUB(dimension_curve_directed_callout); - DECL_CONV_STUB(angular_dimension); - DECL_CONV_STUB(shape_aspect_relationship); - DECL_CONV_STUB(dimensional_location); - DECL_CONV_STUB(angular_location); - DECL_CONV_STUB(dimensional_size); - DECL_CONV_STUB(angular_size); - DECL_CONV_STUB(geometric_tolerance); - DECL_CONV_STUB(geometric_tolerance_with_datum_reference); - DECL_CONV_STUB(angularity_tolerance); - DECL_CONV_STUB(styled_item); - DECL_CONV_STUB(annotation_occurrence); - DECL_CONV_STUB(annotation_curve_occurrence); - DECL_CONV_STUB(annotation_fill_area); - DECL_CONV_STUB(annotation_fill_area_occurrence); - DECL_CONV_STUB(annotation_occurrence_relationship); - DECL_CONV_STUB(annotation_occurrence_associativity); - DECL_CONV_STUB(annotation_plane); - DECL_CONV_STUB(annotation_symbol_occurrence); - DECL_CONV_STUB(annotation_subfigure_occurrence); - DECL_CONV_STUB(mapped_item); - DECL_CONV_STUB(annotation_symbol); - DECL_CONV_STUB(annotation_text); - DECL_CONV_STUB(annotation_text_character); - DECL_CONV_STUB(annotation_text_occurrence); - DECL_CONV_STUB(shape_aspect); - DECL_CONV_STUB(derived_shape_aspect); - DECL_CONV_STUB(apex); - DECL_CONV_STUB(application_context_element); - DECL_CONV_STUB(applied_action_assignment); - DECL_CONV_STUB(applied_action_method_assignment); - DECL_CONV_STUB(applied_action_request_assignment); - DECL_CONV_STUB(approval_assignment); - DECL_CONV_STUB(applied_approval_assignment); - DECL_CONV_STUB(attribute_classification_assignment); - DECL_CONV_STUB(applied_attribute_classification_assignment); - DECL_CONV_STUB(certification_assignment); - DECL_CONV_STUB(applied_certification_assignment); - DECL_CONV_STUB(classification_assignment); - DECL_CONV_STUB(applied_classification_assignment); - DECL_CONV_STUB(contract_assignment); - DECL_CONV_STUB(applied_contract_assignment); - DECL_CONV_STUB(date_and_time_assignment); - DECL_CONV_STUB(applied_date_and_time_assignment); - DECL_CONV_STUB(date_assignment); - DECL_CONV_STUB(applied_date_assignment); - DECL_CONV_STUB(document_reference); - DECL_CONV_STUB(applied_document_reference); - DECL_CONV_STUB(document_usage_constraint_assignment); - DECL_CONV_STUB(applied_document_usage_constraint_assignment); - DECL_CONV_STUB(effectivity_assignment); - DECL_CONV_STUB(applied_effectivity_assignment); - DECL_CONV_STUB(event_occurrence_assignment); - DECL_CONV_STUB(applied_event_occurrence_assignment); - DECL_CONV_STUB(identification_assignment); - DECL_CONV_STUB(external_identification_assignment); - DECL_CONV_STUB(applied_external_identification_assignment); - DECL_CONV_STUB(group_assignment); - DECL_CONV_STUB(applied_group_assignment); - DECL_CONV_STUB(applied_identification_assignment); - DECL_CONV_STUB(name_assignment); - DECL_CONV_STUB(applied_name_assignment); - DECL_CONV_STUB(organization_assignment); - DECL_CONV_STUB(applied_organization_assignment); - DECL_CONV_STUB(organizational_project_assignment); - DECL_CONV_STUB(applied_organizational_project_assignment); - DECL_CONV_STUB(person_and_organization_assignment); - DECL_CONV_STUB(applied_person_and_organization_assignment); - DECL_CONV_STUB(presented_item); - DECL_CONV_STUB(applied_presented_item); - DECL_CONV_STUB(security_classification_assignment); - DECL_CONV_STUB(applied_security_classification_assignment); - DECL_CONV_STUB(time_interval_assignment); - DECL_CONV_STUB(applied_time_interval_assignment); - DECL_CONV_STUB(applied_usage_right); - DECL_CONV_STUB(area_in_set); - DECL_CONV_STUB(area_measure_with_unit); - DECL_CONV_STUB(area_unit); - DECL_CONV_STUB(product_definition_relationship); - DECL_CONV_STUB(product_definition_usage); - DECL_CONV_STUB(assembly_component_usage); - DECL_CONV_STUB(assigned_requirement); - DECL_CONV_STUB(compound_representation_item); - DECL_CONV_STUB(atomic_formula); - DECL_CONV_STUB(attribute_assertion); - DECL_CONV_STUB(attribute_language_assignment); - DECL_CONV_STUB(attribute_value_assignment); - DECL_CONV_STUB(auxiliary_geometric_representation_item); - DECL_CONV_STUB(placement); - DECL_CONV_STUB(axis1_placement); - DECL_CONV_STUB(axis2_placement_2d); - DECL_CONV_STUB(axis2_placement_3d); - DECL_CONV_STUB(curve); - DECL_CONV_STUB(bounded_curve); - DECL_CONV_STUB(b_spline_curve); - DECL_CONV_STUB(b_spline_curve_with_knots); - DECL_CONV_STUB(surface); - DECL_CONV_STUB(bounded_surface); - DECL_CONV_STUB(b_spline_surface); - DECL_CONV_STUB(b_spline_surface_with_knots); - DECL_CONV_STUB(product_definition); - DECL_CONV_STUB(rule_software_definition); - DECL_CONV_STUB(rule_definition); - DECL_CONV_STUB(back_chaining_rule); - DECL_CONV_STUB(back_chaining_rule_body); - DECL_CONV_STUB(colour); - DECL_CONV_STUB(background_colour); - DECL_CONV_STUB(beveled_sheet_representation); - DECL_CONV_STUB(bezier_curve); - DECL_CONV_STUB(bezier_surface); - DECL_CONV_STUB(generic_expression); - DECL_CONV_STUB(binary_generic_expression); - DECL_CONV_STUB(binary_numeric_expression); - DECL_CONV_STUB(binary_representation_item); - DECL_CONV_STUB(block); - DECL_CONV_STUB(expression); - DECL_CONV_STUB(boolean_expression); - DECL_CONV_STUB(boolean_literal); - DECL_CONV_STUB(boolean_representation_item); - DECL_CONV_STUB(boolean_result); - DECL_CONV_STUB(composite_curve); - DECL_CONV_STUB(composite_curve_on_surface); - DECL_CONV_STUB(boundary_curve); - DECL_CONV_STUB(bounded_pcurve); - DECL_CONV_STUB(bounded_surface_curve); - DECL_CONV_STUB(founded_item); - DECL_CONV_STUB(box_domain); - DECL_CONV_STUB(half_space_solid); - DECL_CONV_STUB(boxed_half_space); - DECL_CONV_STUB(breakdown_context); - DECL_CONV_STUB(breakdown_element_group_assignment); - DECL_CONV_STUB(breakdown_element_realization); - DECL_CONV_STUB(breakdown_element_usage); - DECL_CONV_STUB(breakdown_of); - DECL_CONV_STUB(solid_model); - DECL_CONV_STUB(manifold_solid_brep); - DECL_CONV_STUB(brep_with_voids); - DECL_CONV_STUB(bytes_representation_item); - DECL_CONV_STUB(date); - DECL_CONV_STUB(calendar_date); - DECL_CONV_STUB(camera_image); - DECL_CONV_STUB(camera_image_3d_with_scale); - DECL_CONV_STUB(camera_model); - DECL_CONV_STUB(camera_model_d3); - DECL_CONV_STUB(camera_model_d3_multi_clipping); - DECL_CONV_STUB(camera_model_d3_multi_clipping_intersection); - DECL_CONV_STUB(camera_model_d3_multi_clipping_union); - DECL_CONV_STUB(camera_model_d3_with_hlhsr); - DECL_CONV_STUB(camera_model_with_light_sources); - DECL_CONV_STUB(representation_map); - DECL_CONV_STUB(camera_usage); - DECL_CONV_STUB(capacitance_measure_with_unit); - DECL_CONV_STUB(capacitance_unit); - DECL_CONV_STUB(point); - DECL_CONV_STUB(cartesian_point); - DECL_CONV_STUB(cartesian_transformation_operator); - DECL_CONV_STUB(cartesian_transformation_operator_2d); - DECL_CONV_STUB(cartesian_transformation_operator_3d); - DECL_CONV_STUB(cc_design_approval); - DECL_CONV_STUB(cc_design_certification); - DECL_CONV_STUB(cc_design_contract); - DECL_CONV_STUB(cc_design_date_and_time_assignment); - DECL_CONV_STUB(cc_design_person_and_organization_assignment); - DECL_CONV_STUB(cc_design_security_classification); - DECL_CONV_STUB(cc_design_specification_reference); - DECL_CONV_STUB(celsius_temperature_measure_with_unit); - DECL_CONV_STUB(centre_of_symmetry); - DECL_CONV_STUB(change); - DECL_CONV_STUB(change_request); - DECL_CONV_STUB(character_glyph_style_outline); - DECL_CONV_STUB(character_glyph_style_stroke); - DECL_CONV_STUB(symbol_representation); - DECL_CONV_STUB(generic_character_glyph_symbol); - DECL_CONV_STUB(character_glyph_symbol); - DECL_CONV_STUB(character_glyph_symbol_outline); - DECL_CONV_STUB(character_glyph_symbol_stroke); - DECL_CONV_STUB(general_property); - DECL_CONV_STUB(characteristic_data_column_header); - DECL_CONV_STUB(general_property_relationship); - DECL_CONV_STUB(characteristic_data_column_header_link); - DECL_CONV_STUB(characteristic_data_table_header); - DECL_CONV_STUB(characteristic_data_table_header_decomposition); - DECL_CONV_STUB(group); - DECL_CONV_STUB(characteristic_type); - DECL_CONV_STUB(characterized_class); - DECL_CONV_STUB(characterized_object); - DECL_CONV_STUB(conic); - DECL_CONV_STUB(circle); - DECL_CONV_STUB(circular_runout_tolerance); - DECL_CONV_STUB(class_by_extension); - DECL_CONV_STUB(class_by_intension); - DECL_CONV_STUB(class_system); - DECL_CONV_STUB(effectivity_context_assignment); - DECL_CONV_STUB(class_usage_effectivity_context_assignment); - DECL_CONV_STUB(topological_representation_item); - DECL_CONV_STUB(connected_face_set); - DECL_CONV_STUB(closed_shell); - DECL_CONV_STUB(coaxiality_tolerance); - DECL_CONV_STUB(colour_specification); - DECL_CONV_STUB(colour_rgb); - DECL_CONV_STUB(common_datum); - DECL_CONV_STUB(comparison_expression); - DECL_CONV_STUB(complex_clause); - DECL_CONV_STUB(complex_conjunctive_clause); - DECL_CONV_STUB(complex_disjunctive_clause); - DECL_CONV_STUB(modified_solid); - DECL_CONV_STUB(shelled_solid); - DECL_CONV_STUB(complex_shelled_solid); - DECL_CONV_STUB(composite_assembly_definition); - DECL_CONV_STUB(composite_assembly_sequence_definition); - DECL_CONV_STUB(laminate_table); - DECL_CONV_STUB(part_laminate_table); - DECL_CONV_STUB(composite_assembly_table); - DECL_CONV_STUB(composite_curve_segment); - DECL_CONV_STUB(material_designation); - DECL_CONV_STUB(composite_material_designation); - DECL_CONV_STUB(composite_shape_aspect); - DECL_CONV_STUB(composite_sheet_representation); - DECL_CONV_STUB(composite_text); - DECL_CONV_STUB(composite_text_with_associated_curves); - DECL_CONV_STUB(composite_text_with_blanking_box); - DECL_CONV_STUB(composite_text_with_delineation); - DECL_CONV_STUB(composite_text_with_extent); - DECL_CONV_STUB(compound_shape_representation); - DECL_CONV_STUB(concentricity_tolerance); - DECL_CONV_STUB(concept_feature_relationship); - DECL_CONV_STUB(concept_feature_relationship_with_condition); - DECL_CONV_STUB(product_concept_feature); - DECL_CONV_STUB(conditional_concept_feature); - DECL_CONV_STUB(conductance_measure_with_unit); - DECL_CONV_STUB(conductance_unit); - DECL_CONV_STUB(configuration_item); - DECL_CONV_STUB(configurable_item); - DECL_CONV_STUB(effectivity); - DECL_CONV_STUB(product_definition_effectivity); - DECL_CONV_STUB(configuration_effectivity); - DECL_CONV_STUB(configuration_item_relationship); - DECL_CONV_STUB(configuration_item_hierarchical_relationship); - DECL_CONV_STUB(configuration_item_revision_sequence); - DECL_CONV_STUB(configured_effectivity_assignment); - DECL_CONV_STUB(configured_effectivity_context_assignment); - DECL_CONV_STUB(conical_stepped_hole_transition); - DECL_CONV_STUB(elementary_surface); - DECL_CONV_STUB(conical_surface); - DECL_CONV_STUB(connected_edge_set); - DECL_CONV_STUB(connected_face_sub_set); - DECL_CONV_STUB(constructive_geometry_representation); - DECL_CONV_STUB(representation_relationship); - DECL_CONV_STUB(constructive_geometry_representation_relationship); - DECL_CONV_STUB(contact_ratio_representation); - DECL_CONV_STUB(invisibility); - DECL_CONV_STUB(context_dependent_invisibility); - DECL_CONV_STUB(over_riding_styled_item); - DECL_CONV_STUB(context_dependent_over_riding_styled_item); - DECL_CONV_STUB(context_dependent_unit); - DECL_CONV_STUB(conversion_based_unit); - DECL_CONV_STUB(csg_shape_representation); - DECL_CONV_STUB(csg_solid); - DECL_CONV_STUB(currency); - DECL_CONV_STUB(currency_measure_with_unit); - DECL_CONV_STUB(curve_bounded_surface); - DECL_CONV_STUB(curve_dimension); - DECL_CONV_STUB(curve_replica); - DECL_CONV_STUB(curve_style); - DECL_CONV_STUB(curve_style_font); - DECL_CONV_STUB(curve_style_font_and_scaling); - DECL_CONV_STUB(curve_style_font_pattern); - DECL_CONV_STUB(curve_swept_solid_shape_representation); - DECL_CONV_STUB(cylindrical_surface); - DECL_CONV_STUB(cylindricity_tolerance); - DECL_CONV_STUB(date_representation_item); - DECL_CONV_STUB(date_time_representation_item); - DECL_CONV_STUB(dated_effectivity); - DECL_CONV_STUB(datum); - DECL_CONV_STUB(datum_feature); - DECL_CONV_STUB(datum_feature_callout); - DECL_CONV_STUB(datum_reference); - DECL_CONV_STUB(datum_target); - DECL_CONV_STUB(datum_target_callout); - DECL_CONV_STUB(default_tolerance_table); - DECL_CONV_STUB(default_tolerance_table_cell); - DECL_CONV_STUB(defined_symbol); - DECL_CONV_STUB(definitional_representation); - DECL_CONV_STUB(definitional_representation_relationship); - DECL_CONV_STUB(definitional_representation_relationship_with_same_context); - DECL_CONV_STUB(degenerate_pcurve); - DECL_CONV_STUB(toroidal_surface); - DECL_CONV_STUB(degenerate_toroidal_surface); - DECL_CONV_STUB(descriptive_representation_item); - DECL_CONV_STUB(product_definition_context); - DECL_CONV_STUB(design_context); - DECL_CONV_STUB(design_make_from_relationship); - DECL_CONV_STUB(diameter_dimension); - DECL_CONV_STUB(ratio_measure_with_unit); - DECL_CONV_STUB(dielectric_constant_measure_with_unit); - DECL_CONV_STUB(dimension_callout); - DECL_CONV_STUB(draughting_callout_relationship); - DECL_CONV_STUB(dimension_callout_component_relationship); - DECL_CONV_STUB(dimension_callout_relationship); - DECL_CONV_STUB(dimension_curve); - DECL_CONV_STUB(terminator_symbol); - DECL_CONV_STUB(dimension_curve_terminator); - DECL_CONV_STUB(dimension_curve_terminator_to_projection_curve_associativity); - DECL_CONV_STUB(dimension_pair); - DECL_CONV_STUB(dimension_text_associativity); - DECL_CONV_STUB(dimensional_location_with_path); - DECL_CONV_STUB(dimensional_size_with_path); - DECL_CONV_STUB(executed_action); - DECL_CONV_STUB(directed_action); - DECL_CONV_STUB(directed_dimensional_location); - DECL_CONV_STUB(direction); - DECL_CONV_STUB(document_file); - DECL_CONV_STUB(document_identifier); - DECL_CONV_STUB(document_identifier_assignment); - DECL_CONV_STUB(document_product_association); - DECL_CONV_STUB(document_product_equivalence); - DECL_CONV_STUB(dose_equivalent_measure_with_unit); - DECL_CONV_STUB(dose_equivalent_unit); - DECL_CONV_STUB(double_offset_shelled_solid); - DECL_CONV_STUB(item_defined_transformation); - DECL_CONV_STUB(transformation_with_derived_angle); - DECL_CONV_STUB(draped_defined_transformation); - DECL_CONV_STUB(draughting_annotation_occurrence); - DECL_CONV_STUB(draughting_elements); - DECL_CONV_STUB(draughting_model); - DECL_CONV_STUB(item_identified_representation_usage); - DECL_CONV_STUB(draughting_model_item_association); - DECL_CONV_STUB(pre_defined_colour); - DECL_CONV_STUB(draughting_pre_defined_colour); - DECL_CONV_STUB(pre_defined_item); - DECL_CONV_STUB(pre_defined_curve_font); - DECL_CONV_STUB(draughting_pre_defined_curve_font); - DECL_CONV_STUB(pre_defined_text_font); - DECL_CONV_STUB(draughting_pre_defined_text_font); - DECL_CONV_STUB(draughting_subfigure_representation); - DECL_CONV_STUB(draughting_symbol_representation); - DECL_CONV_STUB(text_literal); - DECL_CONV_STUB(text_literal_with_delineation); - DECL_CONV_STUB(draughting_text_literal_with_delineation); - DECL_CONV_STUB(presentation_set); - DECL_CONV_STUB(drawing_revision); - DECL_CONV_STUB(presentation_representation); - DECL_CONV_STUB(presentation_area); - DECL_CONV_STUB(drawing_sheet_revision); - DECL_CONV_STUB(drawing_sheet_revision_sequence); - DECL_CONV_STUB(drawing_sheet_revision_usage); - DECL_CONV_STUB(edge); - DECL_CONV_STUB(edge_based_wireframe_model); - DECL_CONV_STUB(edge_based_wireframe_shape_representation); - DECL_CONV_STUB(edge_blended_solid); - DECL_CONV_STUB(edge_curve); - DECL_CONV_STUB(edge_loop); - DECL_CONV_STUB(electric_charge_measure_with_unit); - DECL_CONV_STUB(electric_charge_unit); - DECL_CONV_STUB(electric_current_measure_with_unit); - DECL_CONV_STUB(electric_current_unit); - DECL_CONV_STUB(electric_potential_measure_with_unit); - DECL_CONV_STUB(electric_potential_unit); - DECL_CONV_STUB(elementary_brep_shape_representation); - DECL_CONV_STUB(ellipse); - DECL_CONV_STUB(energy_measure_with_unit); - DECL_CONV_STUB(energy_unit); - DECL_CONV_STUB(property_definition); - DECL_CONV_STUB(fact_type); - DECL_CONV_STUB(entity_assertion); - DECL_CONV_STUB(enum_reference_prefix); - DECL_CONV_STUB(evaluated_characteristic); - DECL_CONV_STUB(evaluated_degenerate_pcurve); - DECL_CONV_STUB(evaluation_product_definition); - DECL_CONV_STUB(event_occurrence); - DECL_CONV_STUB(product_concept_feature_category); - DECL_CONV_STUB(exclusive_product_concept_feature_category); - DECL_CONV_STUB(uncertainty_qualifier); - DECL_CONV_STUB(standard_uncertainty); - DECL_CONV_STUB(expanded_uncertainty); - DECL_CONV_STUB(representation_item_relationship); - DECL_CONV_STUB(explicit_procedural_representation_item_relationship); - DECL_CONV_STUB(explicit_procedural_geometric_representation_item_relationship); - DECL_CONV_STUB(explicit_procedural_representation_relationship); - DECL_CONV_STUB(explicit_procedural_shape_representation_relationship); - DECL_CONV_STUB(expression_conversion_based_unit); - DECL_CONV_STUB(extension); - DECL_CONV_STUB(extent); - DECL_CONV_STUB(external_source); - DECL_CONV_STUB(external_class_library); - DECL_CONV_STUB(externally_defined_class); - DECL_CONV_STUB(externally_defined_colour); - DECL_CONV_STUB(externally_defined_context_dependent_unit); - DECL_CONV_STUB(externally_defined_conversion_based_unit); - DECL_CONV_STUB(externally_defined_currency); - DECL_CONV_STUB(externally_defined_item); - DECL_CONV_STUB(externally_defined_curve_font); - DECL_CONV_STUB(externally_defined_dimension_definition); - DECL_CONV_STUB(externally_defined_general_property); - DECL_CONV_STUB(externally_defined_hatch_style); - DECL_CONV_STUB(externally_defined_marker); - DECL_CONV_STUB(picture_representation_item); - DECL_CONV_STUB(externally_defined_picture_representation_item); - DECL_CONV_STUB(externally_defined_representation_item); - DECL_CONV_STUB(externally_defined_string); - DECL_CONV_STUB(externally_defined_symbol); - DECL_CONV_STUB(externally_defined_terminator_symbol); - DECL_CONV_STUB(externally_defined_text_font); - DECL_CONV_STUB(externally_defined_tile); - DECL_CONV_STUB(externally_defined_tile_style); - DECL_CONV_STUB(swept_area_solid); - DECL_CONV_STUB(extruded_area_solid); - DECL_CONV_STUB(swept_face_solid); - DECL_CONV_STUB(extruded_face_solid); - DECL_CONV_STUB(extruded_face_solid_with_trim_conditions); - DECL_CONV_STUB(extruded_face_solid_with_draft_angle); - DECL_CONV_STUB(extruded_face_solid_with_multiple_draft_angles); - DECL_CONV_STUB(face); - DECL_CONV_STUB(face_based_surface_model); - DECL_CONV_STUB(face_bound); - DECL_CONV_STUB(face_outer_bound); - DECL_CONV_STUB(faceted_brep); - DECL_CONV_STUB(faceted_brep_shape_representation); - DECL_CONV_STUB(fill_area_style); - DECL_CONV_STUB(fill_area_style_hatching); - DECL_CONV_STUB(fill_area_style_tile_coloured_region); - DECL_CONV_STUB(fill_area_style_tile_curve_with_style); - DECL_CONV_STUB(fill_area_style_tile_symbol_with_style); - DECL_CONV_STUB(fill_area_style_tiles); - DECL_CONV_STUB(shape_representation_relationship); - DECL_CONV_STUB(flat_pattern_ply_representation_relationship); - DECL_CONV_STUB(flatness_tolerance); - DECL_CONV_STUB(force_measure_with_unit); - DECL_CONV_STUB(force_unit); - DECL_CONV_STUB(forward_chaining_rule); - DECL_CONV_STUB(forward_chaining_rule_premise); - DECL_CONV_STUB(frequency_measure_with_unit); - DECL_CONV_STUB(frequency_unit); - DECL_CONV_STUB(func); - DECL_CONV_STUB(functional_breakdown_context); - DECL_CONV_STUB(functional_element_usage); - DECL_CONV_STUB(general_material_property); - DECL_CONV_STUB(simple_generic_expression); - DECL_CONV_STUB(generic_literal); - DECL_CONV_STUB(generic_variable); - DECL_CONV_STUB(geometric_alignment); - DECL_CONV_STUB(geometric_set); - DECL_CONV_STUB(geometric_curve_set); - DECL_CONV_STUB(geometric_intersection); - DECL_CONV_STUB(geometric_item_specific_usage); - DECL_CONV_STUB(geometric_model_element_relationship); - DECL_CONV_STUB(representation_context); - DECL_CONV_STUB(geometric_representation_context); - DECL_CONV_STUB(geometric_tolerance_with_defined_unit); - DECL_CONV_STUB(geometrical_tolerance_callout); - DECL_CONV_STUB(geometrically_bounded_2d_wireframe_representation); - DECL_CONV_STUB(geometrically_bounded_surface_shape_representation); - DECL_CONV_STUB(geometrically_bounded_wireframe_shape_representation); - DECL_CONV_STUB(global_assignment); - DECL_CONV_STUB(global_uncertainty_assigned_context); - DECL_CONV_STUB(global_unit_assigned_context); - DECL_CONV_STUB(ground_fact); - DECL_CONV_STUB(hardness_representation); - DECL_CONV_STUB(hidden_element_over_riding_styled_item); - DECL_CONV_STUB(hyperbola); - DECL_CONV_STUB(illuminance_measure_with_unit); - DECL_CONV_STUB(illuminance_unit); - DECL_CONV_STUB(included_text_block); - DECL_CONV_STUB(inclusion_product_concept_feature); - DECL_CONV_STUB(user_selected_elements); - DECL_CONV_STUB(indirectly_selected_elements); - DECL_CONV_STUB(indirectly_selected_shape_elements); - DECL_CONV_STUB(inductance_measure_with_unit); - DECL_CONV_STUB(inductance_unit); - DECL_CONV_STUB(information_right); - DECL_CONV_STUB(information_usage_right); - DECL_CONV_STUB(instance_usage_context_assignment); - DECL_CONV_STUB(instanced_feature); - DECL_CONV_STUB(literal_number); - DECL_CONV_STUB(int_literal); - DECL_CONV_STUB(integer_representation_item); - DECL_CONV_STUB(surface_curve); - DECL_CONV_STUB(intersection_curve); - DECL_CONV_STUB(interval_expression); - DECL_CONV_STUB(iso4217_currency); - DECL_CONV_STUB(known_source); - DECL_CONV_STUB(laid_defined_transformation); - DECL_CONV_STUB(language); - DECL_CONV_STUB(leader_curve); - DECL_CONV_STUB(leader_directed_callout); - DECL_CONV_STUB(leader_directed_dimension); - DECL_CONV_STUB(leader_terminator); - DECL_CONV_STUB(length_measure_with_unit); - DECL_CONV_STUB(length_unit); - DECL_CONV_STUB(light_source); - DECL_CONV_STUB(light_source_ambient); - DECL_CONV_STUB(light_source_directional); - DECL_CONV_STUB(light_source_positional); - DECL_CONV_STUB(light_source_spot); - DECL_CONV_STUB(line); - DECL_CONV_STUB(line_profile_tolerance); - DECL_CONV_STUB(linear_dimension); - DECL_CONV_STUB(simple_clause); - DECL_CONV_STUB(literal_conjunction); - DECL_CONV_STUB(literal_disjunction); - DECL_CONV_STUB(logical_literal); - DECL_CONV_STUB(logical_representation_item); - DECL_CONV_STUB(loop); - DECL_CONV_STUB(loss_tangent_measure_with_unit); - DECL_CONV_STUB(lot_effectivity); - DECL_CONV_STUB(luminous_flux_measure_with_unit); - DECL_CONV_STUB(luminous_flux_unit); - DECL_CONV_STUB(luminous_intensity_measure_with_unit); - DECL_CONV_STUB(luminous_intensity_unit); - DECL_CONV_STUB(magnetic_flux_density_measure_with_unit); - DECL_CONV_STUB(magnetic_flux_density_unit); - DECL_CONV_STUB(magnetic_flux_measure_with_unit); - DECL_CONV_STUB(magnetic_flux_unit); - DECL_CONV_STUB(make_from_usage_option); - DECL_CONV_STUB(manifold_subsurface_shape_representation); - DECL_CONV_STUB(manifold_surface_shape_representation); - DECL_CONV_STUB(mass_measure_with_unit); - DECL_CONV_STUB(mass_unit); - DECL_CONV_STUB(material_property); - DECL_CONV_STUB(property_definition_representation); - DECL_CONV_STUB(material_property_representation); - DECL_CONV_STUB(measure_representation_item); - DECL_CONV_STUB(product_context); - DECL_CONV_STUB(mechanical_context); - DECL_CONV_STUB(mechanical_design_and_draughting_relationship); - DECL_CONV_STUB(mechanical_design_geometric_presentation_area); - DECL_CONV_STUB(mechanical_design_geometric_presentation_representation); - DECL_CONV_STUB(mechanical_design_presentation_representation_with_draughting); - DECL_CONV_STUB(mechanical_design_shaded_presentation_area); - DECL_CONV_STUB(mechanical_design_shaded_presentation_representation); - DECL_CONV_STUB(min_and_major_ply_orientation_basis); - DECL_CONV_STUB(modified_geometric_tolerance); - DECL_CONV_STUB(modified_solid_with_placed_configuration); - DECL_CONV_STUB(moments_of_inertia_representation); - DECL_CONV_STUB(multi_language_attribute_assignment); - DECL_CONV_STUB(multiple_arity_boolean_expression); - DECL_CONV_STUB(multiple_arity_generic_expression); - DECL_CONV_STUB(multiple_arity_numeric_expression); - DECL_CONV_STUB(next_assembly_usage_occurrence); - DECL_CONV_STUB(non_manifold_surface_shape_representation); - DECL_CONV_STUB(null_representation_item); - DECL_CONV_STUB(numeric_expression); - DECL_CONV_STUB(offset_curve_2d); - DECL_CONV_STUB(offset_curve_3d); - DECL_CONV_STUB(offset_surface); - DECL_CONV_STUB(one_direction_repeat_factor); - DECL_CONV_STUB(open_shell); - DECL_CONV_STUB(ordinal_date); - DECL_CONV_STUB(projection_directed_callout); - DECL_CONV_STUB(ordinate_dimension); - DECL_CONV_STUB(organizational_address); - DECL_CONV_STUB(oriented_closed_shell); - DECL_CONV_STUB(oriented_edge); - DECL_CONV_STUB(oriented_face); - DECL_CONV_STUB(oriented_open_shell); - DECL_CONV_STUB(path); - DECL_CONV_STUB(oriented_path); - DECL_CONV_STUB(oriented_surface); - DECL_CONV_STUB(outer_boundary_curve); - DECL_CONV_STUB(package_product_concept_feature); - DECL_CONV_STUB(parabola); - DECL_CONV_STUB(parallel_offset); - DECL_CONV_STUB(parallelism_tolerance); - DECL_CONV_STUB(parametric_representation_context); - DECL_CONV_STUB(partial_document_with_structured_text_representation_assignment); - DECL_CONV_STUB(pcurve); - DECL_CONV_STUB(percentage_laminate_definition); - DECL_CONV_STUB(zone_structural_makeup); - DECL_CONV_STUB(percentage_laminate_table); - DECL_CONV_STUB(percentage_ply_definition); - DECL_CONV_STUB(perpendicular_to); - DECL_CONV_STUB(perpendicularity_tolerance); - DECL_CONV_STUB(person_and_organization_address); - DECL_CONV_STUB(personal_address); - DECL_CONV_STUB(physical_breakdown_context); - DECL_CONV_STUB(physical_element_usage); - DECL_CONV_STUB(presentation_view); - DECL_CONV_STUB(picture_representation); - DECL_CONV_STUB(placed_datum_target_feature); - DECL_CONV_STUB(placed_feature); - DECL_CONV_STUB(planar_extent); - DECL_CONV_STUB(planar_box); - DECL_CONV_STUB(plane); - DECL_CONV_STUB(plane_angle_measure_with_unit); - DECL_CONV_STUB(plane_angle_unit); - DECL_CONV_STUB(ply_laminate_definition); - DECL_CONV_STUB(ply_laminate_sequence_definition); - DECL_CONV_STUB(ply_laminate_table); - DECL_CONV_STUB(point_and_vector); - DECL_CONV_STUB(point_on_curve); - DECL_CONV_STUB(point_on_surface); - DECL_CONV_STUB(point_path); - DECL_CONV_STUB(point_replica); - DECL_CONV_STUB(point_style); - DECL_CONV_STUB(polar_complex_number_literal); - DECL_CONV_STUB(poly_loop); - DECL_CONV_STUB(polyline); - DECL_CONV_STUB(position_tolerance); - DECL_CONV_STUB(positioned_sketch); - DECL_CONV_STUB(power_measure_with_unit); - DECL_CONV_STUB(power_unit); - DECL_CONV_STUB(pre_defined_symbol); - DECL_CONV_STUB(pre_defined_dimension_symbol); - DECL_CONV_STUB(pre_defined_geometrical_tolerance_symbol); - DECL_CONV_STUB(pre_defined_marker); - DECL_CONV_STUB(pre_defined_point_marker_symbol); - DECL_CONV_STUB(pre_defined_surface_condition_symbol); - DECL_CONV_STUB(pre_defined_surface_side_style); - DECL_CONV_STUB(pre_defined_terminator_symbol); - DECL_CONV_STUB(pre_defined_tile); - DECL_CONV_STUB(predefined_picture_representation_item); - DECL_CONV_STUB(presentation_style_assignment); - DECL_CONV_STUB(presentation_style_by_context); - DECL_CONV_STUB(pressure_measure_with_unit); - DECL_CONV_STUB(pressure_unit); - DECL_CONV_STUB(procedural_representation); - DECL_CONV_STUB(procedural_representation_sequence); - DECL_CONV_STUB(procedural_shape_representation); - DECL_CONV_STUB(procedural_shape_representation_sequence); - DECL_CONV_STUB(product_category); - DECL_CONV_STUB(product_class); - DECL_CONV_STUB(product_concept_context); - DECL_CONV_STUB(product_concept_feature_category_usage); - DECL_CONV_STUB(product_definition_element_relationship); - DECL_CONV_STUB(product_definition_formation); - DECL_CONV_STUB(product_definition_formation_with_specified_source); - DECL_CONV_STUB(product_definition_group_assignment); - DECL_CONV_STUB(product_definition_shape); - DECL_CONV_STUB(product_definition_with_associated_documents); - DECL_CONV_STUB(product_identification); - DECL_CONV_STUB(product_material_composition_relationship); - DECL_CONV_STUB(product_related_product_category); - DECL_CONV_STUB(product_specification); - DECL_CONV_STUB(tolerance_zone_definition); - DECL_CONV_STUB(projected_zone_definition); - DECL_CONV_STUB(projection_curve); - DECL_CONV_STUB(promissory_usage_occurrence); - DECL_CONV_STUB(qualified_representation_item); - DECL_CONV_STUB(qualitative_uncertainty); - DECL_CONV_STUB(quantified_assembly_component_usage); - DECL_CONV_STUB(quasi_uniform_curve); - DECL_CONV_STUB(quasi_uniform_surface); - DECL_CONV_STUB(radioactivity_measure_with_unit); - DECL_CONV_STUB(radioactivity_unit); - DECL_CONV_STUB(radius_dimension); - DECL_CONV_STUB(range_characteristic); - DECL_CONV_STUB(ratio_unit); - DECL_CONV_STUB(rational_b_spline_curve); - DECL_CONV_STUB(rational_b_spline_surface); - DECL_CONV_STUB(rational_representation_item); - DECL_CONV_STUB(real_literal); - DECL_CONV_STUB(real_representation_item); - DECL_CONV_STUB(rectangular_composite_surface); - DECL_CONV_STUB(rectangular_trimmed_surface); - DECL_CONV_STUB(referenced_modified_datum); - DECL_CONV_STUB(relative_event_occurrence); - DECL_CONV_STUB(rep_item_group); - DECL_CONV_STUB(reparametrised_composite_curve_segment); - DECL_CONV_STUB(representation_relationship_with_transformation); - DECL_CONV_STUB(requirement_assigned_object); - DECL_CONV_STUB(requirement_assignment); - DECL_CONV_STUB(requirement_source); - DECL_CONV_STUB(requirement_view_definition_relationship); - DECL_CONV_STUB(resistance_measure_with_unit); - DECL_CONV_STUB(resistance_unit); - DECL_CONV_STUB(revolved_area_solid); - DECL_CONV_STUB(revolved_face_solid); - DECL_CONV_STUB(revolved_face_solid_with_trim_conditions); - DECL_CONV_STUB(right_angular_wedge); - DECL_CONV_STUB(right_circular_cone); - DECL_CONV_STUB(right_circular_cylinder); - DECL_CONV_STUB(right_to_usage_association); - DECL_CONV_STUB(roundness_tolerance); - DECL_CONV_STUB(row_representation_item); - DECL_CONV_STUB(row_value); - DECL_CONV_STUB(row_variable); - DECL_CONV_STUB(rule_action); - DECL_CONV_STUB(rule_condition); - DECL_CONV_STUB(rule_set); - DECL_CONV_STUB(rule_set_group); - DECL_CONV_STUB(rule_superseded_assignment); - DECL_CONV_STUB(rule_supersedence); - DECL_CONV_STUB(surface_curve_swept_area_solid); - DECL_CONV_STUB(ruled_surface_swept_area_solid); - DECL_CONV_STUB(runout_zone_definition); - DECL_CONV_STUB(runout_zone_orientation); - DECL_CONV_STUB(runout_zone_orientation_reference_direction); - DECL_CONV_STUB(satisfied_requirement); - DECL_CONV_STUB(satisfies_requirement); - DECL_CONV_STUB(satisfying_item); - DECL_CONV_STUB(scalar_variable); - DECL_CONV_STUB(scattering_parameter); - DECL_CONV_STUB(sculptured_solid); - DECL_CONV_STUB(seam_curve); - DECL_CONV_STUB(serial_numbered_effectivity); - DECL_CONV_STUB(shape_aspect_associativity); - DECL_CONV_STUB(shape_aspect_deriving_relationship); - DECL_CONV_STUB(shape_definition_representation); - DECL_CONV_STUB(shape_dimension_representation); - DECL_CONV_STUB(shape_feature_definition); - DECL_CONV_STUB(shape_representation_with_parameters); - DECL_CONV_STUB(shell_based_surface_model); - DECL_CONV_STUB(shell_based_wireframe_model); - DECL_CONV_STUB(shell_based_wireframe_shape_representation); - DECL_CONV_STUB(si_absorbed_dose_unit); - DECL_CONV_STUB(si_capacitance_unit); - DECL_CONV_STUB(si_conductance_unit); - DECL_CONV_STUB(si_dose_equivalent_unit); - DECL_CONV_STUB(si_electric_charge_unit); - DECL_CONV_STUB(si_electric_potential_unit); - DECL_CONV_STUB(si_energy_unit); - DECL_CONV_STUB(si_force_unit); - DECL_CONV_STUB(si_frequency_unit); - DECL_CONV_STUB(si_illuminance_unit); - DECL_CONV_STUB(si_inductance_unit); - DECL_CONV_STUB(si_magnetic_flux_density_unit); - DECL_CONV_STUB(si_magnetic_flux_unit); - DECL_CONV_STUB(si_power_unit); - DECL_CONV_STUB(si_pressure_unit); - DECL_CONV_STUB(si_radioactivity_unit); - DECL_CONV_STUB(si_resistance_unit); - DECL_CONV_STUB(si_unit); - DECL_CONV_STUB(simple_boolean_expression); - DECL_CONV_STUB(simple_numeric_expression); - DECL_CONV_STUB(slash_expression); - DECL_CONV_STUB(smeared_material_definition); - DECL_CONV_STUB(solid_angle_measure_with_unit); - DECL_CONV_STUB(solid_angle_unit); - DECL_CONV_STUB(solid_curve_font); - DECL_CONV_STUB(solid_replica); - DECL_CONV_STUB(solid_with_chamfered_edges); - DECL_CONV_STUB(solid_with_angle_based_chamfer); - DECL_CONV_STUB(solid_with_shape_element_pattern); - DECL_CONV_STUB(solid_with_circular_pattern); - DECL_CONV_STUB(solid_with_depression); - DECL_CONV_STUB(solid_with_pocket); - DECL_CONV_STUB(solid_with_circular_pocket); - DECL_CONV_STUB(solid_with_protrusion); - DECL_CONV_STUB(solid_with_circular_protrusion); - DECL_CONV_STUB(solid_with_hole); - DECL_CONV_STUB(solid_with_stepped_round_hole); - DECL_CONV_STUB(solid_with_conical_bottom_round_hole); - DECL_CONV_STUB(solid_with_constant_radius_edge_blend); - DECL_CONV_STUB(solid_with_slot); - DECL_CONV_STUB(solid_with_curved_slot); - DECL_CONV_STUB(solid_with_double_offset_chamfer); - DECL_CONV_STUB(solid_with_flat_bottom_round_hole); - DECL_CONV_STUB(solid_with_general_pocket); - DECL_CONV_STUB(solid_with_general_protrusion); - DECL_CONV_STUB(solid_with_groove); - DECL_CONV_STUB(solid_with_incomplete_circular_pattern); - DECL_CONV_STUB(solid_with_rectangular_pattern); - DECL_CONV_STUB(solid_with_incomplete_rectangular_pattern); - DECL_CONV_STUB(solid_with_rectangular_pocket); - DECL_CONV_STUB(solid_with_rectangular_protrusion); - DECL_CONV_STUB(solid_with_single_offset_chamfer); - DECL_CONV_STUB(solid_with_spherical_bottom_round_hole); - DECL_CONV_STUB(solid_with_stepped_round_hole_and_conical_transitions); - DECL_CONV_STUB(solid_with_straight_slot); - DECL_CONV_STUB(solid_with_tee_section_slot); - DECL_CONV_STUB(solid_with_through_depression); - DECL_CONV_STUB(solid_with_trapezoidal_section_slot); - DECL_CONV_STUB(solid_with_variable_radius_edge_blend); - DECL_CONV_STUB(source_for_requirement); - DECL_CONV_STUB(sourced_requirement); - DECL_CONV_STUB(specification_definition); - DECL_CONV_STUB(specified_higher_usage_occurrence); - DECL_CONV_STUB(sphere); - DECL_CONV_STUB(spherical_surface); - DECL_CONV_STUB(start_request); - DECL_CONV_STUB(start_work); - DECL_CONV_STUB(straightness_tolerance); - DECL_CONV_STUB(structured_dimension_callout); - DECL_CONV_STUB(structured_text_composition); - DECL_CONV_STUB(structured_text_representation); - DECL_CONV_STUB(subedge); - DECL_CONV_STUB(subface); - DECL_CONV_STUB(supplied_part_relationship); - DECL_CONV_STUB(surface_condition_callout); - DECL_CONV_STUB(swept_surface); - DECL_CONV_STUB(surface_of_linear_extrusion); - DECL_CONV_STUB(surface_of_revolution); - DECL_CONV_STUB(surface_patch); - DECL_CONV_STUB(surface_profile_tolerance); - DECL_CONV_STUB(surface_replica); - DECL_CONV_STUB(surface_side_style); - DECL_CONV_STUB(surface_style_boundary); - DECL_CONV_STUB(surface_style_control_grid); - DECL_CONV_STUB(surface_style_fill_area); - DECL_CONV_STUB(surface_style_parameter_line); - DECL_CONV_STUB(surface_style_reflectance_ambient); - DECL_CONV_STUB(surface_style_reflectance_ambient_diffuse); - DECL_CONV_STUB(surface_style_reflectance_ambient_diffuse_specular); - DECL_CONV_STUB(surface_style_rendering); - DECL_CONV_STUB(surface_style_rendering_with_properties); - DECL_CONV_STUB(surface_style_segmentation_curve); - DECL_CONV_STUB(surface_style_silhouette); - DECL_CONV_STUB(surface_style_usage); - DECL_CONV_STUB(surface_texture_representation); - DECL_CONV_STUB(surfaced_open_shell); - DECL_CONV_STUB(swept_disk_solid); - DECL_CONV_STUB(symbol); - DECL_CONV_STUB(symbol_representation_map); - DECL_CONV_STUB(symbol_style); - DECL_CONV_STUB(symbol_target); - DECL_CONV_STUB(symmetric_shape_aspect); - DECL_CONV_STUB(symmetry_tolerance); - DECL_CONV_STUB(table_representation_item); - DECL_CONV_STUB(tactile_appearance_representation); - DECL_CONV_STUB(tagged_text_format); - DECL_CONV_STUB(tagged_text_item); - DECL_CONV_STUB(tangent); - DECL_CONV_STUB(text_literal_with_associated_curves); - DECL_CONV_STUB(text_literal_with_blanking_box); - DECL_CONV_STUB(text_literal_with_extent); - DECL_CONV_STUB(text_string_representation); - DECL_CONV_STUB(text_style); - DECL_CONV_STUB(text_style_with_box_characteristics); - DECL_CONV_STUB(text_style_with_mirror); - DECL_CONV_STUB(text_style_with_spacing); - DECL_CONV_STUB(thermal_resistance_measure_with_unit); - DECL_CONV_STUB(thermal_resistance_unit); - DECL_CONV_STUB(thermodynamic_temperature_measure_with_unit); - DECL_CONV_STUB(thermodynamic_temperature_unit); - DECL_CONV_STUB(thickened_face_solid); - DECL_CONV_STUB(thickness_laminate_definition); - DECL_CONV_STUB(thickness_laminate_table); - DECL_CONV_STUB(time_interval); - DECL_CONV_STUB(time_interval_based_effectivity); - DECL_CONV_STUB(time_interval_with_bounds); - DECL_CONV_STUB(time_measure_with_unit); - DECL_CONV_STUB(time_unit); - DECL_CONV_STUB(tolerance_zone); - DECL_CONV_STUB(torus); - DECL_CONV_STUB(total_runout_tolerance); - DECL_CONV_STUB(track_blended_solid); - DECL_CONV_STUB(track_blended_solid_with_end_conditions); - DECL_CONV_STUB(trimmed_curve); - DECL_CONV_STUB(two_direction_repeat_factor); - DECL_CONV_STUB(unary_generic_expression); - DECL_CONV_STUB(unary_numeric_expression); - DECL_CONV_STUB(uncertainty_assigned_representation); - DECL_CONV_STUB(uncertainty_measure_with_unit); - DECL_CONV_STUB(uniform_curve); - DECL_CONV_STUB(uniform_resource_identifier); - DECL_CONV_STUB(uniform_surface); - DECL_CONV_STUB(usage_association); - DECL_CONV_STUB(user_defined_curve_font); - DECL_CONV_STUB(user_defined_marker); - DECL_CONV_STUB(user_defined_terminator_symbol); - DECL_CONV_STUB(user_selected_shape_elements); - DECL_CONV_STUB(value_range); - DECL_CONV_STUB(value_representation_item); - DECL_CONV_STUB(variable_semantics); - DECL_CONV_STUB(variational_representation_item); - DECL_CONV_STUB(vector); - DECL_CONV_STUB(vector_style); - DECL_CONV_STUB(velocity_measure_with_unit); - DECL_CONV_STUB(velocity_unit); - DECL_CONV_STUB(vertex); - DECL_CONV_STUB(vertex_loop); - DECL_CONV_STUB(vertex_point); - DECL_CONV_STUB(vertex_shell); - DECL_CONV_STUB(view_volume); - DECL_CONV_STUB(visual_appearance_representation); - DECL_CONV_STUB(volume_measure_with_unit); - DECL_CONV_STUB(volume_unit); - DECL_CONV_STUB(week_of_year_and_day_date); - DECL_CONV_STUB(wire_shell); - DECL_CONV_STUB(year_month); - - -#undef DECL_CONV_STUB - -} //! STEP -} //! Assimp - -#endif // INCLUDED_STEPFILE_READER_GEN_H diff --git a/code/CApi/CInterfaceIOWrapper.cpp b/code/CApi/CInterfaceIOWrapper.cpp index 91dd07f37..9d8b79c5d 100644 --- a/code/CApi/CInterfaceIOWrapper.cpp +++ b/code/CApi/CInterfaceIOWrapper.cpp @@ -45,10 +45,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "CInterfaceIOWrapper.h" -namespace Assimp { +namespace Assimp { -CIOStreamWrapper::~CIOStreamWrapper(void) -{ +CIOStreamWrapper::~CIOStreamWrapper(void) { /* Various places depend on this destructor to close the file */ if (mFile) { mIO->mFileSystem->CloseProc(mIO->mFileSystem, mFile); @@ -57,28 +56,25 @@ CIOStreamWrapper::~CIOStreamWrapper(void) } // ................................................................... -size_t CIOStreamWrapper::Read(void* pvBuffer, - size_t pSize, - size_t pCount -){ +size_t CIOStreamWrapper::Read(void *pvBuffer, + size_t pSize, + size_t pCount) { // need to typecast here as C has no void* - return mFile->ReadProc(mFile,(char*)pvBuffer,pSize,pCount); + return mFile->ReadProc(mFile, (char *)pvBuffer, pSize, pCount); } // ................................................................... -size_t CIOStreamWrapper::Write(const void* pvBuffer, - size_t pSize, - size_t pCount -){ +size_t CIOStreamWrapper::Write(const void *pvBuffer, + size_t pSize, + size_t pCount) { // need to typecast here as C has no void* - return mFile->WriteProc(mFile,(const char*)pvBuffer,pSize,pCount); + return mFile->WriteProc(mFile, (const char *)pvBuffer, pSize, pCount); } // ................................................................... aiReturn CIOStreamWrapper::Seek(size_t pOffset, - aiOrigin pOrigin -){ - return mFile->SeekProc(mFile,pOffset,pOrigin); + aiOrigin pOrigin) { + return mFile->SeekProc(mFile, pOffset, pOrigin); } // ................................................................... @@ -92,16 +88,16 @@ size_t CIOStreamWrapper::FileSize() const { } // ................................................................... -void CIOStreamWrapper::Flush () { +void CIOStreamWrapper::Flush() { return mFile->FlushProc(mFile); } // ------------------------------------------------------------------------------------------------ // Custom IOStream implementation for the C-API -bool CIOSystemWrapper::Exists( const char* pFile) const { - aiFile* p = mFileSystem->OpenProc(mFileSystem,pFile,"rb"); - if (p){ - mFileSystem->CloseProc(mFileSystem,p); +bool CIOSystemWrapper::Exists(const char *pFile) const { + aiFile *p = mFileSystem->OpenProc(mFileSystem, pFile, "rb"); + if (p) { + mFileSystem->CloseProc(mFileSystem, p); return true; } return false; @@ -117,8 +113,8 @@ char CIOSystemWrapper::getOsSeparator() const { } // ................................................................... -IOStream* CIOSystemWrapper::Open(const char* pFile,const char* pMode) { - aiFile* p = mFileSystem->OpenProc(mFileSystem,pFile,pMode); +IOStream *CIOSystemWrapper::Open(const char *pFile, const char *pMode) { + aiFile *p = mFileSystem->OpenProc(mFileSystem, pFile, pMode); if (!p) { return NULL; } @@ -126,11 +122,11 @@ IOStream* CIOSystemWrapper::Open(const char* pFile,const char* pMode) { } // ................................................................... -void CIOSystemWrapper::Close( IOStream* pFile) { +void CIOSystemWrapper::Close(IOStream *pFile) { if (!pFile) { return; } delete pFile; } -} +} // namespace Assimp diff --git a/code/CApi/CInterfaceIOWrapper.h b/code/CApi/CInterfaceIOWrapper.h index 298847494..c899840fc 100644 --- a/code/CApi/CInterfaceIOWrapper.h +++ b/code/CApi/CInterfaceIOWrapper.h @@ -5,8 +5,6 @@ Open Asset Import Library (assimp) Copyright (c) 2006-2020, assimp team - - All rights reserved. Redistribution and use of this software in source and binary forms, @@ -50,50 +48,47 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include -namespace Assimp { +namespace Assimp { class CIOSystemWrapper; // ------------------------------------------------------------------------------------------------ // Custom IOStream implementation for the C-API -class CIOStreamWrapper : public IOStream -{ +class CIOStreamWrapper : public IOStream { public: - explicit CIOStreamWrapper(aiFile* pFile, CIOSystemWrapper* io) - : mFile(pFile), - mIO(io) - {} + explicit CIOStreamWrapper(aiFile *pFile, CIOSystemWrapper *io) : + mFile(pFile), + mIO(io) {} ~CIOStreamWrapper(void); - size_t Read(void* pvBuffer, size_t pSize, size_t pCount); - size_t Write(const void* pvBuffer, size_t pSize, size_t pCount); + size_t Read(void *pvBuffer, size_t pSize, size_t pCount); + size_t Write(const void *pvBuffer, size_t pSize, size_t pCount); aiReturn Seek(size_t pOffset, aiOrigin pOrigin); size_t Tell(void) const; size_t FileSize() const; void Flush(); private: - aiFile* mFile; - CIOSystemWrapper* mIO; + aiFile *mFile; + CIOSystemWrapper *mIO; }; -class CIOSystemWrapper : public IOSystem -{ +class CIOSystemWrapper : public IOSystem { friend class CIOStreamWrapper; -public: - explicit CIOSystemWrapper(aiFileIO* pFile) - : mFileSystem(pFile) - {} - bool Exists( const char* pFile) const; +public: + explicit CIOSystemWrapper(aiFileIO *pFile) : + mFileSystem(pFile) {} + + bool Exists(const char *pFile) const; char getOsSeparator() const; - IOStream* Open(const char* pFile,const char* pMode = "rb"); - void Close( IOStream* pFile); + IOStream *Open(const char *pFile, const char *pMode = "rb"); + void Close(IOStream *pFile); + private: - aiFileIO* mFileSystem; + aiFileIO *mFileSystem; }; -} +} // namespace Assimp #endif - diff --git a/tools/assimp_view/AnimEvaluator.cpp b/tools/assimp_view/AnimEvaluator.cpp index 710950fe2..e97bdf290 100644 --- a/tools/assimp_view/AnimEvaluator.cpp +++ b/tools/assimp_view/AnimEvaluator.cpp @@ -47,10 +47,11 @@ using namespace AssimpView; // ------------------------------------------------------------------------------------------------ // Constructor on a given animation. -AnimEvaluator::AnimEvaluator( const aiAnimation *pAnim ) -: mAnim(pAnim) -, mLastTime(0.0) { - mLastPositions.resize( pAnim->mNumChannels, std::make_tuple( 0, 0, 0)); +AnimEvaluator::AnimEvaluator(const aiAnimation *pAnim) : + mAnim(pAnim), + mLastTime(0.0) { + ai_assert(nullptr != pAnim); + mLastPositions.resize(pAnim->mNumChannels, std::make_tuple(0, 0, 0)); } // ------------------------------------------------------------------------------------------------ @@ -61,7 +62,7 @@ AnimEvaluator::~AnimEvaluator() { // ------------------------------------------------------------------------------------------------ // Evaluates the animation tracks for a given time stamp. -void AnimEvaluator::Evaluate( double pTime ) { +void AnimEvaluator::Evaluate(double pTime) { // extract ticks per second. Assume default value if not given double ticksPerSecond = mAnim->mTicksPerSecond != 0.0 ? mAnim->mTicksPerSecond : 25.0; // every following time calculation happens in ticks @@ -78,16 +79,16 @@ void AnimEvaluator::Evaluate( double pTime ) { } // calculate the transformations for each animation channel - for( unsigned int a = 0; a < mAnim->mNumChannels; ++a ) { - const aiNodeAnim* channel = mAnim->mChannels[a]; + for (unsigned int a = 0; a < mAnim->mNumChannels; ++a) { + const aiNodeAnim *channel = mAnim->mChannels[a]; // ******** Position ***** - aiVector3D presentPosition( 0, 0, 0); - if( channel->mNumPositionKeys > 0) { + aiVector3D presentPosition(0, 0, 0); + if (channel->mNumPositionKeys > 0) { // Look for present frame number. Search from last position if time is after the last time, else from beginning // Should be much quicker than always looking from start for the average use case. unsigned int frame = (time >= mLastTime) ? std::get<0>(mLastPositions[a]) : 0; - while( frame < channel->mNumPositionKeys - 1) { + while (frame < channel->mNumPositionKeys - 1) { if (time < channel->mPositionKeys[frame + 1].mTime) { break; } @@ -96,14 +97,14 @@ void AnimEvaluator::Evaluate( double pTime ) { // interpolate between this frame's value and next frame's value unsigned int nextFrame = (frame + 1) % channel->mNumPositionKeys; - const aiVectorKey& key = channel->mPositionKeys[frame]; - const aiVectorKey& nextKey = channel->mPositionKeys[nextFrame]; + const aiVectorKey &key = channel->mPositionKeys[frame]; + const aiVectorKey &nextKey = channel->mPositionKeys[nextFrame]; double diffTime = nextKey.mTime - key.mTime; if (diffTime < 0.0) { diffTime += mAnim->mDuration; } - if( diffTime > 0) { - float factor = float( (time - key.mTime) / diffTime); + if (diffTime > 0) { + float factor = float((time - key.mTime) / diffTime); presentPosition = key.mValue + (nextKey.mValue - key.mValue) * factor; } else { presentPosition = key.mValue; @@ -113,10 +114,10 @@ void AnimEvaluator::Evaluate( double pTime ) { } // ******** Rotation ********* - aiQuaternion presentRotation( 1, 0, 0, 0); - if( channel->mNumRotationKeys > 0) { + aiQuaternion presentRotation(1, 0, 0, 0); + if (channel->mNumRotationKeys > 0) { unsigned int frame = (time >= mLastTime) ? std::get<1>(mLastPositions[a]) : 0; - while( frame < channel->mNumRotationKeys - 1) { + while (frame < channel->mNumRotationKeys - 1) { if (time < channel->mRotationKeys[frame + 1].mTime) { break; } @@ -125,15 +126,15 @@ void AnimEvaluator::Evaluate( double pTime ) { // interpolate between this frame's value and next frame's value unsigned int nextFrame = (frame + 1) % channel->mNumRotationKeys; - const aiQuatKey& key = channel->mRotationKeys[frame]; - const aiQuatKey& nextKey = channel->mRotationKeys[nextFrame]; + const aiQuatKey &key = channel->mRotationKeys[frame]; + const aiQuatKey &nextKey = channel->mRotationKeys[nextFrame]; double diffTime = nextKey.mTime - key.mTime; if (diffTime < 0.0) { diffTime += mAnim->mDuration; } - if( diffTime > 0) { - float factor = float( (time - key.mTime) / diffTime); - aiQuaternion::Interpolate( presentRotation, key.mValue, nextKey.mValue, factor); + if (diffTime > 0) { + float factor = float((time - key.mTime) / diffTime); + aiQuaternion::Interpolate(presentRotation, key.mValue, nextKey.mValue, factor); } else { presentRotation = key.mValue; } @@ -142,10 +143,10 @@ void AnimEvaluator::Evaluate( double pTime ) { } // ******** Scaling ********** - aiVector3D presentScaling( 1, 1, 1); - if( channel->mNumScalingKeys > 0) { + aiVector3D presentScaling(1, 1, 1); + if (channel->mNumScalingKeys > 0) { unsigned int frame = (time >= mLastTime) ? std::get<2>(mLastPositions[a]) : 0; - while( frame < channel->mNumScalingKeys - 1) { + while (frame < channel->mNumScalingKeys - 1) { if (time < channel->mScalingKeys[frame + 1].mTime) { break; } @@ -158,12 +159,20 @@ void AnimEvaluator::Evaluate( double pTime ) { } // build a transformation matrix from it - aiMatrix4x4& mat = mTransforms[a]; - mat = aiMatrix4x4( presentRotation.GetMatrix()); - mat.a1 *= presentScaling.x; mat.b1 *= presentScaling.x; mat.c1 *= presentScaling.x; - mat.a2 *= presentScaling.y; mat.b2 *= presentScaling.y; mat.c2 *= presentScaling.y; - mat.a3 *= presentScaling.z; mat.b3 *= presentScaling.z; mat.c3 *= presentScaling.z; - mat.a4 = presentPosition.x; mat.b4 = presentPosition.y; mat.c4 = presentPosition.z; + aiMatrix4x4 &mat = mTransforms[a]; + mat = aiMatrix4x4(presentRotation.GetMatrix()); + mat.a1 *= presentScaling.x; + mat.b1 *= presentScaling.x; + mat.c1 *= presentScaling.x; + mat.a2 *= presentScaling.y; + mat.b2 *= presentScaling.y; + mat.c2 *= presentScaling.y; + mat.a3 *= presentScaling.z; + mat.b3 *= presentScaling.z; + mat.c3 *= presentScaling.z; + mat.a4 = presentPosition.x; + mat.b4 = presentPosition.y; + mat.c4 = presentPosition.z; } mLastTime = time; diff --git a/tools/assimp_view/AnimEvaluator.h b/tools/assimp_view/AnimEvaluator.h index 9267853e1..12bb91c30 100644 --- a/tools/assimp_view/AnimEvaluator.h +++ b/tools/assimp_view/AnimEvaluator.h @@ -58,7 +58,7 @@ public: /// the object. /// @param pAnim The animation to calculate poses for. Ownership of the animation object stays /// at the caller, the evaluator just keeps a reference to it as long as it persists. - AnimEvaluator( const aiAnimation* pAnim); + AnimEvaluator(const aiAnimation *pAnim); /// @brief The class destructor. ~AnimEvaluator(); @@ -68,16 +68,16 @@ public: * @param pTime The time for which you want to evaluate the animation, in seconds. Will be mapped into the animation cycle, so * it can be an arbitrary value. Best use with ever-increasing time stamps. */ - void Evaluate( double pTime); + void Evaluate(double pTime); /** Returns the transform matrices calculated at the last Evaluate() call. The array matches the mChannels array of * the aiAnimation. */ - const std::vector& GetTransformations() const { return mTransforms; } + const std::vector &GetTransformations() const { return mTransforms; } protected: - const aiAnimation* mAnim; + const aiAnimation *mAnim; double mLastTime; - std::vector > mLastPositions; + std::vector> mLastPositions; std::vector mTransforms; }; diff --git a/tools/assimp_view/AssetHelper.h b/tools/assimp_view/AssetHelper.h index 7731e44e5..fe3761cfd 100644 --- a/tools/assimp_view/AssetHelper.h +++ b/tools/assimp_view/AssetHelper.h @@ -39,7 +39,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------- */ - #if (!defined AV_ASSET_HELPER_H_INCLUDED) #define AV_ASSET_HELPER_H_INCLUDED @@ -51,200 +50,187 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. namespace AssimpView { - class SceneAnimator; +class SceneAnimator; - //------------------------------------------------------------------------------- - /** \brief Class to wrap ASSIMP's asset output structures +//------------------------------------------------------------------------------- +/** \brief Class to wrap ASSIMP's asset output structures */ - //------------------------------------------------------------------------------- - class AssetHelper - { - public: - enum - { - // the original normal set will be used - ORIGINAL = 0x0u, +//------------------------------------------------------------------------------- +class AssetHelper { +public: + enum { + // the original normal set will be used + ORIGINAL = 0x0u, - // a smoothed normal set will be used - SMOOTH = 0x1u, + // a smoothed normal set will be used + SMOOTH = 0x1u, - // a hard normal set will be used - HARD = 0x2u, - }; + // a hard normal set will be used + HARD = 0x2u, + }; - // default constructor - AssetHelper() - : iNormalSet( ORIGINAL ) - { - mAnimator = NULL; - apcMeshes = NULL; - pcScene = NULL; + // default constructor + AssetHelper() : + iNormalSet(ORIGINAL) { + mAnimator = NULL; + apcMeshes = NULL; + pcScene = NULL; + } + + //--------------------------------------------------------------- + // default vertex data structure + // (even if tangents, bitangents or normals aren't + // required by the shader they will be committed to the GPU) + //--------------------------------------------------------------- + struct Vertex { + aiVector3D vPosition; + aiVector3D vNormal; + + D3DCOLOR dColorDiffuse; + aiVector3D vTangent; + aiVector3D vBitangent; + aiVector2D vTextureUV; + aiVector2D vTextureUV2; + unsigned char mBoneIndices[4]; + unsigned char mBoneWeights[4]; // last Weight not used, calculated inside the vertex shader + + /** Returns the vertex declaration elements to create a declaration from. */ + static D3DVERTEXELEMENT9 *GetDeclarationElements() { + static D3DVERTEXELEMENT9 decl[] = { + { 0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0 }, + { 0, 12, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL, 0 }, + { 0, 24, D3DDECLTYPE_D3DCOLOR, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_COLOR, 0 }, + { 0, 28, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TANGENT, 0 }, + { 0, 40, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_BINORMAL, 0 }, + { 0, 52, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0 }, + { 0, 60, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 1 }, + { 0, 68, D3DDECLTYPE_UBYTE4, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_BLENDINDICES, 0 }, + { 0, 72, D3DDECLTYPE_UBYTE4N, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_BLENDWEIGHT, 0 }, + D3DDECL_END() + }; + + return decl; } + }; - //--------------------------------------------------------------- - // default vertex data structure - // (even if tangents, bitangents or normals aren't - // required by the shader they will be committed to the GPU) - //--------------------------------------------------------------- - struct Vertex - { - aiVector3D vPosition; - aiVector3D vNormal; + //--------------------------------------------------------------- + // FVF vertex structure used for normals + //--------------------------------------------------------------- + struct LineVertex { + aiVector3D vPosition; + DWORD dColorDiffuse; - D3DCOLOR dColorDiffuse; - aiVector3D vTangent; - aiVector3D vBitangent; - aiVector2D vTextureUV; - aiVector2D vTextureUV2; - unsigned char mBoneIndices[ 4 ]; - unsigned char mBoneWeights[ 4 ]; // last Weight not used, calculated inside the vertex shader + // retrieves the FVF code of the vertex type + static DWORD GetFVF() { + return D3DFVF_DIFFUSE | D3DFVF_XYZ; + } + }; - /** Returns the vertex declaration elements to create a declaration from. */ - static D3DVERTEXELEMENT9* GetDeclarationElements() - { - static D3DVERTEXELEMENT9 decl[] = - { - { 0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0 }, - { 0, 12, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL, 0 }, - { 0, 24, D3DDECLTYPE_D3DCOLOR, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_COLOR, 0 }, - { 0, 28, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TANGENT, 0 }, - { 0, 40, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_BINORMAL, 0 }, - { 0, 52, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0 }, - { 0, 60, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 1 }, - { 0, 68, D3DDECLTYPE_UBYTE4, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_BLENDINDICES, 0 }, - { 0, 72, D3DDECLTYPE_UBYTE4N, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_BLENDWEIGHT, 0 }, - D3DDECL_END() - }; - - return decl; - } - }; - - //--------------------------------------------------------------- - // FVF vertex structure used for normals - //--------------------------------------------------------------- - struct LineVertex - { - aiVector3D vPosition; - DWORD dColorDiffuse; - - // retrieves the FVF code of the vertex type - static DWORD GetFVF() - { - return D3DFVF_DIFFUSE | D3DFVF_XYZ; - } - }; - - //--------------------------------------------------------------- - // Helper class to store GPU related resources created for - // a given aiMesh - //--------------------------------------------------------------- - class MeshHelper - { - public: - - MeshHelper() - : + //--------------------------------------------------------------- + // Helper class to store GPU related resources created for + // a given aiMesh + //--------------------------------------------------------------- + class MeshHelper { + public: + MeshHelper() : eShadingMode(), - piVB( NULL ), - piIB( NULL ), - piVBNormals( NULL ), - piEffect( NULL ), - bSharedFX( false ), - piDiffuseTexture( NULL ), - piSpecularTexture( NULL ), - piAmbientTexture( NULL ), - piEmissiveTexture( NULL ), - piNormalTexture( NULL ), - piOpacityTexture( NULL ), - piShininessTexture( NULL ), - piLightmapTexture( NULL ), + piVB(NULL), + piIB(NULL), + piVBNormals(NULL), + piEffect(NULL), + bSharedFX(false), + piDiffuseTexture(NULL), + piSpecularTexture(NULL), + piAmbientTexture(NULL), + piEmissiveTexture(NULL), + piNormalTexture(NULL), + piOpacityTexture(NULL), + piShininessTexture(NULL), + piLightmapTexture(NULL), fOpacity(), fShininess(), fSpecularStrength(), - twosided( false ), - pvOriginalNormals( NULL ) - {} + twosided(false), + pvOriginalNormals(NULL) {} - ~MeshHelper() - { - // NOTE: This is done in DeleteAssetData() - // TODO: Make this a proper d'tor - } + ~MeshHelper() { + // NOTE: This is done in DeleteAssetData() + // TODO: Make this a proper d'tor + } - // shading mode to use. Either Lambert or otherwise phong - // will be used in every case - aiShadingMode eShadingMode; + // shading mode to use. Either Lambert or otherwise phong + // will be used in every case + aiShadingMode eShadingMode; - // vertex buffer - IDirect3DVertexBuffer9* piVB; + // vertex buffer + IDirect3DVertexBuffer9 *piVB; - // index buffer. For partially transparent meshes - // created with dynamic usage to be able to update - // the buffer contents quickly - IDirect3DIndexBuffer9* piIB; + // index buffer. For partially transparent meshes + // created with dynamic usage to be able to update + // the buffer contents quickly + IDirect3DIndexBuffer9 *piIB; - // vertex buffer to be used to draw vertex normals - // (vertex normals are generated in every case) - IDirect3DVertexBuffer9* piVBNormals; + // vertex buffer to be used to draw vertex normals + // (vertex normals are generated in every case) + IDirect3DVertexBuffer9 *piVBNormals; - // shader to be used - ID3DXEffect* piEffect; - bool bSharedFX; + // shader to be used + ID3DXEffect *piEffect; + bool bSharedFX; - // material textures - IDirect3DTexture9* piDiffuseTexture; - IDirect3DTexture9* piSpecularTexture; - IDirect3DTexture9* piAmbientTexture; - IDirect3DTexture9* piEmissiveTexture; - IDirect3DTexture9* piNormalTexture; - IDirect3DTexture9* piOpacityTexture; - IDirect3DTexture9* piShininessTexture; - IDirect3DTexture9* piLightmapTexture; + // material textures + IDirect3DTexture9 *piDiffuseTexture; + IDirect3DTexture9 *piSpecularTexture; + IDirect3DTexture9 *piAmbientTexture; + IDirect3DTexture9 *piEmissiveTexture; + IDirect3DTexture9 *piNormalTexture; + IDirect3DTexture9 *piOpacityTexture; + IDirect3DTexture9 *piShininessTexture; + IDirect3DTexture9 *piLightmapTexture; - // material colors - D3DXVECTOR4 vDiffuseColor; - D3DXVECTOR4 vSpecularColor; - D3DXVECTOR4 vAmbientColor; - D3DXVECTOR4 vEmissiveColor; + // material colors + D3DXVECTOR4 vDiffuseColor; + D3DXVECTOR4 vSpecularColor; + D3DXVECTOR4 vAmbientColor; + D3DXVECTOR4 vEmissiveColor; - // opacity for the material - float fOpacity; + // opacity for the material + float fOpacity; - // shininess for the material - float fShininess; + // shininess for the material + float fShininess; - // strength of the specular highlight - float fSpecularStrength; + // strength of the specular highlight + float fSpecularStrength; - // two-sided? - bool twosided; + // two-sided? + bool twosided; - // Stores a pointer to the original normal set of the asset - aiVector3D* pvOriginalNormals; - }; - - // One instance per aiMesh in the globally loaded asset - MeshHelper** apcMeshes; - - // Scene wrapper instance - aiScene* pcScene; - - // Animation player to animate the scene if necessary - SceneAnimator* mAnimator; - - // Specifies the normal set to be used - unsigned int iNormalSet; - - // ------------------------------------------------------------------ - // set the normal set to be used - void SetNormalSet( unsigned int iSet ); - - // ------------------------------------------------------------------ - // flip all normal vectors - void FlipNormals(); - void FlipNormalsInt(); + // Stores a pointer to the original normal set of the asset + aiVector3D *pvOriginalNormals; }; -} + + // One instance per aiMesh in the globally loaded asset + MeshHelper **apcMeshes; + + // Scene wrapper instance + aiScene *pcScene; + + // Animation player to animate the scene if necessary + SceneAnimator *mAnimator; + + // Specifies the normal set to be used + unsigned int iNormalSet; + + // ------------------------------------------------------------------ + // set the normal set to be used + void SetNormalSet(unsigned int iSet); + + // ------------------------------------------------------------------ + // flip all normal vectors + void FlipNormals(); + void FlipNormalsInt(); +}; +} // namespace AssimpView #endif // !! IG diff --git a/tools/assimp_view/Background.cpp b/tools/assimp_view/Background.cpp index 3cf0a81e3..fe6e68c09 100644 --- a/tools/assimp_view/Background.cpp +++ b/tools/assimp_view/Background.cpp @@ -118,8 +118,9 @@ CBackgroundPainter CBackgroundPainter::s_cInstance; //------------------------------------------------------------------------------- void CBackgroundPainter::SetColor(D3DCOLOR p_clrNew) { - if (TEXTURE_CUBE == eMode) + if (TEXTURE_CUBE == eMode) { RemoveSBDeps(); + } clrColor = p_clrNew; eMode = SIMPLE_COLOR; diff --git a/tools/assimp_view/MaterialManager.h b/tools/assimp_view/MaterialManager.h index fb3fcb38f..107c4d9f0 100644 --- a/tools/assimp_view/MaterialManager.h +++ b/tools/assimp_view/MaterialManager.h @@ -45,164 +45,154 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "AssetHelper.h" -namespace AssimpView -{ +namespace AssimpView { - //------------------------------------------------------------------------------- - /* Helper class to create, access and destroy materials +//------------------------------------------------------------------------------- +/* Helper class to create, access and destroy materials */ - //------------------------------------------------------------------------------- - class CMaterialManager - { - private: +//------------------------------------------------------------------------------- +class CMaterialManager { +private: + friend class CDisplay; - friend class CDisplay; + // default constructor + CMaterialManager() : + m_iShaderCount(0), sDefaultTexture() {} - // default constructor - CMaterialManager() - : m_iShaderCount( 0 ), sDefaultTexture() {} - - ~CMaterialManager() { - if( sDefaultTexture ) { - sDefaultTexture->Release(); - } - Reset(); + ~CMaterialManager() { + if (sDefaultTexture) { + sDefaultTexture->Release(); } + Reset(); + } - public: +public: + //------------------------------------------------------------------ + // Singleton accessors + static CMaterialManager s_cInstance; + inline static CMaterialManager &Instance() { + return s_cInstance; + } - //------------------------------------------------------------------ - // Singleton accessors - static CMaterialManager s_cInstance; - inline static CMaterialManager& Instance() - { - return s_cInstance; + //------------------------------------------------------------------ + // Delete all resources of a given material + // + // Must be called before CreateMaterial() to prevent memory leaking + void DeleteMaterial(AssetHelper::MeshHelper *pcIn); + + //------------------------------------------------------------------ + // Create the material for a mesh. + // + // The function checks whether an identical shader is already in use. + // A shader is considered to be identical if it has the same input + // signature and takes the same number of texture channels. + int CreateMaterial(AssetHelper::MeshHelper *pcMesh, + const aiMesh *pcSource); + + //------------------------------------------------------------------ + // Setup the material for a given mesh + // pcMesh Mesh to be rendered + // pcProj Projection matrix + // aiMe Current world matrix + // pcCam Camera matrix + // vPos Position of the camera + // TODO: Extract camera position from matrix ... + // + int SetupMaterial(AssetHelper::MeshHelper *pcMesh, + const aiMatrix4x4 &pcProj, + const aiMatrix4x4 &aiMe, + const aiMatrix4x4 &pcCam, + const aiVector3D &vPos); + + //------------------------------------------------------------------ + // End the material for a given mesh + // Called after mesh rendering is complete + // pcMesh Mesh object + int EndMaterial(AssetHelper::MeshHelper *pcMesh); + + //------------------------------------------------------------------ + // Recreate all specular materials depending on the current + // specularity settings + // + // Diffuse-only materials are ignored. + // Must be called after specular highlights have been toggled + int UpdateSpecularMaterials(); + + //------------------------------------------------------------------ + // find a valid path to a texture file + // + // Handle 8.3 syntax correctly, search the environment of the + // executable and the asset for a texture with a name very similar + // to a given one + int FindValidPath(aiString *p_szString); + + //------------------------------------------------------------------ + // Load a texture into memory and create a native D3D texture resource + // + // The function tries to find a valid path for a texture + int LoadTexture(IDirect3DTexture9 **p_ppiOut, aiString *szPath); + + //------------------------------------------------------------------ + // Getter for m_iShaderCount + // + inline unsigned int GetShaderCount() { + return this->m_iShaderCount; + } + + //------------------------------------------------------------------ + // Reset the state of the class + // Called whenever a new asset is loaded + inline void Reset() { + this->m_iShaderCount = 0; + for (TextureCache::iterator it = sCachedTextures.begin(); it != sCachedTextures.end(); ++it) { + (*it).second->Release(); } + sCachedTextures.clear(); + } - //------------------------------------------------------------------ - // Delete all resources of a given material - // - // Must be called before CreateMaterial() to prevent memory leaking - void DeleteMaterial( AssetHelper::MeshHelper* pcIn ); +private: + //------------------------------------------------------------------ + // find a valid path to a texture file + // + // Handle 8.3 syntax correctly, search the environment of the + // executable and the asset for a texture with a name very similar + // to a given one + bool TryLongerPath(char *szTemp, aiString *p_szString); - //------------------------------------------------------------------ - // Create the material for a mesh. - // - // The function checks whether an identical shader is already in use. - // A shader is considered to be identical if it has the same input - // signature and takes the same number of texture channels. - int CreateMaterial( AssetHelper::MeshHelper* pcMesh, - const aiMesh* pcSource ); + //------------------------------------------------------------------ + // Setup the default texture for a texture channel + // + // Generates a default checker pattern for a texture + int SetDefaultTexture(IDirect3DTexture9 **p_ppiOut); - //------------------------------------------------------------------ - // Setup the material for a given mesh - // pcMesh Mesh to be rendered - // pcProj Projection matrix - // aiMe Current world matrix - // pcCam Camera matrix - // vPos Position of the camera - // TODO: Extract camera position from matrix ... - // - int SetupMaterial( AssetHelper::MeshHelper* pcMesh, - const aiMatrix4x4& pcProj, - const aiMatrix4x4& aiMe, - const aiMatrix4x4& pcCam, - const aiVector3D& vPos ); + //------------------------------------------------------------------ + // Convert a height map to a normal map if necessary + // + // The function tries to detect the type of a texture automatically. + // However, this won't work in every case. + void HMtoNMIfNecessary(IDirect3DTexture9 *piTexture, + IDirect3DTexture9 **piTextureOut, + bool bWasOriginallyHM = true); - //------------------------------------------------------------------ - // End the material for a given mesh - // Called after mesh rendering is complete - // pcMesh Mesh object - int EndMaterial( AssetHelper::MeshHelper* pcMesh ); + //------------------------------------------------------------------ + // Search for non-opaque pixels in a texture + // + // A pixel is considered to be non-opaque if its alpha value is + // less than 255 + //------------------------------------------------------------------ + bool HasAlphaPixels(IDirect3DTexture9 *piTexture); - //------------------------------------------------------------------ - // Recreate all specular materials depending on the current - // specularity settings - // - // Diffuse-only materials are ignored. - // Must be called after specular highlights have been toggled - int UpdateSpecularMaterials(); +private: + // + // Specifies the number of different shaders generated for + // the current asset. This number is incremented by CreateMaterial() + // each time a shader isn't found in cache and needs to be created + // + unsigned int m_iShaderCount; + IDirect3DTexture9 *sDefaultTexture; - //------------------------------------------------------------------ - // find a valid path to a texture file - // - // Handle 8.3 syntax correctly, search the environment of the - // executable and the asset for a texture with a name very similar - // to a given one - int FindValidPath( aiString* p_szString ); + typedef std::map TextureCache; + TextureCache sCachedTextures; +}; - //------------------------------------------------------------------ - // Load a texture into memory and create a native D3D texture resource - // - // The function tries to find a valid path for a texture - int LoadTexture( IDirect3DTexture9** p_ppiOut, aiString* szPath ); - - - //------------------------------------------------------------------ - // Getter for m_iShaderCount - // - inline unsigned int GetShaderCount() - { - return this->m_iShaderCount; - } - - //------------------------------------------------------------------ - // Reset the state of the class - // Called whenever a new asset is loaded - inline void Reset() - { - this->m_iShaderCount = 0; - for( TextureCache::iterator it = sCachedTextures.begin(); it != sCachedTextures.end(); ++it ) { - ( *it ).second->Release(); - } - sCachedTextures.clear(); - } - - private: - - //------------------------------------------------------------------ - // find a valid path to a texture file - // - // Handle 8.3 syntax correctly, search the environment of the - // executable and the asset for a texture with a name very similar - // to a given one - bool TryLongerPath( char* szTemp, aiString* p_szString ); - - //------------------------------------------------------------------ - // Setup the default texture for a texture channel - // - // Generates a default checker pattern for a texture - int SetDefaultTexture( IDirect3DTexture9** p_ppiOut ); - - //------------------------------------------------------------------ - // Convert a height map to a normal map if necessary - // - // The function tries to detect the type of a texture automatically. - // However, this won't work in every case. - void HMtoNMIfNecessary( IDirect3DTexture9* piTexture, - IDirect3DTexture9** piTextureOut, - bool bWasOriginallyHM = true ); - - //------------------------------------------------------------------ - // Search for non-opaque pixels in a texture - // - // A pixel is considered to be non-opaque if its alpha value is - // less than 255 - //------------------------------------------------------------------ - bool HasAlphaPixels( IDirect3DTexture9* piTexture ); - - private: - - // - // Specifies the number of different shaders generated for - // the current asset. This number is incremented by CreateMaterial() - // each time a shader isn't found in cache and needs to be created - // - unsigned int m_iShaderCount; - IDirect3DTexture9* sDefaultTexture; - - typedef std::map TextureCache; - TextureCache sCachedTextures; - }; - -} +} // namespace AssimpView diff --git a/tools/assimp_view/SceneAnimator.h b/tools/assimp_view/SceneAnimator.h index 82f3616c5..33b8568a4 100644 --- a/tools/assimp_view/SceneAnimator.h +++ b/tools/assimp_view/SceneAnimator.h @@ -58,8 +58,8 @@ namespace AssimpView { */ struct SceneAnimNode { std::string mName; - SceneAnimNode* mParent; - std::vector mChildren; + SceneAnimNode *mParent; + std::vector mChildren; //! most recently calculated local transform aiMatrix4x4 mLocalTransform; @@ -71,30 +71,20 @@ struct SceneAnimNode { int mChannelIndex; //! Default construction - SceneAnimNode() - : mName() - , mParent(nullptr) - , mChildren() - , mLocalTransform() - , mGlobalTransform() - , mChannelIndex(-1) { + SceneAnimNode() : + mName(), mParent(nullptr), mChildren(), mLocalTransform(), mGlobalTransform(), mChannelIndex(-1) { // empty } //! Construction from a given name - SceneAnimNode( const std::string& pName) - : mName( pName) - , mParent(nullptr) - , mChildren() - , mLocalTransform() - , mGlobalTransform() - , mChannelIndex(-1) { + SceneAnimNode(const std::string &pName) : + mName(pName), mParent(nullptr), mChildren(), mLocalTransform(), mGlobalTransform(), mChannelIndex(-1) { // empty } //! Destruct all children recursively ~SceneAnimNode() { - for (std::vector::iterator it = mChildren.begin(); it != mChildren.end(); ++it) { + for (std::vector::iterator it = mChildren.begin(); it != mChildren.end(); ++it) { delete *it; } } @@ -112,7 +102,6 @@ struct SceneAnimNode { */ class SceneAnimator { public: - // ---------------------------------------------------------------------------- /** Constructor for a given scene. * @@ -122,7 +111,7 @@ public: * @param pAnimIndex [optional] Index of the animation to play. Assumed to * be 0 if not given. */ - SceneAnimator( const aiScene* pScene, size_t pAnimIndex = 0); + SceneAnimator(const aiScene *pScene, size_t pAnimIndex = 0); /** Destructor */ ~SceneAnimator(); @@ -132,14 +121,14 @@ public: * mapping structures, which might take a few cycles. * @param pAnimIndex Index of the animation in the scene's animation array */ - void SetAnimIndex( size_t pAnimIndex); + void SetAnimIndex(size_t pAnimIndex); // ---------------------------------------------------------------------------- /** Calculates the node transformations for the scene. Call this to get * uptodate results before calling one of the getters. * @param pTime Current time. Can be an arbitrary range. */ - void Calculate( double pTime); + void Calculate(double pTime); // ---------------------------------------------------------------------------- /** Retrieves the most recent local transformation matrix for the given node. @@ -154,7 +143,7 @@ public: * @return A reference to the node's most recently calculated local * transformation matrix. */ - const aiMatrix4x4& GetLocalTransform( const aiNode* node) const; + const aiMatrix4x4 &GetLocalTransform(const aiNode *node) const; // ---------------------------------------------------------------------------- /** Retrieves the most recent global transformation matrix for the given node. @@ -169,7 +158,7 @@ public: * @return A reference to the node's most recently calculated global * transformation matrix. */ - const aiMatrix4x4& GetGlobalTransform( const aiNode* node) const; + const aiMatrix4x4 &GetGlobalTransform(const aiNode *node) const; // ---------------------------------------------------------------------------- /** Calculates the bone matrices for the given mesh. @@ -187,8 +176,8 @@ public: * @return A reference to a vector of bone matrices. Stays stable till the * next call to GetBoneMatrices(); */ - const std::vector& GetBoneMatrices( const aiNode* pNode, - size_t pMeshIndex = 0); + const std::vector &GetBoneMatrices(const aiNode *pNode, + size_t pMeshIndex = 0); // ---------------------------------------------------------------------------- /** @brief Get the current animation index @@ -200,44 +189,43 @@ public: // ---------------------------------------------------------------------------- /** @brief Get the current animation or NULL */ - aiAnimation* CurrentAnim() const { - return static_cast( mCurrentAnimIndex ) < mScene->mNumAnimations ? mScene->mAnimations[ mCurrentAnimIndex ] : NULL; + aiAnimation *CurrentAnim() const { + return static_cast(mCurrentAnimIndex) < mScene->mNumAnimations ? mScene->mAnimations[mCurrentAnimIndex] : NULL; } protected: - /** Recursively creates an internal node structure matching the * current scene and animation. */ - SceneAnimNode* CreateNodeTree( aiNode* pNode, SceneAnimNode* pParent); + SceneAnimNode *CreateNodeTree(aiNode *pNode, SceneAnimNode *pParent); /** Recursively updates the internal node transformations from the * given matrix array */ - void UpdateTransforms( SceneAnimNode* pNode, const std::vector& pTransforms); + void UpdateTransforms(SceneAnimNode *pNode, const std::vector &pTransforms); /** Calculates the global transformation matrix for the given internal node */ - void CalculateGlobalTransform( SceneAnimNode* pInternalNode); + void CalculateGlobalTransform(SceneAnimNode *pInternalNode); protected: /** The scene we're operating on */ - const aiScene* mScene; + const aiScene *mScene; /** Current animation index */ int mCurrentAnimIndex; /** The AnimEvaluator we use to calculate the current pose for the current animation */ - AnimEvaluator* mAnimEvaluator; + AnimEvaluator *mAnimEvaluator; /** Root node of the internal scene structure */ - SceneAnimNode* mRootNode; + SceneAnimNode *mRootNode; /** Name to node map to quickly find nodes by their name */ - typedef std::map NodeMap; + typedef std::map NodeMap; NodeMap mNodesByName; /** Name to node map to quickly find nodes for given bones by their name */ - typedef std::map BoneMap; + typedef std::map BoneMap; BoneMap mBoneNodesByName; /** Array to return transformations results inside. */ diff --git a/tools/assimp_view/assimp_view.cpp b/tools/assimp_view/assimp_view.cpp index 79a902b2a..5342f14d0 100644 --- a/tools/assimp_view/assimp_view.cpp +++ b/tools/assimp_view/assimp_view.cpp @@ -5,8 +5,6 @@ Open Asset Import Library (assimp) Copyright (c) 2006-2020, assimp team - - All rights reserved. Redistribution and use of this software in source and binary forms, @@ -41,15 +39,14 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------- */ - #include "assimp_view.h" #include #include #ifdef __MINGW32__ -# include +#include #else -# include +#include #endif using namespace std; @@ -61,122 +58,118 @@ extern std::string g_szDefaultShader; extern std::string g_szPassThroughShader; //------------------------------------------------------------------------------- -HINSTANCE g_hInstance = nullptr; -HWND g_hDlg = nullptr; -IDirect3D9* g_piD3D = nullptr; -IDirect3DDevice9* g_piDevice = nullptr; -IDirect3DVertexDeclaration9* gDefaultVertexDecl = nullptr; -double g_fFPS = 0.0f; +HINSTANCE g_hInstance = nullptr; +HWND g_hDlg = nullptr; +IDirect3D9 *g_piD3D = nullptr; +IDirect3DDevice9 *g_piDevice = nullptr; +IDirect3DVertexDeclaration9 *gDefaultVertexDecl = nullptr; +double g_fFPS = 0.0f; char g_szFileName[MAX_PATH]; -ID3DXEffect* g_piDefaultEffect = nullptr; -ID3DXEffect* g_piNormalsEffect = nullptr; -ID3DXEffect* g_piPassThroughEffect = nullptr; -ID3DXEffect* g_piPatternEffect = nullptr; -bool g_bMousePressed = false; -bool g_bMousePressedR = false; -bool g_bMousePressedM = false; -bool g_bMousePressedBoth = false; -float g_fElpasedTime = 0.0f; +ID3DXEffect *g_piDefaultEffect = nullptr; +ID3DXEffect *g_piNormalsEffect = nullptr; +ID3DXEffect *g_piPassThroughEffect = nullptr; +ID3DXEffect *g_piPatternEffect = nullptr; +bool g_bMousePressed = false; +bool g_bMousePressedR = false; +bool g_bMousePressedM = false; +bool g_bMousePressedBoth = false; +float g_fElpasedTime = 0.0f; D3DCAPS9 g_sCaps; -bool g_bLoadingFinished = false; -HANDLE g_hThreadHandle = nullptr; -float g_fWheelPos = -10.0f; -bool g_bLoadingCanceled = false; -IDirect3DTexture9* g_pcTexture = nullptr; -bool g_bPlay = false; +bool g_bLoadingFinished = false; +HANDLE g_hThreadHandle = nullptr; +float g_fWheelPos = -10.0f; +bool g_bLoadingCanceled = false; +IDirect3DTexture9 *g_pcTexture = nullptr; +bool g_bPlay = false; double g_dCurrent = 0.; // default pp steps unsigned int ppsteps = aiProcess_CalcTangentSpace | // calculate tangents and bitangents if possible - aiProcess_JoinIdenticalVertices | // join identical vertices/ optimize indexing - aiProcess_ValidateDataStructure | // perform a full validation of the loader's output - aiProcess_ImproveCacheLocality | // improve the cache locality of the output vertices - aiProcess_RemoveRedundantMaterials | // remove redundant materials - aiProcess_FindDegenerates | // remove degenerated polygons from the import - aiProcess_FindInvalidData | // detect invalid model data, such as invalid normal vectors - aiProcess_GenUVCoords | // convert spherical, cylindrical, box and planar mapping to proper UVs - aiProcess_TransformUVCoords | // preprocess UV transformations (scaling, translation ...) - aiProcess_FindInstances | // search for instanced meshes and remove them by references to one master - aiProcess_LimitBoneWeights | // limit bone weights to 4 per vertex - aiProcess_OptimizeMeshes | // join small meshes, if possible; - aiProcess_SplitByBoneCount | // split meshes with too many bones. Necessary for our (limited) hardware skinning shader - 0; + aiProcess_JoinIdenticalVertices | // join identical vertices/ optimize indexing + aiProcess_ValidateDataStructure | // perform a full validation of the loader's output + aiProcess_ImproveCacheLocality | // improve the cache locality of the output vertices + aiProcess_RemoveRedundantMaterials | // remove redundant materials + aiProcess_FindDegenerates | // remove degenerated polygons from the import + aiProcess_FindInvalidData | // detect invalid model data, such as invalid normal vectors + aiProcess_GenUVCoords | // convert spherical, cylindrical, box and planar mapping to proper UVs + aiProcess_TransformUVCoords | // preprocess UV transformations (scaling, translation ...) + aiProcess_FindInstances | // search for instanced meshes and remove them by references to one master + aiProcess_LimitBoneWeights | // limit bone weights to 4 per vertex + aiProcess_OptimizeMeshes | // join small meshes, if possible; + aiProcess_SplitByBoneCount | // split meshes with too many bones. Necessary for our (limited) hardware skinning shader + 0; unsigned int ppstepsdefault = ppsteps; bool nopointslines = false; -extern bool g_bWasFlipped /*= false*/; +extern bool g_bWasFlipped /*= false*/; aiMatrix4x4 g_mWorld; aiMatrix4x4 g_mWorldRotate; -aiVector3D g_vRotateSpeed = aiVector3D(0.5f,0.5f,0.5f); +aiVector3D g_vRotateSpeed = aiVector3D(0.5f, 0.5f, 0.5f); // NOTE: The second light direction is now computed from the first -aiVector3D g_avLightDirs[1] = -{ aiVector3D(-0.5f,0.6f,0.2f) }; +aiVector3D g_avLightDirs[1] = { aiVector3D(-0.5f, 0.6f, 0.2f) }; -D3DCOLOR g_avLightColors[3] = -{ - D3DCOLOR_ARGB(0xFF,0xFF,0xFF,0xFF), - D3DCOLOR_ARGB(0xFF,0xFF,0x00,0x00), - D3DCOLOR_ARGB(0xFF,0x05,0x05,0x05), + D3DCOLOR g_avLightColors[3] = { + D3DCOLOR_ARGB(0xFF, 0xFF, 0xFF, 0xFF), + D3DCOLOR_ARGB(0xFF, 0xFF, 0x00, 0x00), + D3DCOLOR_ARGB(0xFF, 0x05, 0x05, 0x05), }; POINT g_mousePos; POINT g_LastmousePos; -bool g_bFPSView = false; -bool g_bInvert = false; -EClickPos g_eClick = EClickPos_Circle; -unsigned int g_iCurrentColor = 0; +bool g_bFPSView = false; +bool g_bInvert = false; +EClickPos g_eClick = EClickPos_Circle; +unsigned int g_iCurrentColor = 0; -float g_fLightIntensity = 1.0f; -float g_fLightColor = 1.0f; +float g_fLightIntensity = 1.0f; +float g_fLightColor = 1.0f; RenderOptions g_sOptions; Camera g_sCamera; -AssetHelper *g_pcAsset = nullptr; +AssetHelper *g_pcAsset = nullptr; // -// Contains the mask image for the HUD +// Contains the mask image for the HUD // (used to determine the position of a click) // -unsigned char* g_szImageMask = nullptr; +unsigned char *g_szImageMask = nullptr; float g_fLoadTime = 0.0f; - //------------------------------------------------------------------------------- // Entry point for the loader thread // The loader thread loads the asset while the progress dialog displays the // smart progress bar //------------------------------------------------------------------------------- -DWORD WINAPI LoadThreadProc(LPVOID lpParameter) -{ +DWORD WINAPI LoadThreadProc(LPVOID lpParameter) { UNREFERENCED_PARAMETER(lpParameter); // get current time double fCur = (double)timeGetTime(); - aiPropertyStore* props = aiCreatePropertyStore(); - aiSetImportPropertyInteger(props,AI_CONFIG_IMPORT_TER_MAKE_UVS,1); - aiSetImportPropertyFloat(props,AI_CONFIG_PP_GSN_MAX_SMOOTHING_ANGLE,g_smoothAngle); - aiSetImportPropertyInteger(props,AI_CONFIG_PP_SBP_REMOVE,nopointslines ? aiPrimitiveType_LINE | aiPrimitiveType_POINT : 0 ); + aiPropertyStore *props = aiCreatePropertyStore(); + aiSetImportPropertyInteger(props, AI_CONFIG_IMPORT_TER_MAKE_UVS, 1); + aiSetImportPropertyFloat(props, AI_CONFIG_PP_GSN_MAX_SMOOTHING_ANGLE, g_smoothAngle); + aiSetImportPropertyInteger(props, AI_CONFIG_PP_SBP_REMOVE, nopointslines ? aiPrimitiveType_LINE | aiPrimitiveType_POINT : 0); - aiSetImportPropertyInteger(props,AI_CONFIG_GLOB_MEASURE_TIME,1); + aiSetImportPropertyInteger(props, AI_CONFIG_GLOB_MEASURE_TIME, 1); //aiSetImportPropertyInteger(props,AI_CONFIG_PP_PTV_KEEP_HIERARCHY,1); // Call ASSIMPs C-API to load the file - g_pcAsset->pcScene = (aiScene*)aiImportFileExWithProperties(g_szFileName, - ppsteps | /* configurable pp steps */ - aiProcess_GenSmoothNormals | // generate smooth normal vectors if not existing - aiProcess_SplitLargeMeshes | // split large, unrenderable meshes into submeshes - aiProcess_Triangulate | // triangulate polygons with more than 3 edges - aiProcess_ConvertToLeftHanded | // convert everything to D3D left handed space - aiProcess_SortByPType | // make 'clean' meshes which consist of a single typ of primitives - 0, - nullptr, - props); + g_pcAsset->pcScene = (aiScene *)aiImportFileExWithProperties(g_szFileName, + ppsteps | /* configurable pp steps */ + aiProcess_GenSmoothNormals | // generate smooth normal vectors if not existing + aiProcess_SplitLargeMeshes | // split large, unrenderable meshes into submeshes + aiProcess_Triangulate | // triangulate polygons with more than 3 edges + aiProcess_ConvertToLeftHanded | // convert everything to D3D left handed space + aiProcess_SortByPType | // make 'clean' meshes which consist of a single typ of primitives + 0, + nullptr, + props); aiReleasePropertyStore(props); @@ -186,14 +179,13 @@ DWORD WINAPI LoadThreadProc(LPVOID lpParameter) g_bLoadingFinished = true; // check whether the loading process has failed ... - if (nullptr == g_pcAsset->pcScene) - { + if (nullptr == g_pcAsset->pcScene) { CLogDisplay::Instance().AddEntry("[ERROR] Unable to load this asset:", - D3DCOLOR_ARGB(0xFF,0xFF,0,0)); + D3DCOLOR_ARGB(0xFF, 0xFF, 0, 0)); // print ASSIMPs error string to the log display CLogDisplay::Instance().AddEntry(aiGetErrorString(), - D3DCOLOR_ARGB(0xFF,0xFF,0,0)); + D3DCOLOR_ARGB(0xFF, 0xFF, 0, 0)); return 1; } @@ -204,38 +196,36 @@ DWORD WINAPI LoadThreadProc(LPVOID lpParameter) // load the current asset // THe path to the asset is specified in the global path variable //------------------------------------------------------------------------------- -int LoadAsset() -{ +int LoadAsset() { // set the world and world rotation matrices to the identity g_mWorldRotate = aiMatrix4x4(); g_mWorld = aiMatrix4x4(); -// char szTemp[MAX_PATH+64]; -// sprintf(szTemp,"Starting to load %s",g_szFileName); + // char szTemp[MAX_PATH+64]; + // sprintf(szTemp,"Starting to load %s",g_szFileName); CLogWindow::Instance().WriteLine( - "----------------------------------------------------------------------------"); -// CLogWindow::Instance().WriteLine(szTemp); -// CLogWindow::Instance().WriteLine( -// "----------------------------------------------------------------------------"); + "----------------------------------------------------------------------------"); + // CLogWindow::Instance().WriteLine(szTemp); + // CLogWindow::Instance().WriteLine( + // "----------------------------------------------------------------------------"); CLogWindow::Instance().SetAutoUpdate(false); // create a helper thread to load the asset DWORD dwID; g_bLoadingCanceled = false; g_pcAsset = new AssetHelper(); - g_hThreadHandle = CreateThread(nullptr,0,&LoadThreadProc,nullptr,0,&dwID); + g_hThreadHandle = CreateThread(nullptr, 0, &LoadThreadProc, nullptr, 0, &dwID); - if (!g_hThreadHandle) - { + if (!g_hThreadHandle) { CLogDisplay::Instance().AddEntry( - "[ERROR] Unable to create helper thread for loading", - D3DCOLOR_ARGB(0xFF,0xFF,0,0)); + "[ERROR] Unable to create helper thread for loading", + D3DCOLOR_ARGB(0xFF, 0xFF, 0, 0)); return 0; } // show the progress bar dialog - DialogBox(g_hInstance,MAKEINTRESOURCE(IDD_LOADDIALOG), - g_hDlg,&ProgressMessageProc); + DialogBox(g_hInstance, MAKEINTRESOURCE(IDD_LOADDIALOG), + g_hDlg, &ProgressMessageProc); // update the log window CLogWindow::Instance().SetAutoUpdate(true); @@ -243,10 +233,8 @@ int LoadAsset() // now we should have loaded the asset. Check this ... g_bLoadingFinished = false; - if (!g_pcAsset || !g_pcAsset->pcScene) - { - if (g_pcAsset) - { + if (!g_pcAsset || !g_pcAsset->pcScene) { + if (g_pcAsset) { delete g_pcAsset; g_pcAsset = nullptr; } @@ -255,40 +243,38 @@ int LoadAsset() // allocate a new MeshHelper array and build a new instance // for each mesh in the original asset - g_pcAsset->apcMeshes = new AssetHelper::MeshHelper*[g_pcAsset->pcScene->mNumMeshes](); - for (unsigned int i = 0; i < g_pcAsset->pcScene->mNumMeshes;++i) + g_pcAsset->apcMeshes = new AssetHelper::MeshHelper *[g_pcAsset->pcScene->mNumMeshes](); + for (unsigned int i = 0; i < g_pcAsset->pcScene->mNumMeshes; ++i) g_pcAsset->apcMeshes[i] = new AssetHelper::MeshHelper(); - // create animator - g_pcAsset->mAnimator = new SceneAnimator( g_pcAsset->pcScene); + g_pcAsset->mAnimator = new SceneAnimator(g_pcAsset->pcScene); // build a new caption string for the viewer - static const size_t Size = MAX_PATH + 10; - char szOut[Size]; - ai_snprintf(szOut, Size,AI_VIEW_CAPTION_BASE " [%s]",g_szFileName); - SetWindowText(g_hDlg,szOut); + static const size_t Size = MAX_PATH + 10; + char szOut[Size]; + ai_snprintf(szOut, Size, AI_VIEW_CAPTION_BASE " [%s]", g_szFileName); + SetWindowText(g_hDlg, szOut); // scale the asset vertices to fit into the viewer window ScaleAsset(); // reset the camera view to the default position - g_sCamera.vPos = aiVector3D(0.0f,0.0f,-10.0f); - g_sCamera.vLookAt = aiVector3D(0.0f,0.0f,1.0f); - g_sCamera.vUp = aiVector3D(0.0f,1.0f,0.0f); - g_sCamera.vRight = aiVector3D(0.0f,1.0f,0.0f); + g_sCamera.vPos = aiVector3D(0.0f, 0.0f, -10.0f); + g_sCamera.vLookAt = aiVector3D(0.0f, 0.0f, 1.0f); + g_sCamera.vUp = aiVector3D(0.0f, 1.0f, 0.0f); + g_sCamera.vRight = aiVector3D(0.0f, 1.0f, 0.0f); // build native D3D vertex/index buffers, textures, materials - if( 1 != CreateAssetData()) + if (1 != CreateAssetData()) return 0; if (!g_pcAsset->pcScene->HasAnimations()) { - EnableWindow(GetDlgItem(g_hDlg,IDC_PLAY),FALSE); - EnableWindow(GetDlgItem(g_hDlg,IDC_SLIDERANIM),FALSE); - } - else { - EnableWindow(GetDlgItem(g_hDlg,IDC_PLAY),TRUE); - EnableWindow(GetDlgItem(g_hDlg,IDC_SLIDERANIM),TRUE); + EnableWindow(GetDlgItem(g_hDlg, IDC_PLAY), FALSE); + EnableWindow(GetDlgItem(g_hDlg, IDC_SLIDERANIM), FALSE); + } else { + EnableWindow(GetDlgItem(g_hDlg, IDC_PLAY), TRUE); + EnableWindow(GetDlgItem(g_hDlg, IDC_SLIDERANIM), TRUE); } CLogDisplay::Instance().AddEntry("[OK] The asset has been loaded successfully"); @@ -296,7 +282,7 @@ int LoadAsset() CDisplay::Instance().FillAnimList(); CDisplay::Instance().FillDefaultStatistics(); - + // render the scene once CDisplay::Instance().OnRender(); @@ -305,7 +291,6 @@ int LoadAsset() return 1; } - //------------------------------------------------------------------------------- // Delete the loaded asset // The function does nothing is no asset is loaded @@ -320,8 +305,7 @@ int DeleteAsset(void) { // delete everything DeleteAssetData(); - for (unsigned int i = 0; i < g_pcAsset->pcScene->mNumMeshes;++i) - { + for (unsigned int i = 0; i < g_pcAsset->pcScene->mNumMeshes; ++i) { delete g_pcAsset->apcMeshes[i]; } aiReleaseImport(g_pcAsset->pcScene); @@ -331,7 +315,7 @@ int DeleteAsset(void) { g_pcAsset = nullptr; // reset the caption of the viewer window - SetWindowText(g_hDlg,AI_VIEW_CAPTION_BASE); + SetWindowText(g_hDlg, AI_VIEW_CAPTION_BASE); // clear UI CDisplay::Instance().ClearAnimList(); @@ -342,7 +326,6 @@ int DeleteAsset(void) { return 1; } - //------------------------------------------------------------------------------- // Calculate the boundaries of a given node and all of its children // The boundaries are in Worldspace (AABB) @@ -350,7 +333,7 @@ int DeleteAsset(void) { // p_avOut Receives the min/max boundaries. Must point to 2 vec3s // piMatrix Transformation matrix of the graph at this position //------------------------------------------------------------------------------- -int CalculateBounds(aiNode* piNode, aiVector3D* p_avOut, const aiMatrix4x4& piMatrix) { +int CalculateBounds(aiNode *piNode, aiVector3D *p_avOut, const aiMatrix4x4 &piMatrix) { ai_assert(nullptr != piNode); ai_assert(nullptr != p_avOut); @@ -358,28 +341,24 @@ int CalculateBounds(aiNode* piNode, aiVector3D* p_avOut, const aiMatrix4x4& piMa mTemp.Transpose(); aiMatrix4x4 aiMe = mTemp * piMatrix; - for (unsigned int i = 0; i < piNode->mNumMeshes;++i) - { - for( unsigned int a = 0; a < g_pcAsset->pcScene->mMeshes[ - piNode->mMeshes[i]]->mNumVertices;++a) - { - aiVector3D pc =g_pcAsset->pcScene->mMeshes[piNode->mMeshes[i]]->mVertices[a]; + for (unsigned int i = 0; i < piNode->mNumMeshes; ++i) { + for (unsigned int a = 0; a < g_pcAsset->pcScene->mMeshes[piNode->mMeshes[i]]->mNumVertices; ++a) { + aiVector3D pc = g_pcAsset->pcScene->mMeshes[piNode->mMeshes[i]]->mVertices[a]; aiVector3D pc1; - D3DXVec3TransformCoord((D3DXVECTOR3*)&pc1,(D3DXVECTOR3*)&pc, - (D3DXMATRIX*)&aiMe); + D3DXVec3TransformCoord((D3DXVECTOR3 *)&pc1, (D3DXVECTOR3 *)&pc, + (D3DXMATRIX *)&aiMe); - p_avOut[0].x = min( p_avOut[0].x, pc1.x); - p_avOut[0].y = min( p_avOut[0].y, pc1.y); - p_avOut[0].z = min( p_avOut[0].z, pc1.z); - p_avOut[1].x = max( p_avOut[1].x, pc1.x); - p_avOut[1].y = max( p_avOut[1].y, pc1.y); - p_avOut[1].z = max( p_avOut[1].z, pc1.z); + p_avOut[0].x = min(p_avOut[0].x, pc1.x); + p_avOut[0].y = min(p_avOut[0].y, pc1.y); + p_avOut[0].z = min(p_avOut[0].z, pc1.z); + p_avOut[1].x = max(p_avOut[1].x, pc1.x); + p_avOut[1].y = max(p_avOut[1].y, pc1.y); + p_avOut[1].z = max(p_avOut[1].z, pc1.z); } } - for (unsigned int i = 0; i < piNode->mNumChildren;++i) - { - CalculateBounds( piNode->mChildren[i], p_avOut, aiMe ); + for (unsigned int i = 0; i < piNode->mNumChildren; ++i) { + CalculateBounds(piNode->mChildren[i], p_avOut, aiMe); } return 1; } @@ -388,31 +367,29 @@ int CalculateBounds(aiNode* piNode, aiVector3D* p_avOut, const aiMatrix4x4& piMa // The function calculates the boundaries of the mesh and modifies the // global world transformation matrix according to the aset AABB //------------------------------------------------------------------------------- -int ScaleAsset(void) -{ - aiVector3D aiVecs[2] = {aiVector3D( 1e10f, 1e10f, 1e10f), - aiVector3D( -1e10f, -1e10f, -1e10f) }; +int ScaleAsset(void) { + aiVector3D aiVecs[2] = { aiVector3D(1e10f, 1e10f, 1e10f), + aiVector3D(-1e10f, -1e10f, -1e10f) }; - if (g_pcAsset->pcScene->mRootNode) - { + if (g_pcAsset->pcScene->mRootNode) { aiMatrix4x4 m; - CalculateBounds(g_pcAsset->pcScene->mRootNode,aiVecs,m); + CalculateBounds(g_pcAsset->pcScene->mRootNode, aiVecs, m); } - aiVector3D vDelta = aiVecs[1]-aiVecs[0]; - aiVector3D vHalf = aiVecs[0] + (vDelta / 2.0f); + aiVector3D vDelta = aiVecs[1] - aiVecs[0]; + aiVector3D vHalf = aiVecs[0] + (vDelta / 2.0f); float fScale = 10.0f / vDelta.Length(); - g_mWorld = aiMatrix4x4( - 1.0f,0.0f,0.0f,0.0f, - 0.0f,1.0f,0.0f,0.0f, - 0.0f,0.0f,1.0f,0.0f, - -vHalf.x,-vHalf.y,-vHalf.z,1.0f) * - aiMatrix4x4( - fScale,0.0f,0.0f,0.0f, - 0.0f,fScale,0.0f,0.0f, - 0.0f,0.0f,fScale,0.0f, - 0.0f,0.0f,0.0f,1.0f); + g_mWorld = aiMatrix4x4( + 1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 1.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + -vHalf.x, -vHalf.y, -vHalf.z, 1.0f) * + aiMatrix4x4( + fScale, 0.0f, 0.0f, 0.0f, + 0.0f, fScale, 0.0f, 0.0f, + 0.0f, 0.0f, fScale, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f); return 1; } @@ -422,30 +399,27 @@ int ScaleAsset(void) // pcMesh Input mesh // pcSource Source mesh from ASSIMP //------------------------------------------------------------------------------- -int GenerateNormalsAsLineList(AssetHelper::MeshHelper* pcMesh,const aiMesh* pcSource) -{ +int GenerateNormalsAsLineList(AssetHelper::MeshHelper *pcMesh, const aiMesh *pcSource) { ai_assert(nullptr != pcMesh); ai_assert(nullptr != pcSource); - if (!pcSource->mNormals)return 0; + if (!pcSource->mNormals) return 0; // create vertex buffer - if(FAILED( g_piDevice->CreateVertexBuffer(sizeof(AssetHelper::LineVertex) * - pcSource->mNumVertices * 2, - D3DUSAGE_WRITEONLY, - AssetHelper::LineVertex::GetFVF(), - D3DPOOL_DEFAULT, &pcMesh->piVBNormals,nullptr))) - { + if (FAILED(g_piDevice->CreateVertexBuffer(sizeof(AssetHelper::LineVertex) * + pcSource->mNumVertices * 2, + D3DUSAGE_WRITEONLY, + AssetHelper::LineVertex::GetFVF(), + D3DPOOL_DEFAULT, &pcMesh->piVBNormals, nullptr))) { CLogDisplay::Instance().AddEntry("Failed to create vertex buffer for the normal list", - D3DCOLOR_ARGB(0xFF,0xFF,0,0)); + D3DCOLOR_ARGB(0xFF, 0xFF, 0, 0)); return 2; } // now fill the vertex buffer with data - AssetHelper::LineVertex* pbData2; - pcMesh->piVBNormals->Lock(0,0,(void**)&pbData2,0); - for (unsigned int x = 0; x < pcSource->mNumVertices;++x) - { + AssetHelper::LineVertex *pbData2; + pcMesh->piVBNormals->Lock(0, 0, (void **)&pbData2, 0); + for (unsigned int x = 0; x < pcSource->mNumVertices; ++x) { pbData2->vPosition = pcSource->mVertices[x]; ++pbData2; @@ -456,9 +430,9 @@ int GenerateNormalsAsLineList(AssetHelper::MeshHelper* pcMesh,const aiMesh* pcSo // scalo with the inverse of the world scaling to make sure // the normals have equal length in each case // TODO: Check whether this works in every case, I don't think so - vNormal.x /= g_mWorld.a1*4; - vNormal.y /= g_mWorld.b2*4; - vNormal.z /= g_mWorld.c3*4; + vNormal.x /= g_mWorld.a1 * 4; + vNormal.y /= g_mWorld.b2 * 4; + vNormal.z /= g_mWorld.c3 * 4; pbData2->vPosition = pcSource->mVertices[x] + vNormal; @@ -472,32 +446,30 @@ int GenerateNormalsAsLineList(AssetHelper::MeshHelper* pcMesh,const aiMesh* pcSo // Create the native D3D representation of the asset: vertex buffers, // index buffers, materials ... //------------------------------------------------------------------------------- -int CreateAssetData() -{ - if (!g_pcAsset)return 0; +int CreateAssetData() { + if (!g_pcAsset) return 0; // reset all subsystems CMaterialManager::Instance().Reset(); CDisplay::Instance().Reset(); - for (unsigned int i = 0; i < g_pcAsset->pcScene->mNumMeshes;++i) - { - const aiMesh* mesh = g_pcAsset->pcScene->mMeshes[i]; + for (unsigned int i = 0; i < g_pcAsset->pcScene->mNumMeshes; ++i) { + const aiMesh *mesh = g_pcAsset->pcScene->mMeshes[i]; // create the material for the mesh - if (!g_pcAsset->apcMeshes[i]->piEffect) { + if (!g_pcAsset->apcMeshes[i]->piEffect) { CMaterialManager::Instance().CreateMaterial( - g_pcAsset->apcMeshes[i],mesh); + g_pcAsset->apcMeshes[i], mesh); } // create vertex buffer - if(FAILED( g_piDevice->CreateVertexBuffer(sizeof(AssetHelper::Vertex) * - mesh->mNumVertices, - D3DUSAGE_WRITEONLY, - 0, - D3DPOOL_DEFAULT, &g_pcAsset->apcMeshes[i]->piVB,nullptr))) { - MessageBox(g_hDlg,"Failed to create vertex buffer", - "ASSIMP Viewer Utility",MB_OK); + if (FAILED(g_piDevice->CreateVertexBuffer(sizeof(AssetHelper::Vertex) * + mesh->mNumVertices, + D3DUSAGE_WRITEONLY, + 0, + D3DPOOL_DEFAULT, &g_pcAsset->apcMeshes[i]->piVB, nullptr))) { + MessageBox(g_hDlg, "Failed to create vertex buffer", + "ASSIMP Viewer Utility", MB_OK); return 2; } @@ -507,18 +479,18 @@ int CreateAssetData() unsigned int nidx = 0; switch (mesh->mPrimitiveTypes) { - case aiPrimitiveType_POINT: - nidx = 1; - break; - case aiPrimitiveType_LINE: - nidx = 2; - break; - case aiPrimitiveType_TRIANGLE: - nidx = 3; - break; - default: - ai_assert(false); - break; + case aiPrimitiveType_POINT: + nidx = 1; + break; + case aiPrimitiveType_LINE: + nidx = 2; + break; + case aiPrimitiveType_TRIANGLE: + nidx = 3; + break; + default: + ai_assert(false); + break; }; unsigned int numIndices = mesh->mNumFaces * 3; @@ -526,54 +498,47 @@ int CreateAssetData() numIndices = mesh->mNumVertices; } // check whether we can use 16 bit indices - if (numIndices >= 65536) { + if (numIndices >= 65536) { // create 32 bit index buffer - if(FAILED( g_piDevice->CreateIndexBuffer( 4 * - numIndices, - D3DUSAGE_WRITEONLY | dwUsage, - D3DFMT_INDEX32, - D3DPOOL_DEFAULT, - &g_pcAsset->apcMeshes[i]->piIB, - nullptr))) - { - MessageBox(g_hDlg,"Failed to create 32 Bit index buffer", - "ASSIMP Viewer Utility",MB_OK); + if (FAILED(g_piDevice->CreateIndexBuffer(4 * + numIndices, + D3DUSAGE_WRITEONLY | dwUsage, + D3DFMT_INDEX32, + D3DPOOL_DEFAULT, + &g_pcAsset->apcMeshes[i]->piIB, + nullptr))) { + MessageBox(g_hDlg, "Failed to create 32 Bit index buffer", + "ASSIMP Viewer Utility", MB_OK); return 2; } // now fill the index buffer - unsigned int* pbData; - g_pcAsset->apcMeshes[i]->piIB->Lock(0,0,(void**)&pbData,0); - for (unsigned int x = 0; x < mesh->mNumFaces;++x) - { - for (unsigned int a = 0; a < nidx;++a) - { + unsigned int *pbData; + g_pcAsset->apcMeshes[i]->piIB->Lock(0, 0, (void **)&pbData, 0); + for (unsigned int x = 0; x < mesh->mNumFaces; ++x) { + for (unsigned int a = 0; a < nidx; ++a) { *pbData++ = mesh->mFaces[x].mIndices[a]; } } - } - else { + } else { // create 16 bit index buffer - if(FAILED( g_piDevice->CreateIndexBuffer( 2 * - numIndices, - D3DUSAGE_WRITEONLY | dwUsage, - D3DFMT_INDEX16, - D3DPOOL_DEFAULT, - &g_pcAsset->apcMeshes[i]->piIB, - nullptr))) - { - MessageBox(g_hDlg,"Failed to create 16 Bit index buffer", - "ASSIMP Viewer Utility",MB_OK); + if (FAILED(g_piDevice->CreateIndexBuffer(2 * + numIndices, + D3DUSAGE_WRITEONLY | dwUsage, + D3DFMT_INDEX16, + D3DPOOL_DEFAULT, + &g_pcAsset->apcMeshes[i]->piIB, + nullptr))) { + MessageBox(g_hDlg, "Failed to create 16 Bit index buffer", + "ASSIMP Viewer Utility", MB_OK); return 2; } // now fill the index buffer - uint16_t* pbData; - g_pcAsset->apcMeshes[i]->piIB->Lock(0,0,(void**)&pbData,0); - for (unsigned int x = 0; x < mesh->mNumFaces;++x) - { - for (unsigned int a = 0; a < nidx;++a) - { + uint16_t *pbData; + g_pcAsset->apcMeshes[i]->piIB->Lock(0, 0, (void **)&pbData, 0); + for (unsigned int x = 0; x < mesh->mNumFaces; ++x) { + for (unsigned int a = 0; a < nidx; ++a) { *pbData++ = (uint16_t)mesh->mFaces[x].mIndices[a]; } } @@ -581,74 +546,71 @@ int CreateAssetData() g_pcAsset->apcMeshes[i]->piIB->Unlock(); // collect weights on all vertices. Quick and careless - std::vector > weightsPerVertex( mesh->mNumVertices); - for( unsigned int a = 0; a < mesh->mNumBones; a++) { - const aiBone* bone = mesh->mBones[a]; - for( unsigned int b = 0; b < bone->mNumWeights; b++) - weightsPerVertex[bone->mWeights[b].mVertexId].push_back( aiVertexWeight( a, bone->mWeights[b].mWeight)); + std::vector> weightsPerVertex(mesh->mNumVertices); + for (unsigned int a = 0; a < mesh->mNumBones; a++) { + const aiBone *bone = mesh->mBones[a]; + for (unsigned int b = 0; b < bone->mNumWeights; b++) + weightsPerVertex[bone->mWeights[b].mVertexId].push_back(aiVertexWeight(a, bone->mWeights[b].mWeight)); } // now fill the vertex buffer - AssetHelper::Vertex* pbData2; - g_pcAsset->apcMeshes[i]->piVB->Lock(0,0,(void**)&pbData2,0); - for (unsigned int x = 0; x < mesh->mNumVertices;++x) - { + AssetHelper::Vertex *pbData2; + g_pcAsset->apcMeshes[i]->piVB->Lock(0, 0, (void **)&pbData2, 0); + for (unsigned int x = 0; x < mesh->mNumVertices; ++x) { pbData2->vPosition = mesh->mVertices[x]; if (nullptr == mesh->mNormals) - pbData2->vNormal = aiVector3D(0.0f,0.0f,0.0f); - else pbData2->vNormal = mesh->mNormals[x]; + pbData2->vNormal = aiVector3D(0.0f, 0.0f, 0.0f); + else + pbData2->vNormal = mesh->mNormals[x]; - if (nullptr == mesh->mTangents) { - pbData2->vTangent = aiVector3D(0.0f,0.0f,0.0f); - pbData2->vBitangent = aiVector3D(0.0f,0.0f,0.0f); - } - else { + if (nullptr == mesh->mTangents) { + pbData2->vTangent = aiVector3D(0.0f, 0.0f, 0.0f); + pbData2->vBitangent = aiVector3D(0.0f, 0.0f, 0.0f); + } else { pbData2->vTangent = mesh->mTangents[x]; pbData2->vBitangent = mesh->mBitangents[x]; } - if (mesh->HasVertexColors( 0)) { + if (mesh->HasVertexColors(0)) { pbData2->dColorDiffuse = D3DCOLOR_ARGB( - ((unsigned char)max( min( mesh->mColors[0][x].a * 255.0f, 255.0f),0.0f)), - ((unsigned char)max( min( mesh->mColors[0][x].r * 255.0f, 255.0f),0.0f)), - ((unsigned char)max( min( mesh->mColors[0][x].g * 255.0f, 255.0f),0.0f)), - ((unsigned char)max( min( mesh->mColors[0][x].b * 255.0f, 255.0f),0.0f))); - } - else pbData2->dColorDiffuse = D3DCOLOR_ARGB(0xFF,0xff,0xff,0xff); + ((unsigned char)max(min(mesh->mColors[0][x].a * 255.0f, 255.0f), 0.0f)), + ((unsigned char)max(min(mesh->mColors[0][x].r * 255.0f, 255.0f), 0.0f)), + ((unsigned char)max(min(mesh->mColors[0][x].g * 255.0f, 255.0f), 0.0f)), + ((unsigned char)max(min(mesh->mColors[0][x].b * 255.0f, 255.0f), 0.0f))); + } else + pbData2->dColorDiffuse = D3DCOLOR_ARGB(0xFF, 0xff, 0xff, 0xff); // ignore a third texture coordinate component - if (mesh->HasTextureCoords( 0)) { + if (mesh->HasTextureCoords(0)) { pbData2->vTextureUV = aiVector2D( - mesh->mTextureCoords[0][x].x, - mesh->mTextureCoords[0][x].y); - } - else pbData2->vTextureUV = aiVector2D(0.5f,0.5f); + mesh->mTextureCoords[0][x].x, + mesh->mTextureCoords[0][x].y); + } else + pbData2->vTextureUV = aiVector2D(0.5f, 0.5f); - if (mesh->HasTextureCoords( 1)) { + if (mesh->HasTextureCoords(1)) { pbData2->vTextureUV2 = aiVector2D( - mesh->mTextureCoords[1][x].x, - mesh->mTextureCoords[1][x].y); - } - else pbData2->vTextureUV2 = aiVector2D(0.5f,0.5f); + mesh->mTextureCoords[1][x].x, + mesh->mTextureCoords[1][x].y); + } else + pbData2->vTextureUV2 = aiVector2D(0.5f, 0.5f); // Bone indices and weights - if( mesh->HasBones()) { + if (mesh->HasBones()) { unsigned char boneIndices[4] = { 0, 0, 0, 0 }; unsigned char boneWeights[4] = { 0, 0, 0, 0 }; - ai_assert( weightsPerVertex[x].size() <= 4); - for( unsigned int a = 0; a < weightsPerVertex[x].size(); a++) - { + ai_assert(weightsPerVertex[x].size() <= 4); + for (unsigned int a = 0; a < weightsPerVertex[x].size(); a++) { boneIndices[a] = static_cast(weightsPerVertex[x][a].mVertexId); - boneWeights[a] = (unsigned char) (weightsPerVertex[x][a].mWeight * 255.0f); + boneWeights[a] = (unsigned char)(weightsPerVertex[x][a].mWeight * 255.0f); } - memcpy( pbData2->mBoneIndices, boneIndices, sizeof( boneIndices)); - memcpy( pbData2->mBoneWeights, boneWeights, sizeof( boneWeights)); - } else - { - memset( pbData2->mBoneIndices, 0, sizeof( pbData2->mBoneIndices)); - memset( pbData2->mBoneWeights, 0, sizeof( pbData2->mBoneWeights)); + memcpy(pbData2->mBoneIndices, boneIndices, sizeof(boneIndices)); + memcpy(pbData2->mBoneWeights, boneWeights, sizeof(boneWeights)); + } else { + memset(pbData2->mBoneIndices, 0, sizeof(pbData2->mBoneIndices)); + memset(pbData2->mBoneWeights, 0, sizeof(pbData2->mBoneWeights)); } ++pbData2; @@ -656,8 +618,8 @@ int CreateAssetData() g_pcAsset->apcMeshes[i]->piVB->Unlock(); // now generate the second vertex buffer, holding all normals - if (!g_pcAsset->apcMeshes[i]->piVBNormals) { - GenerateNormalsAsLineList(g_pcAsset->apcMeshes[i],mesh); + if (!g_pcAsset->apcMeshes[i]->piVBNormals) { + GenerateNormalsAsLineList(g_pcAsset->apcMeshes[i], mesh); } } return 1; @@ -667,25 +629,20 @@ int CreateAssetData() // Delete all effects, textures, vertex buffers ... associated with // an asset //------------------------------------------------------------------------------- -int DeleteAssetData(bool bNoMaterials) -{ - if (!g_pcAsset)return 0; +int DeleteAssetData(bool bNoMaterials) { + if (!g_pcAsset) return 0; // TODO: Move this to a proper destructor - for (unsigned int i = 0; i < g_pcAsset->pcScene->mNumMeshes;++i) - { - if(g_pcAsset->apcMeshes[i]->piVB) - { + for (unsigned int i = 0; i < g_pcAsset->pcScene->mNumMeshes; ++i) { + if (g_pcAsset->apcMeshes[i]->piVB) { g_pcAsset->apcMeshes[i]->piVB->Release(); g_pcAsset->apcMeshes[i]->piVB = nullptr; } - if(g_pcAsset->apcMeshes[i]->piVBNormals) - { + if (g_pcAsset->apcMeshes[i]->piVBNormals) { g_pcAsset->apcMeshes[i]->piVBNormals->Release(); g_pcAsset->apcMeshes[i]->piVBNormals = nullptr; } - if(g_pcAsset->apcMeshes[i]->piIB) - { + if (g_pcAsset->apcMeshes[i]->piIB) { g_pcAsset->apcMeshes[i]->piIB->Release(); g_pcAsset->apcMeshes[i]->piIB = nullptr; } @@ -698,45 +655,36 @@ int DeleteAssetData(bool bNoMaterials) // delete[] g_pcAsset->apcMeshes[i]->pvOriginalNormals; //} - if (!bNoMaterials) - { - if(g_pcAsset->apcMeshes[i]->piEffect) - { + if (!bNoMaterials) { + if (g_pcAsset->apcMeshes[i]->piEffect) { g_pcAsset->apcMeshes[i]->piEffect->Release(); g_pcAsset->apcMeshes[i]->piEffect = nullptr; } - if(g_pcAsset->apcMeshes[i]->piDiffuseTexture) - { + if (g_pcAsset->apcMeshes[i]->piDiffuseTexture) { g_pcAsset->apcMeshes[i]->piDiffuseTexture->Release(); g_pcAsset->apcMeshes[i]->piDiffuseTexture = nullptr; } - if(g_pcAsset->apcMeshes[i]->piNormalTexture) - { + if (g_pcAsset->apcMeshes[i]->piNormalTexture) { g_pcAsset->apcMeshes[i]->piNormalTexture->Release(); g_pcAsset->apcMeshes[i]->piNormalTexture = nullptr; } - if(g_pcAsset->apcMeshes[i]->piSpecularTexture) - { + if (g_pcAsset->apcMeshes[i]->piSpecularTexture) { g_pcAsset->apcMeshes[i]->piSpecularTexture->Release(); g_pcAsset->apcMeshes[i]->piSpecularTexture = nullptr; } - if(g_pcAsset->apcMeshes[i]->piAmbientTexture) - { + if (g_pcAsset->apcMeshes[i]->piAmbientTexture) { g_pcAsset->apcMeshes[i]->piAmbientTexture->Release(); g_pcAsset->apcMeshes[i]->piAmbientTexture = nullptr; } - if(g_pcAsset->apcMeshes[i]->piEmissiveTexture) - { + if (g_pcAsset->apcMeshes[i]->piEmissiveTexture) { g_pcAsset->apcMeshes[i]->piEmissiveTexture->Release(); g_pcAsset->apcMeshes[i]->piEmissiveTexture = nullptr; } - if(g_pcAsset->apcMeshes[i]->piOpacityTexture) - { + if (g_pcAsset->apcMeshes[i]->piOpacityTexture) { g_pcAsset->apcMeshes[i]->piOpacityTexture->Release(); g_pcAsset->apcMeshes[i]->piOpacityTexture = nullptr; } - if(g_pcAsset->apcMeshes[i]->piShininessTexture) - { + if (g_pcAsset->apcMeshes[i]->piShininessTexture) { g_pcAsset->apcMeshes[i]->piShininessTexture->Release(); g_pcAsset->apcMeshes[i]->piShininessTexture = nullptr; } @@ -745,27 +693,22 @@ int DeleteAssetData(bool bNoMaterials) return 1; } - //------------------------------------------------------------------------------- // Switch between zoom/rotate view and the standard FPS view // g_bFPSView specifies the view mode to setup //------------------------------------------------------------------------------- -int SetupFPSView() -{ - if (!g_bFPSView) - { - g_sCamera.vPos = aiVector3D(0.0f,0.0f,g_fWheelPos); - g_sCamera.vLookAt = aiVector3D(0.0f,0.0f,1.0f); - g_sCamera.vUp = aiVector3D(0.0f,1.0f,0.0f); - g_sCamera.vRight = aiVector3D(0.0f,1.0f,0.0f); - } - else - { +int SetupFPSView() { + if (!g_bFPSView) { + g_sCamera.vPos = aiVector3D(0.0f, 0.0f, g_fWheelPos); + g_sCamera.vLookAt = aiVector3D(0.0f, 0.0f, 1.0f); + g_sCamera.vUp = aiVector3D(0.0f, 1.0f, 0.0f); + g_sCamera.vRight = aiVector3D(0.0f, 1.0f, 0.0f); + } else { g_fWheelPos = g_sCamera.vPos.z; - g_sCamera.vPos = aiVector3D(0.0f,0.0f,-10.0f); - g_sCamera.vLookAt = aiVector3D(0.0f,0.0f,1.0f); - g_sCamera.vUp = aiVector3D(0.0f,1.0f,0.0f); - g_sCamera.vRight = aiVector3D(0.0f,1.0f,0.0f); + g_sCamera.vPos = aiVector3D(0.0f, 0.0f, -10.0f); + g_sCamera.vLookAt = aiVector3D(0.0f, 0.0f, 1.0f); + g_sCamera.vUp = aiVector3D(0.0f, 1.0f, 0.0f); + g_sCamera.vRight = aiVector3D(0.0f, 1.0f, 0.0f); } return 1; } @@ -774,35 +717,29 @@ int SetupFPSView() // Initialize the IDIrect3D interface // Called by the WinMain //------------------------------------------------------------------------------- -int InitD3D(void) -{ - if (nullptr == g_piD3D) - { +int InitD3D(void) { + if (nullptr == g_piD3D) { g_piD3D = Direct3DCreate9(D3D_SDK_VERSION); - if (nullptr == g_piD3D)return 0; + if (nullptr == g_piD3D) return 0; } return 1; } - //------------------------------------------------------------------------------- // Release the IDirect3D interface. // NOTE: Assumes that the device has already been deleted //------------------------------------------------------------------------------- -int ShutdownD3D(void) -{ +int ShutdownD3D(void) { ShutdownDevice(); - if (nullptr != g_piD3D) - { + if (nullptr != g_piD3D) { g_piD3D->Release(); g_piD3D = nullptr; } return 1; } -template -inline -void SafeRelease(TComPtr *&ptr) { +template +inline void SafeRelease(TComPtr *&ptr) { if (nullptr != ptr) { ptr->Release(); ptr = nullptr; @@ -813,8 +750,7 @@ void SafeRelease(TComPtr *&ptr) { // Shutdown the D3D device object and all resources associated with it // NOTE: Assumes that the asset has already been deleted //------------------------------------------------------------------------------- -int ShutdownDevice(void) -{ +int ShutdownDevice(void) { // release other subsystems CBackgroundPainter::Instance().ReleaseNativeResource(); CLogDisplay::Instance().ReleaseNativeResource(); @@ -837,35 +773,32 @@ int ShutdownDevice(void) return 1; } - //------------------------------------------------------------------------------- //------------------------------------------------------------------------------- -int CreateHUDTexture() -{ +int CreateHUDTexture() { // lock the memory resource ourselves - HRSRC res = FindResource(nullptr,MAKEINTRESOURCE(IDR_HUD),RT_RCDATA); - HGLOBAL hg = LoadResource(nullptr,res); - void* pData = LockResource(hg); + HRSRC res = FindResource(nullptr, MAKEINTRESOURCE(IDR_HUD), RT_RCDATA); + HGLOBAL hg = LoadResource(nullptr, res); + void *pData = LockResource(hg); - if(FAILED(D3DXCreateTextureFromFileInMemoryEx(g_piDevice, - pData,SizeofResource(nullptr,res), - D3DX_DEFAULT_NONPOW2, - D3DX_DEFAULT_NONPOW2, - 1, - 0, - D3DFMT_A8R8G8B8, - D3DPOOL_MANAGED, - D3DX_DEFAULT, - D3DX_DEFAULT, - 0, - nullptr, - nullptr, - &g_pcTexture))) - { + if (FAILED(D3DXCreateTextureFromFileInMemoryEx(g_piDevice, + pData, SizeofResource(nullptr, res), + D3DX_DEFAULT_NONPOW2, + D3DX_DEFAULT_NONPOW2, + 1, + 0, + D3DFMT_A8R8G8B8, + D3DPOOL_MANAGED, + D3DX_DEFAULT, + D3DX_DEFAULT, + 0, + nullptr, + nullptr, + &g_pcTexture))) { CLogDisplay::Instance().AddEntry("[ERROR] Unable to load HUD texture", - D3DCOLOR_ARGB(0xFF,0xFF,0,0)); + D3DCOLOR_ARGB(0xFF, 0xFF, 0, 0)); - g_pcTexture = nullptr; + g_pcTexture = nullptr; g_szImageMask = nullptr; FreeResource(hg); @@ -875,32 +808,30 @@ int CreateHUDTexture() FreeResource(hg); D3DSURFACE_DESC sDesc; - g_pcTexture->GetLevelDesc(0,&sDesc); - + g_pcTexture->GetLevelDesc(0, &sDesc); // lock the memory resource ourselves - res = FindResource(nullptr,MAKEINTRESOURCE(IDR_HUDMASK),RT_RCDATA); - hg = LoadResource(nullptr,res); + res = FindResource(nullptr, MAKEINTRESOURCE(IDR_HUDMASK), RT_RCDATA); + hg = LoadResource(nullptr, res); pData = LockResource(hg); - IDirect3DTexture9* pcTex; - if(FAILED(D3DXCreateTextureFromFileInMemoryEx(g_piDevice, - pData,SizeofResource(nullptr,res), - sDesc.Width, - sDesc.Height, - 1, - 0, - D3DFMT_L8, - D3DPOOL_MANAGED, // unnecessary - D3DX_DEFAULT, - D3DX_DEFAULT, - 0, - nullptr, - nullptr, - &pcTex))) - { + IDirect3DTexture9 *pcTex; + if (FAILED(D3DXCreateTextureFromFileInMemoryEx(g_piDevice, + pData, SizeofResource(nullptr, res), + sDesc.Width, + sDesc.Height, + 1, + 0, + D3DFMT_L8, + D3DPOOL_MANAGED, // unnecessary + D3DX_DEFAULT, + D3DX_DEFAULT, + 0, + nullptr, + nullptr, + &pcTex))) { CLogDisplay::Instance().AddEntry("[ERROR] Unable to load HUD mask texture", - D3DCOLOR_ARGB(0xFF,0xFF,0,0)); + D3DCOLOR_ARGB(0xFF, 0xFF, 0, 0)); g_szImageMask = nullptr; FreeResource(hg); @@ -911,15 +842,14 @@ int CreateHUDTexture() // lock the texture and copy it to get a pointer D3DLOCKED_RECT sRect; - pcTex->LockRect(0,&sRect,nullptr,D3DLOCK_READONLY); + pcTex->LockRect(0, &sRect, nullptr, D3DLOCK_READONLY); - unsigned char* szOut = new unsigned char[sDesc.Width * sDesc.Height]; - unsigned char* _szOut = szOut; + unsigned char *szOut = new unsigned char[sDesc.Width * sDesc.Height]; + unsigned char *_szOut = szOut; - unsigned char* szCur = (unsigned char*) sRect.pBits; - for (unsigned int y = 0; y < sDesc.Height;++y) - { - memcpy(_szOut,szCur,sDesc.Width); + unsigned char *szCur = (unsigned char *)sRect.pBits; + for (unsigned int y = 0; y < sDesc.Height; ++y) { + memcpy(_szOut, szCur, sDesc.Width); szCur += sRect.Pitch; _szOut += sDesc.Width; @@ -933,159 +863,141 @@ int CreateHUDTexture() //------------------------------------------------------------------------------- //------------------------------------------------------------------------------- -int CreateDevice (bool p_bMultiSample,bool p_bSuperSample,bool bHW /*= true*/) -{ +int CreateDevice(bool p_bMultiSample, bool p_bSuperSample, bool bHW /*= true*/) { D3DDEVTYPE eType = bHW ? D3DDEVTYPE_HAL : D3DDEVTYPE_REF; // get the client rectangle of the window. RECT sRect; - GetWindowRect(GetDlgItem(g_hDlg,IDC_RT),&sRect); + GetWindowRect(GetDlgItem(g_hDlg, IDC_RT), &sRect); sRect.right -= sRect.left; sRect.bottom -= sRect.top; D3DPRESENT_PARAMETERS sParams; - memset(&sParams,0,sizeof(D3DPRESENT_PARAMETERS)); + memset(&sParams, 0, sizeof(D3DPRESENT_PARAMETERS)); // get the current display mode D3DDISPLAYMODE sMode; - g_piD3D->GetAdapterDisplayMode(0,&sMode); + g_piD3D->GetAdapterDisplayMode(0, &sMode); // fill the presentation parameter structure - sParams.Windowed = TRUE; - sParams.hDeviceWindow = GetDlgItem( g_hDlg, IDC_RT ); - sParams.EnableAutoDepthStencil = TRUE; - sParams.PresentationInterval = D3DPRESENT_INTERVAL_ONE; - sParams.BackBufferWidth = (UINT)sRect.right; - sParams.BackBufferHeight = (UINT)sRect.bottom; - sParams.SwapEffect = D3DSWAPEFFECT_DISCARD; - sParams.BackBufferCount = 1; + sParams.Windowed = TRUE; + sParams.hDeviceWindow = GetDlgItem(g_hDlg, IDC_RT); + sParams.EnableAutoDepthStencil = TRUE; + sParams.PresentationInterval = D3DPRESENT_INTERVAL_ONE; + sParams.BackBufferWidth = (UINT)sRect.right; + sParams.BackBufferHeight = (UINT)sRect.bottom; + sParams.SwapEffect = D3DSWAPEFFECT_DISCARD; + sParams.BackBufferCount = 1; // check whether we can use a D32 depth buffer format - if (SUCCEEDED ( g_piD3D->CheckDepthStencilMatch(0,eType, - D3DFMT_X8R8G8B8,D3DFMT_X8R8G8B8,D3DFMT_D32))) - { + if (SUCCEEDED(g_piD3D->CheckDepthStencilMatch(0, eType, + D3DFMT_X8R8G8B8, D3DFMT_X8R8G8B8, D3DFMT_D32))) { sParams.AutoDepthStencilFormat = D3DFMT_D32; - } - else sParams.AutoDepthStencilFormat = D3DFMT_D24X8; + } else + sParams.AutoDepthStencilFormat = D3DFMT_D24X8; // find the highest multisample type available on this device D3DMULTISAMPLE_TYPE sMS = D3DMULTISAMPLE_2_SAMPLES; D3DMULTISAMPLE_TYPE sMSOut = D3DMULTISAMPLE_NONE; DWORD dwQuality = 0; - if (p_bMultiSample) - { - while ((D3DMULTISAMPLE_TYPE)(D3DMULTISAMPLE_16_SAMPLES + 1) != - (sMS = (D3DMULTISAMPLE_TYPE)(sMS + 1))) - { - if(SUCCEEDED( g_piD3D->CheckDeviceMultiSampleType(0,eType, - sMode.Format,TRUE,sMS,&dwQuality))) - { + if (p_bMultiSample) { + while ((D3DMULTISAMPLE_TYPE)(D3DMULTISAMPLE_16_SAMPLES + 1) != + (sMS = (D3DMULTISAMPLE_TYPE)(sMS + 1))) { + if (SUCCEEDED(g_piD3D->CheckDeviceMultiSampleType(0, eType, + sMode.Format, TRUE, sMS, &dwQuality))) { sMSOut = sMS; } } - if (0 != dwQuality)dwQuality -= 1; - + if (0 != dwQuality) dwQuality -= 1; sParams.MultiSampleQuality = dwQuality; sParams.MultiSampleType = sMSOut; } // get the device capabilities. If the hardware vertex shader is too old, we prefer software vertex processing - g_piD3D->GetDeviceCaps( 0, D3DDEVTYPE_HAL, &g_sCaps); + g_piD3D->GetDeviceCaps(0, D3DDEVTYPE_HAL, &g_sCaps); DWORD creationFlags = D3DCREATE_MULTITHREADED; - if( g_sCaps.VertexShaderVersion >= D3DVS_VERSION( 2, 0)) + if (g_sCaps.VertexShaderVersion >= D3DVS_VERSION(2, 0)) creationFlags |= D3DCREATE_HARDWARE_VERTEXPROCESSING; else creationFlags |= D3DCREATE_SOFTWARE_VERTEXPROCESSING; // create the D3D9 device object. with software-vertexprocessing if VS2.0 isn`t supported in hardware - if(FAILED(g_piD3D->CreateDevice(0,eType, g_hDlg, creationFlags ,&sParams,&g_piDevice))) - { + if (FAILED(g_piD3D->CreateDevice(0, eType, g_hDlg, creationFlags, &sParams, &g_piDevice))) { // if hardware fails use software rendering instead - if (bHW)return CreateDevice(p_bMultiSample,p_bSuperSample,false); + if (bHW) return CreateDevice(p_bMultiSample, p_bSuperSample, false); return 0; } // create a vertex declaration to match the vertex - D3DVERTEXELEMENT9* vdecl = AssetHelper::Vertex::GetDeclarationElements(); - if( FAILED( g_piDevice->CreateVertexDeclaration( vdecl, &gDefaultVertexDecl))) - { - MessageBox( g_hDlg, "Failed to create vertex declaration", "Init", MB_OK); + D3DVERTEXELEMENT9 *vdecl = AssetHelper::Vertex::GetDeclarationElements(); + if (FAILED(g_piDevice->CreateVertexDeclaration(vdecl, &gDefaultVertexDecl))) { + MessageBox(g_hDlg, "Failed to create vertex declaration", "Init", MB_OK); return 0; } - g_piDevice->SetVertexDeclaration( gDefaultVertexDecl); + g_piDevice->SetVertexDeclaration(gDefaultVertexDecl); // get the capabilities of the device object g_piDevice->GetDeviceCaps(&g_sCaps); - if(g_sCaps.PixelShaderVersion < D3DPS_VERSION(3,0)) - { - EnableWindow(GetDlgItem(g_hDlg,IDC_LOWQUALITY),FALSE); + if (g_sCaps.PixelShaderVersion < D3DPS_VERSION(3, 0)) { + EnableWindow(GetDlgItem(g_hDlg, IDC_LOWQUALITY), FALSE); } // compile the default material shader (gray gouraud/phong) - ID3DXBuffer* piBuffer = nullptr; - if(FAILED( D3DXCreateEffect(g_piDevice, - g_szDefaultShader.c_str(), - (UINT)g_szDefaultShader.length(), - nullptr, - nullptr, - AI_SHADER_COMPILE_FLAGS, - nullptr, - &g_piDefaultEffect,&piBuffer))) - { - if( piBuffer) - { - MessageBox(g_hDlg,(LPCSTR)piBuffer->GetBufferPointer(),"HLSL",MB_OK); + ID3DXBuffer *piBuffer = nullptr; + if (FAILED(D3DXCreateEffect(g_piDevice, + g_szDefaultShader.c_str(), + (UINT)g_szDefaultShader.length(), + nullptr, + nullptr, + AI_SHADER_COMPILE_FLAGS, + nullptr, + &g_piDefaultEffect, &piBuffer))) { + if (piBuffer) { + MessageBox(g_hDlg, (LPCSTR)piBuffer->GetBufferPointer(), "HLSL", MB_OK); piBuffer->Release(); } return 0; } - if( piBuffer) - { + if (piBuffer) { piBuffer->Release(); piBuffer = nullptr; } // use Fixed Function effect when working with shaderless cards - if( g_sCaps.PixelShaderVersion < D3DPS_VERSION(2,0)) - g_piDefaultEffect->SetTechnique( "DefaultFXSpecular_FF"); + if (g_sCaps.PixelShaderVersion < D3DPS_VERSION(2, 0)) + g_piDefaultEffect->SetTechnique("DefaultFXSpecular_FF"); // create the shader used to draw the HUD - if(FAILED( D3DXCreateEffect(g_piDevice, - g_szPassThroughShader.c_str(),(UINT)g_szPassThroughShader.length(), - nullptr,nullptr,AI_SHADER_COMPILE_FLAGS,nullptr,&g_piPassThroughEffect,&piBuffer))) - { - if( piBuffer) - { - MessageBox(g_hDlg,(LPCSTR)piBuffer->GetBufferPointer(),"HLSL",MB_OK); + if (FAILED(D3DXCreateEffect(g_piDevice, + g_szPassThroughShader.c_str(), (UINT)g_szPassThroughShader.length(), + nullptr, nullptr, AI_SHADER_COMPILE_FLAGS, nullptr, &g_piPassThroughEffect, &piBuffer))) { + if (piBuffer) { + MessageBox(g_hDlg, (LPCSTR)piBuffer->GetBufferPointer(), "HLSL", MB_OK); piBuffer->Release(); } return 0; } - if( piBuffer) - { + if (piBuffer) { piBuffer->Release(); piBuffer = nullptr; } // use Fixed Function effect when working with shaderless cards - if( g_sCaps.PixelShaderVersion < D3DPS_VERSION(2,0)) - g_piPassThroughEffect->SetTechnique( "PassThrough_FF"); + if (g_sCaps.PixelShaderVersion < D3DPS_VERSION(2, 0)) + g_piPassThroughEffect->SetTechnique("PassThrough_FF"); // create the shader used to visualize normal vectors - if(FAILED( D3DXCreateEffect(g_piDevice, - g_szNormalsShader.c_str(),(UINT)g_szNormalsShader.length(), - nullptr,nullptr,AI_SHADER_COMPILE_FLAGS,nullptr,&g_piNormalsEffect, &piBuffer))) - { - if( piBuffer) - { - MessageBox(g_hDlg,(LPCSTR)piBuffer->GetBufferPointer(),"HLSL",MB_OK); + if (FAILED(D3DXCreateEffect(g_piDevice, + g_szNormalsShader.c_str(), (UINT)g_szNormalsShader.length(), + nullptr, nullptr, AI_SHADER_COMPILE_FLAGS, nullptr, &g_piNormalsEffect, &piBuffer))) { + if (piBuffer) { + MessageBox(g_hDlg, (LPCSTR)piBuffer->GetBufferPointer(), "HLSL", MB_OK); piBuffer->Release(); } return 0; } - if( piBuffer) - { + if (piBuffer) { piBuffer->Release(); piBuffer = nullptr; } @@ -1093,30 +1005,28 @@ int CreateDevice (bool p_bMultiSample,bool p_bSuperSample,bool bHW /*= true*/) //MessageBox( g_hDlg, "Failed to create vertex declaration", "Init", MB_OK); // use Fixed Function effect when working with shaderless cards - if( g_sCaps.PixelShaderVersion < D3DPS_VERSION(2,0)) - g_piNormalsEffect->SetTechnique( "RenderNormals_FF"); + if (g_sCaps.PixelShaderVersion < D3DPS_VERSION(2, 0)) + g_piNormalsEffect->SetTechnique("RenderNormals_FF"); - g_piDevice->SetRenderState(D3DRS_DITHERENABLE,TRUE); + g_piDevice->SetRenderState(D3DRS_DITHERENABLE, TRUE); // create the texture for the HUD CreateHUDTexture(); CBackgroundPainter::Instance().RecreateNativeResource(); CLogDisplay::Instance().RecreateNativeResource(); - g_piPassThroughEffect->SetTexture("TEXTURE_2D",g_pcTexture); + g_piPassThroughEffect->SetTexture("TEXTURE_2D", g_pcTexture); return 1; } //------------------------------------------------------------------------------- -int CreateDevice() -{ +int CreateDevice() { return CreateDevice(g_sOptions.bMultiSample, - g_sOptions.bSuperSample); + g_sOptions.bSuperSample); } //------------------------------------------------------------------------------- -int GetProjectionMatrix (aiMatrix4x4& p_mOut) -{ +int GetProjectionMatrix(aiMatrix4x4 &p_mOut) { const float fFarPlane = 100.0f; const float fNearPlane = 0.1f; const float fFOV = (float)(45.0 * 0.0174532925); @@ -1125,30 +1035,29 @@ int GetProjectionMatrix (aiMatrix4x4& p_mOut) const float Q = fFarPlane / (fFarPlane - fNearPlane); RECT sRect; - GetWindowRect(GetDlgItem(g_hDlg,IDC_RT),&sRect); + GetWindowRect(GetDlgItem(g_hDlg, IDC_RT), &sRect); sRect.right -= sRect.left; sRect.bottom -= sRect.top; const float fAspect = (float)sRect.right / (float)sRect.bottom; p_mOut = aiMatrix4x4( - s / fAspect, 0.0f, 0.0f, 0.0f, - 0.0f, s, 0.0f, 0.0f, - 0.0f, 0.0f, Q, 1.0f, - 0.0f, 0.0f, -Q * fNearPlane, 0.0f); + s / fAspect, 0.0f, 0.0f, 0.0f, + 0.0f, s, 0.0f, 0.0f, + 0.0f, 0.0f, Q, 1.0f, + 0.0f, 0.0f, -Q * fNearPlane, 0.0f); return 1; } //------------------------------------------------------------------------------- -aiVector3D GetCameraMatrix (aiMatrix4x4& p_mOut) -{ +aiVector3D GetCameraMatrix(aiMatrix4x4 &p_mOut) { D3DXMATRIX view; - D3DXMatrixIdentity( &view ); + D3DXMatrixIdentity(&view); - D3DXVec3Normalize( (D3DXVECTOR3*)&g_sCamera.vLookAt, (D3DXVECTOR3*)&g_sCamera.vLookAt ); - D3DXVec3Cross( (D3DXVECTOR3*)&g_sCamera.vRight, (D3DXVECTOR3*)&g_sCamera.vUp, (D3DXVECTOR3*)&g_sCamera.vLookAt ); - D3DXVec3Normalize( (D3DXVECTOR3*)&g_sCamera.vRight, (D3DXVECTOR3*)&g_sCamera.vRight ); - D3DXVec3Cross( (D3DXVECTOR3*)&g_sCamera.vUp, (D3DXVECTOR3*)&g_sCamera.vLookAt, (D3DXVECTOR3*)&g_sCamera.vRight ); - D3DXVec3Normalize( (D3DXVECTOR3*)&g_sCamera.vUp, (D3DXVECTOR3*)&g_sCamera.vUp ); + D3DXVec3Normalize((D3DXVECTOR3 *)&g_sCamera.vLookAt, (D3DXVECTOR3 *)&g_sCamera.vLookAt); + D3DXVec3Cross((D3DXVECTOR3 *)&g_sCamera.vRight, (D3DXVECTOR3 *)&g_sCamera.vUp, (D3DXVECTOR3 *)&g_sCamera.vLookAt); + D3DXVec3Normalize((D3DXVECTOR3 *)&g_sCamera.vRight, (D3DXVECTOR3 *)&g_sCamera.vRight); + D3DXVec3Cross((D3DXVECTOR3 *)&g_sCamera.vUp, (D3DXVECTOR3 *)&g_sCamera.vLookAt, (D3DXVECTOR3 *)&g_sCamera.vRight); + D3DXVec3Normalize((D3DXVECTOR3 *)&g_sCamera.vUp, (D3DXVECTOR3 *)&g_sCamera.vUp); view._11 = g_sCamera.vRight.x; view._12 = g_sCamera.vUp.x; @@ -1165,14 +1074,14 @@ aiVector3D GetCameraMatrix (aiMatrix4x4& p_mOut) view._33 = g_sCamera.vLookAt.z; view._34 = 0.0f; - view._41 = -D3DXVec3Dot( (D3DXVECTOR3*)&g_sCamera.vPos, (D3DXVECTOR3*)&g_sCamera.vRight ); - view._42 = -D3DXVec3Dot( (D3DXVECTOR3*)&g_sCamera.vPos, (D3DXVECTOR3*)&g_sCamera.vUp ); - view._43 = -D3DXVec3Dot( (D3DXVECTOR3*)&g_sCamera.vPos, (D3DXVECTOR3*)&g_sCamera.vLookAt ); - view._44 = 1.0f; + view._41 = -D3DXVec3Dot((D3DXVECTOR3 *)&g_sCamera.vPos, (D3DXVECTOR3 *)&g_sCamera.vRight); + view._42 = -D3DXVec3Dot((D3DXVECTOR3 *)&g_sCamera.vPos, (D3DXVECTOR3 *)&g_sCamera.vUp); + view._43 = -D3DXVec3Dot((D3DXVECTOR3 *)&g_sCamera.vPos, (D3DXVECTOR3 *)&g_sCamera.vLookAt); + view._44 = 1.0f; - memcpy(&p_mOut,&view,sizeof(aiMatrix4x4)); + memcpy(&p_mOut, &view, sizeof(aiMatrix4x4)); return g_sCamera.vPos; } -} +} // namespace AssimpView diff --git a/tools/assimp_view/assimp_view.h b/tools/assimp_view/assimp_view.h index 6c767ccd1..8e04f7117 100644 --- a/tools/assimp_view/assimp_view.h +++ b/tools/assimp_view/assimp_view.h @@ -51,27 +51,27 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "resource.h" #include -#include #include #include -#include #include +#include +#include #include // Include ASSIMP headers (XXX: do we really need all of them?) -#include -#include #include #include +#include #include #include -#include -#include -#include #include +#include +#include +#include +#include -#include "Material/MaterialSystem.h" // aiMaterial class -#include // ASSIMP_stricmp and ASSIMP_strincmp +#include "Material/MaterialSystem.h" // aiMaterial class +#include // ASSIMP_stricmp and ASSIMP_strincmp #include @@ -79,33 +79,31 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define MOVE_SPEED 3.f #include "AssetHelper.h" -#include "Camera.h" -#include "RenderOptions.h" -#include "Shaders.h" #include "Background.h" +#include "Camera.h" +#include "Display.h" #include "LogDisplay.h" #include "LogWindow.h" -#include "Display.h" -#include "MeshRenderer.h" #include "MaterialManager.h" - +#include "MeshRenderer.h" +#include "RenderOptions.h" +#include "Shaders.h" // outside of namespace, to help Intellisense and solve boost::metatype_stuff_miracle #include "AnimEvaluator.h" #include "SceneAnimator.h" -namespace AssimpView -{ +namespace AssimpView { //------------------------------------------------------------------------------- // Function prototypes //------------------------------------------------------------------------------- int InitD3D(void); int ShutdownD3D(void); -int CreateDevice (bool p_bMultiSample,bool p_bSuperSample, bool bHW = true); -int CreateDevice (void); +int CreateDevice(bool p_bMultiSample, bool p_bSuperSample, bool bHW = true); +int CreateDevice(void); int ShutdownDevice(void); -int GetProjectionMatrix (aiMatrix4x4& p_mOut); +int GetProjectionMatrix(aiMatrix4x4 &p_mOut); int LoadAsset(void); int CreateAssetData(void); int DeleteAssetData(bool bNoMaterials = false); @@ -113,26 +111,25 @@ int ScaleAsset(void); int DeleteAsset(void); int SetupFPSView(); -aiVector3D GetCameraMatrix (aiMatrix4x4& p_mOut); -int CreateMaterial(AssetHelper::MeshHelper* pcMesh,const aiMesh* pcSource); - -void HandleMouseInputFPS( void ); -void HandleMouseInputLightRotate( void ); -void HandleMouseInputLocal( void ); -void HandleKeyboardInputFPS( void ); -void HandleMouseInputLightIntensityAndColor( void ); -void HandleMouseInputSkyBox( void ); -void HandleKeyboardInputTextureView( void ); -void HandleMouseInputTextureView( void ); +aiVector3D GetCameraMatrix(aiMatrix4x4 &p_mOut); +int CreateMaterial(AssetHelper::MeshHelper *pcMesh, const aiMesh *pcSource); +void HandleMouseInputFPS(void); +void HandleMouseInputLightRotate(void); +void HandleMouseInputLocal(void); +void HandleKeyboardInputFPS(void); +void HandleMouseInputLightIntensityAndColor(void); +void HandleMouseInputSkyBox(void); +void HandleKeyboardInputTextureView(void); +void HandleMouseInputTextureView(void); //------------------------------------------------------------------------------- // // Dialog procedure for the progress bar window // //------------------------------------------------------------------------------- -INT_PTR CALLBACK ProgressMessageProc(HWND hwndDlg,UINT uMsg, - WPARAM wParam,LPARAM lParam); +INT_PTR CALLBACK ProgressMessageProc(HWND hwndDlg, UINT uMsg, + WPARAM wParam, LPARAM lParam); //------------------------------------------------------------------------------- // Main message procedure of the application @@ -142,25 +139,24 @@ INT_PTR CALLBACK ProgressMessageProc(HWND hwndDlg,UINT uMsg, // NOTE: Due to the impossibility to process WM_CHAR messages in dialogs // properly the code for all hotkeys has been moved to the WndMain //------------------------------------------------------------------------------- -INT_PTR CALLBACK MessageProc(HWND hwndDlg,UINT uMsg, - WPARAM wParam,LPARAM lParam); +INT_PTR CALLBACK MessageProc(HWND hwndDlg, UINT uMsg, + WPARAM wParam, LPARAM lParam); //------------------------------------------------------------------------------- // // Dialog procedure for the about dialog // //------------------------------------------------------------------------------- -INT_PTR CALLBACK AboutMessageProc(HWND hwndDlg,UINT uMsg, - WPARAM wParam,LPARAM lParam); +INT_PTR CALLBACK AboutMessageProc(HWND hwndDlg, UINT uMsg, + WPARAM wParam, LPARAM lParam); //------------------------------------------------------------------------------- // // Dialog procedure for the help dialog // //------------------------------------------------------------------------------- -INT_PTR CALLBACK HelpDialogProc(HWND hwndDlg,UINT uMsg, - WPARAM wParam,LPARAM lParam); - +INT_PTR CALLBACK HelpDialogProc(HWND hwndDlg, UINT uMsg, + WPARAM wParam, LPARAM lParam); //------------------------------------------------------------------------------- // Handle command line parameters @@ -168,24 +164,20 @@ INT_PTR CALLBACK HelpDialogProc(HWND hwndDlg,UINT uMsg, // The function loads an asset specified on the command line as first argument // Other command line parameters are not handled //------------------------------------------------------------------------------- -void HandleCommandLine(char* p_szCommand); - +void HandleCommandLine(char *p_szCommand); //------------------------------------------------------------------------------- template -type clamp(intype in) -{ +type clamp(intype in) { // for unsigned types only ... - intype mask = (0x1u << (sizeof(type)*8))-1; - return (type)std::max((intype)0,std::min(in,mask)); + intype mask = (0x1u << (sizeof(type) * 8)) - 1; + return (type)std::max((intype)0, std::min(in, mask)); } - //------------------------------------------------------------------------------- // Position of the cursor relative to the 3ds max' like control circle //------------------------------------------------------------------------------- -enum EClickPos -{ +enum EClickPos { // The click was inside the inner circle (x,y axis) EClickPos_Circle, // The click was inside one of the vertical snap-ins @@ -197,84 +189,82 @@ enum EClickPos }; #if (!defined AI_VIEW_CAPTION_BASE) -# define AI_VIEW_CAPTION_BASE "Open Asset Import Library : Viewer " +#define AI_VIEW_CAPTION_BASE "Open Asset Import Library : Viewer " #endif // !! AI_VIEW_CAPTION_BASE //------------------------------------------------------------------------------- // Evil globals //------------------------------------------------------------------------------- - extern HINSTANCE g_hInstance /*= NULL*/; - extern HWND g_hDlg /*= NULL*/; - extern IDirect3D9* g_piD3D /*= NULL*/; - extern IDirect3DDevice9* g_piDevice /*= NULL*/; - extern IDirect3DVertexDeclaration9* gDefaultVertexDecl /*= NULL*/; - extern double g_fFPS /*= 0.0f*/; - extern char g_szFileName[MAX_PATH]; - extern ID3DXEffect* g_piDefaultEffect /*= NULL*/; - extern ID3DXEffect* g_piNormalsEffect /*= NULL*/; - extern ID3DXEffect* g_piPassThroughEffect /*= NULL*/; - extern ID3DXEffect* g_piPatternEffect /*= NULL*/; - extern bool g_bMousePressed /*= false*/; - extern bool g_bMousePressedR /*= false*/; - extern bool g_bMousePressedM /*= false*/; - extern bool g_bMousePressedBoth /*= false*/; - extern float g_fElpasedTime /*= 0.0f*/; - extern D3DCAPS9 g_sCaps; - extern bool g_bLoadingFinished /*= false*/; - extern HANDLE g_hThreadHandle /*= NULL*/; - extern float g_fWheelPos /*= -10.0f*/; - extern bool g_bLoadingCanceled /*= false*/; - extern IDirect3DTexture9* g_pcTexture /*= NULL*/; +extern HINSTANCE g_hInstance /*= NULL*/; +extern HWND g_hDlg /*= NULL*/; +extern IDirect3D9 *g_piD3D /*= NULL*/; +extern IDirect3DDevice9 *g_piDevice /*= NULL*/; +extern IDirect3DVertexDeclaration9 *gDefaultVertexDecl /*= NULL*/; +extern double g_fFPS /*= 0.0f*/; +extern char g_szFileName[MAX_PATH]; +extern ID3DXEffect *g_piDefaultEffect /*= NULL*/; +extern ID3DXEffect *g_piNormalsEffect /*= NULL*/; +extern ID3DXEffect *g_piPassThroughEffect /*= NULL*/; +extern ID3DXEffect *g_piPatternEffect /*= NULL*/; +extern bool g_bMousePressed /*= false*/; +extern bool g_bMousePressedR /*= false*/; +extern bool g_bMousePressedM /*= false*/; +extern bool g_bMousePressedBoth /*= false*/; +extern float g_fElpasedTime /*= 0.0f*/; +extern D3DCAPS9 g_sCaps; +extern bool g_bLoadingFinished /*= false*/; +extern HANDLE g_hThreadHandle /*= NULL*/; +extern float g_fWheelPos /*= -10.0f*/; +extern bool g_bLoadingCanceled /*= false*/; +extern IDirect3DTexture9 *g_pcTexture /*= NULL*/; - extern aiMatrix4x4 g_mWorld; - extern aiMatrix4x4 g_mWorldRotate; - extern aiVector3D g_vRotateSpeed /*= aiVector3D(0.5f,0.5f,0.5f)*/; +extern aiMatrix4x4 g_mWorld; +extern aiMatrix4x4 g_mWorldRotate; +extern aiVector3D g_vRotateSpeed /*= aiVector3D(0.5f,0.5f,0.5f)*/; - extern aiVector3D g_avLightDirs[1] /* = +extern aiVector3D g_avLightDirs[1] /* = { aiVector3D(-0.5f,0.6f,0.2f) , - aiVector3D(-0.5f,0.5f,0.5f)} */; + aiVector3D(-0.5f,0.5f,0.5f)} */ + ; +extern POINT g_mousePos /*= {0,0};*/; +extern POINT g_LastmousePos /*= {0,0}*/; +extern bool g_bFPSView /*= false*/; +extern bool g_bInvert /*= false*/; +extern EClickPos g_eClick; +extern unsigned int g_iCurrentColor /*= 0*/; - extern POINT g_mousePos /*= {0,0};*/; - extern POINT g_LastmousePos /*= {0,0}*/; - extern bool g_bFPSView /*= false*/; - extern bool g_bInvert /*= false*/; - extern EClickPos g_eClick; - extern unsigned int g_iCurrentColor /*= 0*/; +// NOTE: The light intensity is separated from the color, it can +// directly be manipulated using the middle mouse button. +// When the user chooses a color from the palette the intensity +// is reset to 1.0 +// index[2] is the ambient color +extern float g_fLightIntensity /*=0.0f*/; +extern D3DCOLOR g_avLightColors[3]; - // NOTE: The light intensity is separated from the color, it can - // directly be manipulated using the middle mouse button. - // When the user chooses a color from the palette the intensity - // is reset to 1.0 - // index[2] is the ambient color - extern float g_fLightIntensity /*=0.0f*/; - extern D3DCOLOR g_avLightColors[3]; +extern RenderOptions g_sOptions; +extern Camera g_sCamera; +extern AssetHelper *g_pcAsset /*= NULL*/; - extern RenderOptions g_sOptions; - extern Camera g_sCamera; - extern AssetHelper *g_pcAsset /*= NULL*/; +// +// Contains the mask image for the HUD +// (used to determine the position of a click) +// +// The size of the image is identical to the size of the main +// HUD texture +// +extern unsigned char *g_szImageMask /*= NULL*/; +extern float g_fACMR /*= 3.0f*/; +extern IDirect3DQuery9 *g_piQuery; - // - // Contains the mask image for the HUD - // (used to determine the position of a click) - // - // The size of the image is identical to the size of the main - // HUD texture - // - extern unsigned char* g_szImageMask /*= NULL*/; +extern bool g_bPlay /*= false*/; +extern double g_dCurrent; +extern float g_smoothAngle /*= 80.f*/; - extern float g_fACMR /*= 3.0f*/; - extern IDirect3DQuery9* g_piQuery; - - extern bool g_bPlay /*= false*/; - - extern double g_dCurrent; - extern float g_smoothAngle /*= 80.f*/; - - extern unsigned int ppsteps,ppstepsdefault; - extern bool nopointslines; - } +extern unsigned int ppsteps, ppstepsdefault; +extern bool nopointslines; +} // namespace AssimpView #endif // !! AV_MAIN_H_INCLUDED