diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 70405900c3e..6767caf73a6 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -307,6 +307,7 @@ function(files_for_ifc_version IFC_VERSION RESULT_NAME) ${IFC_PARSE_DIR}/Ifc${IFC_VERSION}-latebound.h ${IFC_PARSE_DIR}/Ifc${IFC_VERSION}.cpp ${IFC_PARSE_DIR}/Ifc${IFC_VERSION}-latebound.cpp + ${IFC_PARSE_DIR}/Ifc${IFC_VERSION}-schema.cpp PARENT_SCOPE ) endfunction() diff --git a/src/ifcparse/Ifc4-schema.cpp b/src/ifcparse/Ifc4-schema.cpp index 6b4776eb58b..c30ded06a25 100644 --- a/src/ifcparse/Ifc4-schema.cpp +++ b/src/ifcparse/Ifc4-schema.cpp @@ -348,10 +348,13 @@ entity* IfcIShapeProfileDef_type = 0; entity* IfcImageTexture_type = 0; entity* IfcIndexedColourMap_type = 0; entity* IfcIndexedPolyCurve_type = 0; +entity* IfcIndexedPolygonalFace_type = 0; +entity* IfcIndexedPolygonalFaceWithVoids_type = 0; entity* IfcIndexedTextureMap_type = 0; entity* IfcIndexedTriangleTextureMap_type = 0; entity* IfcInterceptor_type = 0; entity* IfcInterceptorType_type = 0; +entity* IfcIntersectionCurve_type = 0; entity* IfcInventory_type = 0; entity* IfcIrregularTimeSeries_type = 0; entity* IfcIrregularTimeSeriesValue_type = 0; @@ -461,6 +464,7 @@ entity* IfcPointOnCurve_type = 0; entity* IfcPointOnSurface_type = 0; entity* IfcPolyLoop_type = 0; entity* IfcPolygonalBoundedHalfSpace_type = 0; +entity* IfcPolygonalFaceSet_type = 0; entity* IfcPolyline_type = 0; entity* IfcPort_type = 0; entity* IfcPostalAddress_type = 0; @@ -611,6 +615,7 @@ entity* IfcSIUnit_type = 0; entity* IfcSanitaryTerminal_type = 0; entity* IfcSanitaryTerminalType_type = 0; entity* IfcSchedulingTime_type = 0; +entity* IfcSeamCurve_type = 0; entity* IfcSectionProperties_type = 0; entity* IfcSectionReinforcementProperties_type = 0; entity* IfcSectionedSpine_type = 0; @@ -644,6 +649,7 @@ entity* IfcSpatialStructureElementType_type = 0; entity* IfcSpatialZone_type = 0; entity* IfcSpatialZoneType_type = 0; entity* IfcSphere_type = 0; +entity* IfcSphericalSurface_type = 0; entity* IfcStackTerminal_type = 0; entity* IfcStackTerminalType_type = 0; entity* IfcStair_type = 0; @@ -694,6 +700,7 @@ entity* IfcSubContractResource_type = 0; entity* IfcSubContractResourceType_type = 0; entity* IfcSubedge_type = 0; entity* IfcSurface_type = 0; +entity* IfcSurfaceCurve_type = 0; entity* IfcSurfaceCurveSweptAreaSolid_type = 0; entity* IfcSurfaceFeature_type = 0; entity* IfcSurfaceOfLinearExtrusion_type = 0; @@ -748,6 +755,7 @@ entity* IfcTimeSeries_type = 0; entity* IfcTimeSeriesValue_type = 0; entity* IfcTopologicalRepresentationItem_type = 0; entity* IfcTopologyRepresentation_type = 0; +entity* IfcToroidalSurface_type = 0; entity* IfcTransformer_type = 0; entity* IfcTransformerType_type = 0; entity* IfcTransportElement_type = 0; @@ -1119,6 +1127,7 @@ enumeration_type* IfcPileTypeEnum_type = 0; enumeration_type* IfcPipeFittingTypeEnum_type = 0; enumeration_type* IfcPipeSegmentTypeEnum_type = 0; enumeration_type* IfcPlateTypeEnum_type = 0; +enumeration_type* IfcPreferredSurfaceCurveRepresentation_type = 0; enumeration_type* IfcProcedureTypeEnum_type = 0; enumeration_type* IfcProfileTypeEnum_type = 0; enumeration_type* IfcProjectOrderTypeEnum_type = 0; @@ -1577,11 +1586,12 @@ schema_definition* populate_schema() { IfcBuildingElementPartTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcBuildingElementPartTypeEnum, items); } { - std::vector items; items.reserve(6); + std::vector items; items.reserve(7); items.push_back("COMPLEX"); items.push_back("ELEMENT"); items.push_back("NOTDEFINED"); items.push_back("PARTIAL"); + items.push_back("PROVISIONFORSPACE"); items.push_back("PROVISIONFORVOID"); items.push_back("USERDEFINED"); IfcBuildingElementProxyTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcBuildingElementProxyTypeEnum, items); @@ -2349,7 +2359,7 @@ schema_definition* populate_schema() { items.push_back("EXTERNAL_EARTH"); items.push_back("EXTERNAL_FIRE"); items.push_back("EXTERNAL_WATER"); - items.push_back("NOTDEFIEND"); + items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); IfcExternalSpatialElementTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcExternalSpatialElementTypeEnum, items); } @@ -2864,6 +2874,13 @@ schema_definition* populate_schema() { items.push_back("USERDEFINED"); IfcPlateTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcPlateTypeEnum, items); } + { + std::vector items; items.reserve(3); + items.push_back("CURVE3D"); + items.push_back("PCURVE_S1"); + items.push_back("PCURVE_S2"); + IfcPreferredSurfaceCurveRepresentation_type = new enumeration_type(IfcSchema::Type::IfcPreferredSurfaceCurveRepresentation, items); + } { std::vector items; items.reserve(9); items.push_back("ADVICE_CAUTION"); @@ -3172,10 +3189,11 @@ schema_definition* populate_schema() { IfcSectionTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcSectionTypeEnum, items); } { - std::vector items; items.reserve(25); + std::vector items; items.reserve(26); items.push_back("CO2SENSOR"); items.push_back("CONDUCTANCESENSOR"); items.push_back("CONTACTSENSOR"); + items.push_back("COSENSOR"); items.push_back("FIRESENSOR"); items.push_back("FLOWSENSOR"); items.push_back("FROSTSENSOR"); @@ -4099,6 +4117,8 @@ schema_definition* populate_schema() { IfcGeographicElementType_type = new entity(IfcSchema::Type::IfcGeographicElementType, IfcElementType_type); IfcGeometricCurveSet_type = new entity(IfcSchema::Type::IfcGeometricCurveSet, IfcGeometricSet_type); IfcIShapeProfileDef_type = new entity(IfcSchema::Type::IfcIShapeProfileDef, IfcParameterizedProfileDef_type); + IfcIndexedPolygonalFace_type = new entity(IfcSchema::Type::IfcIndexedPolygonalFace, IfcTessellatedItem_type); + IfcIndexedPolygonalFaceWithVoids_type = new entity(IfcSchema::Type::IfcIndexedPolygonalFaceWithVoids, IfcIndexedPolygonalFace_type); IfcLShapeProfileDef_type = new entity(IfcSchema::Type::IfcLShapeProfileDef, IfcParameterizedProfileDef_type); IfcLaborResourceType_type = new entity(IfcSchema::Type::IfcLaborResourceType, IfcConstructionResourceType_type); IfcLine_type = new entity(IfcSchema::Type::IfcLine, IfcCurve_type); @@ -4191,6 +4211,7 @@ schema_definition* populate_schema() { IfcSpatialZone_type = new entity(IfcSchema::Type::IfcSpatialZone, IfcSpatialElement_type); IfcSpatialZoneType_type = new entity(IfcSchema::Type::IfcSpatialZoneType, IfcSpatialElementType_type); IfcSphere_type = new entity(IfcSchema::Type::IfcSphere, IfcCsgPrimitive3D_type); + IfcSphericalSurface_type = new entity(IfcSchema::Type::IfcSphericalSurface, IfcElementarySurface_type); IfcStructuralActivity_type = new entity(IfcSchema::Type::IfcStructuralActivity, IfcProduct_type); IfcStructuralItem_type = new entity(IfcSchema::Type::IfcStructuralItem, IfcProduct_type); IfcStructuralMember_type = new entity(IfcSchema::Type::IfcStructuralMember, IfcStructuralItem_type); @@ -4199,6 +4220,7 @@ schema_definition* populate_schema() { IfcStructuralSurfaceMemberVarying_type = new entity(IfcSchema::Type::IfcStructuralSurfaceMemberVarying, IfcStructuralSurfaceMember_type); IfcStructuralSurfaceReaction_type = new entity(IfcSchema::Type::IfcStructuralSurfaceReaction, IfcStructuralReaction_type); IfcSubContractResourceType_type = new entity(IfcSchema::Type::IfcSubContractResourceType, IfcConstructionResourceType_type); + IfcSurfaceCurve_type = new entity(IfcSchema::Type::IfcSurfaceCurve, IfcCurve_type); IfcSurfaceCurveSweptAreaSolid_type = new entity(IfcSchema::Type::IfcSurfaceCurveSweptAreaSolid, IfcSweptAreaSolid_type); IfcSurfaceOfLinearExtrusion_type = new entity(IfcSchema::Type::IfcSurfaceOfLinearExtrusion, IfcSweptSurface_type); IfcSurfaceOfRevolution_type = new entity(IfcSchema::Type::IfcSurfaceOfRevolution, IfcSweptSurface_type); @@ -4206,6 +4228,7 @@ schema_definition* populate_schema() { IfcTask_type = new entity(IfcSchema::Type::IfcTask, IfcProcess_type); IfcTaskType_type = new entity(IfcSchema::Type::IfcTaskType, IfcTypeProcess_type); IfcTessellatedFaceSet_type = new entity(IfcSchema::Type::IfcTessellatedFaceSet, IfcTessellatedItem_type); + IfcToroidalSurface_type = new entity(IfcSchema::Type::IfcToroidalSurface, IfcElementarySurface_type); IfcTransportElementType_type = new entity(IfcSchema::Type::IfcTransportElementType, IfcElementType_type); IfcTriangulatedFaceSet_type = new entity(IfcSchema::Type::IfcTriangulatedFaceSet, IfcTessellatedFaceSet_type); IfcWindowLiningProperties_type = new entity(IfcSchema::Type::IfcWindowLiningProperties, IfcPreDefinedPropertySet_type); @@ -4285,6 +4308,7 @@ schema_definition* populate_schema() { IfcHumidifierType_type = new entity(IfcSchema::Type::IfcHumidifierType, IfcEnergyConversionDeviceType_type); IfcIndexedPolyCurve_type = new entity(IfcSchema::Type::IfcIndexedPolyCurve, IfcBoundedCurve_type); IfcInterceptorType_type = new entity(IfcSchema::Type::IfcInterceptorType, IfcFlowTreatmentDeviceType_type); + IfcIntersectionCurve_type = new entity(IfcSchema::Type::IfcIntersectionCurve, IfcSurfaceCurve_type); IfcInventory_type = new entity(IfcSchema::Type::IfcInventory, IfcGroup_type); IfcJunctionBoxType_type = new entity(IfcSchema::Type::IfcJunctionBoxType, IfcFlowFittingType_type); IfcLaborResource_type = new entity(IfcSchema::Type::IfcLaborResource, IfcConstructionResource_type); @@ -4306,6 +4330,7 @@ schema_definition* populate_schema() { IfcPipeFittingType_type = new entity(IfcSchema::Type::IfcPipeFittingType, IfcFlowFittingType_type); IfcPipeSegmentType_type = new entity(IfcSchema::Type::IfcPipeSegmentType, IfcFlowSegmentType_type); IfcPlateType_type = new entity(IfcSchema::Type::IfcPlateType, IfcBuildingElementType_type); + IfcPolygonalFaceSet_type = new entity(IfcSchema::Type::IfcPolygonalFaceSet, IfcTessellatedFaceSet_type); IfcPolyline_type = new entity(IfcSchema::Type::IfcPolyline, IfcBoundedCurve_type); IfcPort_type = new entity(IfcSchema::Type::IfcPort, IfcProduct_type); IfcProcedure_type = new entity(IfcSchema::Type::IfcProcedure, IfcProcess_type); @@ -4324,6 +4349,7 @@ schema_definition* populate_schema() { IfcRelAggregates_type = new entity(IfcSchema::Type::IfcRelAggregates, IfcRelDecomposes_type); IfcRoofType_type = new entity(IfcSchema::Type::IfcRoofType, IfcBuildingElementType_type); IfcSanitaryTerminalType_type = new entity(IfcSchema::Type::IfcSanitaryTerminalType, IfcFlowTerminalType_type); + IfcSeamCurve_type = new entity(IfcSchema::Type::IfcSeamCurve, IfcSurfaceCurve_type); IfcShadingDeviceType_type = new entity(IfcSchema::Type::IfcShadingDeviceType, IfcBuildingElementType_type); IfcSite_type = new entity(IfcSchema::Type::IfcSite, IfcSpatialStructureElement_type); IfcSlabType_type = new entity(IfcSchema::Type::IfcSlabType, IfcBuildingElementType_type); @@ -4573,11 +4599,12 @@ schema_definition* populate_schema() { IfcBendingParameterSelect_type = new select_type(IfcSchema::Type::IfcBendingParameterSelect, items); } { - std::vector items; items.reserve(4); + std::vector items; items.reserve(5); items.push_back(IfcBooleanResult_type); items.push_back(IfcCsgPrimitive3D_type); items.push_back(IfcHalfSpaceSolid_type); items.push_back(IfcSolidModel_type); + items.push_back(IfcTessellatedFaceSet_type); IfcBooleanOperand_type = new select_type(IfcSchema::Type::IfcBooleanOperand, items); } { @@ -4617,9 +4644,10 @@ schema_definition* populate_schema() { IfcCsgSelect_type = new select_type(IfcSchema::Type::IfcCsgSelect, items); } { - std::vector items; items.reserve(2); + std::vector items; items.reserve(3); items.push_back(IfcCompositeCurveOnSurface_type); items.push_back(IfcPcurve_type); + items.push_back(IfcSurfaceCurve_type); IfcCurveOnSurface_type = new select_type(IfcSchema::Type::IfcCurveOnSurface, items); } { @@ -4914,7 +4942,8 @@ schema_definition* populate_schema() { IfcShell_type = new select_type(IfcSchema::Type::IfcShell, items); } { - std::vector items; items.reserve(13); + std::vector items; items.reserve(14); + items.push_back(IfcBinary_type); items.push_back(IfcBoolean_type); items.push_back(IfcDate_type); items.push_back(IfcDateTime_type); @@ -7506,6 +7535,20 @@ schema_definition* populate_schema() { derived.push_back(false); derived.push_back(false); derived.push_back(false); IfcIndexedPolyCurve_type->set_attributes(attributes, derived); } + { + std::vector attributes; attributes.reserve(1); + attributes.push_back(new entity::attribute("CoordIndex", new aggregation_type(aggregation_type::list_type, 3, -1, new named_type(IfcPositiveInteger_type)), false)); + std::vector derived; derived.reserve(1); + derived.push_back(false); + IfcIndexedPolygonalFace_type->set_attributes(attributes, derived); + } + { + std::vector attributes; attributes.reserve(1); + attributes.push_back(new entity::attribute("InnerCoordIndices", new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 3, -1, new named_type(IfcPositiveInteger_type))), false)); + std::vector derived; derived.reserve(2); + derived.push_back(false); derived.push_back(false); + IfcIndexedPolygonalFaceWithVoids_type->set_attributes(attributes, derived); + } { std::vector attributes; attributes.reserve(2); attributes.push_back(new entity::attribute("MappedTo", new named_type(IfcTessellatedFaceSet_type), false)); @@ -7535,6 +7578,12 @@ schema_definition* populate_schema() { derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IfcInterceptorType_type->set_attributes(attributes, derived); } + { + std::vector attributes; attributes.reserve(0); + std::vector derived; derived.reserve(3); + derived.push_back(false); derived.push_back(false); derived.push_back(false); + IfcIntersectionCurve_type->set_attributes(attributes, derived); + } { std::vector attributes; attributes.reserve(6); attributes.push_back(new entity::attribute("PredefinedType", new named_type(IfcInventoryTypeEnum_type), true)); @@ -8424,6 +8473,15 @@ schema_definition* populate_schema() { derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IfcPolygonalBoundedHalfSpace_type->set_attributes(attributes, derived); } + { + std::vector attributes; attributes.reserve(3); + attributes.push_back(new entity::attribute("Closed", new named_type(IfcBoolean_type), true)); + attributes.push_back(new entity::attribute("Faces", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IfcIndexedPolygonalFace_type)), false)); + attributes.push_back(new entity::attribute("PnIndex", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IfcPositiveInteger_type)), true)); + std::vector derived; derived.reserve(4); + derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); + IfcPolygonalFaceSet_type->set_attributes(attributes, derived); + } { std::vector attributes; attributes.reserve(1); attributes.push_back(new entity::attribute("Points", new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IfcCartesianPoint_type)), false)); @@ -9635,6 +9693,12 @@ schema_definition* populate_schema() { derived.push_back(false); derived.push_back(false); derived.push_back(false); IfcSchedulingTime_type->set_attributes(attributes, derived); } + { + std::vector attributes; attributes.reserve(0); + std::vector derived; derived.reserve(3); + derived.push_back(false); derived.push_back(false); derived.push_back(false); + IfcSeamCurve_type->set_attributes(attributes, derived); + } { std::vector attributes; attributes.reserve(3); attributes.push_back(new entity::attribute("SectionType", new named_type(IfcSectionTypeEnum_type), false)); @@ -9888,6 +9952,13 @@ schema_definition* populate_schema() { derived.push_back(false); derived.push_back(false); IfcSphere_type->set_attributes(attributes, derived); } + { + std::vector attributes; attributes.reserve(1); + attributes.push_back(new entity::attribute("Radius", new named_type(IfcPositiveLengthMeasure_type), false)); + std::vector derived; derived.reserve(2); + derived.push_back(false); derived.push_back(false); + IfcSphericalSurface_type->set_attributes(attributes, derived); + } { std::vector attributes; attributes.reserve(1); attributes.push_back(new entity::attribute("PredefinedType", new named_type(IfcStackTerminalTypeEnum_type), true)); @@ -10264,6 +10335,15 @@ schema_definition* populate_schema() { IfcSurface_type->set_attributes(attributes, derived); } + { + std::vector attributes; attributes.reserve(3); + attributes.push_back(new entity::attribute("Curve3D", new named_type(IfcCurve_type), false)); + attributes.push_back(new entity::attribute("AssociatedGeometry", new aggregation_type(aggregation_type::list_type, 1, 2, new named_type(IfcPcurve_type)), false)); + attributes.push_back(new entity::attribute("MasterRepresentation", new named_type(IfcPreferredSurfaceCurveRepresentation_type), false)); + std::vector derived; derived.reserve(3); + derived.push_back(false); derived.push_back(false); derived.push_back(false); + IfcSurfaceCurve_type->set_attributes(attributes, derived); + } { std::vector attributes; attributes.reserve(4); attributes.push_back(new entity::attribute("Directrix", new named_type(IfcCurve_type), false)); @@ -10590,18 +10670,16 @@ schema_definition* populate_schema() { attributes.push_back(new entity::attribute("PredefinedType", new named_type(IfcTendonTypeEnum_type), false)); attributes.push_back(new entity::attribute("NominalDiameter", new named_type(IfcPositiveLengthMeasure_type), true)); attributes.push_back(new entity::attribute("CrossSectionArea", new named_type(IfcAreaMeasure_type), true)); - attributes.push_back(new entity::attribute("SheethDiameter", new named_type(IfcPositiveLengthMeasure_type), true)); + attributes.push_back(new entity::attribute("SheathDiameter", new named_type(IfcPositiveLengthMeasure_type), true)); std::vector derived; derived.reserve(13); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IfcTendonType_type->set_attributes(attributes, derived); } { - std::vector attributes; attributes.reserve(3); + std::vector attributes; attributes.reserve(1); attributes.push_back(new entity::attribute("Coordinates", new named_type(IfcCartesianPointList3D_type), false)); - attributes.push_back(new entity::attribute("Normals", new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IfcParameterValue_type))), true)); - attributes.push_back(new entity::attribute("Closed", new named_type(IfcBoolean_type), true)); - std::vector derived; derived.reserve(3); - derived.push_back(false); derived.push_back(false); derived.push_back(false); + std::vector derived; derived.reserve(1); + derived.push_back(false); IfcTessellatedFaceSet_type->set_attributes(attributes, derived); } { @@ -10747,6 +10825,14 @@ schema_definition* populate_schema() { derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IfcTopologyRepresentation_type->set_attributes(attributes, derived); } + { + std::vector attributes; attributes.reserve(2); + attributes.push_back(new entity::attribute("MajorRadius", new named_type(IfcPositiveLengthMeasure_type), false)); + attributes.push_back(new entity::attribute("MinorRadius", new named_type(IfcPositiveLengthMeasure_type), false)); + std::vector derived; derived.reserve(3); + derived.push_back(false); derived.push_back(false); derived.push_back(false); + IfcToroidalSurface_type->set_attributes(attributes, derived); + } { std::vector attributes; attributes.reserve(1); attributes.push_back(new entity::attribute("PredefinedType", new named_type(IfcTransformerTypeEnum_type), true)); @@ -10786,9 +10872,11 @@ schema_definition* populate_schema() { IfcTrapeziumProfileDef_type->set_attributes(attributes, derived); } { - std::vector attributes; attributes.reserve(2); + std::vector attributes; attributes.reserve(4); + attributes.push_back(new entity::attribute("Normals", new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IfcParameterValue_type))), true)); + attributes.push_back(new entity::attribute("Closed", new named_type(IfcBoolean_type), true)); attributes.push_back(new entity::attribute("CoordIndex", new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IfcPositiveInteger_type))), false)); - attributes.push_back(new entity::attribute("NormalIndex", new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IfcPositiveInteger_type))), true)); + attributes.push_back(new entity::attribute("PnIndex", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IfcPositiveInteger_type)), true)); std::vector derived; derived.reserve(5); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IfcTriangulatedFaceSet_type->set_attributes(attributes, derived); @@ -11330,6 +11418,11 @@ schema_definition* populate_schema() { attributes.push_back(new entity::inverse_attribute("IsGroupedBy", entity::inverse_attribute::set_type, 0, -1, IfcRelAssignsToGroup_type, IfcRelAssignsToGroup_type->attributes()[0])); IfcGroup_type->set_inverse_attributes(attributes); } + { + std::vector attributes; attributes.reserve(1); + attributes.push_back(new entity::inverse_attribute("ToFaceSet", entity::inverse_attribute::set_type, 1, -1, IfcPolygonalFaceSet_type, IfcPolygonalFaceSet_type->attributes()[1])); + IfcIndexedPolygonalFace_type->set_inverse_attributes(attributes); + } { std::vector attributes; attributes.reserve(2); attributes.push_back(new entity::inverse_attribute("LibraryInfoForObjects", entity::inverse_attribute::set_type, 0, -1, IfcRelAssociatesLibrary_type, IfcRelAssociatesLibrary_type->attributes()[0])); @@ -11624,7 +11717,7 @@ schema_definition* populate_schema() { IfcTypeResource_type->set_inverse_attributes(attributes); } - std::vector declarations; declarations.reserve(1164); + std::vector declarations; declarations.reserve(1173); declarations.push_back(IfcAbsorbedDoseMeasure_type); declarations.push_back(IfcAccelerationMeasure_type); declarations.push_back(IfcAmountOfSubstanceMeasure_type); @@ -11886,6 +11979,7 @@ schema_definition* populate_schema() { declarations.push_back(IfcPipeFittingTypeEnum_type); declarations.push_back(IfcPipeSegmentTypeEnum_type); declarations.push_back(IfcPlateTypeEnum_type); + declarations.push_back(IfcPreferredSurfaceCurveRepresentation_type); declarations.push_back(IfcProcedureTypeEnum_type); declarations.push_back(IfcProfileTypeEnum_type); declarations.push_back(IfcProjectOrderTypeEnum_type); @@ -12275,6 +12369,8 @@ schema_definition* populate_schema() { declarations.push_back(IfcGeographicElementType_type); declarations.push_back(IfcGeometricCurveSet_type); declarations.push_back(IfcIShapeProfileDef_type); + declarations.push_back(IfcIndexedPolygonalFace_type); + declarations.push_back(IfcIndexedPolygonalFaceWithVoids_type); declarations.push_back(IfcLShapeProfileDef_type); declarations.push_back(IfcLaborResourceType_type); declarations.push_back(IfcLine_type); @@ -12367,6 +12463,7 @@ schema_definition* populate_schema() { declarations.push_back(IfcSpatialZone_type); declarations.push_back(IfcSpatialZoneType_type); declarations.push_back(IfcSphere_type); + declarations.push_back(IfcSphericalSurface_type); declarations.push_back(IfcStructuralActivity_type); declarations.push_back(IfcStructuralItem_type); declarations.push_back(IfcStructuralMember_type); @@ -12375,6 +12472,7 @@ schema_definition* populate_schema() { declarations.push_back(IfcStructuralSurfaceMemberVarying_type); declarations.push_back(IfcStructuralSurfaceReaction_type); declarations.push_back(IfcSubContractResourceType_type); + declarations.push_back(IfcSurfaceCurve_type); declarations.push_back(IfcSurfaceCurveSweptAreaSolid_type); declarations.push_back(IfcSurfaceOfLinearExtrusion_type); declarations.push_back(IfcSurfaceOfRevolution_type); @@ -12382,6 +12480,7 @@ schema_definition* populate_schema() { declarations.push_back(IfcTask_type); declarations.push_back(IfcTaskType_type); declarations.push_back(IfcTessellatedFaceSet_type); + declarations.push_back(IfcToroidalSurface_type); declarations.push_back(IfcTransportElementType_type); declarations.push_back(IfcTriangulatedFaceSet_type); declarations.push_back(IfcWindowLiningProperties_type); @@ -12461,6 +12560,7 @@ schema_definition* populate_schema() { declarations.push_back(IfcHumidifierType_type); declarations.push_back(IfcIndexedPolyCurve_type); declarations.push_back(IfcInterceptorType_type); + declarations.push_back(IfcIntersectionCurve_type); declarations.push_back(IfcInventory_type); declarations.push_back(IfcJunctionBoxType_type); declarations.push_back(IfcLaborResource_type); @@ -12482,6 +12582,7 @@ schema_definition* populate_schema() { declarations.push_back(IfcPipeFittingType_type); declarations.push_back(IfcPipeSegmentType_type); declarations.push_back(IfcPlateType_type); + declarations.push_back(IfcPolygonalFaceSet_type); declarations.push_back(IfcPolyline_type); declarations.push_back(IfcPort_type); declarations.push_back(IfcProcedure_type); @@ -12500,6 +12601,7 @@ schema_definition* populate_schema() { declarations.push_back(IfcRelAggregates_type); declarations.push_back(IfcRoofType_type); declarations.push_back(IfcSanitaryTerminalType_type); + declarations.push_back(IfcSeamCurve_type); declarations.push_back(IfcShadingDeviceType_type); declarations.push_back(IfcSite_type); declarations.push_back(IfcSlabType_type); diff --git a/src/ifcparse/Ifc4.cpp b/src/ifcparse/Ifc4.cpp index 0b29bb70397..063bd6159ef 100644 --- a/src/ifcparse/Ifc4.cpp +++ b/src/ifcparse/Ifc4.cpp @@ -358,10 +358,13 @@ extern entity* IfcIShapeProfileDef_type; extern entity* IfcImageTexture_type; extern entity* IfcIndexedColourMap_type; extern entity* IfcIndexedPolyCurve_type; +extern entity* IfcIndexedPolygonalFace_type; +extern entity* IfcIndexedPolygonalFaceWithVoids_type; extern entity* IfcIndexedTextureMap_type; extern entity* IfcIndexedTriangleTextureMap_type; extern entity* IfcInterceptor_type; extern entity* IfcInterceptorType_type; +extern entity* IfcIntersectionCurve_type; extern entity* IfcInventory_type; extern entity* IfcIrregularTimeSeries_type; extern entity* IfcIrregularTimeSeriesValue_type; @@ -471,6 +474,7 @@ extern entity* IfcPointOnCurve_type; extern entity* IfcPointOnSurface_type; extern entity* IfcPolyLoop_type; extern entity* IfcPolygonalBoundedHalfSpace_type; +extern entity* IfcPolygonalFaceSet_type; extern entity* IfcPolyline_type; extern entity* IfcPort_type; extern entity* IfcPostalAddress_type; @@ -621,6 +625,7 @@ extern entity* IfcSIUnit_type; extern entity* IfcSanitaryTerminal_type; extern entity* IfcSanitaryTerminalType_type; extern entity* IfcSchedulingTime_type; +extern entity* IfcSeamCurve_type; extern entity* IfcSectionProperties_type; extern entity* IfcSectionReinforcementProperties_type; extern entity* IfcSectionedSpine_type; @@ -654,6 +659,7 @@ extern entity* IfcSpatialStructureElementType_type; extern entity* IfcSpatialZone_type; extern entity* IfcSpatialZoneType_type; extern entity* IfcSphere_type; +extern entity* IfcSphericalSurface_type; extern entity* IfcStackTerminal_type; extern entity* IfcStackTerminalType_type; extern entity* IfcStair_type; @@ -704,6 +710,7 @@ extern entity* IfcSubContractResource_type; extern entity* IfcSubContractResourceType_type; extern entity* IfcSubedge_type; extern entity* IfcSurface_type; +extern entity* IfcSurfaceCurve_type; extern entity* IfcSurfaceCurveSweptAreaSolid_type; extern entity* IfcSurfaceFeature_type; extern entity* IfcSurfaceOfLinearExtrusion_type; @@ -758,6 +765,7 @@ extern entity* IfcTimeSeries_type; extern entity* IfcTimeSeriesValue_type; extern entity* IfcTopologicalRepresentationItem_type; extern entity* IfcTopologyRepresentation_type; +extern entity* IfcToroidalSurface_type; extern entity* IfcTransformer_type; extern entity* IfcTransformerType_type; extern entity* IfcTransportElement_type; @@ -1391,10 +1399,13 @@ IfcUtil::IfcBaseClass* Ifc4::SchemaEntity(IfcAbstractEntity* e) { case Type::IfcImageTexture: return new IfcImageTexture(e); break; case Type::IfcIndexedColourMap: return new IfcIndexedColourMap(e); break; case Type::IfcIndexedPolyCurve: return new IfcIndexedPolyCurve(e); break; + case Type::IfcIndexedPolygonalFace: return new IfcIndexedPolygonalFace(e); break; + case Type::IfcIndexedPolygonalFaceWithVoids: return new IfcIndexedPolygonalFaceWithVoids(e); break; case Type::IfcIndexedTextureMap: return new IfcIndexedTextureMap(e); break; case Type::IfcIndexedTriangleTextureMap: return new IfcIndexedTriangleTextureMap(e); break; case Type::IfcInterceptor: return new IfcInterceptor(e); break; case Type::IfcInterceptorType: return new IfcInterceptorType(e); break; + case Type::IfcIntersectionCurve: return new IfcIntersectionCurve(e); break; case Type::IfcInventory: return new IfcInventory(e); break; case Type::IfcIrregularTimeSeries: return new IfcIrregularTimeSeries(e); break; case Type::IfcIrregularTimeSeriesValue: return new IfcIrregularTimeSeriesValue(e); break; @@ -1504,6 +1515,7 @@ IfcUtil::IfcBaseClass* Ifc4::SchemaEntity(IfcAbstractEntity* e) { case Type::IfcPointOnSurface: return new IfcPointOnSurface(e); break; case Type::IfcPolyLoop: return new IfcPolyLoop(e); break; case Type::IfcPolygonalBoundedHalfSpace: return new IfcPolygonalBoundedHalfSpace(e); break; + case Type::IfcPolygonalFaceSet: return new IfcPolygonalFaceSet(e); break; case Type::IfcPolyline: return new IfcPolyline(e); break; case Type::IfcPort: return new IfcPort(e); break; case Type::IfcPostalAddress: return new IfcPostalAddress(e); break; @@ -1654,6 +1666,7 @@ IfcUtil::IfcBaseClass* Ifc4::SchemaEntity(IfcAbstractEntity* e) { case Type::IfcSanitaryTerminal: return new IfcSanitaryTerminal(e); break; case Type::IfcSanitaryTerminalType: return new IfcSanitaryTerminalType(e); break; case Type::IfcSchedulingTime: return new IfcSchedulingTime(e); break; + case Type::IfcSeamCurve: return new IfcSeamCurve(e); break; case Type::IfcSectionProperties: return new IfcSectionProperties(e); break; case Type::IfcSectionReinforcementProperties: return new IfcSectionReinforcementProperties(e); break; case Type::IfcSectionedSpine: return new IfcSectionedSpine(e); break; @@ -1687,6 +1700,7 @@ IfcUtil::IfcBaseClass* Ifc4::SchemaEntity(IfcAbstractEntity* e) { case Type::IfcSpatialZone: return new IfcSpatialZone(e); break; case Type::IfcSpatialZoneType: return new IfcSpatialZoneType(e); break; case Type::IfcSphere: return new IfcSphere(e); break; + case Type::IfcSphericalSurface: return new IfcSphericalSurface(e); break; case Type::IfcStackTerminal: return new IfcStackTerminal(e); break; case Type::IfcStackTerminalType: return new IfcStackTerminalType(e); break; case Type::IfcStair: return new IfcStair(e); break; @@ -1737,6 +1751,7 @@ IfcUtil::IfcBaseClass* Ifc4::SchemaEntity(IfcAbstractEntity* e) { case Type::IfcSubContractResourceType: return new IfcSubContractResourceType(e); break; case Type::IfcSubedge: return new IfcSubedge(e); break; case Type::IfcSurface: return new IfcSurface(e); break; + case Type::IfcSurfaceCurve: return new IfcSurfaceCurve(e); break; case Type::IfcSurfaceCurveSweptAreaSolid: return new IfcSurfaceCurveSweptAreaSolid(e); break; case Type::IfcSurfaceFeature: return new IfcSurfaceFeature(e); break; case Type::IfcSurfaceOfLinearExtrusion: return new IfcSurfaceOfLinearExtrusion(e); break; @@ -1791,6 +1806,7 @@ IfcUtil::IfcBaseClass* Ifc4::SchemaEntity(IfcAbstractEntity* e) { case Type::IfcTimeSeriesValue: return new IfcTimeSeriesValue(e); break; case Type::IfcTopologicalRepresentationItem: return new IfcTopologicalRepresentationItem(e); break; case Type::IfcTopologyRepresentation: return new IfcTopologyRepresentation(e); break; + case Type::IfcToroidalSurface: return new IfcToroidalSurface(e); break; case Type::IfcTransformer: return new IfcTransformer(e); break; case Type::IfcTransformerType: return new IfcTransformerType(e); break; case Type::IfcTransportElement: return new IfcTransportElement(e); break; @@ -1845,8 +1861,8 @@ IfcUtil::IfcBaseClass* Ifc4::SchemaEntity(IfcAbstractEntity* e) { } std::string Type::ToString(Enum v) { - if (v < 0 || v >= 1165) throw IfcException("Unable to find find keyword in schema"); - const char* names[] = { "IfcAbsorbedDoseMeasure", "IfcAccelerationMeasure", "IfcActionRequest", "IfcActionRequestTypeEnum", "IfcActionSourceTypeEnum", "IfcActionTypeEnum", "IfcActor", "IfcActorRole", "IfcActorSelect", "IfcActuator", "IfcActuatorType", "IfcActuatorTypeEnum", "IfcAddress", "IfcAddressTypeEnum", "IfcAdvancedBrep", "IfcAdvancedBrepWithVoids", "IfcAdvancedFace", "IfcAirTerminal", "IfcAirTerminalBox", "IfcAirTerminalBoxType", "IfcAirTerminalBoxTypeEnum", "IfcAirTerminalType", "IfcAirTerminalTypeEnum", "IfcAirToAirHeatRecovery", "IfcAirToAirHeatRecoveryType", "IfcAirToAirHeatRecoveryTypeEnum", "IfcAlarm", "IfcAlarmType", "IfcAlarmTypeEnum", "IfcAmountOfSubstanceMeasure", "IfcAnalysisModelTypeEnum", "IfcAnalysisTheoryTypeEnum", "IfcAngularVelocityMeasure", "IfcAnnotation", "IfcAnnotationFillArea", "IfcApplication", "IfcAppliedValue", "IfcAppliedValueSelect", "IfcApproval", "IfcApprovalRelationship", "IfcArbitraryClosedProfileDef", "IfcArbitraryOpenProfileDef", "IfcArbitraryProfileDefWithVoids", "IfcArcIndex", "IfcAreaDensityMeasure", "IfcAreaMeasure", "IfcArithmeticOperatorEnum", "IfcAssemblyPlaceEnum", "IfcAsset", "IfcAsymmetricIShapeProfileDef", "IfcAudioVisualAppliance", "IfcAudioVisualApplianceType", "IfcAudioVisualApplianceTypeEnum", "IfcAxis1Placement", "IfcAxis2Placement", "IfcAxis2Placement2D", "IfcAxis2Placement3D", "IfcBeam", "IfcBeamStandardCase", "IfcBeamType", "IfcBeamTypeEnum", "IfcBenchmarkEnum", "IfcBendingParameterSelect", "IfcBinary", "IfcBlobTexture", "IfcBlock", "IfcBoiler", "IfcBoilerType", "IfcBoilerTypeEnum", "IfcBoolean", "IfcBooleanClippingResult", "IfcBooleanOperand", "IfcBooleanOperator", "IfcBooleanResult", "IfcBoundaryCondition", "IfcBoundaryCurve", "IfcBoundaryEdgeCondition", "IfcBoundaryFaceCondition", "IfcBoundaryNodeCondition", "IfcBoundaryNodeConditionWarping", "IfcBoundedCurve", "IfcBoundedSurface", "IfcBoundingBox", "IfcBoxAlignment", "IfcBoxedHalfSpace", "IfcBSplineCurve", "IfcBSplineCurveForm", "IfcBSplineCurveWithKnots", "IfcBSplineSurface", "IfcBSplineSurfaceForm", "IfcBSplineSurfaceWithKnots", "IfcBuilding", "IfcBuildingElement", "IfcBuildingElementPart", "IfcBuildingElementPartType", "IfcBuildingElementPartTypeEnum", "IfcBuildingElementProxy", "IfcBuildingElementProxyType", "IfcBuildingElementProxyTypeEnum", "IfcBuildingElementType", "IfcBuildingStorey", "IfcBuildingSystem", "IfcBuildingSystemTypeEnum", "IfcBurner", "IfcBurnerType", "IfcBurnerTypeEnum", "IfcCableCarrierFitting", "IfcCableCarrierFittingType", "IfcCableCarrierFittingTypeEnum", "IfcCableCarrierSegment", "IfcCableCarrierSegmentType", "IfcCableCarrierSegmentTypeEnum", "IfcCableFitting", "IfcCableFittingType", "IfcCableFittingTypeEnum", "IfcCableSegment", "IfcCableSegmentType", "IfcCableSegmentTypeEnum", "IfcCardinalPointReference", "IfcCartesianPoint", "IfcCartesianPointList", "IfcCartesianPointList2D", "IfcCartesianPointList3D", "IfcCartesianTransformationOperator", "IfcCartesianTransformationOperator2D", "IfcCartesianTransformationOperator2DnonUniform", "IfcCartesianTransformationOperator3D", "IfcCartesianTransformationOperator3DnonUniform", "IfcCenterLineProfileDef", "IfcChangeActionEnum", "IfcChiller", "IfcChillerType", "IfcChillerTypeEnum", "IfcChimney", "IfcChimneyType", "IfcChimneyTypeEnum", "IfcCircle", "IfcCircleHollowProfileDef", "IfcCircleProfileDef", "IfcCivilElement", "IfcCivilElementType", "IfcClassification", "IfcClassificationReference", "IfcClassificationReferenceSelect", "IfcClassificationSelect", "IfcClosedShell", "IfcCoil", "IfcCoilType", "IfcCoilTypeEnum", "IfcColour", "IfcColourOrFactor", "IfcColourRgb", "IfcColourRgbList", "IfcColourSpecification", "IfcColumn", "IfcColumnStandardCase", "IfcColumnType", "IfcColumnTypeEnum", "IfcCommunicationsAppliance", "IfcCommunicationsApplianceType", "IfcCommunicationsApplianceTypeEnum", "IfcComplexNumber", "IfcComplexProperty", "IfcComplexPropertyTemplate", "IfcComplexPropertyTemplateTypeEnum", "IfcCompositeCurve", "IfcCompositeCurveOnSurface", "IfcCompositeCurveSegment", "IfcCompositeProfileDef", "IfcCompoundPlaneAngleMeasure", "IfcCompressor", "IfcCompressorType", "IfcCompressorTypeEnum", "IfcCondenser", "IfcCondenserType", "IfcCondenserTypeEnum", "IfcConic", "IfcConnectedFaceSet", "IfcConnectionCurveGeometry", "IfcConnectionGeometry", "IfcConnectionPointEccentricity", "IfcConnectionPointGeometry", "IfcConnectionSurfaceGeometry", "IfcConnectionTypeEnum", "IfcConnectionVolumeGeometry", "IfcConstraint", "IfcConstraintEnum", "IfcConstructionEquipmentResource", "IfcConstructionEquipmentResourceType", "IfcConstructionEquipmentResourceTypeEnum", "IfcConstructionMaterialResource", "IfcConstructionMaterialResourceType", "IfcConstructionMaterialResourceTypeEnum", "IfcConstructionProductResource", "IfcConstructionProductResourceType", "IfcConstructionProductResourceTypeEnum", "IfcConstructionResource", "IfcConstructionResourceType", "IfcContext", "IfcContextDependentMeasure", "IfcContextDependentUnit", "IfcControl", "IfcController", "IfcControllerType", "IfcControllerTypeEnum", "IfcConversionBasedUnit", "IfcConversionBasedUnitWithOffset", "IfcCooledBeam", "IfcCooledBeamType", "IfcCooledBeamTypeEnum", "IfcCoolingTower", "IfcCoolingTowerType", "IfcCoolingTowerTypeEnum", "IfcCoordinateOperation", "IfcCoordinateReferenceSystem", "IfcCoordinateReferenceSystemSelect", "IfcCostItem", "IfcCostItemTypeEnum", "IfcCostSchedule", "IfcCostScheduleTypeEnum", "IfcCostValue", "IfcCountMeasure", "IfcCovering", "IfcCoveringType", "IfcCoveringTypeEnum", "IfcCrewResource", "IfcCrewResourceType", "IfcCrewResourceTypeEnum", "IfcCsgPrimitive3D", "IfcCsgSelect", "IfcCsgSolid", "IfcCShapeProfileDef", "IfcCurrencyRelationship", "IfcCurtainWall", "IfcCurtainWallType", "IfcCurtainWallTypeEnum", "IfcCurvatureMeasure", "IfcCurve", "IfcCurveBoundedPlane", "IfcCurveBoundedSurface", "IfcCurveFontOrScaledCurveFontSelect", "IfcCurveInterpolationEnum", "IfcCurveOnSurface", "IfcCurveOrEdgeCurve", "IfcCurveStyle", "IfcCurveStyleFont", "IfcCurveStyleFontAndScaling", "IfcCurveStyleFontPattern", "IfcCurveStyleFontSelect", "IfcCylindricalSurface", "IfcDamper", "IfcDamperType", "IfcDamperTypeEnum", "IfcDataOriginEnum", "IfcDate", "IfcDateTime", "IfcDayInMonthNumber", "IfcDayInWeekNumber", "IfcDefinitionSelect", "IfcDerivedMeasureValue", "IfcDerivedProfileDef", "IfcDerivedUnit", "IfcDerivedUnitElement", "IfcDerivedUnitEnum", "IfcDescriptiveMeasure", "IfcDimensionalExponents", "IfcDimensionCount", "IfcDirection", "IfcDirectionSenseEnum", "IfcDiscreteAccessory", "IfcDiscreteAccessoryType", "IfcDiscreteAccessoryTypeEnum", "IfcDistributionChamberElement", "IfcDistributionChamberElementType", "IfcDistributionChamberElementTypeEnum", "IfcDistributionCircuit", "IfcDistributionControlElement", "IfcDistributionControlElementType", "IfcDistributionElement", "IfcDistributionElementType", "IfcDistributionFlowElement", "IfcDistributionFlowElementType", "IfcDistributionPort", "IfcDistributionPortTypeEnum", "IfcDistributionSystem", "IfcDistributionSystemEnum", "IfcDocumentConfidentialityEnum", "IfcDocumentInformation", "IfcDocumentInformationRelationship", "IfcDocumentReference", "IfcDocumentSelect", "IfcDocumentStatusEnum", "IfcDoor", "IfcDoorLiningProperties", "IfcDoorPanelOperationEnum", "IfcDoorPanelPositionEnum", "IfcDoorPanelProperties", "IfcDoorStandardCase", "IfcDoorStyle", "IfcDoorStyleConstructionEnum", "IfcDoorStyleOperationEnum", "IfcDoorType", "IfcDoorTypeEnum", "IfcDoorTypeOperationEnum", "IfcDoseEquivalentMeasure", "IfcDraughtingPreDefinedColour", "IfcDraughtingPreDefinedCurveFont", "IfcDuctFitting", "IfcDuctFittingType", "IfcDuctFittingTypeEnum", "IfcDuctSegment", "IfcDuctSegmentType", "IfcDuctSegmentTypeEnum", "IfcDuctSilencer", "IfcDuctSilencerType", "IfcDuctSilencerTypeEnum", "IfcDuration", "IfcDynamicViscosityMeasure", "IfcEdge", "IfcEdgeCurve", "IfcEdgeLoop", "IfcElectricAppliance", "IfcElectricApplianceType", "IfcElectricApplianceTypeEnum", "IfcElectricCapacitanceMeasure", "IfcElectricChargeMeasure", "IfcElectricConductanceMeasure", "IfcElectricCurrentMeasure", "IfcElectricDistributionBoard", "IfcElectricDistributionBoardType", "IfcElectricDistributionBoardTypeEnum", "IfcElectricFlowStorageDevice", "IfcElectricFlowStorageDeviceType", "IfcElectricFlowStorageDeviceTypeEnum", "IfcElectricGenerator", "IfcElectricGeneratorType", "IfcElectricGeneratorTypeEnum", "IfcElectricMotor", "IfcElectricMotorType", "IfcElectricMotorTypeEnum", "IfcElectricResistanceMeasure", "IfcElectricTimeControl", "IfcElectricTimeControlType", "IfcElectricTimeControlTypeEnum", "IfcElectricVoltageMeasure", "IfcElement", "IfcElementarySurface", "IfcElementAssembly", "IfcElementAssemblyType", "IfcElementAssemblyTypeEnum", "IfcElementComponent", "IfcElementComponentType", "IfcElementCompositionEnum", "IfcElementQuantity", "IfcElementType", "IfcEllipse", "IfcEllipseProfileDef", "IfcEnergyConversionDevice", "IfcEnergyConversionDeviceType", "IfcEnergyMeasure", "IfcEngine", "IfcEngineType", "IfcEngineTypeEnum", "IfcEvaporativeCooler", "IfcEvaporativeCoolerType", "IfcEvaporativeCoolerTypeEnum", "IfcEvaporator", "IfcEvaporatorType", "IfcEvaporatorTypeEnum", "IfcEvent", "IfcEventTime", "IfcEventTriggerTypeEnum", "IfcEventType", "IfcEventTypeEnum", "IfcExtendedProperties", "IfcExternalInformation", "IfcExternallyDefinedHatchStyle", "IfcExternallyDefinedSurfaceStyle", "IfcExternallyDefinedTextFont", "IfcExternalReference", "IfcExternalReferenceRelationship", "IfcExternalSpatialElement", "IfcExternalSpatialElementTypeEnum", "IfcExternalSpatialStructureElement", "IfcExtrudedAreaSolid", "IfcExtrudedAreaSolidTapered", "IfcFace", "IfcFaceBasedSurfaceModel", "IfcFaceBound", "IfcFaceOuterBound", "IfcFaceSurface", "IfcFacetedBrep", "IfcFacetedBrepWithVoids", "IfcFailureConnectionCondition", "IfcFan", "IfcFanType", "IfcFanTypeEnum", "IfcFastener", "IfcFastenerType", "IfcFastenerTypeEnum", "IfcFeatureElement", "IfcFeatureElementAddition", "IfcFeatureElementSubtraction", "IfcFillAreaStyle", "IfcFillAreaStyleHatching", "IfcFillAreaStyleTiles", "IfcFillStyleSelect", "IfcFilter", "IfcFilterType", "IfcFilterTypeEnum", "IfcFireSuppressionTerminal", "IfcFireSuppressionTerminalType", "IfcFireSuppressionTerminalTypeEnum", "IfcFixedReferenceSweptAreaSolid", "IfcFlowController", "IfcFlowControllerType", "IfcFlowDirectionEnum", "IfcFlowFitting", "IfcFlowFittingType", "IfcFlowInstrument", "IfcFlowInstrumentType", "IfcFlowInstrumentTypeEnum", "IfcFlowMeter", "IfcFlowMeterType", "IfcFlowMeterTypeEnum", "IfcFlowMovingDevice", "IfcFlowMovingDeviceType", "IfcFlowSegment", "IfcFlowSegmentType", "IfcFlowStorageDevice", "IfcFlowStorageDeviceType", "IfcFlowTerminal", "IfcFlowTerminalType", "IfcFlowTreatmentDevice", "IfcFlowTreatmentDeviceType", "IfcFontStyle", "IfcFontVariant", "IfcFontWeight", "IfcFooting", "IfcFootingType", "IfcFootingTypeEnum", "IfcForceMeasure", "IfcFrequencyMeasure", "IfcFurnishingElement", "IfcFurnishingElementType", "IfcFurniture", "IfcFurnitureType", "IfcFurnitureTypeEnum", "IfcGeographicElement", "IfcGeographicElementType", "IfcGeographicElementTypeEnum", "IfcGeometricCurveSet", "IfcGeometricProjectionEnum", "IfcGeometricRepresentationContext", "IfcGeometricRepresentationItem", "IfcGeometricRepresentationSubContext", "IfcGeometricSet", "IfcGeometricSetSelect", "IfcGloballyUniqueId", "IfcGlobalOrLocalEnum", "IfcGrid", "IfcGridAxis", "IfcGridPlacement", "IfcGridPlacementDirectionSelect", "IfcGridTypeEnum", "IfcGroup", "IfcHalfSpaceSolid", "IfcHatchLineDistanceSelect", "IfcHeatExchanger", "IfcHeatExchangerType", "IfcHeatExchangerTypeEnum", "IfcHeatFluxDensityMeasure", "IfcHeatingValueMeasure", "IfcHumidifier", "IfcHumidifierType", "IfcHumidifierTypeEnum", "IfcIdentifier", "IfcIlluminanceMeasure", "IfcImageTexture", "IfcIndexedColourMap", "IfcIndexedPolyCurve", "IfcIndexedTextureMap", "IfcIndexedTriangleTextureMap", "IfcInductanceMeasure", "IfcInteger", "IfcIntegerCountRateMeasure", "IfcInterceptor", "IfcInterceptorType", "IfcInterceptorTypeEnum", "IfcInternalOrExternalEnum", "IfcInventory", "IfcInventoryTypeEnum", "IfcIonConcentrationMeasure", "IfcIrregularTimeSeries", "IfcIrregularTimeSeriesValue", "IfcIShapeProfileDef", "IfcIsothermalMoistureCapacityMeasure", "IfcJunctionBox", "IfcJunctionBoxType", "IfcJunctionBoxTypeEnum", "IfcKinematicViscosityMeasure", "IfcKnotType", "IfcLabel", "IfcLaborResource", "IfcLaborResourceType", "IfcLaborResourceTypeEnum", "IfcLagTime", "IfcLamp", "IfcLampType", "IfcLampTypeEnum", "IfcLanguageId", "IfcLayeredItem", "IfcLayerSetDirectionEnum", "IfcLengthMeasure", "IfcLibraryInformation", "IfcLibraryReference", "IfcLibrarySelect", "IfcLightDistributionCurveEnum", "IfcLightDistributionData", "IfcLightDistributionDataSourceSelect", "IfcLightEmissionSourceEnum", "IfcLightFixture", "IfcLightFixtureType", "IfcLightFixtureTypeEnum", "IfcLightIntensityDistribution", "IfcLightSource", "IfcLightSourceAmbient", "IfcLightSourceDirectional", "IfcLightSourceGoniometric", "IfcLightSourcePositional", "IfcLightSourceSpot", "IfcLine", "IfcLinearForceMeasure", "IfcLinearMomentMeasure", "IfcLinearStiffnessMeasure", "IfcLinearVelocityMeasure", "IfcLineIndex", "IfcLoadGroupTypeEnum", "IfcLocalPlacement", "IfcLogical", "IfcLogicalOperatorEnum", "IfcLoop", "IfcLShapeProfileDef", "IfcLuminousFluxMeasure", "IfcLuminousIntensityDistributionMeasure", "IfcLuminousIntensityMeasure", "IfcMagneticFluxDensityMeasure", "IfcMagneticFluxMeasure", "IfcManifoldSolidBrep", "IfcMapConversion", "IfcMappedItem", "IfcMassDensityMeasure", "IfcMassFlowRateMeasure", "IfcMassMeasure", "IfcMassPerLengthMeasure", "IfcMaterial", "IfcMaterialClassificationRelationship", "IfcMaterialConstituent", "IfcMaterialConstituentSet", "IfcMaterialDefinition", "IfcMaterialDefinitionRepresentation", "IfcMaterialLayer", "IfcMaterialLayerSet", "IfcMaterialLayerSetUsage", "IfcMaterialLayerWithOffsets", "IfcMaterialList", "IfcMaterialProfile", "IfcMaterialProfileSet", "IfcMaterialProfileSetUsage", "IfcMaterialProfileSetUsageTapering", "IfcMaterialProfileWithOffsets", "IfcMaterialProperties", "IfcMaterialRelationship", "IfcMaterialSelect", "IfcMaterialUsageDefinition", "IfcMeasureValue", "IfcMeasureWithUnit", "IfcMechanicalFastener", "IfcMechanicalFastenerType", "IfcMechanicalFastenerTypeEnum", "IfcMedicalDevice", "IfcMedicalDeviceType", "IfcMedicalDeviceTypeEnum", "IfcMember", "IfcMemberStandardCase", "IfcMemberType", "IfcMemberTypeEnum", "IfcMetric", "IfcMetricValueSelect", "IfcMirroredProfileDef", "IfcModulusOfElasticityMeasure", "IfcModulusOfLinearSubgradeReactionMeasure", "IfcModulusOfRotationalSubgradeReactionMeasure", "IfcModulusOfRotationalSubgradeReactionSelect", "IfcModulusOfSubgradeReactionMeasure", "IfcModulusOfSubgradeReactionSelect", "IfcModulusOfTranslationalSubgradeReactionSelect", "IfcMoistureDiffusivityMeasure", "IfcMolecularWeightMeasure", "IfcMomentOfInertiaMeasure", "IfcMonetaryMeasure", "IfcMonetaryUnit", "IfcMonthInYearNumber", "IfcMotorConnection", "IfcMotorConnectionType", "IfcMotorConnectionTypeEnum", "IfcNamedUnit", "IfcNonNegativeLengthMeasure", "IfcNormalisedRatioMeasure", "IfcNullStyle", "IfcNumericMeasure", "IfcObject", "IfcObjectDefinition", "IfcObjective", "IfcObjectiveEnum", "IfcObjectPlacement", "IfcObjectReferenceSelect", "IfcObjectTypeEnum", "IfcOccupant", "IfcOccupantTypeEnum", "IfcOffsetCurve2D", "IfcOffsetCurve3D", "IfcOpeningElement", "IfcOpeningElementTypeEnum", "IfcOpeningStandardCase", "IfcOpenShell", "IfcOrganization", "IfcOrganizationRelationship", "IfcOrientedEdge", "IfcOuterBoundaryCurve", "IfcOutlet", "IfcOutletType", "IfcOutletTypeEnum", "IfcOwnerHistory", "IfcParameterizedProfileDef", "IfcParameterValue", "IfcPath", "IfcPcurve", "IfcPerformanceHistory", "IfcPerformanceHistoryTypeEnum", "IfcPermeableCoveringOperationEnum", "IfcPermeableCoveringProperties", "IfcPermit", "IfcPermitTypeEnum", "IfcPerson", "IfcPersonAndOrganization", "IfcPHMeasure", "IfcPhysicalComplexQuantity", "IfcPhysicalOrVirtualEnum", "IfcPhysicalQuantity", "IfcPhysicalSimpleQuantity", "IfcPile", "IfcPileConstructionEnum", "IfcPileType", "IfcPileTypeEnum", "IfcPipeFitting", "IfcPipeFittingType", "IfcPipeFittingTypeEnum", "IfcPipeSegment", "IfcPipeSegmentType", "IfcPipeSegmentTypeEnum", "IfcPixelTexture", "IfcPlacement", "IfcPlanarBox", "IfcPlanarExtent", "IfcPlanarForceMeasure", "IfcPlane", "IfcPlaneAngleMeasure", "IfcPlate", "IfcPlateStandardCase", "IfcPlateType", "IfcPlateTypeEnum", "IfcPoint", "IfcPointOnCurve", "IfcPointOnSurface", "IfcPointOrVertexPoint", "IfcPolygonalBoundedHalfSpace", "IfcPolyline", "IfcPolyLoop", "IfcPort", "IfcPositiveInteger", "IfcPositiveLengthMeasure", "IfcPositivePlaneAngleMeasure", "IfcPositiveRatioMeasure", "IfcPostalAddress", "IfcPowerMeasure", "IfcPreDefinedColour", "IfcPreDefinedCurveFont", "IfcPreDefinedItem", "IfcPreDefinedProperties", "IfcPreDefinedPropertySet", "IfcPreDefinedTextFont", "IfcPresentableText", "IfcPresentationItem", "IfcPresentationLayerAssignment", "IfcPresentationLayerWithStyle", "IfcPresentationStyle", "IfcPresentationStyleAssignment", "IfcPresentationStyleSelect", "IfcPressureMeasure", "IfcProcedure", "IfcProcedureType", "IfcProcedureTypeEnum", "IfcProcess", "IfcProcessSelect", "IfcProduct", "IfcProductDefinitionShape", "IfcProductRepresentation", "IfcProductRepresentationSelect", "IfcProductSelect", "IfcProfileDef", "IfcProfileProperties", "IfcProfileTypeEnum", "IfcProject", "IfcProjectedCRS", "IfcProjectedOrTrueLengthEnum", "IfcProjectionElement", "IfcProjectionElementTypeEnum", "IfcProjectLibrary", "IfcProjectOrder", "IfcProjectOrderTypeEnum", "IfcProperty", "IfcPropertyAbstraction", "IfcPropertyBoundedValue", "IfcPropertyDefinition", "IfcPropertyDependencyRelationship", "IfcPropertyEnumeratedValue", "IfcPropertyEnumeration", "IfcPropertyListValue", "IfcPropertyReferenceValue", "IfcPropertySet", "IfcPropertySetDefinition", "IfcPropertySetDefinitionSelect", "IfcPropertySetDefinitionSet", "IfcPropertySetTemplate", "IfcPropertySetTemplateTypeEnum", "IfcPropertySingleValue", "IfcPropertyTableValue", "IfcPropertyTemplate", "IfcPropertyTemplateDefinition", "IfcProtectiveDevice", "IfcProtectiveDeviceTrippingUnit", "IfcProtectiveDeviceTrippingUnitType", "IfcProtectiveDeviceTrippingUnitTypeEnum", "IfcProtectiveDeviceType", "IfcProtectiveDeviceTypeEnum", "IfcProxy", "IfcPump", "IfcPumpType", "IfcPumpTypeEnum", "IfcQuantityArea", "IfcQuantityCount", "IfcQuantityLength", "IfcQuantitySet", "IfcQuantityTime", "IfcQuantityVolume", "IfcQuantityWeight", "IfcRadioActivityMeasure", "IfcRailing", "IfcRailingType", "IfcRailingTypeEnum", "IfcRamp", "IfcRampFlight", "IfcRampFlightType", "IfcRampFlightTypeEnum", "IfcRampType", "IfcRampTypeEnum", "IfcRatioMeasure", "IfcRationalBSplineCurveWithKnots", "IfcRationalBSplineSurfaceWithKnots", "IfcReal", "IfcRectangleHollowProfileDef", "IfcRectangleProfileDef", "IfcRectangularPyramid", "IfcRectangularTrimmedSurface", "IfcRecurrencePattern", "IfcRecurrenceTypeEnum", "IfcReference", "IfcReflectanceMethodEnum", "IfcRegularTimeSeries", "IfcReinforcementBarProperties", "IfcReinforcementDefinitionProperties", "IfcReinforcingBar", "IfcReinforcingBarRoleEnum", "IfcReinforcingBarSurfaceEnum", "IfcReinforcingBarType", "IfcReinforcingBarTypeEnum", "IfcReinforcingElement", "IfcReinforcingElementType", "IfcReinforcingMesh", "IfcReinforcingMeshType", "IfcReinforcingMeshTypeEnum", "IfcRelAggregates", "IfcRelAssigns", "IfcRelAssignsToActor", "IfcRelAssignsToControl", "IfcRelAssignsToGroup", "IfcRelAssignsToGroupByFactor", "IfcRelAssignsToProcess", "IfcRelAssignsToProduct", "IfcRelAssignsToResource", "IfcRelAssociates", "IfcRelAssociatesApproval", "IfcRelAssociatesClassification", "IfcRelAssociatesConstraint", "IfcRelAssociatesDocument", "IfcRelAssociatesLibrary", "IfcRelAssociatesMaterial", "IfcRelationship", "IfcRelConnects", "IfcRelConnectsElements", "IfcRelConnectsPathElements", "IfcRelConnectsPorts", "IfcRelConnectsPortToElement", "IfcRelConnectsStructuralActivity", "IfcRelConnectsStructuralMember", "IfcRelConnectsWithEccentricity", "IfcRelConnectsWithRealizingElements", "IfcRelContainedInSpatialStructure", "IfcRelCoversBldgElements", "IfcRelCoversSpaces", "IfcRelDeclares", "IfcRelDecomposes", "IfcRelDefines", "IfcRelDefinesByObject", "IfcRelDefinesByProperties", "IfcRelDefinesByTemplate", "IfcRelDefinesByType", "IfcRelFillsElement", "IfcRelFlowControlElements", "IfcRelInterferesElements", "IfcRelNests", "IfcRelProjectsElement", "IfcRelReferencedInSpatialStructure", "IfcRelSequence", "IfcRelServicesBuildings", "IfcRelSpaceBoundary", "IfcRelSpaceBoundary1stLevel", "IfcRelSpaceBoundary2ndLevel", "IfcRelVoidsElement", "IfcReparametrisedCompositeCurveSegment", "IfcRepresentation", "IfcRepresentationContext", "IfcRepresentationItem", "IfcRepresentationMap", "IfcResource", "IfcResourceApprovalRelationship", "IfcResourceConstraintRelationship", "IfcResourceLevelRelationship", "IfcResourceObjectSelect", "IfcResourceSelect", "IfcResourceTime", "IfcRevolvedAreaSolid", "IfcRevolvedAreaSolidTapered", "IfcRightCircularCone", "IfcRightCircularCylinder", "IfcRoleEnum", "IfcRoof", "IfcRoofType", "IfcRoofTypeEnum", "IfcRoot", "IfcRotationalFrequencyMeasure", "IfcRotationalMassMeasure", "IfcRotationalStiffnessMeasure", "IfcRotationalStiffnessSelect", "IfcRoundedRectangleProfileDef", "IfcSanitaryTerminal", "IfcSanitaryTerminalType", "IfcSanitaryTerminalTypeEnum", "IfcSchedulingTime", "IfcSectionalAreaIntegralMeasure", "IfcSectionedSpine", "IfcSectionModulusMeasure", "IfcSectionProperties", "IfcSectionReinforcementProperties", "IfcSectionTypeEnum", "IfcSegmentIndexSelect", "IfcSensor", "IfcSensorType", "IfcSensorTypeEnum", "IfcSequenceEnum", "IfcShadingDevice", "IfcShadingDeviceType", "IfcShadingDeviceTypeEnum", "IfcShapeAspect", "IfcShapeModel", "IfcShapeRepresentation", "IfcShearModulusMeasure", "IfcShell", "IfcShellBasedSurfaceModel", "IfcSimpleProperty", "IfcSimplePropertyTemplate", "IfcSimplePropertyTemplateTypeEnum", "IfcSimpleValue", "IfcSIPrefix", "IfcSite", "IfcSIUnit", "IfcSIUnitName", "IfcSizeSelect", "IfcSlab", "IfcSlabElementedCase", "IfcSlabStandardCase", "IfcSlabType", "IfcSlabTypeEnum", "IfcSlippageConnectionCondition", "IfcSolarDevice", "IfcSolarDeviceType", "IfcSolarDeviceTypeEnum", "IfcSolidAngleMeasure", "IfcSolidModel", "IfcSolidOrShell", "IfcSoundPowerLevelMeasure", "IfcSoundPowerMeasure", "IfcSoundPressureLevelMeasure", "IfcSoundPressureMeasure", "IfcSpace", "IfcSpaceBoundarySelect", "IfcSpaceHeater", "IfcSpaceHeaterType", "IfcSpaceHeaterTypeEnum", "IfcSpaceType", "IfcSpaceTypeEnum", "IfcSpatialElement", "IfcSpatialElementType", "IfcSpatialStructureElement", "IfcSpatialStructureElementType", "IfcSpatialZone", "IfcSpatialZoneType", "IfcSpatialZoneTypeEnum", "IfcSpecificHeatCapacityMeasure", "IfcSpecularExponent", "IfcSpecularHighlightSelect", "IfcSpecularRoughness", "IfcSphere", "IfcStackTerminal", "IfcStackTerminalType", "IfcStackTerminalTypeEnum", "IfcStair", "IfcStairFlight", "IfcStairFlightType", "IfcStairFlightTypeEnum", "IfcStairType", "IfcStairTypeEnum", "IfcStateEnum", "IfcStrippedOptional", "IfcStructuralAction", "IfcStructuralActivity", "IfcStructuralActivityAssignmentSelect", "IfcStructuralAnalysisModel", "IfcStructuralConnection", "IfcStructuralConnectionCondition", "IfcStructuralCurveAction", "IfcStructuralCurveActivityTypeEnum", "IfcStructuralCurveConnection", "IfcStructuralCurveMember", "IfcStructuralCurveMemberTypeEnum", "IfcStructuralCurveMemberVarying", "IfcStructuralCurveReaction", "IfcStructuralItem", "IfcStructuralLinearAction", "IfcStructuralLoad", "IfcStructuralLoadCase", "IfcStructuralLoadConfiguration", "IfcStructuralLoadGroup", "IfcStructuralLoadLinearForce", "IfcStructuralLoadOrResult", "IfcStructuralLoadPlanarForce", "IfcStructuralLoadSingleDisplacement", "IfcStructuralLoadSingleDisplacementDistortion", "IfcStructuralLoadSingleForce", "IfcStructuralLoadSingleForceWarping", "IfcStructuralLoadStatic", "IfcStructuralLoadTemperature", "IfcStructuralMember", "IfcStructuralPlanarAction", "IfcStructuralPointAction", "IfcStructuralPointConnection", "IfcStructuralPointReaction", "IfcStructuralReaction", "IfcStructuralResultGroup", "IfcStructuralSurfaceAction", "IfcStructuralSurfaceActivityTypeEnum", "IfcStructuralSurfaceConnection", "IfcStructuralSurfaceMember", "IfcStructuralSurfaceMemberTypeEnum", "IfcStructuralSurfaceMemberVarying", "IfcStructuralSurfaceReaction", "IfcStyleAssignmentSelect", "IfcStyledItem", "IfcStyledRepresentation", "IfcStyleModel", "IfcSubContractResource", "IfcSubContractResourceType", "IfcSubContractResourceTypeEnum", "IfcSubedge", "IfcSurface", "IfcSurfaceCurveSweptAreaSolid", "IfcSurfaceFeature", "IfcSurfaceFeatureTypeEnum", "IfcSurfaceOfLinearExtrusion", "IfcSurfaceOfRevolution", "IfcSurfaceOrFaceSurface", "IfcSurfaceReinforcementArea", "IfcSurfaceSide", "IfcSurfaceStyle", "IfcSurfaceStyleElementSelect", "IfcSurfaceStyleLighting", "IfcSurfaceStyleRefraction", "IfcSurfaceStyleRendering", "IfcSurfaceStyleShading", "IfcSurfaceStyleWithTextures", "IfcSurfaceTexture", "IfcSweptAreaSolid", "IfcSweptDiskSolid", "IfcSweptDiskSolidPolygonal", "IfcSweptSurface", "IfcSwitchingDevice", "IfcSwitchingDeviceType", "IfcSwitchingDeviceTypeEnum", "IfcSystem", "IfcSystemFurnitureElement", "IfcSystemFurnitureElementType", "IfcSystemFurnitureElementTypeEnum", "IfcTable", "IfcTableColumn", "IfcTableRow", "IfcTank", "IfcTankType", "IfcTankTypeEnum", "IfcTask", "IfcTaskDurationEnum", "IfcTaskTime", "IfcTaskTimeRecurring", "IfcTaskType", "IfcTaskTypeEnum", "IfcTelecomAddress", "IfcTemperatureGradientMeasure", "IfcTemperatureRateOfChangeMeasure", "IfcTendon", "IfcTendonAnchor", "IfcTendonAnchorType", "IfcTendonAnchorTypeEnum", "IfcTendonType", "IfcTendonTypeEnum", "IfcTessellatedFaceSet", "IfcTessellatedItem", "IfcText", "IfcTextAlignment", "IfcTextDecoration", "IfcTextFontName", "IfcTextFontSelect", "IfcTextLiteral", "IfcTextLiteralWithExtent", "IfcTextPath", "IfcTextStyle", "IfcTextStyleFontModel", "IfcTextStyleForDefinedFont", "IfcTextStyleTextModel", "IfcTextTransformation", "IfcTextureCoordinate", "IfcTextureCoordinateGenerator", "IfcTextureMap", "IfcTextureVertex", "IfcTextureVertexList", "IfcThermalAdmittanceMeasure", "IfcThermalConductivityMeasure", "IfcThermalExpansionCoefficientMeasure", "IfcThermalResistanceMeasure", "IfcThermalTransmittanceMeasure", "IfcThermodynamicTemperatureMeasure", "IfcTime", "IfcTimeMeasure", "IfcTimeOrRatioSelect", "IfcTimePeriod", "IfcTimeSeries", "IfcTimeSeriesDataTypeEnum", "IfcTimeSeriesValue", "IfcTimeStamp", "IfcTopologicalRepresentationItem", "IfcTopologyRepresentation", "IfcTorqueMeasure", "IfcTransformer", "IfcTransformerType", "IfcTransformerTypeEnum", "IfcTransitionCode", "IfcTranslationalStiffnessSelect", "IfcTransportElement", "IfcTransportElementType", "IfcTransportElementTypeEnum", "IfcTrapeziumProfileDef", "IfcTriangulatedFaceSet", "IfcTrimmedCurve", "IfcTrimmingPreference", "IfcTrimmingSelect", "IfcTShapeProfileDef", "IfcTubeBundle", "IfcTubeBundleType", "IfcTubeBundleTypeEnum", "IfcTypeObject", "IfcTypeProcess", "IfcTypeProduct", "IfcTypeResource", "IfcUnit", "IfcUnitaryControlElement", "IfcUnitaryControlElementType", "IfcUnitaryControlElementTypeEnum", "IfcUnitaryEquipment", "IfcUnitaryEquipmentType", "IfcUnitaryEquipmentTypeEnum", "IfcUnitAssignment", "IfcUnitEnum", "IfcURIReference", "IfcUShapeProfileDef", "IfcValue", "IfcValve", "IfcValveType", "IfcValveTypeEnum", "IfcVaporPermeabilityMeasure", "IfcVector", "IfcVectorOrDirection", "IfcVertex", "IfcVertexLoop", "IfcVertexPoint", "IfcVibrationIsolator", "IfcVibrationIsolatorType", "IfcVibrationIsolatorTypeEnum", "IfcVirtualElement", "IfcVirtualGridIntersection", "IfcVoidingFeature", "IfcVoidingFeatureTypeEnum", "IfcVolumeMeasure", "IfcVolumetricFlowRateMeasure", "IfcWall", "IfcWallElementedCase", "IfcWallStandardCase", "IfcWallType", "IfcWallTypeEnum", "IfcWarpingConstantMeasure", "IfcWarpingMomentMeasure", "IfcWarpingStiffnessSelect", "IfcWasteTerminal", "IfcWasteTerminalType", "IfcWasteTerminalTypeEnum", "IfcWindow", "IfcWindowLiningProperties", "IfcWindowPanelOperationEnum", "IfcWindowPanelPositionEnum", "IfcWindowPanelProperties", "IfcWindowStandardCase", "IfcWindowStyle", "IfcWindowStyleConstructionEnum", "IfcWindowStyleOperationEnum", "IfcWindowType", "IfcWindowTypeEnum", "IfcWindowTypePartitioningEnum", "IfcWorkCalendar", "IfcWorkCalendarTypeEnum", "IfcWorkControl", "IfcWorkPlan", "IfcWorkPlanTypeEnum", "IfcWorkSchedule", "IfcWorkScheduleTypeEnum", "IfcWorkTime", "IfcZone", "IfcZShapeProfileDef" }; + if (v < 0 || v >= 1174) throw IfcException("Unable to find find keyword in schema"); + const char* names[] = { "IfcAbsorbedDoseMeasure", "IfcAccelerationMeasure", "IfcActionRequest", "IfcActionRequestTypeEnum", "IfcActionSourceTypeEnum", "IfcActionTypeEnum", "IfcActor", "IfcActorRole", "IfcActorSelect", "IfcActuator", "IfcActuatorType", "IfcActuatorTypeEnum", "IfcAddress", "IfcAddressTypeEnum", "IfcAdvancedBrep", "IfcAdvancedBrepWithVoids", "IfcAdvancedFace", "IfcAirTerminal", "IfcAirTerminalBox", "IfcAirTerminalBoxType", "IfcAirTerminalBoxTypeEnum", "IfcAirTerminalType", "IfcAirTerminalTypeEnum", "IfcAirToAirHeatRecovery", "IfcAirToAirHeatRecoveryType", "IfcAirToAirHeatRecoveryTypeEnum", "IfcAlarm", "IfcAlarmType", "IfcAlarmTypeEnum", "IfcAmountOfSubstanceMeasure", "IfcAnalysisModelTypeEnum", "IfcAnalysisTheoryTypeEnum", "IfcAngularVelocityMeasure", "IfcAnnotation", "IfcAnnotationFillArea", "IfcApplication", "IfcAppliedValue", "IfcAppliedValueSelect", "IfcApproval", "IfcApprovalRelationship", "IfcArbitraryClosedProfileDef", "IfcArbitraryOpenProfileDef", "IfcArbitraryProfileDefWithVoids", "IfcArcIndex", "IfcAreaDensityMeasure", "IfcAreaMeasure", "IfcArithmeticOperatorEnum", "IfcAssemblyPlaceEnum", "IfcAsset", "IfcAsymmetricIShapeProfileDef", "IfcAudioVisualAppliance", "IfcAudioVisualApplianceType", "IfcAudioVisualApplianceTypeEnum", "IfcAxis1Placement", "IfcAxis2Placement", "IfcAxis2Placement2D", "IfcAxis2Placement3D", "IfcBeam", "IfcBeamStandardCase", "IfcBeamType", "IfcBeamTypeEnum", "IfcBenchmarkEnum", "IfcBendingParameterSelect", "IfcBinary", "IfcBlobTexture", "IfcBlock", "IfcBoiler", "IfcBoilerType", "IfcBoilerTypeEnum", "IfcBoolean", "IfcBooleanClippingResult", "IfcBooleanOperand", "IfcBooleanOperator", "IfcBooleanResult", "IfcBoundaryCondition", "IfcBoundaryCurve", "IfcBoundaryEdgeCondition", "IfcBoundaryFaceCondition", "IfcBoundaryNodeCondition", "IfcBoundaryNodeConditionWarping", "IfcBoundedCurve", "IfcBoundedSurface", "IfcBoundingBox", "IfcBoxAlignment", "IfcBoxedHalfSpace", "IfcBSplineCurve", "IfcBSplineCurveForm", "IfcBSplineCurveWithKnots", "IfcBSplineSurface", "IfcBSplineSurfaceForm", "IfcBSplineSurfaceWithKnots", "IfcBuilding", "IfcBuildingElement", "IfcBuildingElementPart", "IfcBuildingElementPartType", "IfcBuildingElementPartTypeEnum", "IfcBuildingElementProxy", "IfcBuildingElementProxyType", "IfcBuildingElementProxyTypeEnum", "IfcBuildingElementType", "IfcBuildingStorey", "IfcBuildingSystem", "IfcBuildingSystemTypeEnum", "IfcBurner", "IfcBurnerType", "IfcBurnerTypeEnum", "IfcCableCarrierFitting", "IfcCableCarrierFittingType", "IfcCableCarrierFittingTypeEnum", "IfcCableCarrierSegment", "IfcCableCarrierSegmentType", "IfcCableCarrierSegmentTypeEnum", "IfcCableFitting", "IfcCableFittingType", "IfcCableFittingTypeEnum", "IfcCableSegment", "IfcCableSegmentType", "IfcCableSegmentTypeEnum", "IfcCardinalPointReference", "IfcCartesianPoint", "IfcCartesianPointList", "IfcCartesianPointList2D", "IfcCartesianPointList3D", "IfcCartesianTransformationOperator", "IfcCartesianTransformationOperator2D", "IfcCartesianTransformationOperator2DnonUniform", "IfcCartesianTransformationOperator3D", "IfcCartesianTransformationOperator3DnonUniform", "IfcCenterLineProfileDef", "IfcChangeActionEnum", "IfcChiller", "IfcChillerType", "IfcChillerTypeEnum", "IfcChimney", "IfcChimneyType", "IfcChimneyTypeEnum", "IfcCircle", "IfcCircleHollowProfileDef", "IfcCircleProfileDef", "IfcCivilElement", "IfcCivilElementType", "IfcClassification", "IfcClassificationReference", "IfcClassificationReferenceSelect", "IfcClassificationSelect", "IfcClosedShell", "IfcCoil", "IfcCoilType", "IfcCoilTypeEnum", "IfcColour", "IfcColourOrFactor", "IfcColourRgb", "IfcColourRgbList", "IfcColourSpecification", "IfcColumn", "IfcColumnStandardCase", "IfcColumnType", "IfcColumnTypeEnum", "IfcCommunicationsAppliance", "IfcCommunicationsApplianceType", "IfcCommunicationsApplianceTypeEnum", "IfcComplexNumber", "IfcComplexProperty", "IfcComplexPropertyTemplate", "IfcComplexPropertyTemplateTypeEnum", "IfcCompositeCurve", "IfcCompositeCurveOnSurface", "IfcCompositeCurveSegment", "IfcCompositeProfileDef", "IfcCompoundPlaneAngleMeasure", "IfcCompressor", "IfcCompressorType", "IfcCompressorTypeEnum", "IfcCondenser", "IfcCondenserType", "IfcCondenserTypeEnum", "IfcConic", "IfcConnectedFaceSet", "IfcConnectionCurveGeometry", "IfcConnectionGeometry", "IfcConnectionPointEccentricity", "IfcConnectionPointGeometry", "IfcConnectionSurfaceGeometry", "IfcConnectionTypeEnum", "IfcConnectionVolumeGeometry", "IfcConstraint", "IfcConstraintEnum", "IfcConstructionEquipmentResource", "IfcConstructionEquipmentResourceType", "IfcConstructionEquipmentResourceTypeEnum", "IfcConstructionMaterialResource", "IfcConstructionMaterialResourceType", "IfcConstructionMaterialResourceTypeEnum", "IfcConstructionProductResource", "IfcConstructionProductResourceType", "IfcConstructionProductResourceTypeEnum", "IfcConstructionResource", "IfcConstructionResourceType", "IfcContext", "IfcContextDependentMeasure", "IfcContextDependentUnit", "IfcControl", "IfcController", "IfcControllerType", "IfcControllerTypeEnum", "IfcConversionBasedUnit", "IfcConversionBasedUnitWithOffset", "IfcCooledBeam", "IfcCooledBeamType", "IfcCooledBeamTypeEnum", "IfcCoolingTower", "IfcCoolingTowerType", "IfcCoolingTowerTypeEnum", "IfcCoordinateOperation", "IfcCoordinateReferenceSystem", "IfcCoordinateReferenceSystemSelect", "IfcCostItem", "IfcCostItemTypeEnum", "IfcCostSchedule", "IfcCostScheduleTypeEnum", "IfcCostValue", "IfcCountMeasure", "IfcCovering", "IfcCoveringType", "IfcCoveringTypeEnum", "IfcCrewResource", "IfcCrewResourceType", "IfcCrewResourceTypeEnum", "IfcCsgPrimitive3D", "IfcCsgSelect", "IfcCsgSolid", "IfcCShapeProfileDef", "IfcCurrencyRelationship", "IfcCurtainWall", "IfcCurtainWallType", "IfcCurtainWallTypeEnum", "IfcCurvatureMeasure", "IfcCurve", "IfcCurveBoundedPlane", "IfcCurveBoundedSurface", "IfcCurveFontOrScaledCurveFontSelect", "IfcCurveInterpolationEnum", "IfcCurveOnSurface", "IfcCurveOrEdgeCurve", "IfcCurveStyle", "IfcCurveStyleFont", "IfcCurveStyleFontAndScaling", "IfcCurveStyleFontPattern", "IfcCurveStyleFontSelect", "IfcCylindricalSurface", "IfcDamper", "IfcDamperType", "IfcDamperTypeEnum", "IfcDataOriginEnum", "IfcDate", "IfcDateTime", "IfcDayInMonthNumber", "IfcDayInWeekNumber", "IfcDefinitionSelect", "IfcDerivedMeasureValue", "IfcDerivedProfileDef", "IfcDerivedUnit", "IfcDerivedUnitElement", "IfcDerivedUnitEnum", "IfcDescriptiveMeasure", "IfcDimensionalExponents", "IfcDimensionCount", "IfcDirection", "IfcDirectionSenseEnum", "IfcDiscreteAccessory", "IfcDiscreteAccessoryType", "IfcDiscreteAccessoryTypeEnum", "IfcDistributionChamberElement", "IfcDistributionChamberElementType", "IfcDistributionChamberElementTypeEnum", "IfcDistributionCircuit", "IfcDistributionControlElement", "IfcDistributionControlElementType", "IfcDistributionElement", "IfcDistributionElementType", "IfcDistributionFlowElement", "IfcDistributionFlowElementType", "IfcDistributionPort", "IfcDistributionPortTypeEnum", "IfcDistributionSystem", "IfcDistributionSystemEnum", "IfcDocumentConfidentialityEnum", "IfcDocumentInformation", "IfcDocumentInformationRelationship", "IfcDocumentReference", "IfcDocumentSelect", "IfcDocumentStatusEnum", "IfcDoor", "IfcDoorLiningProperties", "IfcDoorPanelOperationEnum", "IfcDoorPanelPositionEnum", "IfcDoorPanelProperties", "IfcDoorStandardCase", "IfcDoorStyle", "IfcDoorStyleConstructionEnum", "IfcDoorStyleOperationEnum", "IfcDoorType", "IfcDoorTypeEnum", "IfcDoorTypeOperationEnum", "IfcDoseEquivalentMeasure", "IfcDraughtingPreDefinedColour", "IfcDraughtingPreDefinedCurveFont", "IfcDuctFitting", "IfcDuctFittingType", "IfcDuctFittingTypeEnum", "IfcDuctSegment", "IfcDuctSegmentType", "IfcDuctSegmentTypeEnum", "IfcDuctSilencer", "IfcDuctSilencerType", "IfcDuctSilencerTypeEnum", "IfcDuration", "IfcDynamicViscosityMeasure", "IfcEdge", "IfcEdgeCurve", "IfcEdgeLoop", "IfcElectricAppliance", "IfcElectricApplianceType", "IfcElectricApplianceTypeEnum", "IfcElectricCapacitanceMeasure", "IfcElectricChargeMeasure", "IfcElectricConductanceMeasure", "IfcElectricCurrentMeasure", "IfcElectricDistributionBoard", "IfcElectricDistributionBoardType", "IfcElectricDistributionBoardTypeEnum", "IfcElectricFlowStorageDevice", "IfcElectricFlowStorageDeviceType", "IfcElectricFlowStorageDeviceTypeEnum", "IfcElectricGenerator", "IfcElectricGeneratorType", "IfcElectricGeneratorTypeEnum", "IfcElectricMotor", "IfcElectricMotorType", "IfcElectricMotorTypeEnum", "IfcElectricResistanceMeasure", "IfcElectricTimeControl", "IfcElectricTimeControlType", "IfcElectricTimeControlTypeEnum", "IfcElectricVoltageMeasure", "IfcElement", "IfcElementarySurface", "IfcElementAssembly", "IfcElementAssemblyType", "IfcElementAssemblyTypeEnum", "IfcElementComponent", "IfcElementComponentType", "IfcElementCompositionEnum", "IfcElementQuantity", "IfcElementType", "IfcEllipse", "IfcEllipseProfileDef", "IfcEnergyConversionDevice", "IfcEnergyConversionDeviceType", "IfcEnergyMeasure", "IfcEngine", "IfcEngineType", "IfcEngineTypeEnum", "IfcEvaporativeCooler", "IfcEvaporativeCoolerType", "IfcEvaporativeCoolerTypeEnum", "IfcEvaporator", "IfcEvaporatorType", "IfcEvaporatorTypeEnum", "IfcEvent", "IfcEventTime", "IfcEventTriggerTypeEnum", "IfcEventType", "IfcEventTypeEnum", "IfcExtendedProperties", "IfcExternalInformation", "IfcExternallyDefinedHatchStyle", "IfcExternallyDefinedSurfaceStyle", "IfcExternallyDefinedTextFont", "IfcExternalReference", "IfcExternalReferenceRelationship", "IfcExternalSpatialElement", "IfcExternalSpatialElementTypeEnum", "IfcExternalSpatialStructureElement", "IfcExtrudedAreaSolid", "IfcExtrudedAreaSolidTapered", "IfcFace", "IfcFaceBasedSurfaceModel", "IfcFaceBound", "IfcFaceOuterBound", "IfcFaceSurface", "IfcFacetedBrep", "IfcFacetedBrepWithVoids", "IfcFailureConnectionCondition", "IfcFan", "IfcFanType", "IfcFanTypeEnum", "IfcFastener", "IfcFastenerType", "IfcFastenerTypeEnum", "IfcFeatureElement", "IfcFeatureElementAddition", "IfcFeatureElementSubtraction", "IfcFillAreaStyle", "IfcFillAreaStyleHatching", "IfcFillAreaStyleTiles", "IfcFillStyleSelect", "IfcFilter", "IfcFilterType", "IfcFilterTypeEnum", "IfcFireSuppressionTerminal", "IfcFireSuppressionTerminalType", "IfcFireSuppressionTerminalTypeEnum", "IfcFixedReferenceSweptAreaSolid", "IfcFlowController", "IfcFlowControllerType", "IfcFlowDirectionEnum", "IfcFlowFitting", "IfcFlowFittingType", "IfcFlowInstrument", "IfcFlowInstrumentType", "IfcFlowInstrumentTypeEnum", "IfcFlowMeter", "IfcFlowMeterType", "IfcFlowMeterTypeEnum", "IfcFlowMovingDevice", "IfcFlowMovingDeviceType", "IfcFlowSegment", "IfcFlowSegmentType", "IfcFlowStorageDevice", "IfcFlowStorageDeviceType", "IfcFlowTerminal", "IfcFlowTerminalType", "IfcFlowTreatmentDevice", "IfcFlowTreatmentDeviceType", "IfcFontStyle", "IfcFontVariant", "IfcFontWeight", "IfcFooting", "IfcFootingType", "IfcFootingTypeEnum", "IfcForceMeasure", "IfcFrequencyMeasure", "IfcFurnishingElement", "IfcFurnishingElementType", "IfcFurniture", "IfcFurnitureType", "IfcFurnitureTypeEnum", "IfcGeographicElement", "IfcGeographicElementType", "IfcGeographicElementTypeEnum", "IfcGeometricCurveSet", "IfcGeometricProjectionEnum", "IfcGeometricRepresentationContext", "IfcGeometricRepresentationItem", "IfcGeometricRepresentationSubContext", "IfcGeometricSet", "IfcGeometricSetSelect", "IfcGloballyUniqueId", "IfcGlobalOrLocalEnum", "IfcGrid", "IfcGridAxis", "IfcGridPlacement", "IfcGridPlacementDirectionSelect", "IfcGridTypeEnum", "IfcGroup", "IfcHalfSpaceSolid", "IfcHatchLineDistanceSelect", "IfcHeatExchanger", "IfcHeatExchangerType", "IfcHeatExchangerTypeEnum", "IfcHeatFluxDensityMeasure", "IfcHeatingValueMeasure", "IfcHumidifier", "IfcHumidifierType", "IfcHumidifierTypeEnum", "IfcIdentifier", "IfcIlluminanceMeasure", "IfcImageTexture", "IfcIndexedColourMap", "IfcIndexedPolyCurve", "IfcIndexedPolygonalFace", "IfcIndexedPolygonalFaceWithVoids", "IfcIndexedTextureMap", "IfcIndexedTriangleTextureMap", "IfcInductanceMeasure", "IfcInteger", "IfcIntegerCountRateMeasure", "IfcInterceptor", "IfcInterceptorType", "IfcInterceptorTypeEnum", "IfcInternalOrExternalEnum", "IfcIntersectionCurve", "IfcInventory", "IfcInventoryTypeEnum", "IfcIonConcentrationMeasure", "IfcIrregularTimeSeries", "IfcIrregularTimeSeriesValue", "IfcIShapeProfileDef", "IfcIsothermalMoistureCapacityMeasure", "IfcJunctionBox", "IfcJunctionBoxType", "IfcJunctionBoxTypeEnum", "IfcKinematicViscosityMeasure", "IfcKnotType", "IfcLabel", "IfcLaborResource", "IfcLaborResourceType", "IfcLaborResourceTypeEnum", "IfcLagTime", "IfcLamp", "IfcLampType", "IfcLampTypeEnum", "IfcLanguageId", "IfcLayeredItem", "IfcLayerSetDirectionEnum", "IfcLengthMeasure", "IfcLibraryInformation", "IfcLibraryReference", "IfcLibrarySelect", "IfcLightDistributionCurveEnum", "IfcLightDistributionData", "IfcLightDistributionDataSourceSelect", "IfcLightEmissionSourceEnum", "IfcLightFixture", "IfcLightFixtureType", "IfcLightFixtureTypeEnum", "IfcLightIntensityDistribution", "IfcLightSource", "IfcLightSourceAmbient", "IfcLightSourceDirectional", "IfcLightSourceGoniometric", "IfcLightSourcePositional", "IfcLightSourceSpot", "IfcLine", "IfcLinearForceMeasure", "IfcLinearMomentMeasure", "IfcLinearStiffnessMeasure", "IfcLinearVelocityMeasure", "IfcLineIndex", "IfcLoadGroupTypeEnum", "IfcLocalPlacement", "IfcLogical", "IfcLogicalOperatorEnum", "IfcLoop", "IfcLShapeProfileDef", "IfcLuminousFluxMeasure", "IfcLuminousIntensityDistributionMeasure", "IfcLuminousIntensityMeasure", "IfcMagneticFluxDensityMeasure", "IfcMagneticFluxMeasure", "IfcManifoldSolidBrep", "IfcMapConversion", "IfcMappedItem", "IfcMassDensityMeasure", "IfcMassFlowRateMeasure", "IfcMassMeasure", "IfcMassPerLengthMeasure", "IfcMaterial", "IfcMaterialClassificationRelationship", "IfcMaterialConstituent", "IfcMaterialConstituentSet", "IfcMaterialDefinition", "IfcMaterialDefinitionRepresentation", "IfcMaterialLayer", "IfcMaterialLayerSet", "IfcMaterialLayerSetUsage", "IfcMaterialLayerWithOffsets", "IfcMaterialList", "IfcMaterialProfile", "IfcMaterialProfileSet", "IfcMaterialProfileSetUsage", "IfcMaterialProfileSetUsageTapering", "IfcMaterialProfileWithOffsets", "IfcMaterialProperties", "IfcMaterialRelationship", "IfcMaterialSelect", "IfcMaterialUsageDefinition", "IfcMeasureValue", "IfcMeasureWithUnit", "IfcMechanicalFastener", "IfcMechanicalFastenerType", "IfcMechanicalFastenerTypeEnum", "IfcMedicalDevice", "IfcMedicalDeviceType", "IfcMedicalDeviceTypeEnum", "IfcMember", "IfcMemberStandardCase", "IfcMemberType", "IfcMemberTypeEnum", "IfcMetric", "IfcMetricValueSelect", "IfcMirroredProfileDef", "IfcModulusOfElasticityMeasure", "IfcModulusOfLinearSubgradeReactionMeasure", "IfcModulusOfRotationalSubgradeReactionMeasure", "IfcModulusOfRotationalSubgradeReactionSelect", "IfcModulusOfSubgradeReactionMeasure", "IfcModulusOfSubgradeReactionSelect", "IfcModulusOfTranslationalSubgradeReactionSelect", "IfcMoistureDiffusivityMeasure", "IfcMolecularWeightMeasure", "IfcMomentOfInertiaMeasure", "IfcMonetaryMeasure", "IfcMonetaryUnit", "IfcMonthInYearNumber", "IfcMotorConnection", "IfcMotorConnectionType", "IfcMotorConnectionTypeEnum", "IfcNamedUnit", "IfcNonNegativeLengthMeasure", "IfcNormalisedRatioMeasure", "IfcNullStyle", "IfcNumericMeasure", "IfcObject", "IfcObjectDefinition", "IfcObjective", "IfcObjectiveEnum", "IfcObjectPlacement", "IfcObjectReferenceSelect", "IfcObjectTypeEnum", "IfcOccupant", "IfcOccupantTypeEnum", "IfcOffsetCurve2D", "IfcOffsetCurve3D", "IfcOpeningElement", "IfcOpeningElementTypeEnum", "IfcOpeningStandardCase", "IfcOpenShell", "IfcOrganization", "IfcOrganizationRelationship", "IfcOrientedEdge", "IfcOuterBoundaryCurve", "IfcOutlet", "IfcOutletType", "IfcOutletTypeEnum", "IfcOwnerHistory", "IfcParameterizedProfileDef", "IfcParameterValue", "IfcPath", "IfcPcurve", "IfcPerformanceHistory", "IfcPerformanceHistoryTypeEnum", "IfcPermeableCoveringOperationEnum", "IfcPermeableCoveringProperties", "IfcPermit", "IfcPermitTypeEnum", "IfcPerson", "IfcPersonAndOrganization", "IfcPHMeasure", "IfcPhysicalComplexQuantity", "IfcPhysicalOrVirtualEnum", "IfcPhysicalQuantity", "IfcPhysicalSimpleQuantity", "IfcPile", "IfcPileConstructionEnum", "IfcPileType", "IfcPileTypeEnum", "IfcPipeFitting", "IfcPipeFittingType", "IfcPipeFittingTypeEnum", "IfcPipeSegment", "IfcPipeSegmentType", "IfcPipeSegmentTypeEnum", "IfcPixelTexture", "IfcPlacement", "IfcPlanarBox", "IfcPlanarExtent", "IfcPlanarForceMeasure", "IfcPlane", "IfcPlaneAngleMeasure", "IfcPlate", "IfcPlateStandardCase", "IfcPlateType", "IfcPlateTypeEnum", "IfcPoint", "IfcPointOnCurve", "IfcPointOnSurface", "IfcPointOrVertexPoint", "IfcPolygonalBoundedHalfSpace", "IfcPolygonalFaceSet", "IfcPolyline", "IfcPolyLoop", "IfcPort", "IfcPositiveInteger", "IfcPositiveLengthMeasure", "IfcPositivePlaneAngleMeasure", "IfcPositiveRatioMeasure", "IfcPostalAddress", "IfcPowerMeasure", "IfcPreDefinedColour", "IfcPreDefinedCurveFont", "IfcPreDefinedItem", "IfcPreDefinedProperties", "IfcPreDefinedPropertySet", "IfcPreDefinedTextFont", "IfcPreferredSurfaceCurveRepresentation", "IfcPresentableText", "IfcPresentationItem", "IfcPresentationLayerAssignment", "IfcPresentationLayerWithStyle", "IfcPresentationStyle", "IfcPresentationStyleAssignment", "IfcPresentationStyleSelect", "IfcPressureMeasure", "IfcProcedure", "IfcProcedureType", "IfcProcedureTypeEnum", "IfcProcess", "IfcProcessSelect", "IfcProduct", "IfcProductDefinitionShape", "IfcProductRepresentation", "IfcProductRepresentationSelect", "IfcProductSelect", "IfcProfileDef", "IfcProfileProperties", "IfcProfileTypeEnum", "IfcProject", "IfcProjectedCRS", "IfcProjectedOrTrueLengthEnum", "IfcProjectionElement", "IfcProjectionElementTypeEnum", "IfcProjectLibrary", "IfcProjectOrder", "IfcProjectOrderTypeEnum", "IfcProperty", "IfcPropertyAbstraction", "IfcPropertyBoundedValue", "IfcPropertyDefinition", "IfcPropertyDependencyRelationship", "IfcPropertyEnumeratedValue", "IfcPropertyEnumeration", "IfcPropertyListValue", "IfcPropertyReferenceValue", "IfcPropertySet", "IfcPropertySetDefinition", "IfcPropertySetDefinitionSelect", "IfcPropertySetDefinitionSet", "IfcPropertySetTemplate", "IfcPropertySetTemplateTypeEnum", "IfcPropertySingleValue", "IfcPropertyTableValue", "IfcPropertyTemplate", "IfcPropertyTemplateDefinition", "IfcProtectiveDevice", "IfcProtectiveDeviceTrippingUnit", "IfcProtectiveDeviceTrippingUnitType", "IfcProtectiveDeviceTrippingUnitTypeEnum", "IfcProtectiveDeviceType", "IfcProtectiveDeviceTypeEnum", "IfcProxy", "IfcPump", "IfcPumpType", "IfcPumpTypeEnum", "IfcQuantityArea", "IfcQuantityCount", "IfcQuantityLength", "IfcQuantitySet", "IfcQuantityTime", "IfcQuantityVolume", "IfcQuantityWeight", "IfcRadioActivityMeasure", "IfcRailing", "IfcRailingType", "IfcRailingTypeEnum", "IfcRamp", "IfcRampFlight", "IfcRampFlightType", "IfcRampFlightTypeEnum", "IfcRampType", "IfcRampTypeEnum", "IfcRatioMeasure", "IfcRationalBSplineCurveWithKnots", "IfcRationalBSplineSurfaceWithKnots", "IfcReal", "IfcRectangleHollowProfileDef", "IfcRectangleProfileDef", "IfcRectangularPyramid", "IfcRectangularTrimmedSurface", "IfcRecurrencePattern", "IfcRecurrenceTypeEnum", "IfcReference", "IfcReflectanceMethodEnum", "IfcRegularTimeSeries", "IfcReinforcementBarProperties", "IfcReinforcementDefinitionProperties", "IfcReinforcingBar", "IfcReinforcingBarRoleEnum", "IfcReinforcingBarSurfaceEnum", "IfcReinforcingBarType", "IfcReinforcingBarTypeEnum", "IfcReinforcingElement", "IfcReinforcingElementType", "IfcReinforcingMesh", "IfcReinforcingMeshType", "IfcReinforcingMeshTypeEnum", "IfcRelAggregates", "IfcRelAssigns", "IfcRelAssignsToActor", "IfcRelAssignsToControl", "IfcRelAssignsToGroup", "IfcRelAssignsToGroupByFactor", "IfcRelAssignsToProcess", "IfcRelAssignsToProduct", "IfcRelAssignsToResource", "IfcRelAssociates", "IfcRelAssociatesApproval", "IfcRelAssociatesClassification", "IfcRelAssociatesConstraint", "IfcRelAssociatesDocument", "IfcRelAssociatesLibrary", "IfcRelAssociatesMaterial", "IfcRelationship", "IfcRelConnects", "IfcRelConnectsElements", "IfcRelConnectsPathElements", "IfcRelConnectsPorts", "IfcRelConnectsPortToElement", "IfcRelConnectsStructuralActivity", "IfcRelConnectsStructuralMember", "IfcRelConnectsWithEccentricity", "IfcRelConnectsWithRealizingElements", "IfcRelContainedInSpatialStructure", "IfcRelCoversBldgElements", "IfcRelCoversSpaces", "IfcRelDeclares", "IfcRelDecomposes", "IfcRelDefines", "IfcRelDefinesByObject", "IfcRelDefinesByProperties", "IfcRelDefinesByTemplate", "IfcRelDefinesByType", "IfcRelFillsElement", "IfcRelFlowControlElements", "IfcRelInterferesElements", "IfcRelNests", "IfcRelProjectsElement", "IfcRelReferencedInSpatialStructure", "IfcRelSequence", "IfcRelServicesBuildings", "IfcRelSpaceBoundary", "IfcRelSpaceBoundary1stLevel", "IfcRelSpaceBoundary2ndLevel", "IfcRelVoidsElement", "IfcReparametrisedCompositeCurveSegment", "IfcRepresentation", "IfcRepresentationContext", "IfcRepresentationItem", "IfcRepresentationMap", "IfcResource", "IfcResourceApprovalRelationship", "IfcResourceConstraintRelationship", "IfcResourceLevelRelationship", "IfcResourceObjectSelect", "IfcResourceSelect", "IfcResourceTime", "IfcRevolvedAreaSolid", "IfcRevolvedAreaSolidTapered", "IfcRightCircularCone", "IfcRightCircularCylinder", "IfcRoleEnum", "IfcRoof", "IfcRoofType", "IfcRoofTypeEnum", "IfcRoot", "IfcRotationalFrequencyMeasure", "IfcRotationalMassMeasure", "IfcRotationalStiffnessMeasure", "IfcRotationalStiffnessSelect", "IfcRoundedRectangleProfileDef", "IfcSanitaryTerminal", "IfcSanitaryTerminalType", "IfcSanitaryTerminalTypeEnum", "IfcSchedulingTime", "IfcSeamCurve", "IfcSectionalAreaIntegralMeasure", "IfcSectionedSpine", "IfcSectionModulusMeasure", "IfcSectionProperties", "IfcSectionReinforcementProperties", "IfcSectionTypeEnum", "IfcSegmentIndexSelect", "IfcSensor", "IfcSensorType", "IfcSensorTypeEnum", "IfcSequenceEnum", "IfcShadingDevice", "IfcShadingDeviceType", "IfcShadingDeviceTypeEnum", "IfcShapeAspect", "IfcShapeModel", "IfcShapeRepresentation", "IfcShearModulusMeasure", "IfcShell", "IfcShellBasedSurfaceModel", "IfcSimpleProperty", "IfcSimplePropertyTemplate", "IfcSimplePropertyTemplateTypeEnum", "IfcSimpleValue", "IfcSIPrefix", "IfcSite", "IfcSIUnit", "IfcSIUnitName", "IfcSizeSelect", "IfcSlab", "IfcSlabElementedCase", "IfcSlabStandardCase", "IfcSlabType", "IfcSlabTypeEnum", "IfcSlippageConnectionCondition", "IfcSolarDevice", "IfcSolarDeviceType", "IfcSolarDeviceTypeEnum", "IfcSolidAngleMeasure", "IfcSolidModel", "IfcSolidOrShell", "IfcSoundPowerLevelMeasure", "IfcSoundPowerMeasure", "IfcSoundPressureLevelMeasure", "IfcSoundPressureMeasure", "IfcSpace", "IfcSpaceBoundarySelect", "IfcSpaceHeater", "IfcSpaceHeaterType", "IfcSpaceHeaterTypeEnum", "IfcSpaceType", "IfcSpaceTypeEnum", "IfcSpatialElement", "IfcSpatialElementType", "IfcSpatialStructureElement", "IfcSpatialStructureElementType", "IfcSpatialZone", "IfcSpatialZoneType", "IfcSpatialZoneTypeEnum", "IfcSpecificHeatCapacityMeasure", "IfcSpecularExponent", "IfcSpecularHighlightSelect", "IfcSpecularRoughness", "IfcSphere", "IfcSphericalSurface", "IfcStackTerminal", "IfcStackTerminalType", "IfcStackTerminalTypeEnum", "IfcStair", "IfcStairFlight", "IfcStairFlightType", "IfcStairFlightTypeEnum", "IfcStairType", "IfcStairTypeEnum", "IfcStateEnum", "IfcStrippedOptional", "IfcStructuralAction", "IfcStructuralActivity", "IfcStructuralActivityAssignmentSelect", "IfcStructuralAnalysisModel", "IfcStructuralConnection", "IfcStructuralConnectionCondition", "IfcStructuralCurveAction", "IfcStructuralCurveActivityTypeEnum", "IfcStructuralCurveConnection", "IfcStructuralCurveMember", "IfcStructuralCurveMemberTypeEnum", "IfcStructuralCurveMemberVarying", "IfcStructuralCurveReaction", "IfcStructuralItem", "IfcStructuralLinearAction", "IfcStructuralLoad", "IfcStructuralLoadCase", "IfcStructuralLoadConfiguration", "IfcStructuralLoadGroup", "IfcStructuralLoadLinearForce", "IfcStructuralLoadOrResult", "IfcStructuralLoadPlanarForce", "IfcStructuralLoadSingleDisplacement", "IfcStructuralLoadSingleDisplacementDistortion", "IfcStructuralLoadSingleForce", "IfcStructuralLoadSingleForceWarping", "IfcStructuralLoadStatic", "IfcStructuralLoadTemperature", "IfcStructuralMember", "IfcStructuralPlanarAction", "IfcStructuralPointAction", "IfcStructuralPointConnection", "IfcStructuralPointReaction", "IfcStructuralReaction", "IfcStructuralResultGroup", "IfcStructuralSurfaceAction", "IfcStructuralSurfaceActivityTypeEnum", "IfcStructuralSurfaceConnection", "IfcStructuralSurfaceMember", "IfcStructuralSurfaceMemberTypeEnum", "IfcStructuralSurfaceMemberVarying", "IfcStructuralSurfaceReaction", "IfcStyleAssignmentSelect", "IfcStyledItem", "IfcStyledRepresentation", "IfcStyleModel", "IfcSubContractResource", "IfcSubContractResourceType", "IfcSubContractResourceTypeEnum", "IfcSubedge", "IfcSurface", "IfcSurfaceCurve", "IfcSurfaceCurveSweptAreaSolid", "IfcSurfaceFeature", "IfcSurfaceFeatureTypeEnum", "IfcSurfaceOfLinearExtrusion", "IfcSurfaceOfRevolution", "IfcSurfaceOrFaceSurface", "IfcSurfaceReinforcementArea", "IfcSurfaceSide", "IfcSurfaceStyle", "IfcSurfaceStyleElementSelect", "IfcSurfaceStyleLighting", "IfcSurfaceStyleRefraction", "IfcSurfaceStyleRendering", "IfcSurfaceStyleShading", "IfcSurfaceStyleWithTextures", "IfcSurfaceTexture", "IfcSweptAreaSolid", "IfcSweptDiskSolid", "IfcSweptDiskSolidPolygonal", "IfcSweptSurface", "IfcSwitchingDevice", "IfcSwitchingDeviceType", "IfcSwitchingDeviceTypeEnum", "IfcSystem", "IfcSystemFurnitureElement", "IfcSystemFurnitureElementType", "IfcSystemFurnitureElementTypeEnum", "IfcTable", "IfcTableColumn", "IfcTableRow", "IfcTank", "IfcTankType", "IfcTankTypeEnum", "IfcTask", "IfcTaskDurationEnum", "IfcTaskTime", "IfcTaskTimeRecurring", "IfcTaskType", "IfcTaskTypeEnum", "IfcTelecomAddress", "IfcTemperatureGradientMeasure", "IfcTemperatureRateOfChangeMeasure", "IfcTendon", "IfcTendonAnchor", "IfcTendonAnchorType", "IfcTendonAnchorTypeEnum", "IfcTendonType", "IfcTendonTypeEnum", "IfcTessellatedFaceSet", "IfcTessellatedItem", "IfcText", "IfcTextAlignment", "IfcTextDecoration", "IfcTextFontName", "IfcTextFontSelect", "IfcTextLiteral", "IfcTextLiteralWithExtent", "IfcTextPath", "IfcTextStyle", "IfcTextStyleFontModel", "IfcTextStyleForDefinedFont", "IfcTextStyleTextModel", "IfcTextTransformation", "IfcTextureCoordinate", "IfcTextureCoordinateGenerator", "IfcTextureMap", "IfcTextureVertex", "IfcTextureVertexList", "IfcThermalAdmittanceMeasure", "IfcThermalConductivityMeasure", "IfcThermalExpansionCoefficientMeasure", "IfcThermalResistanceMeasure", "IfcThermalTransmittanceMeasure", "IfcThermodynamicTemperatureMeasure", "IfcTime", "IfcTimeMeasure", "IfcTimeOrRatioSelect", "IfcTimePeriod", "IfcTimeSeries", "IfcTimeSeriesDataTypeEnum", "IfcTimeSeriesValue", "IfcTimeStamp", "IfcTopologicalRepresentationItem", "IfcTopologyRepresentation", "IfcToroidalSurface", "IfcTorqueMeasure", "IfcTransformer", "IfcTransformerType", "IfcTransformerTypeEnum", "IfcTransitionCode", "IfcTranslationalStiffnessSelect", "IfcTransportElement", "IfcTransportElementType", "IfcTransportElementTypeEnum", "IfcTrapeziumProfileDef", "IfcTriangulatedFaceSet", "IfcTrimmedCurve", "IfcTrimmingPreference", "IfcTrimmingSelect", "IfcTShapeProfileDef", "IfcTubeBundle", "IfcTubeBundleType", "IfcTubeBundleTypeEnum", "IfcTypeObject", "IfcTypeProcess", "IfcTypeProduct", "IfcTypeResource", "IfcUnit", "IfcUnitaryControlElement", "IfcUnitaryControlElementType", "IfcUnitaryControlElementTypeEnum", "IfcUnitaryEquipment", "IfcUnitaryEquipmentType", "IfcUnitaryEquipmentTypeEnum", "IfcUnitAssignment", "IfcUnitEnum", "IfcURIReference", "IfcUShapeProfileDef", "IfcValue", "IfcValve", "IfcValveType", "IfcValveTypeEnum", "IfcVaporPermeabilityMeasure", "IfcVector", "IfcVectorOrDirection", "IfcVertex", "IfcVertexLoop", "IfcVertexPoint", "IfcVibrationIsolator", "IfcVibrationIsolatorType", "IfcVibrationIsolatorTypeEnum", "IfcVirtualElement", "IfcVirtualGridIntersection", "IfcVoidingFeature", "IfcVoidingFeatureTypeEnum", "IfcVolumeMeasure", "IfcVolumetricFlowRateMeasure", "IfcWall", "IfcWallElementedCase", "IfcWallStandardCase", "IfcWallType", "IfcWallTypeEnum", "IfcWarpingConstantMeasure", "IfcWarpingMomentMeasure", "IfcWarpingStiffnessSelect", "IfcWasteTerminal", "IfcWasteTerminalType", "IfcWasteTerminalTypeEnum", "IfcWindow", "IfcWindowLiningProperties", "IfcWindowPanelOperationEnum", "IfcWindowPanelPositionEnum", "IfcWindowPanelProperties", "IfcWindowStandardCase", "IfcWindowStyle", "IfcWindowStyleConstructionEnum", "IfcWindowStyleOperationEnum", "IfcWindowType", "IfcWindowTypeEnum", "IfcWindowTypePartitioningEnum", "IfcWorkCalendar", "IfcWorkCalendarTypeEnum", "IfcWorkControl", "IfcWorkPlan", "IfcWorkPlanTypeEnum", "IfcWorkSchedule", "IfcWorkScheduleTypeEnum", "IfcWorkTime", "IfcZone", "IfcZShapeProfileDef" }; return names[v]; } @@ -2333,6 +2349,8 @@ void Ifc4::InitStringMap() { string_map["IFCIMAGETEXTURE" ] = Type::IfcImageTexture; string_map["IFCINDEXEDCOLOURMAP" ] = Type::IfcIndexedColourMap; string_map["IFCINDEXEDPOLYCURVE" ] = Type::IfcIndexedPolyCurve; + string_map["IFCINDEXEDPOLYGONALFACE" ] = Type::IfcIndexedPolygonalFace; + string_map["IFCINDEXEDPOLYGONALFACEWITHVOIDS" ] = Type::IfcIndexedPolygonalFaceWithVoids; string_map["IFCINDEXEDTEXTUREMAP" ] = Type::IfcIndexedTextureMap; string_map["IFCINDEXEDTRIANGLETEXTUREMAP" ] = Type::IfcIndexedTriangleTextureMap; string_map["IFCINDUCTANCEMEASURE" ] = Type::IfcInductanceMeasure; @@ -2342,6 +2360,7 @@ void Ifc4::InitStringMap() { string_map["IFCINTERCEPTORTYPE" ] = Type::IfcInterceptorType; string_map["IFCINTERCEPTORTYPEENUM" ] = Type::IfcInterceptorTypeEnum; string_map["IFCINTERNALOREXTERNALENUM" ] = Type::IfcInternalOrExternalEnum; + string_map["IFCINTERSECTIONCURVE" ] = Type::IfcIntersectionCurve; string_map["IFCINVENTORY" ] = Type::IfcInventory; string_map["IFCINVENTORYTYPEENUM" ] = Type::IfcInventoryTypeEnum; string_map["IFCIONCONCENTRATIONMEASURE" ] = Type::IfcIonConcentrationMeasure; @@ -2529,6 +2548,7 @@ void Ifc4::InitStringMap() { string_map["IFCPOINTONSURFACE" ] = Type::IfcPointOnSurface; string_map["IFCPOINTORVERTEXPOINT" ] = Type::IfcPointOrVertexPoint; string_map["IFCPOLYGONALBOUNDEDHALFSPACE" ] = Type::IfcPolygonalBoundedHalfSpace; + string_map["IFCPOLYGONALFACESET" ] = Type::IfcPolygonalFaceSet; string_map["IFCPOLYLINE" ] = Type::IfcPolyline; string_map["IFCPOLYLOOP" ] = Type::IfcPolyLoop; string_map["IFCPORT" ] = Type::IfcPort; @@ -2544,6 +2564,7 @@ void Ifc4::InitStringMap() { string_map["IFCPREDEFINEDPROPERTIES" ] = Type::IfcPreDefinedProperties; string_map["IFCPREDEFINEDPROPERTYSET" ] = Type::IfcPreDefinedPropertySet; string_map["IFCPREDEFINEDTEXTFONT" ] = Type::IfcPreDefinedTextFont; + string_map["IFCPREFERREDSURFACECURVEREPRESENTATION" ] = Type::IfcPreferredSurfaceCurveRepresentation; string_map["IFCPRESENTABLETEXT" ] = Type::IfcPresentableText; string_map["IFCPRESENTATIONITEM" ] = Type::IfcPresentationItem; string_map["IFCPRESENTATIONLAYERASSIGNMENT" ] = Type::IfcPresentationLayerAssignment; @@ -2722,6 +2743,7 @@ void Ifc4::InitStringMap() { string_map["IFCSANITARYTERMINALTYPE" ] = Type::IfcSanitaryTerminalType; string_map["IFCSANITARYTERMINALTYPEENUM" ] = Type::IfcSanitaryTerminalTypeEnum; string_map["IFCSCHEDULINGTIME" ] = Type::IfcSchedulingTime; + string_map["IFCSEAMCURVE" ] = Type::IfcSeamCurve; string_map["IFCSECTIONALAREAINTEGRALMEASURE" ] = Type::IfcSectionalAreaIntegralMeasure; string_map["IFCSECTIONEDSPINE" ] = Type::IfcSectionedSpine; string_map["IFCSECTIONMODULUSMEASURE" ] = Type::IfcSectionModulusMeasure; @@ -2786,6 +2808,7 @@ void Ifc4::InitStringMap() { string_map["IFCSPECULARHIGHLIGHTSELECT" ] = Type::IfcSpecularHighlightSelect; string_map["IFCSPECULARROUGHNESS" ] = Type::IfcSpecularRoughness; string_map["IFCSPHERE" ] = Type::IfcSphere; + string_map["IFCSPHERICALSURFACE" ] = Type::IfcSphericalSurface; string_map["IFCSTACKTERMINAL" ] = Type::IfcStackTerminal; string_map["IFCSTACKTERMINALTYPE" ] = Type::IfcStackTerminalType; string_map["IFCSTACKTERMINALTYPEENUM" ] = Type::IfcStackTerminalTypeEnum; @@ -2848,6 +2871,7 @@ void Ifc4::InitStringMap() { string_map["IFCSUBCONTRACTRESOURCETYPEENUM" ] = Type::IfcSubContractResourceTypeEnum; string_map["IFCSUBEDGE" ] = Type::IfcSubedge; string_map["IFCSURFACE" ] = Type::IfcSurface; + string_map["IFCSURFACECURVE" ] = Type::IfcSurfaceCurve; string_map["IFCSURFACECURVESWEPTAREASOLID" ] = Type::IfcSurfaceCurveSweptAreaSolid; string_map["IFCSURFACEFEATURE" ] = Type::IfcSurfaceFeature; string_map["IFCSURFACEFEATURETYPEENUM" ] = Type::IfcSurfaceFeatureTypeEnum; @@ -2932,6 +2956,7 @@ void Ifc4::InitStringMap() { string_map["IFCTIMESTAMP" ] = Type::IfcTimeStamp; string_map["IFCTOPOLOGICALREPRESENTATIONITEM" ] = Type::IfcTopologicalRepresentationItem; string_map["IFCTOPOLOGYREPRESENTATION" ] = Type::IfcTopologyRepresentation; + string_map["IFCTOROIDALSURFACE" ] = Type::IfcToroidalSurface; string_map["IFCTORQUEMEASURE" ] = Type::IfcTorqueMeasure; string_map["IFCTRANSFORMER" ] = Type::IfcTransformer; string_map["IFCTRANSFORMERTYPE" ] = Type::IfcTransformerType; @@ -3027,7 +3052,7 @@ Type::Enum Type::FromString(const std::string& s) { } Type::Enum Type::Parent(Enum v){ - if (v < 0 || v >= 1165) return (Enum)-1; + if (v < 0 || v >= 1174) return (Enum)-1; if(v==IfcActionRequest ) { return IfcControl; } if(v==IfcActor ) { return IfcObject; } if(v==IfcActuator ) { return IfcDistributionControlElement; } @@ -3331,10 +3356,13 @@ Type::Enum Type::Parent(Enum v){ if(v==IfcImageTexture ) { return IfcSurfaceTexture; } if(v==IfcIndexedColourMap ) { return IfcPresentationItem; } if(v==IfcIndexedPolyCurve ) { return IfcBoundedCurve; } + if(v==IfcIndexedPolygonalFace ) { return IfcTessellatedItem; } + if(v==IfcIndexedPolygonalFaceWithVoids ) { return IfcIndexedPolygonalFace; } if(v==IfcIndexedTextureMap ) { return IfcTextureCoordinate; } if(v==IfcIndexedTriangleTextureMap ) { return IfcIndexedTextureMap; } if(v==IfcInterceptor ) { return IfcFlowTreatmentDevice; } if(v==IfcInterceptorType ) { return IfcFlowTreatmentDeviceType; } + if(v==IfcIntersectionCurve ) { return IfcSurfaceCurve; } if(v==IfcInventory ) { return IfcGroup; } if(v==IfcIrregularTimeSeries ) { return IfcTimeSeries; } if(v==IfcJunctionBox ) { return IfcFlowFitting; } @@ -3428,6 +3456,7 @@ Type::Enum Type::Parent(Enum v){ if(v==IfcPointOnSurface ) { return IfcPoint; } if(v==IfcPolyLoop ) { return IfcLoop; } if(v==IfcPolygonalBoundedHalfSpace ) { return IfcHalfSpaceSolid; } + if(v==IfcPolygonalFaceSet ) { return IfcTessellatedFaceSet; } if(v==IfcPolyline ) { return IfcBoundedCurve; } if(v==IfcPort ) { return IfcProduct; } if(v==IfcPostalAddress ) { return IfcAddress; } @@ -3562,6 +3591,7 @@ Type::Enum Type::Parent(Enum v){ if(v==IfcSIUnit ) { return IfcNamedUnit; } if(v==IfcSanitaryTerminal ) { return IfcFlowTerminal; } if(v==IfcSanitaryTerminalType ) { return IfcFlowTerminalType; } + if(v==IfcSeamCurve ) { return IfcSurfaceCurve; } if(v==IfcSectionProperties ) { return IfcPreDefinedProperties; } if(v==IfcSectionReinforcementProperties ) { return IfcPreDefinedProperties; } if(v==IfcSectionedSpine ) { return IfcGeometricRepresentationItem; } @@ -3594,6 +3624,7 @@ Type::Enum Type::Parent(Enum v){ if(v==IfcSpatialZone ) { return IfcSpatialElement; } if(v==IfcSpatialZoneType ) { return IfcSpatialElementType; } if(v==IfcSphere ) { return IfcCsgPrimitive3D; } + if(v==IfcSphericalSurface ) { return IfcElementarySurface; } if(v==IfcStackTerminal ) { return IfcFlowTerminal; } if(v==IfcStackTerminalType ) { return IfcFlowTerminalType; } if(v==IfcStair ) { return IfcBuildingElement; } @@ -3642,6 +3673,7 @@ Type::Enum Type::Parent(Enum v){ if(v==IfcSubContractResourceType ) { return IfcConstructionResourceType; } if(v==IfcSubedge ) { return IfcEdge; } if(v==IfcSurface ) { return IfcGeometricRepresentationItem; } + if(v==IfcSurfaceCurve ) { return IfcCurve; } if(v==IfcSurfaceCurveSweptAreaSolid ) { return IfcSweptAreaSolid; } if(v==IfcSurfaceFeature ) { return IfcFeatureElement; } if(v==IfcSurfaceOfLinearExtrusion ) { return IfcSweptSurface; } @@ -3690,6 +3722,7 @@ Type::Enum Type::Parent(Enum v){ if(v==IfcTextureVertexList ) { return IfcPresentationItem; } if(v==IfcTopologicalRepresentationItem ) { return IfcRepresentationItem; } if(v==IfcTopologyRepresentation ) { return IfcShapeModel; } + if(v==IfcToroidalSurface ) { return IfcElementarySurface; } if(v==IfcTransformer ) { return IfcEnergyConversionDevice; } if(v==IfcTransformerType ) { return IfcEnergyConversionDeviceType; } if(v==IfcTransportElement ) { return IfcElement; } @@ -3741,7 +3774,7 @@ Type::Enum Type::Parent(Enum v){ } bool Type::IsSimple(Enum v) { - return v == Type::IfcAbsorbedDoseMeasure || v == Type::IfcAccelerationMeasure || v == Type::IfcAmountOfSubstanceMeasure || v == Type::IfcAngularVelocityMeasure || v == Type::IfcArcIndex || v == Type::IfcAreaDensityMeasure || v == Type::IfcAreaMeasure || v == Type::IfcBoolean || v == Type::IfcColour || v == Type::IfcComplexNumber || v == Type::IfcCompoundPlaneAngleMeasure || v == Type::IfcContextDependentMeasure || v == Type::IfcCountMeasure || v == Type::IfcCurvatureMeasure || v == Type::IfcCurveStyleFontSelect || v == Type::IfcDate || v == Type::IfcDateTime || v == Type::IfcDerivedMeasureValue || v == Type::IfcDescriptiveMeasure || v == Type::IfcDoseEquivalentMeasure || v == Type::IfcDuration || v == Type::IfcDynamicViscosityMeasure || v == Type::IfcElectricCapacitanceMeasure || v == Type::IfcElectricChargeMeasure || v == Type::IfcElectricConductanceMeasure || v == Type::IfcElectricCurrentMeasure || v == Type::IfcElectricResistanceMeasure || v == Type::IfcElectricVoltageMeasure || v == Type::IfcEnergyMeasure || v == Type::IfcForceMeasure || v == Type::IfcFrequencyMeasure || v == Type::IfcHeatFluxDensityMeasure || v == Type::IfcHeatingValueMeasure || v == Type::IfcIdentifier || v == Type::IfcIlluminanceMeasure || v == Type::IfcInductanceMeasure || v == Type::IfcInteger || v == Type::IfcIntegerCountRateMeasure || v == Type::IfcIonConcentrationMeasure || v == Type::IfcIsothermalMoistureCapacityMeasure || v == Type::IfcKinematicViscosityMeasure || v == Type::IfcLabel || v == Type::IfcLengthMeasure || v == Type::IfcLineIndex || v == Type::IfcLinearForceMeasure || v == Type::IfcLinearMomentMeasure || v == Type::IfcLinearStiffnessMeasure || v == Type::IfcLinearVelocityMeasure || v == Type::IfcLogical || v == Type::IfcLuminousFluxMeasure || v == Type::IfcLuminousIntensityDistributionMeasure || v == Type::IfcLuminousIntensityMeasure || v == Type::IfcMagneticFluxDensityMeasure || v == Type::IfcMagneticFluxMeasure || v == Type::IfcMassDensityMeasure || v == Type::IfcMassFlowRateMeasure || v == Type::IfcMassMeasure || v == Type::IfcMassPerLengthMeasure || v == Type::IfcMeasureValue || v == Type::IfcModulusOfElasticityMeasure || v == Type::IfcModulusOfLinearSubgradeReactionMeasure || v == Type::IfcModulusOfRotationalSubgradeReactionMeasure || v == Type::IfcModulusOfSubgradeReactionMeasure || v == Type::IfcMoistureDiffusivityMeasure || v == Type::IfcMolecularWeightMeasure || v == Type::IfcMomentOfInertiaMeasure || v == Type::IfcMonetaryMeasure || v == Type::IfcNonNegativeLengthMeasure || v == Type::IfcNormalisedRatioMeasure || v == Type::IfcNullStyle || v == Type::IfcNumericMeasure || v == Type::IfcPHMeasure || v == Type::IfcParameterValue || v == Type::IfcPlanarForceMeasure || v == Type::IfcPlaneAngleMeasure || v == Type::IfcPositiveInteger || v == Type::IfcPositiveLengthMeasure || v == Type::IfcPositivePlaneAngleMeasure || v == Type::IfcPositiveRatioMeasure || v == Type::IfcPowerMeasure || v == Type::IfcPressureMeasure || v == Type::IfcPropertySetDefinitionSet || v == Type::IfcRadioActivityMeasure || v == Type::IfcRatioMeasure || v == Type::IfcReal || v == Type::IfcRotationalFrequencyMeasure || v == Type::IfcRotationalMassMeasure || v == Type::IfcRotationalStiffnessMeasure || v == Type::IfcSectionModulusMeasure || v == Type::IfcSectionalAreaIntegralMeasure || v == Type::IfcShearModulusMeasure || v == Type::IfcSimpleValue || v == Type::IfcSolidAngleMeasure || v == Type::IfcSoundPowerLevelMeasure || v == Type::IfcSoundPowerMeasure || v == Type::IfcSoundPressureLevelMeasure || v == Type::IfcSoundPressureMeasure || v == Type::IfcSpecificHeatCapacityMeasure || v == Type::IfcSpecularExponent || v == Type::IfcSpecularRoughness || v == Type::IfcTemperatureGradientMeasure || v == Type::IfcTemperatureRateOfChangeMeasure || v == Type::IfcText || v == Type::IfcThermalAdmittanceMeasure || v == Type::IfcThermalConductivityMeasure || v == Type::IfcThermalExpansionCoefficientMeasure || v == Type::IfcThermalResistanceMeasure || v == Type::IfcThermalTransmittanceMeasure || v == Type::IfcThermodynamicTemperatureMeasure || v == Type::IfcTime || v == Type::IfcTimeMeasure || v == Type::IfcTimeStamp || v == Type::IfcTorqueMeasure || v == Type::IfcValue || v == Type::IfcVaporPermeabilityMeasure || v == Type::IfcVolumeMeasure || v == Type::IfcVolumetricFlowRateMeasure || v == Type::IfcWarpingConstantMeasure || v == Type::IfcWarpingMomentMeasure; + return v == Type::IfcAbsorbedDoseMeasure || v == Type::IfcAccelerationMeasure || v == Type::IfcAmountOfSubstanceMeasure || v == Type::IfcAngularVelocityMeasure || v == Type::IfcArcIndex || v == Type::IfcAreaDensityMeasure || v == Type::IfcAreaMeasure || v == Type::IfcBinary || v == Type::IfcBoolean || v == Type::IfcColour || v == Type::IfcComplexNumber || v == Type::IfcCompoundPlaneAngleMeasure || v == Type::IfcContextDependentMeasure || v == Type::IfcCountMeasure || v == Type::IfcCurvatureMeasure || v == Type::IfcCurveStyleFontSelect || v == Type::IfcDate || v == Type::IfcDateTime || v == Type::IfcDerivedMeasureValue || v == Type::IfcDescriptiveMeasure || v == Type::IfcDoseEquivalentMeasure || v == Type::IfcDuration || v == Type::IfcDynamicViscosityMeasure || v == Type::IfcElectricCapacitanceMeasure || v == Type::IfcElectricChargeMeasure || v == Type::IfcElectricConductanceMeasure || v == Type::IfcElectricCurrentMeasure || v == Type::IfcElectricResistanceMeasure || v == Type::IfcElectricVoltageMeasure || v == Type::IfcEnergyMeasure || v == Type::IfcForceMeasure || v == Type::IfcFrequencyMeasure || v == Type::IfcHeatFluxDensityMeasure || v == Type::IfcHeatingValueMeasure || v == Type::IfcIdentifier || v == Type::IfcIlluminanceMeasure || v == Type::IfcInductanceMeasure || v == Type::IfcInteger || v == Type::IfcIntegerCountRateMeasure || v == Type::IfcIonConcentrationMeasure || v == Type::IfcIsothermalMoistureCapacityMeasure || v == Type::IfcKinematicViscosityMeasure || v == Type::IfcLabel || v == Type::IfcLengthMeasure || v == Type::IfcLineIndex || v == Type::IfcLinearForceMeasure || v == Type::IfcLinearMomentMeasure || v == Type::IfcLinearStiffnessMeasure || v == Type::IfcLinearVelocityMeasure || v == Type::IfcLogical || v == Type::IfcLuminousFluxMeasure || v == Type::IfcLuminousIntensityDistributionMeasure || v == Type::IfcLuminousIntensityMeasure || v == Type::IfcMagneticFluxDensityMeasure || v == Type::IfcMagneticFluxMeasure || v == Type::IfcMassDensityMeasure || v == Type::IfcMassFlowRateMeasure || v == Type::IfcMassMeasure || v == Type::IfcMassPerLengthMeasure || v == Type::IfcMeasureValue || v == Type::IfcModulusOfElasticityMeasure || v == Type::IfcModulusOfLinearSubgradeReactionMeasure || v == Type::IfcModulusOfRotationalSubgradeReactionMeasure || v == Type::IfcModulusOfSubgradeReactionMeasure || v == Type::IfcMoistureDiffusivityMeasure || v == Type::IfcMolecularWeightMeasure || v == Type::IfcMomentOfInertiaMeasure || v == Type::IfcMonetaryMeasure || v == Type::IfcNonNegativeLengthMeasure || v == Type::IfcNormalisedRatioMeasure || v == Type::IfcNullStyle || v == Type::IfcNumericMeasure || v == Type::IfcPHMeasure || v == Type::IfcParameterValue || v == Type::IfcPlanarForceMeasure || v == Type::IfcPlaneAngleMeasure || v == Type::IfcPositiveInteger || v == Type::IfcPositiveLengthMeasure || v == Type::IfcPositivePlaneAngleMeasure || v == Type::IfcPositiveRatioMeasure || v == Type::IfcPowerMeasure || v == Type::IfcPressureMeasure || v == Type::IfcPropertySetDefinitionSet || v == Type::IfcRadioActivityMeasure || v == Type::IfcRatioMeasure || v == Type::IfcReal || v == Type::IfcRotationalFrequencyMeasure || v == Type::IfcRotationalMassMeasure || v == Type::IfcRotationalStiffnessMeasure || v == Type::IfcSectionModulusMeasure || v == Type::IfcSectionalAreaIntegralMeasure || v == Type::IfcShearModulusMeasure || v == Type::IfcSimpleValue || v == Type::IfcSolidAngleMeasure || v == Type::IfcSoundPowerLevelMeasure || v == Type::IfcSoundPowerMeasure || v == Type::IfcSoundPressureLevelMeasure || v == Type::IfcSoundPressureMeasure || v == Type::IfcSpecificHeatCapacityMeasure || v == Type::IfcSpecularExponent || v == Type::IfcSpecularRoughness || v == Type::IfcTemperatureGradientMeasure || v == Type::IfcTemperatureRateOfChangeMeasure || v == Type::IfcText || v == Type::IfcThermalAdmittanceMeasure || v == Type::IfcThermalConductivityMeasure || v == Type::IfcThermalExpansionCoefficientMeasure || v == Type::IfcThermalResistanceMeasure || v == Type::IfcThermalTransmittanceMeasure || v == Type::IfcThermodynamicTemperatureMeasure || v == Type::IfcTime || v == Type::IfcTimeMeasure || v == Type::IfcTimeStamp || v == Type::IfcTorqueMeasure || v == Type::IfcValue || v == Type::IfcVaporPermeabilityMeasure || v == Type::IfcVolumeMeasure || v == Type::IfcVolumetricFlowRateMeasure || v == Type::IfcWarpingConstantMeasure || v == Type::IfcWarpingMomentMeasure; } @@ -4114,8 +4147,8 @@ IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum IfcBuildingElemen } const char* IfcBuildingElementProxyTypeEnum::ToString(IfcBuildingElementProxyTypeEnum v) { - if ( v < 0 || v >= 6 ) throw IfcException("Unable to find find keyword in schema"); - const char* names[] = { "COMPLEX", "ELEMENT", "PARTIAL", "PROVISIONFORVOID", "USERDEFINED", "NOTDEFINED" }; + if ( v < 0 || v >= 7 ) throw IfcException("Unable to find find keyword in schema"); + const char* names[] = { "COMPLEX", "ELEMENT", "PARTIAL", "PROVISIONFORVOID", "PROVISIONFORSPACE", "USERDEFINED", "NOTDEFINED" }; return names[v]; } @@ -4124,6 +4157,7 @@ IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum IfcBuildingElem if (s == "ELEMENT") return ::Ifc4::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyType_ELEMENT; if (s == "PARTIAL") return ::Ifc4::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyType_PARTIAL; if (s == "PROVISIONFORVOID") return ::Ifc4::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyType_PROVISIONFORVOID; + if (s == "PROVISIONFORSPACE") return ::Ifc4::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyType_PROVISIONFORSPACE; if (s == "USERDEFINED") return ::Ifc4::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); @@ -5254,7 +5288,7 @@ IfcEventTypeEnum::IfcEventTypeEnum IfcEventTypeEnum::FromString(const std::strin const char* IfcExternalSpatialElementTypeEnum::ToString(IfcExternalSpatialElementTypeEnum v) { if ( v < 0 || v >= 6 ) throw IfcException("Unable to find find keyword in schema"); - const char* names[] = { "EXTERNAL", "EXTERNAL_EARTH", "EXTERNAL_WATER", "EXTERNAL_FIRE", "USERDEFINED", "NOTDEFIEND" }; + const char* names[] = { "EXTERNAL", "EXTERNAL_EARTH", "EXTERNAL_WATER", "EXTERNAL_FIRE", "USERDEFINED", "NOTDEFINED" }; return names[v]; } @@ -5264,7 +5298,7 @@ IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum IfcExternal if (s == "EXTERNAL_WATER") return ::Ifc4::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementType_EXTERNAL_WATER; if (s == "EXTERNAL_FIRE") return ::Ifc4::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementType_EXTERNAL_FIRE; if (s == "USERDEFINED") return ::Ifc4::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementType_USERDEFINED; - if (s == "NOTDEFIEND") return ::Ifc4::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementType_NOTDEFIEND; + if (s == "NOTDEFINED") return ::Ifc4::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } @@ -6061,6 +6095,19 @@ IfcPlateTypeEnum::IfcPlateTypeEnum IfcPlateTypeEnum::FromString(const std::strin throw IfcException("Unable to find find keyword in schema"); } +const char* IfcPreferredSurfaceCurveRepresentation::ToString(IfcPreferredSurfaceCurveRepresentation v) { + if ( v < 0 || v >= 3 ) throw IfcException("Unable to find find keyword in schema"); + const char* names[] = { "CURVE3D", "PCURVE_S1", "PCURVE_S2" }; + return names[v]; +} + +IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation IfcPreferredSurfaceCurveRepresentation::FromString(const std::string& s) { + if (s == "CURVE3D") return ::Ifc4::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation_CURVE3D; + if (s == "PCURVE_S1") return ::Ifc4::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation_PCURVE_S1; + if (s == "PCURVE_S2") return ::Ifc4::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation_PCURVE_S2; + throw IfcException("Unable to find find keyword in schema"); +} + const char* IfcProcedureTypeEnum::ToString(IfcProcedureTypeEnum v) { if ( v < 0 || v >= 9 ) throw IfcException("Unable to find find keyword in schema"); const char* names[] = { "ADVICE_CAUTION", "ADVICE_NOTE", "ADVICE_WARNING", "CALIBRATION", "DIAGNOSTIC", "SHUTDOWN", "STARTUP", "USERDEFINED", "NOTDEFINED" }; @@ -6513,12 +6560,13 @@ IfcSectionTypeEnum::IfcSectionTypeEnum IfcSectionTypeEnum::FromString(const std: } const char* IfcSensorTypeEnum::ToString(IfcSensorTypeEnum v) { - if ( v < 0 || v >= 25 ) throw IfcException("Unable to find find keyword in schema"); - const char* names[] = { "CO2SENSOR", "CONDUCTANCESENSOR", "CONTACTSENSOR", "FIRESENSOR", "FLOWSENSOR", "FROSTSENSOR", "GASSENSOR", "HEATSENSOR", "HUMIDITYSENSOR", "IDENTIFIERSENSOR", "IONCONCENTRATIONSENSOR", "LEVELSENSOR", "LIGHTSENSOR", "MOISTURESENSOR", "MOVEMENTSENSOR", "PHSENSOR", "PRESSURESENSOR", "RADIATIONSENSOR", "RADIOACTIVITYSENSOR", "SMOKESENSOR", "SOUNDSENSOR", "TEMPERATURESENSOR", "WINDSENSOR", "USERDEFINED", "NOTDEFINED" }; + if ( v < 0 || v >= 26 ) throw IfcException("Unable to find find keyword in schema"); + const char* names[] = { "COSENSOR", "CO2SENSOR", "CONDUCTANCESENSOR", "CONTACTSENSOR", "FIRESENSOR", "FLOWSENSOR", "FROSTSENSOR", "GASSENSOR", "HEATSENSOR", "HUMIDITYSENSOR", "IDENTIFIERSENSOR", "IONCONCENTRATIONSENSOR", "LEVELSENSOR", "LIGHTSENSOR", "MOISTURESENSOR", "MOVEMENTSENSOR", "PHSENSOR", "PRESSURESENSOR", "RADIATIONSENSOR", "RADIOACTIVITYSENSOR", "SMOKESENSOR", "SOUNDSENSOR", "TEMPERATURESENSOR", "WINDSENSOR", "USERDEFINED", "NOTDEFINED" }; return names[v]; } IfcSensorTypeEnum::IfcSensorTypeEnum IfcSensorTypeEnum::FromString(const std::string& s) { + if (s == "COSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_COSENSOR; if (s == "CO2SENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_CO2SENSOR; if (s == "CONDUCTANCESENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_CONDUCTANCESENSOR; if (s == "CONTACTSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_CONTACTSENSOR; @@ -12313,6 +12361,27 @@ Type::Enum IfcIndexedPolyCurve::Class() { return Type::IfcIndexedPolyCurve; } IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcAbstractEntity* e) : IfcBoundedCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcIndexedPolyCurve)) throw IfcException("Unable to find find keyword in schema"); data_ = e; } IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcCartesianPointList* v1_Points, boost::optional< IfcEntityList::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Points)); if (v2_Segments) { e->setArgument(1,(*v2_Segments)); } else { e->setArgument(1); } if (v3_SelfIntersect) { e->setArgument(2,(*v3_SelfIntersect)); } else { e->setArgument(2); } data_ = e; EntityBuffer::Add(this); } +// Function implementations for IfcIndexedPolygonalFace +std::vector< int > /*[3:?]*/ IfcIndexedPolygonalFace::CoordIndex() const { return *data_->getArgument(0); } +void IfcIndexedPolygonalFace::setCoordIndex(std::vector< int > /*[3:?]*/ v) { if ( ! data_->isWritable() ) { data_ = new IfcWritableEntity(data_); } ((IfcWritableEntity*)data_)->setArgument(0,v); } + +IfcPolygonalFaceSet::list::ptr IfcIndexedPolygonalFace::ToFaceSet() const { return data_->getInverse(Type::IfcPolygonalFaceSet, 2)->as(); } + +const IfcParse::entity& IfcIndexedPolygonalFace::declaration() const { return *IfcIndexedPolygonalFace_type; } +Type::Enum IfcIndexedPolygonalFace::Class() { return Type::IfcIndexedPolygonalFace; } +IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(IfcAbstractEntity* e) : IfcTessellatedItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcIndexedPolygonalFace)) throw IfcException("Unable to find find keyword in schema"); data_ = e; } +IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(std::vector< int > /*[3:?]*/ v1_CoordIndex) : IfcTessellatedItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CoordIndex)); data_ = e; EntityBuffer::Add(this); } + +// Function implementations for IfcIndexedPolygonalFaceWithVoids +std::vector< std::vector< int > > IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { return *data_->getArgument(1); } +void IfcIndexedPolygonalFaceWithVoids::setInnerCoordIndices(std::vector< std::vector< int > > v) { if ( ! data_->isWritable() ) { data_ = new IfcWritableEntity(data_); } ((IfcWritableEntity*)data_)->setArgument(1,v); } + + +const IfcParse::entity& IfcIndexedPolygonalFaceWithVoids::declaration() const { return *IfcIndexedPolygonalFaceWithVoids_type; } +Type::Enum IfcIndexedPolygonalFaceWithVoids::Class() { return Type::IfcIndexedPolygonalFaceWithVoids; } +IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(IfcAbstractEntity* e) : IfcIndexedPolygonalFace((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcIndexedPolygonalFaceWithVoids)) throw IfcException("Unable to find find keyword in schema"); data_ = e; } +IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CoordIndex)); e->setArgument(1,(v2_InnerCoordIndices)); data_ = e; EntityBuffer::Add(this); } + // Function implementations for IfcIndexedTextureMap IfcTessellatedFaceSet* IfcIndexedTextureMap::MappedTo() const { return (IfcTessellatedFaceSet*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void IfcIndexedTextureMap::setMappedTo(IfcTessellatedFaceSet* v) { if ( ! data_->isWritable() ) { data_ = new IfcWritableEntity(data_); } ((IfcWritableEntity*)data_)->setArgument(1,v); } @@ -12357,6 +12426,14 @@ Type::Enum IfcInterceptorType::Class() { return Type::IfcInterceptorType; } IfcInterceptorType::IfcInterceptorType(IfcAbstractEntity* e) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcInterceptorType)) throw IfcException("Unable to find find keyword in schema"); data_ = e; } IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcInterceptorTypeEnum::IfcInterceptorTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcInterceptorTypeEnum::ToString(v10_PredefinedType)); data_ = e; EntityBuffer::Add(this); } +// Function implementations for IfcIntersectionCurve + + +const IfcParse::entity& IfcIntersectionCurve::declaration() const { return *IfcIntersectionCurve_type; } +Type::Enum IfcIntersectionCurve::Class() { return Type::IfcIntersectionCurve; } +IfcIntersectionCurve::IfcIntersectionCurve(IfcAbstractEntity* e) : IfcSurfaceCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcIntersectionCurve)) throw IfcException("Unable to find find keyword in schema"); data_ = e; } +IfcIntersectionCurve::IfcIntersectionCurve(IfcCurve* v1_Curve3D, IfcTemplatedEntityList< IfcPcurve >::ptr v2_AssociatedGeometry, IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation v3_MasterRepresentation) : IfcSurfaceCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Curve3D)); e->setArgument(1,(v2_AssociatedGeometry)->generalize()); e->setArgument(2,v3_MasterRepresentation,IfcPreferredSurfaceCurveRepresentation::ToString(v3_MasterRepresentation)); data_ = e; EntityBuffer::Add(this); } + // Function implementations for IfcInventory bool IfcInventory::hasPredefinedType() const { return !data_->getArgument(5)->isNull(); } IfcInventoryTypeEnum::IfcInventoryTypeEnum IfcInventory::PredefinedType() const { return IfcInventoryTypeEnum::FromString(*data_->getArgument(5)); } @@ -13846,6 +13923,22 @@ Type::Enum IfcPolygonalBoundedHalfSpace::Class() { return Type::IfcPolygonalBoun IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcAbstractEntity* e) : IfcHalfSpaceSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPolygonalBoundedHalfSpace)) throw IfcException("Unable to find find keyword in schema"); data_ = e; } IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, IfcAxis2Placement3D* v3_Position, IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BaseSurface)); e->setArgument(1,(v2_AgreementFlag)); e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_PolygonalBoundary)); data_ = e; EntityBuffer::Add(this); } +// Function implementations for IfcPolygonalFaceSet +bool IfcPolygonalFaceSet::hasClosed() const { return !data_->getArgument(1)->isNull(); } +bool IfcPolygonalFaceSet::Closed() const { return *data_->getArgument(1); } +void IfcPolygonalFaceSet::setClosed(bool v) { if ( ! data_->isWritable() ) { data_ = new IfcWritableEntity(data_); } ((IfcWritableEntity*)data_)->setArgument(1,v); } +IfcTemplatedEntityList< IfcIndexedPolygonalFace >::ptr IfcPolygonalFaceSet::Faces() const { IfcEntityList::ptr es = *data_->getArgument(2); return es->as(); } +void IfcPolygonalFaceSet::setFaces(IfcTemplatedEntityList< IfcIndexedPolygonalFace >::ptr v) { if ( ! data_->isWritable() ) { data_ = new IfcWritableEntity(data_); } ((IfcWritableEntity*)data_)->setArgument(2,v->generalize()); } +bool IfcPolygonalFaceSet::hasPnIndex() const { return !data_->getArgument(3)->isNull(); } +std::vector< int > /*[1:?]*/ IfcPolygonalFaceSet::PnIndex() const { return *data_->getArgument(3); } +void IfcPolygonalFaceSet::setPnIndex(std::vector< int > /*[1:?]*/ v) { if ( ! data_->isWritable() ) { data_ = new IfcWritableEntity(data_); } ((IfcWritableEntity*)data_)->setArgument(3,v); } + + +const IfcParse::entity& IfcPolygonalFaceSet::declaration() const { return *IfcPolygonalFaceSet_type; } +Type::Enum IfcPolygonalFaceSet::Class() { return Type::IfcPolygonalFaceSet; } +IfcPolygonalFaceSet::IfcPolygonalFaceSet(IfcAbstractEntity* e) : IfcTessellatedFaceSet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPolygonalFaceSet)) throw IfcException("Unable to find find keyword in schema"); data_ = e; } +IfcPolygonalFaceSet::IfcPolygonalFaceSet(IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, IfcTemplatedEntityList< IfcIndexedPolygonalFace >::ptr v3_Faces, boost::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) : IfcTessellatedFaceSet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Coordinates)); if (v2_Closed) { e->setArgument(1,(*v2_Closed)); } else { e->setArgument(1); } e->setArgument(2,(v3_Faces)->generalize()); if (v4_PnIndex) { e->setArgument(3,(*v4_PnIndex)); } else { e->setArgument(3); } data_ = e; EntityBuffer::Add(this); } + // Function implementations for IfcPolyline IfcTemplatedEntityList< IfcCartesianPoint >::ptr IfcPolyline::Points() const { IfcEntityList::ptr es = *data_->getArgument(0); return es->as(); } void IfcPolyline::setPoints(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v) { if ( ! data_->isWritable() ) { data_ = new IfcWritableEntity(data_); } ((IfcWritableEntity*)data_)->setArgument(0,v->generalize()); } @@ -15867,6 +15960,14 @@ Type::Enum IfcSchedulingTime::Class() { return Type::IfcSchedulingTime; } IfcSchedulingTime::IfcSchedulingTime(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcSchedulingTime)) throw IfcException("Unable to find find keyword in schema"); data_ = e; } IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } data_ = e; EntityBuffer::Add(this); } +// Function implementations for IfcSeamCurve + + +const IfcParse::entity& IfcSeamCurve::declaration() const { return *IfcSeamCurve_type; } +Type::Enum IfcSeamCurve::Class() { return Type::IfcSeamCurve; } +IfcSeamCurve::IfcSeamCurve(IfcAbstractEntity* e) : IfcSurfaceCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSeamCurve)) throw IfcException("Unable to find find keyword in schema"); data_ = e; } +IfcSeamCurve::IfcSeamCurve(IfcCurve* v1_Curve3D, IfcTemplatedEntityList< IfcPcurve >::ptr v2_AssociatedGeometry, IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation v3_MasterRepresentation) : IfcSurfaceCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Curve3D)); e->setArgument(1,(v2_AssociatedGeometry)->generalize()); e->setArgument(2,v3_MasterRepresentation,IfcPreferredSurfaceCurveRepresentation::ToString(v3_MasterRepresentation)); data_ = e; EntityBuffer::Add(this); } + // Function implementations for IfcSectionProperties IfcSectionTypeEnum::IfcSectionTypeEnum IfcSectionProperties::SectionType() const { return IfcSectionTypeEnum::FromString(*data_->getArgument(0)); } void IfcSectionProperties::setSectionType(IfcSectionTypeEnum::IfcSectionTypeEnum v) { if ( ! data_->isWritable() ) { data_ = new IfcWritableEntity(data_); } ((IfcWritableEntity*)data_)->setArgument(0,v,IfcSectionTypeEnum::ToString(v)); } @@ -16281,6 +16382,16 @@ Type::Enum IfcSphere::Class() { return Type::IfcSphere; } IfcSphere::IfcSphere(IfcAbstractEntity* e) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSphere)) throw IfcException("Unable to find find keyword in schema"); data_ = e; } IfcSphere::IfcSphere(IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Radius)); data_ = e; EntityBuffer::Add(this); } +// Function implementations for IfcSphericalSurface +double IfcSphericalSurface::Radius() const { return *data_->getArgument(1); } +void IfcSphericalSurface::setRadius(double v) { if ( ! data_->isWritable() ) { data_ = new IfcWritableEntity(data_); } ((IfcWritableEntity*)data_)->setArgument(1,v); } + + +const IfcParse::entity& IfcSphericalSurface::declaration() const { return *IfcSphericalSurface_type; } +Type::Enum IfcSphericalSurface::Class() { return Type::IfcSphericalSurface; } +IfcSphericalSurface::IfcSphericalSurface(IfcAbstractEntity* e) : IfcElementarySurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSphericalSurface)) throw IfcException("Unable to find find keyword in schema"); data_ = e; } +IfcSphericalSurface::IfcSphericalSurface(IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Radius)); data_ = e; EntityBuffer::Add(this); } + // Function implementations for IfcStackTerminal bool IfcStackTerminal::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum IfcStackTerminal::PredefinedType() const { return IfcStackTerminalTypeEnum::FromString(*data_->getArgument(8)); } @@ -16893,6 +17004,20 @@ Type::Enum IfcSurface::Class() { return Type::IfcSurface; } IfcSurface::IfcSurface(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurface)) throw IfcException("Unable to find find keyword in schema"); data_ = e; } IfcSurface::IfcSurface() : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); data_ = e; EntityBuffer::Add(this); } +// Function implementations for IfcSurfaceCurve +IfcCurve* IfcSurfaceCurve::Curve3D() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +void IfcSurfaceCurve::setCurve3D(IfcCurve* v) { if ( ! data_->isWritable() ) { data_ = new IfcWritableEntity(data_); } ((IfcWritableEntity*)data_)->setArgument(0,v); } +IfcTemplatedEntityList< IfcPcurve >::ptr IfcSurfaceCurve::AssociatedGeometry() const { IfcEntityList::ptr es = *data_->getArgument(1); return es->as(); } +void IfcSurfaceCurve::setAssociatedGeometry(IfcTemplatedEntityList< IfcPcurve >::ptr v) { if ( ! data_->isWritable() ) { data_ = new IfcWritableEntity(data_); } ((IfcWritableEntity*)data_)->setArgument(1,v->generalize()); } +IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation IfcSurfaceCurve::MasterRepresentation() const { return IfcPreferredSurfaceCurveRepresentation::FromString(*data_->getArgument(2)); } +void IfcSurfaceCurve::setMasterRepresentation(IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation v) { if ( ! data_->isWritable() ) { data_ = new IfcWritableEntity(data_); } ((IfcWritableEntity*)data_)->setArgument(2,v,IfcPreferredSurfaceCurveRepresentation::ToString(v)); } + + +const IfcParse::entity& IfcSurfaceCurve::declaration() const { return *IfcSurfaceCurve_type; } +Type::Enum IfcSurfaceCurve::Class() { return Type::IfcSurfaceCurve; } +IfcSurfaceCurve::IfcSurfaceCurve(IfcAbstractEntity* e) : IfcCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceCurve)) throw IfcException("Unable to find find keyword in schema"); data_ = e; } +IfcSurfaceCurve::IfcSurfaceCurve(IfcCurve* v1_Curve3D, IfcTemplatedEntityList< IfcPcurve >::ptr v2_AssociatedGeometry, IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation v3_MasterRepresentation) : IfcCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Curve3D)); e->setArgument(1,(v2_AssociatedGeometry)->generalize()); e->setArgument(2,v3_MasterRepresentation,IfcPreferredSurfaceCurveRepresentation::ToString(v3_MasterRepresentation)); data_ = e; EntityBuffer::Add(this); } + // Function implementations for IfcSurfaceCurveSweptAreaSolid IfcCurve* IfcSurfaceCurveSweptAreaSolid::Directrix() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void IfcSurfaceCurveSweptAreaSolid::setDirectrix(IfcCurve* v) { if ( ! data_->isWritable() ) { data_ = new IfcWritableEntity(data_); } ((IfcWritableEntity*)data_)->setArgument(2,v); } @@ -17488,25 +17613,19 @@ void IfcTendonType::setNominalDiameter(double v) { if ( ! data_->isWritable() ) bool IfcTendonType::hasCrossSectionArea() const { return !data_->getArgument(11)->isNull(); } double IfcTendonType::CrossSectionArea() const { return *data_->getArgument(11); } void IfcTendonType::setCrossSectionArea(double v) { if ( ! data_->isWritable() ) { data_ = new IfcWritableEntity(data_); } ((IfcWritableEntity*)data_)->setArgument(11,v); } -bool IfcTendonType::hasSheethDiameter() const { return !data_->getArgument(12)->isNull(); } -double IfcTendonType::SheethDiameter() const { return *data_->getArgument(12); } -void IfcTendonType::setSheethDiameter(double v) { if ( ! data_->isWritable() ) { data_ = new IfcWritableEntity(data_); } ((IfcWritableEntity*)data_)->setArgument(12,v); } +bool IfcTendonType::hasSheathDiameter() const { return !data_->getArgument(12)->isNull(); } +double IfcTendonType::SheathDiameter() const { return *data_->getArgument(12); } +void IfcTendonType::setSheathDiameter(double v) { if ( ! data_->isWritable() ) { data_ = new IfcWritableEntity(data_); } ((IfcWritableEntity*)data_)->setArgument(12,v); } const IfcParse::entity& IfcTendonType::declaration() const { return *IfcTendonType_type; } Type::Enum IfcTendonType::Class() { return Type::IfcTendonType; } IfcTendonType::IfcTendonType(IfcAbstractEntity* e) : IfcReinforcingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTendonType)) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -IfcTendonType::IfcTendonType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheethDiameter) : IfcReinforcingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTendonTypeEnum::ToString(v10_PredefinedType)); if (v11_NominalDiameter) { e->setArgument(10,(*v11_NominalDiameter)); } else { e->setArgument(10); } if (v12_CrossSectionArea) { e->setArgument(11,(*v12_CrossSectionArea)); } else { e->setArgument(11); } if (v13_SheethDiameter) { e->setArgument(12,(*v13_SheethDiameter)); } else { e->setArgument(12); } data_ = e; EntityBuffer::Add(this); } +IfcTendonType::IfcTendonType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTendonTypeEnum::ToString(v10_PredefinedType)); if (v11_NominalDiameter) { e->setArgument(10,(*v11_NominalDiameter)); } else { e->setArgument(10); } if (v12_CrossSectionArea) { e->setArgument(11,(*v12_CrossSectionArea)); } else { e->setArgument(11); } if (v13_SheathDiameter) { e->setArgument(12,(*v13_SheathDiameter)); } else { e->setArgument(12); } data_ = e; EntityBuffer::Add(this); } // Function implementations for IfcTessellatedFaceSet IfcCartesianPointList3D* IfcTessellatedFaceSet::Coordinates() const { return (IfcCartesianPointList3D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void IfcTessellatedFaceSet::setCoordinates(IfcCartesianPointList3D* v) { if ( ! data_->isWritable() ) { data_ = new IfcWritableEntity(data_); } ((IfcWritableEntity*)data_)->setArgument(0,v); } -bool IfcTessellatedFaceSet::hasNormals() const { return !data_->getArgument(1)->isNull(); } -std::vector< std::vector< double > > IfcTessellatedFaceSet::Normals() const { return *data_->getArgument(1); } -void IfcTessellatedFaceSet::setNormals(std::vector< std::vector< double > > v) { if ( ! data_->isWritable() ) { data_ = new IfcWritableEntity(data_); } ((IfcWritableEntity*)data_)->setArgument(1,v); } -bool IfcTessellatedFaceSet::hasClosed() const { return !data_->getArgument(2)->isNull(); } -bool IfcTessellatedFaceSet::Closed() const { return *data_->getArgument(2); } -void IfcTessellatedFaceSet::setClosed(bool v) { if ( ! data_->isWritable() ) { data_ = new IfcWritableEntity(data_); } ((IfcWritableEntity*)data_)->setArgument(2,v); } IfcIndexedColourMap::list::ptr IfcTessellatedFaceSet::HasColours() const { return data_->getInverse(Type::IfcIndexedColourMap, 0)->as(); } IfcIndexedTextureMap::list::ptr IfcTessellatedFaceSet::HasTextures() const { return data_->getInverse(Type::IfcIndexedTextureMap, 1)->as(); } @@ -17514,7 +17633,7 @@ IfcIndexedTextureMap::list::ptr IfcTessellatedFaceSet::HasTextures() const { ret const IfcParse::entity& IfcTessellatedFaceSet::declaration() const { return *IfcTessellatedFaceSet_type; } Type::Enum IfcTessellatedFaceSet::Class() { return Type::IfcTessellatedFaceSet; } IfcTessellatedFaceSet::IfcTessellatedFaceSet(IfcAbstractEntity* e) : IfcTessellatedItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTessellatedFaceSet)) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -IfcTessellatedFaceSet::IfcTessellatedFaceSet(IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed) : IfcTessellatedItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Coordinates)); if (v2_Normals) { e->setArgument(1,(*v2_Normals)); } else { e->setArgument(1); } if (v3_Closed) { e->setArgument(2,(*v3_Closed)); } else { e->setArgument(2); } data_ = e; EntityBuffer::Add(this); } +IfcTessellatedFaceSet::IfcTessellatedFaceSet(IfcCartesianPointList3D* v1_Coordinates) : IfcTessellatedItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Coordinates)); data_ = e; EntityBuffer::Add(this); } // Function implementations for IfcTessellatedItem @@ -17753,6 +17872,18 @@ Type::Enum IfcTopologyRepresentation::Class() { return Type::IfcTopologyRepresen IfcTopologyRepresentation::IfcTopologyRepresentation(IfcAbstractEntity* e) : IfcShapeModel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTopologyRepresentation)) throw IfcException("Unable to find find keyword in schema"); data_ = e; } IfcTopologyRepresentation::IfcTopologyRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); data_ = e; EntityBuffer::Add(this); } +// Function implementations for IfcToroidalSurface +double IfcToroidalSurface::MajorRadius() const { return *data_->getArgument(1); } +void IfcToroidalSurface::setMajorRadius(double v) { if ( ! data_->isWritable() ) { data_ = new IfcWritableEntity(data_); } ((IfcWritableEntity*)data_)->setArgument(1,v); } +double IfcToroidalSurface::MinorRadius() const { return *data_->getArgument(2); } +void IfcToroidalSurface::setMinorRadius(double v) { if ( ! data_->isWritable() ) { data_ = new IfcWritableEntity(data_); } ((IfcWritableEntity*)data_)->setArgument(2,v); } + + +const IfcParse::entity& IfcToroidalSurface::declaration() const { return *IfcToroidalSurface_type; } +Type::Enum IfcToroidalSurface::Class() { return Type::IfcToroidalSurface; } +IfcToroidalSurface::IfcToroidalSurface(IfcAbstractEntity* e) : IfcElementarySurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcToroidalSurface)) throw IfcException("Unable to find find keyword in schema"); data_ = e; } +IfcToroidalSurface::IfcToroidalSurface(IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius) : IfcElementarySurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_MajorRadius)); e->setArgument(2,(v3_MinorRadius)); data_ = e; EntityBuffer::Add(this); } + // Function implementations for IfcTransformer bool IfcTransformer::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } IfcTransformerTypeEnum::IfcTransformerTypeEnum IfcTransformer::PredefinedType() const { return IfcTransformerTypeEnum::FromString(*data_->getArgument(8)); } @@ -17812,17 +17943,23 @@ IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcAbstractEntity* e) : IfcParame IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_BottomXDim)); e->setArgument(4,(v5_TopXDim)); e->setArgument(5,(v6_YDim)); e->setArgument(6,(v7_TopXOffset)); data_ = e; EntityBuffer::Add(this); } // Function implementations for IfcTriangulatedFaceSet +bool IfcTriangulatedFaceSet::hasNormals() const { return !data_->getArgument(1)->isNull(); } +std::vector< std::vector< double > > IfcTriangulatedFaceSet::Normals() const { return *data_->getArgument(1); } +void IfcTriangulatedFaceSet::setNormals(std::vector< std::vector< double > > v) { if ( ! data_->isWritable() ) { data_ = new IfcWritableEntity(data_); } ((IfcWritableEntity*)data_)->setArgument(1,v); } +bool IfcTriangulatedFaceSet::hasClosed() const { return !data_->getArgument(2)->isNull(); } +bool IfcTriangulatedFaceSet::Closed() const { return *data_->getArgument(2); } +void IfcTriangulatedFaceSet::setClosed(bool v) { if ( ! data_->isWritable() ) { data_ = new IfcWritableEntity(data_); } ((IfcWritableEntity*)data_)->setArgument(2,v); } std::vector< std::vector< int > > IfcTriangulatedFaceSet::CoordIndex() const { return *data_->getArgument(3); } void IfcTriangulatedFaceSet::setCoordIndex(std::vector< std::vector< int > > v) { if ( ! data_->isWritable() ) { data_ = new IfcWritableEntity(data_); } ((IfcWritableEntity*)data_)->setArgument(3,v); } -bool IfcTriangulatedFaceSet::hasNormalIndex() const { return !data_->getArgument(4)->isNull(); } -std::vector< std::vector< int > > IfcTriangulatedFaceSet::NormalIndex() const { return *data_->getArgument(4); } -void IfcTriangulatedFaceSet::setNormalIndex(std::vector< std::vector< int > > v) { if ( ! data_->isWritable() ) { data_ = new IfcWritableEntity(data_); } ((IfcWritableEntity*)data_)->setArgument(4,v); } +bool IfcTriangulatedFaceSet::hasPnIndex() const { return !data_->getArgument(4)->isNull(); } +std::vector< int > /*[1:?]*/ IfcTriangulatedFaceSet::PnIndex() const { return *data_->getArgument(4); } +void IfcTriangulatedFaceSet::setPnIndex(std::vector< int > /*[1:?]*/ v) { if ( ! data_->isWritable() ) { data_ = new IfcWritableEntity(data_); } ((IfcWritableEntity*)data_)->setArgument(4,v); } const IfcParse::entity& IfcTriangulatedFaceSet::declaration() const { return *IfcTriangulatedFaceSet_type; } Type::Enum IfcTriangulatedFaceSet::Class() { return Type::IfcTriangulatedFaceSet; } IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(IfcAbstractEntity* e) : IfcTessellatedFaceSet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTriangulatedFaceSet)) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< std::vector< int > > > v5_NormalIndex) : IfcTessellatedFaceSet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Coordinates)); if (v2_Normals) { e->setArgument(1,(*v2_Normals)); } else { e->setArgument(1); } if (v3_Closed) { e->setArgument(2,(*v3_Closed)); } else { e->setArgument(2); } e->setArgument(3,(v4_CoordIndex)); if (v5_NormalIndex) { e->setArgument(4,(*v5_NormalIndex)); } else { e->setArgument(4); } data_ = e; EntityBuffer::Add(this); } +IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) : IfcTessellatedFaceSet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Coordinates)); if (v2_Normals) { e->setArgument(1,(*v2_Normals)); } else { e->setArgument(1); } if (v3_Closed) { e->setArgument(2,(*v3_Closed)); } else { e->setArgument(2); } e->setArgument(3,(v4_CoordIndex)); if (v5_PnIndex) { e->setArgument(4,(*v5_PnIndex)); } else { e->setArgument(4); } data_ = e; EntityBuffer::Add(this); } // Function implementations for IfcTrimmedCurve IfcCurve* IfcTrimmedCurve::BasisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } diff --git a/src/ifcparse/Ifc4.h b/src/ifcparse/Ifc4.h index 8886d7ec02c..be4a4be3532 100644 --- a/src/ifcparse/Ifc4.h +++ b/src/ifcparse/Ifc4.h @@ -53,7 +53,7 @@ namespace Ifc4 { const char* const Identifier = "IFC4"; // Forward definitions -class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; class IfcActuatorType; class IfcAddress; class IfcAdvancedBrep; class IfcAdvancedBrepWithVoids; class IfcAdvancedFace; class IfcAirTerminal; class IfcAirTerminalBox; class IfcAirTerminalBoxType; class IfcAirTerminalType; class IfcAirToAirHeatRecovery; class IfcAirToAirHeatRecoveryType; class IfcAlarm; class IfcAlarmType; class IfcAnnotation; class IfcAnnotationFillArea; class IfcApplication; class IfcAppliedValue; class IfcApproval; class IfcApprovalRelationship; class IfcArbitraryClosedProfileDef; class IfcArbitraryOpenProfileDef; class IfcArbitraryProfileDefWithVoids; class IfcAsset; class IfcAsymmetricIShapeProfileDef; class IfcAudioVisualAppliance; class IfcAudioVisualApplianceType; class IfcAxis1Placement; class IfcAxis2Placement2D; class IfcAxis2Placement3D; class IfcBSplineCurve; class IfcBSplineCurveWithKnots; class IfcBSplineSurface; class IfcBSplineSurfaceWithKnots; class IfcBeam; class IfcBeamStandardCase; class IfcBeamType; class IfcBlobTexture; class IfcBlock; class IfcBoiler; class IfcBoilerType; class IfcBooleanClippingResult; class IfcBooleanResult; class IfcBoundaryCondition; class IfcBoundaryCurve; class IfcBoundaryEdgeCondition; class IfcBoundaryFaceCondition; class IfcBoundaryNodeCondition; class IfcBoundaryNodeConditionWarping; class IfcBoundedCurve; class IfcBoundedSurface; class IfcBoundingBox; class IfcBoxedHalfSpace; class IfcBuilding; class IfcBuildingElement; class IfcBuildingElementPart; class IfcBuildingElementPartType; class IfcBuildingElementProxy; class IfcBuildingElementProxyType; class IfcBuildingElementType; class IfcBuildingStorey; class IfcBuildingSystem; class IfcBurner; class IfcBurnerType; class IfcCShapeProfileDef; class IfcCableCarrierFitting; class IfcCableCarrierFittingType; class IfcCableCarrierSegment; class IfcCableCarrierSegmentType; class IfcCableFitting; class IfcCableFittingType; class IfcCableSegment; class IfcCableSegmentType; class IfcCartesianPoint; class IfcCartesianPointList; class IfcCartesianPointList2D; class IfcCartesianPointList3D; class IfcCartesianTransformationOperator; class IfcCartesianTransformationOperator2D; class IfcCartesianTransformationOperator2DnonUniform; class IfcCartesianTransformationOperator3D; class IfcCartesianTransformationOperator3DnonUniform; class IfcCenterLineProfileDef; class IfcChiller; class IfcChillerType; class IfcChimney; class IfcChimneyType; class IfcCircle; class IfcCircleHollowProfileDef; class IfcCircleProfileDef; class IfcCivilElement; class IfcCivilElementType; class IfcClassification; class IfcClassificationReference; class IfcClosedShell; class IfcCoil; class IfcCoilType; class IfcColourRgb; class IfcColourRgbList; class IfcColourSpecification; class IfcColumn; class IfcColumnStandardCase; class IfcColumnType; class IfcCommunicationsAppliance; class IfcCommunicationsApplianceType; class IfcComplexProperty; class IfcComplexPropertyTemplate; class IfcCompositeCurve; class IfcCompositeCurveOnSurface; class IfcCompositeCurveSegment; class IfcCompositeProfileDef; class IfcCompressor; class IfcCompressorType; class IfcCondenser; class IfcCondenserType; class IfcConic; class IfcConnectedFaceSet; class IfcConnectionCurveGeometry; class IfcConnectionGeometry; class IfcConnectionPointEccentricity; class IfcConnectionPointGeometry; class IfcConnectionSurfaceGeometry; class IfcConnectionVolumeGeometry; class IfcConstraint; class IfcConstructionEquipmentResource; class IfcConstructionEquipmentResourceType; class IfcConstructionMaterialResource; class IfcConstructionMaterialResourceType; class IfcConstructionProductResource; class IfcConstructionProductResourceType; class IfcConstructionResource; class IfcConstructionResourceType; class IfcContext; class IfcContextDependentUnit; class IfcControl; class IfcController; class IfcControllerType; class IfcConversionBasedUnit; class IfcConversionBasedUnitWithOffset; class IfcCooledBeam; class IfcCooledBeamType; class IfcCoolingTower; class IfcCoolingTowerType; class IfcCoordinateOperation; class IfcCoordinateReferenceSystem; class IfcCostItem; class IfcCostSchedule; class IfcCostValue; class IfcCovering; class IfcCoveringType; class IfcCrewResource; class IfcCrewResourceType; class IfcCsgPrimitive3D; class IfcCsgSolid; class IfcCurrencyRelationship; class IfcCurtainWall; class IfcCurtainWallType; class IfcCurve; class IfcCurveBoundedPlane; class IfcCurveBoundedSurface; class IfcCurveStyle; class IfcCurveStyleFont; class IfcCurveStyleFontAndScaling; class IfcCurveStyleFontPattern; class IfcCylindricalSurface; class IfcDamper; class IfcDamperType; class IfcDerivedProfileDef; class IfcDerivedUnit; class IfcDerivedUnitElement; class IfcDimensionalExponents; class IfcDirection; class IfcDiscreteAccessory; class IfcDiscreteAccessoryType; class IfcDistributionChamberElement; class IfcDistributionChamberElementType; class IfcDistributionCircuit; class IfcDistributionControlElement; class IfcDistributionControlElementType; class IfcDistributionElement; class IfcDistributionElementType; class IfcDistributionFlowElement; class IfcDistributionFlowElementType; class IfcDistributionPort; class IfcDistributionSystem; class IfcDocumentInformation; class IfcDocumentInformationRelationship; class IfcDocumentReference; class IfcDoor; class IfcDoorLiningProperties; class IfcDoorPanelProperties; class IfcDoorStandardCase; class IfcDoorStyle; class IfcDoorType; class IfcDraughtingPreDefinedColour; class IfcDraughtingPreDefinedCurveFont; class IfcDuctFitting; class IfcDuctFittingType; class IfcDuctSegment; class IfcDuctSegmentType; class IfcDuctSilencer; class IfcDuctSilencerType; class IfcEdge; class IfcEdgeCurve; class IfcEdgeLoop; class IfcElectricAppliance; class IfcElectricApplianceType; class IfcElectricDistributionBoard; class IfcElectricDistributionBoardType; class IfcElectricFlowStorageDevice; class IfcElectricFlowStorageDeviceType; class IfcElectricGenerator; class IfcElectricGeneratorType; class IfcElectricMotor; class IfcElectricMotorType; class IfcElectricTimeControl; class IfcElectricTimeControlType; class IfcElement; class IfcElementAssembly; class IfcElementAssemblyType; class IfcElementComponent; class IfcElementComponentType; class IfcElementQuantity; class IfcElementType; class IfcElementarySurface; class IfcEllipse; class IfcEllipseProfileDef; class IfcEnergyConversionDevice; class IfcEnergyConversionDeviceType; class IfcEngine; class IfcEngineType; class IfcEvaporativeCooler; class IfcEvaporativeCoolerType; class IfcEvaporator; class IfcEvaporatorType; class IfcEvent; class IfcEventTime; class IfcEventType; class IfcExtendedProperties; class IfcExternalInformation; class IfcExternalReference; class IfcExternalReferenceRelationship; class IfcExternalSpatialElement; class IfcExternalSpatialStructureElement; class IfcExternallyDefinedHatchStyle; class IfcExternallyDefinedSurfaceStyle; class IfcExternallyDefinedTextFont; class IfcExtrudedAreaSolid; class IfcExtrudedAreaSolidTapered; class IfcFace; class IfcFaceBasedSurfaceModel; class IfcFaceBound; class IfcFaceOuterBound; class IfcFaceSurface; class IfcFacetedBrep; class IfcFacetedBrepWithVoids; class IfcFailureConnectionCondition; class IfcFan; class IfcFanType; class IfcFastener; class IfcFastenerType; class IfcFeatureElement; class IfcFeatureElementAddition; class IfcFeatureElementSubtraction; class IfcFillAreaStyle; class IfcFillAreaStyleHatching; class IfcFillAreaStyleTiles; class IfcFilter; class IfcFilterType; class IfcFireSuppressionTerminal; class IfcFireSuppressionTerminalType; class IfcFixedReferenceSweptAreaSolid; class IfcFlowController; class IfcFlowControllerType; class IfcFlowFitting; class IfcFlowFittingType; class IfcFlowInstrument; class IfcFlowInstrumentType; class IfcFlowMeter; class IfcFlowMeterType; class IfcFlowMovingDevice; class IfcFlowMovingDeviceType; class IfcFlowSegment; class IfcFlowSegmentType; class IfcFlowStorageDevice; class IfcFlowStorageDeviceType; class IfcFlowTerminal; class IfcFlowTerminalType; class IfcFlowTreatmentDevice; class IfcFlowTreatmentDeviceType; class IfcFooting; class IfcFootingType; class IfcFurnishingElement; class IfcFurnishingElementType; class IfcFurniture; class IfcFurnitureType; class IfcGeographicElement; class IfcGeographicElementType; class IfcGeometricCurveSet; class IfcGeometricRepresentationContext; class IfcGeometricRepresentationItem; class IfcGeometricRepresentationSubContext; class IfcGeometricSet; class IfcGrid; class IfcGridAxis; class IfcGridPlacement; class IfcGroup; class IfcHalfSpaceSolid; class IfcHeatExchanger; class IfcHeatExchangerType; class IfcHumidifier; class IfcHumidifierType; class IfcIShapeProfileDef; class IfcImageTexture; class IfcIndexedColourMap; class IfcIndexedPolyCurve; class IfcIndexedTextureMap; class IfcIndexedTriangleTextureMap; class IfcInterceptor; class IfcInterceptorType; class IfcInventory; class IfcIrregularTimeSeries; class IfcIrregularTimeSeriesValue; class IfcJunctionBox; class IfcJunctionBoxType; class IfcLShapeProfileDef; class IfcLaborResource; class IfcLaborResourceType; class IfcLagTime; class IfcLamp; class IfcLampType; class IfcLibraryInformation; class IfcLibraryReference; class IfcLightDistributionData; class IfcLightFixture; class IfcLightFixtureType; class IfcLightIntensityDistribution; class IfcLightSource; class IfcLightSourceAmbient; class IfcLightSourceDirectional; class IfcLightSourceGoniometric; class IfcLightSourcePositional; class IfcLightSourceSpot; class IfcLine; class IfcLocalPlacement; class IfcLoop; class IfcManifoldSolidBrep; class IfcMapConversion; class IfcMappedItem; class IfcMaterial; class IfcMaterialClassificationRelationship; class IfcMaterialConstituent; class IfcMaterialConstituentSet; class IfcMaterialDefinition; class IfcMaterialDefinitionRepresentation; class IfcMaterialLayer; class IfcMaterialLayerSet; class IfcMaterialLayerSetUsage; class IfcMaterialLayerWithOffsets; class IfcMaterialList; class IfcMaterialProfile; class IfcMaterialProfileSet; class IfcMaterialProfileSetUsage; class IfcMaterialProfileSetUsageTapering; class IfcMaterialProfileWithOffsets; class IfcMaterialProperties; class IfcMaterialRelationship; class IfcMaterialUsageDefinition; class IfcMeasureWithUnit; class IfcMechanicalFastener; class IfcMechanicalFastenerType; class IfcMedicalDevice; class IfcMedicalDeviceType; class IfcMember; class IfcMemberStandardCase; class IfcMemberType; class IfcMetric; class IfcMirroredProfileDef; class IfcMonetaryUnit; class IfcMotorConnection; class IfcMotorConnectionType; class IfcNamedUnit; class IfcObject; class IfcObjectDefinition; class IfcObjectPlacement; class IfcObjective; class IfcOccupant; class IfcOffsetCurve2D; class IfcOffsetCurve3D; class IfcOpenShell; class IfcOpeningElement; class IfcOpeningStandardCase; class IfcOrganization; class IfcOrganizationRelationship; class IfcOrientedEdge; class IfcOuterBoundaryCurve; class IfcOutlet; class IfcOutletType; class IfcOwnerHistory; class IfcParameterizedProfileDef; class IfcPath; class IfcPcurve; class IfcPerformanceHistory; class IfcPermeableCoveringProperties; class IfcPermit; class IfcPerson; class IfcPersonAndOrganization; class IfcPhysicalComplexQuantity; class IfcPhysicalQuantity; class IfcPhysicalSimpleQuantity; class IfcPile; class IfcPileType; class IfcPipeFitting; class IfcPipeFittingType; class IfcPipeSegment; class IfcPipeSegmentType; class IfcPixelTexture; class IfcPlacement; class IfcPlanarBox; class IfcPlanarExtent; class IfcPlane; class IfcPlate; class IfcPlateStandardCase; class IfcPlateType; class IfcPoint; class IfcPointOnCurve; class IfcPointOnSurface; class IfcPolyLoop; class IfcPolygonalBoundedHalfSpace; class IfcPolyline; class IfcPort; class IfcPostalAddress; class IfcPreDefinedColour; class IfcPreDefinedCurveFont; class IfcPreDefinedItem; class IfcPreDefinedProperties; class IfcPreDefinedPropertySet; class IfcPreDefinedTextFont; class IfcPresentationItem; class IfcPresentationLayerAssignment; class IfcPresentationLayerWithStyle; class IfcPresentationStyle; class IfcPresentationStyleAssignment; class IfcProcedure; class IfcProcedureType; class IfcProcess; class IfcProduct; class IfcProductDefinitionShape; class IfcProductRepresentation; class IfcProfileDef; class IfcProfileProperties; class IfcProject; class IfcProjectLibrary; class IfcProjectOrder; class IfcProjectedCRS; class IfcProjectionElement; class IfcProperty; class IfcPropertyAbstraction; class IfcPropertyBoundedValue; class IfcPropertyDefinition; class IfcPropertyDependencyRelationship; class IfcPropertyEnumeratedValue; class IfcPropertyEnumeration; class IfcPropertyListValue; class IfcPropertyReferenceValue; class IfcPropertySet; class IfcPropertySetDefinition; class IfcPropertySetTemplate; class IfcPropertySingleValue; class IfcPropertyTableValue; class IfcPropertyTemplate; class IfcPropertyTemplateDefinition; class IfcProtectiveDevice; class IfcProtectiveDeviceTrippingUnit; class IfcProtectiveDeviceTrippingUnitType; class IfcProtectiveDeviceType; class IfcProxy; class IfcPump; class IfcPumpType; class IfcQuantityArea; class IfcQuantityCount; class IfcQuantityLength; class IfcQuantitySet; class IfcQuantityTime; class IfcQuantityVolume; class IfcQuantityWeight; class IfcRailing; class IfcRailingType; class IfcRamp; class IfcRampFlight; class IfcRampFlightType; class IfcRampType; class IfcRationalBSplineCurveWithKnots; class IfcRationalBSplineSurfaceWithKnots; class IfcRectangleHollowProfileDef; class IfcRectangleProfileDef; class IfcRectangularPyramid; class IfcRectangularTrimmedSurface; class IfcRecurrencePattern; class IfcReference; class IfcRegularTimeSeries; class IfcReinforcementBarProperties; class IfcReinforcementDefinitionProperties; class IfcReinforcingBar; class IfcReinforcingBarType; class IfcReinforcingElement; class IfcReinforcingElementType; class IfcReinforcingMesh; class IfcReinforcingMeshType; class IfcRelAggregates; class IfcRelAssigns; class IfcRelAssignsToActor; class IfcRelAssignsToControl; class IfcRelAssignsToGroup; class IfcRelAssignsToGroupByFactor; class IfcRelAssignsToProcess; class IfcRelAssignsToProduct; class IfcRelAssignsToResource; class IfcRelAssociates; class IfcRelAssociatesApproval; class IfcRelAssociatesClassification; class IfcRelAssociatesConstraint; class IfcRelAssociatesDocument; class IfcRelAssociatesLibrary; class IfcRelAssociatesMaterial; class IfcRelConnects; class IfcRelConnectsElements; class IfcRelConnectsPathElements; class IfcRelConnectsPortToElement; class IfcRelConnectsPorts; class IfcRelConnectsStructuralActivity; class IfcRelConnectsStructuralMember; class IfcRelConnectsWithEccentricity; class IfcRelConnectsWithRealizingElements; class IfcRelContainedInSpatialStructure; class IfcRelCoversBldgElements; class IfcRelCoversSpaces; class IfcRelDeclares; class IfcRelDecomposes; class IfcRelDefines; class IfcRelDefinesByObject; class IfcRelDefinesByProperties; class IfcRelDefinesByTemplate; class IfcRelDefinesByType; class IfcRelFillsElement; class IfcRelFlowControlElements; class IfcRelInterferesElements; class IfcRelNests; class IfcRelProjectsElement; class IfcRelReferencedInSpatialStructure; class IfcRelSequence; class IfcRelServicesBuildings; class IfcRelSpaceBoundary; class IfcRelSpaceBoundary1stLevel; class IfcRelSpaceBoundary2ndLevel; class IfcRelVoidsElement; class IfcRelationship; class IfcReparametrisedCompositeCurveSegment; class IfcRepresentation; class IfcRepresentationContext; class IfcRepresentationItem; class IfcRepresentationMap; class IfcResource; class IfcResourceApprovalRelationship; class IfcResourceConstraintRelationship; class IfcResourceLevelRelationship; class IfcResourceTime; class IfcRevolvedAreaSolid; class IfcRevolvedAreaSolidTapered; class IfcRightCircularCone; class IfcRightCircularCylinder; class IfcRoof; class IfcRoofType; class IfcRoot; class IfcRoundedRectangleProfileDef; class IfcSIUnit; class IfcSanitaryTerminal; class IfcSanitaryTerminalType; class IfcSchedulingTime; class IfcSectionProperties; class IfcSectionReinforcementProperties; class IfcSectionedSpine; class IfcSensor; class IfcSensorType; class IfcShadingDevice; class IfcShadingDeviceType; class IfcShapeAspect; class IfcShapeModel; class IfcShapeRepresentation; class IfcShellBasedSurfaceModel; class IfcSimpleProperty; class IfcSimplePropertyTemplate; class IfcSite; class IfcSlab; class IfcSlabElementedCase; class IfcSlabStandardCase; class IfcSlabType; class IfcSlippageConnectionCondition; class IfcSolarDevice; class IfcSolarDeviceType; class IfcSolidModel; class IfcSpace; class IfcSpaceHeater; class IfcSpaceHeaterType; class IfcSpaceType; class IfcSpatialElement; class IfcSpatialElementType; class IfcSpatialStructureElement; class IfcSpatialStructureElementType; class IfcSpatialZone; class IfcSpatialZoneType; class IfcSphere; class IfcStackTerminal; class IfcStackTerminalType; class IfcStair; class IfcStairFlight; class IfcStairFlightType; class IfcStairType; class IfcStructuralAction; class IfcStructuralActivity; class IfcStructuralAnalysisModel; class IfcStructuralConnection; class IfcStructuralConnectionCondition; class IfcStructuralCurveAction; class IfcStructuralCurveConnection; class IfcStructuralCurveMember; class IfcStructuralCurveMemberVarying; class IfcStructuralCurveReaction; class IfcStructuralItem; class IfcStructuralLinearAction; class IfcStructuralLoad; class IfcStructuralLoadCase; class IfcStructuralLoadConfiguration; class IfcStructuralLoadGroup; class IfcStructuralLoadLinearForce; class IfcStructuralLoadOrResult; class IfcStructuralLoadPlanarForce; class IfcStructuralLoadSingleDisplacement; class IfcStructuralLoadSingleDisplacementDistortion; class IfcStructuralLoadSingleForce; class IfcStructuralLoadSingleForceWarping; class IfcStructuralLoadStatic; class IfcStructuralLoadTemperature; class IfcStructuralMember; class IfcStructuralPlanarAction; class IfcStructuralPointAction; class IfcStructuralPointConnection; class IfcStructuralPointReaction; class IfcStructuralReaction; class IfcStructuralResultGroup; class IfcStructuralSurfaceAction; class IfcStructuralSurfaceConnection; class IfcStructuralSurfaceMember; class IfcStructuralSurfaceMemberVarying; class IfcStructuralSurfaceReaction; class IfcStyleModel; class IfcStyledItem; class IfcStyledRepresentation; class IfcSubContractResource; class IfcSubContractResourceType; class IfcSubedge; class IfcSurface; class IfcSurfaceCurveSweptAreaSolid; class IfcSurfaceFeature; class IfcSurfaceOfLinearExtrusion; class IfcSurfaceOfRevolution; class IfcSurfaceReinforcementArea; class IfcSurfaceStyle; class IfcSurfaceStyleLighting; class IfcSurfaceStyleRefraction; class IfcSurfaceStyleRendering; class IfcSurfaceStyleShading; class IfcSurfaceStyleWithTextures; class IfcSurfaceTexture; class IfcSweptAreaSolid; class IfcSweptDiskSolid; class IfcSweptDiskSolidPolygonal; class IfcSweptSurface; class IfcSwitchingDevice; class IfcSwitchingDeviceType; class IfcSystem; class IfcSystemFurnitureElement; class IfcSystemFurnitureElementType; class IfcTShapeProfileDef; class IfcTable; class IfcTableColumn; class IfcTableRow; class IfcTank; class IfcTankType; class IfcTask; class IfcTaskTime; class IfcTaskTimeRecurring; class IfcTaskType; class IfcTelecomAddress; class IfcTendon; class IfcTendonAnchor; class IfcTendonAnchorType; class IfcTendonType; class IfcTessellatedFaceSet; class IfcTessellatedItem; class IfcTextLiteral; class IfcTextLiteralWithExtent; class IfcTextStyle; class IfcTextStyleFontModel; class IfcTextStyleForDefinedFont; class IfcTextStyleTextModel; class IfcTextureCoordinate; class IfcTextureCoordinateGenerator; class IfcTextureMap; class IfcTextureVertex; class IfcTextureVertexList; class IfcTimePeriod; class IfcTimeSeries; class IfcTimeSeriesValue; class IfcTopologicalRepresentationItem; class IfcTopologyRepresentation; class IfcTransformer; class IfcTransformerType; class IfcTransportElement; class IfcTransportElementType; class IfcTrapeziumProfileDef; class IfcTriangulatedFaceSet; class IfcTrimmedCurve; class IfcTubeBundle; class IfcTubeBundleType; class IfcTypeObject; class IfcTypeProcess; class IfcTypeProduct; class IfcTypeResource; class IfcUShapeProfileDef; class IfcUnitAssignment; class IfcUnitaryControlElement; class IfcUnitaryControlElementType; class IfcUnitaryEquipment; class IfcUnitaryEquipmentType; class IfcValve; class IfcValveType; class IfcVector; class IfcVertex; class IfcVertexLoop; class IfcVertexPoint; class IfcVibrationIsolator; class IfcVibrationIsolatorType; class IfcVirtualElement; class IfcVirtualGridIntersection; class IfcVoidingFeature; class IfcWall; class IfcWallElementedCase; class IfcWallStandardCase; class IfcWallType; class IfcWasteTerminal; class IfcWasteTerminalType; class IfcWindow; class IfcWindowLiningProperties; class IfcWindowPanelProperties; class IfcWindowStandardCase; class IfcWindowStyle; class IfcWindowType; class IfcWorkCalendar; class IfcWorkControl; class IfcWorkPlan; class IfcWorkSchedule; class IfcWorkTime; class IfcZShapeProfileDef; class IfcZone; class IfcAbsorbedDoseMeasure; class IfcAccelerationMeasure; class IfcAmountOfSubstanceMeasure; class IfcAngularVelocityMeasure; class IfcArcIndex; class IfcAreaDensityMeasure; class IfcAreaMeasure; class IfcBinary; class IfcBoolean; class IfcBoxAlignment; class IfcCardinalPointReference; class IfcComplexNumber; class IfcCompoundPlaneAngleMeasure; class IfcContextDependentMeasure; class IfcCountMeasure; class IfcCurvatureMeasure; class IfcDate; class IfcDateTime; class IfcDayInMonthNumber; class IfcDayInWeekNumber; class IfcDescriptiveMeasure; class IfcDimensionCount; class IfcDoseEquivalentMeasure; class IfcDuration; class IfcDynamicViscosityMeasure; class IfcElectricCapacitanceMeasure; class IfcElectricChargeMeasure; class IfcElectricConductanceMeasure; class IfcElectricCurrentMeasure; class IfcElectricResistanceMeasure; class IfcElectricVoltageMeasure; class IfcEnergyMeasure; class IfcFontStyle; class IfcFontVariant; class IfcFontWeight; class IfcForceMeasure; class IfcFrequencyMeasure; class IfcGloballyUniqueId; class IfcHeatFluxDensityMeasure; class IfcHeatingValueMeasure; class IfcIdentifier; class IfcIlluminanceMeasure; class IfcInductanceMeasure; class IfcInteger; class IfcIntegerCountRateMeasure; class IfcIonConcentrationMeasure; class IfcIsothermalMoistureCapacityMeasure; class IfcKinematicViscosityMeasure; class IfcLabel; class IfcLanguageId; class IfcLengthMeasure; class IfcLineIndex; class IfcLinearForceMeasure; class IfcLinearMomentMeasure; class IfcLinearStiffnessMeasure; class IfcLinearVelocityMeasure; class IfcLogical; class IfcLuminousFluxMeasure; class IfcLuminousIntensityDistributionMeasure; class IfcLuminousIntensityMeasure; class IfcMagneticFluxDensityMeasure; class IfcMagneticFluxMeasure; class IfcMassDensityMeasure; class IfcMassFlowRateMeasure; class IfcMassMeasure; class IfcMassPerLengthMeasure; class IfcModulusOfElasticityMeasure; class IfcModulusOfLinearSubgradeReactionMeasure; class IfcModulusOfRotationalSubgradeReactionMeasure; class IfcModulusOfSubgradeReactionMeasure; class IfcMoistureDiffusivityMeasure; class IfcMolecularWeightMeasure; class IfcMomentOfInertiaMeasure; class IfcMonetaryMeasure; class IfcMonthInYearNumber; class IfcNonNegativeLengthMeasure; class IfcNormalisedRatioMeasure; class IfcNumericMeasure; class IfcPHMeasure; class IfcParameterValue; class IfcPlanarForceMeasure; class IfcPlaneAngleMeasure; class IfcPositiveInteger; class IfcPositiveLengthMeasure; class IfcPositivePlaneAngleMeasure; class IfcPositiveRatioMeasure; class IfcPowerMeasure; class IfcPresentableText; class IfcPressureMeasure; class IfcPropertySetDefinitionSet; class IfcRadioActivityMeasure; class IfcRatioMeasure; class IfcReal; class IfcRotationalFrequencyMeasure; class IfcRotationalMassMeasure; class IfcRotationalStiffnessMeasure; class IfcSectionModulusMeasure; class IfcSectionalAreaIntegralMeasure; class IfcShearModulusMeasure; class IfcSolidAngleMeasure; class IfcSoundPowerLevelMeasure; class IfcSoundPowerMeasure; class IfcSoundPressureLevelMeasure; class IfcSoundPressureMeasure; class IfcSpecificHeatCapacityMeasure; class IfcSpecularExponent; class IfcSpecularRoughness; class IfcStrippedOptional; class IfcTemperatureGradientMeasure; class IfcTemperatureRateOfChangeMeasure; class IfcText; class IfcTextAlignment; class IfcTextDecoration; class IfcTextFontName; class IfcTextTransformation; class IfcThermalAdmittanceMeasure; class IfcThermalConductivityMeasure; class IfcThermalExpansionCoefficientMeasure; class IfcThermalResistanceMeasure; class IfcThermalTransmittanceMeasure; class IfcThermodynamicTemperatureMeasure; class IfcTime; class IfcTimeMeasure; class IfcTimeStamp; class IfcTorqueMeasure; class IfcURIReference; class IfcVaporPermeabilityMeasure; class IfcVolumeMeasure; class IfcVolumetricFlowRateMeasure; class IfcWarpingConstantMeasure; class IfcWarpingMomentMeasure; +class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; class IfcActuatorType; class IfcAddress; class IfcAdvancedBrep; class IfcAdvancedBrepWithVoids; class IfcAdvancedFace; class IfcAirTerminal; class IfcAirTerminalBox; class IfcAirTerminalBoxType; class IfcAirTerminalType; class IfcAirToAirHeatRecovery; class IfcAirToAirHeatRecoveryType; class IfcAlarm; class IfcAlarmType; class IfcAnnotation; class IfcAnnotationFillArea; class IfcApplication; class IfcAppliedValue; class IfcApproval; class IfcApprovalRelationship; class IfcArbitraryClosedProfileDef; class IfcArbitraryOpenProfileDef; class IfcArbitraryProfileDefWithVoids; class IfcAsset; class IfcAsymmetricIShapeProfileDef; class IfcAudioVisualAppliance; class IfcAudioVisualApplianceType; class IfcAxis1Placement; class IfcAxis2Placement2D; class IfcAxis2Placement3D; class IfcBSplineCurve; class IfcBSplineCurveWithKnots; class IfcBSplineSurface; class IfcBSplineSurfaceWithKnots; class IfcBeam; class IfcBeamStandardCase; class IfcBeamType; class IfcBlobTexture; class IfcBlock; class IfcBoiler; class IfcBoilerType; class IfcBooleanClippingResult; class IfcBooleanResult; class IfcBoundaryCondition; class IfcBoundaryCurve; class IfcBoundaryEdgeCondition; class IfcBoundaryFaceCondition; class IfcBoundaryNodeCondition; class IfcBoundaryNodeConditionWarping; class IfcBoundedCurve; class IfcBoundedSurface; class IfcBoundingBox; class IfcBoxedHalfSpace; class IfcBuilding; class IfcBuildingElement; class IfcBuildingElementPart; class IfcBuildingElementPartType; class IfcBuildingElementProxy; class IfcBuildingElementProxyType; class IfcBuildingElementType; class IfcBuildingStorey; class IfcBuildingSystem; class IfcBurner; class IfcBurnerType; class IfcCShapeProfileDef; class IfcCableCarrierFitting; class IfcCableCarrierFittingType; class IfcCableCarrierSegment; class IfcCableCarrierSegmentType; class IfcCableFitting; class IfcCableFittingType; class IfcCableSegment; class IfcCableSegmentType; class IfcCartesianPoint; class IfcCartesianPointList; class IfcCartesianPointList2D; class IfcCartesianPointList3D; class IfcCartesianTransformationOperator; class IfcCartesianTransformationOperator2D; class IfcCartesianTransformationOperator2DnonUniform; class IfcCartesianTransformationOperator3D; class IfcCartesianTransformationOperator3DnonUniform; class IfcCenterLineProfileDef; class IfcChiller; class IfcChillerType; class IfcChimney; class IfcChimneyType; class IfcCircle; class IfcCircleHollowProfileDef; class IfcCircleProfileDef; class IfcCivilElement; class IfcCivilElementType; class IfcClassification; class IfcClassificationReference; class IfcClosedShell; class IfcCoil; class IfcCoilType; class IfcColourRgb; class IfcColourRgbList; class IfcColourSpecification; class IfcColumn; class IfcColumnStandardCase; class IfcColumnType; class IfcCommunicationsAppliance; class IfcCommunicationsApplianceType; class IfcComplexProperty; class IfcComplexPropertyTemplate; class IfcCompositeCurve; class IfcCompositeCurveOnSurface; class IfcCompositeCurveSegment; class IfcCompositeProfileDef; class IfcCompressor; class IfcCompressorType; class IfcCondenser; class IfcCondenserType; class IfcConic; class IfcConnectedFaceSet; class IfcConnectionCurveGeometry; class IfcConnectionGeometry; class IfcConnectionPointEccentricity; class IfcConnectionPointGeometry; class IfcConnectionSurfaceGeometry; class IfcConnectionVolumeGeometry; class IfcConstraint; class IfcConstructionEquipmentResource; class IfcConstructionEquipmentResourceType; class IfcConstructionMaterialResource; class IfcConstructionMaterialResourceType; class IfcConstructionProductResource; class IfcConstructionProductResourceType; class IfcConstructionResource; class IfcConstructionResourceType; class IfcContext; class IfcContextDependentUnit; class IfcControl; class IfcController; class IfcControllerType; class IfcConversionBasedUnit; class IfcConversionBasedUnitWithOffset; class IfcCooledBeam; class IfcCooledBeamType; class IfcCoolingTower; class IfcCoolingTowerType; class IfcCoordinateOperation; class IfcCoordinateReferenceSystem; class IfcCostItem; class IfcCostSchedule; class IfcCostValue; class IfcCovering; class IfcCoveringType; class IfcCrewResource; class IfcCrewResourceType; class IfcCsgPrimitive3D; class IfcCsgSolid; class IfcCurrencyRelationship; class IfcCurtainWall; class IfcCurtainWallType; class IfcCurve; class IfcCurveBoundedPlane; class IfcCurveBoundedSurface; class IfcCurveStyle; class IfcCurveStyleFont; class IfcCurveStyleFontAndScaling; class IfcCurveStyleFontPattern; class IfcCylindricalSurface; class IfcDamper; class IfcDamperType; class IfcDerivedProfileDef; class IfcDerivedUnit; class IfcDerivedUnitElement; class IfcDimensionalExponents; class IfcDirection; class IfcDiscreteAccessory; class IfcDiscreteAccessoryType; class IfcDistributionChamberElement; class IfcDistributionChamberElementType; class IfcDistributionCircuit; class IfcDistributionControlElement; class IfcDistributionControlElementType; class IfcDistributionElement; class IfcDistributionElementType; class IfcDistributionFlowElement; class IfcDistributionFlowElementType; class IfcDistributionPort; class IfcDistributionSystem; class IfcDocumentInformation; class IfcDocumentInformationRelationship; class IfcDocumentReference; class IfcDoor; class IfcDoorLiningProperties; class IfcDoorPanelProperties; class IfcDoorStandardCase; class IfcDoorStyle; class IfcDoorType; class IfcDraughtingPreDefinedColour; class IfcDraughtingPreDefinedCurveFont; class IfcDuctFitting; class IfcDuctFittingType; class IfcDuctSegment; class IfcDuctSegmentType; class IfcDuctSilencer; class IfcDuctSilencerType; class IfcEdge; class IfcEdgeCurve; class IfcEdgeLoop; class IfcElectricAppliance; class IfcElectricApplianceType; class IfcElectricDistributionBoard; class IfcElectricDistributionBoardType; class IfcElectricFlowStorageDevice; class IfcElectricFlowStorageDeviceType; class IfcElectricGenerator; class IfcElectricGeneratorType; class IfcElectricMotor; class IfcElectricMotorType; class IfcElectricTimeControl; class IfcElectricTimeControlType; class IfcElement; class IfcElementAssembly; class IfcElementAssemblyType; class IfcElementComponent; class IfcElementComponentType; class IfcElementQuantity; class IfcElementType; class IfcElementarySurface; class IfcEllipse; class IfcEllipseProfileDef; class IfcEnergyConversionDevice; class IfcEnergyConversionDeviceType; class IfcEngine; class IfcEngineType; class IfcEvaporativeCooler; class IfcEvaporativeCoolerType; class IfcEvaporator; class IfcEvaporatorType; class IfcEvent; class IfcEventTime; class IfcEventType; class IfcExtendedProperties; class IfcExternalInformation; class IfcExternalReference; class IfcExternalReferenceRelationship; class IfcExternalSpatialElement; class IfcExternalSpatialStructureElement; class IfcExternallyDefinedHatchStyle; class IfcExternallyDefinedSurfaceStyle; class IfcExternallyDefinedTextFont; class IfcExtrudedAreaSolid; class IfcExtrudedAreaSolidTapered; class IfcFace; class IfcFaceBasedSurfaceModel; class IfcFaceBound; class IfcFaceOuterBound; class IfcFaceSurface; class IfcFacetedBrep; class IfcFacetedBrepWithVoids; class IfcFailureConnectionCondition; class IfcFan; class IfcFanType; class IfcFastener; class IfcFastenerType; class IfcFeatureElement; class IfcFeatureElementAddition; class IfcFeatureElementSubtraction; class IfcFillAreaStyle; class IfcFillAreaStyleHatching; class IfcFillAreaStyleTiles; class IfcFilter; class IfcFilterType; class IfcFireSuppressionTerminal; class IfcFireSuppressionTerminalType; class IfcFixedReferenceSweptAreaSolid; class IfcFlowController; class IfcFlowControllerType; class IfcFlowFitting; class IfcFlowFittingType; class IfcFlowInstrument; class IfcFlowInstrumentType; class IfcFlowMeter; class IfcFlowMeterType; class IfcFlowMovingDevice; class IfcFlowMovingDeviceType; class IfcFlowSegment; class IfcFlowSegmentType; class IfcFlowStorageDevice; class IfcFlowStorageDeviceType; class IfcFlowTerminal; class IfcFlowTerminalType; class IfcFlowTreatmentDevice; class IfcFlowTreatmentDeviceType; class IfcFooting; class IfcFootingType; class IfcFurnishingElement; class IfcFurnishingElementType; class IfcFurniture; class IfcFurnitureType; class IfcGeographicElement; class IfcGeographicElementType; class IfcGeometricCurveSet; class IfcGeometricRepresentationContext; class IfcGeometricRepresentationItem; class IfcGeometricRepresentationSubContext; class IfcGeometricSet; class IfcGrid; class IfcGridAxis; class IfcGridPlacement; class IfcGroup; class IfcHalfSpaceSolid; class IfcHeatExchanger; class IfcHeatExchangerType; class IfcHumidifier; class IfcHumidifierType; class IfcIShapeProfileDef; class IfcImageTexture; class IfcIndexedColourMap; class IfcIndexedPolyCurve; class IfcIndexedPolygonalFace; class IfcIndexedPolygonalFaceWithVoids; class IfcIndexedTextureMap; class IfcIndexedTriangleTextureMap; class IfcInterceptor; class IfcInterceptorType; class IfcIntersectionCurve; class IfcInventory; class IfcIrregularTimeSeries; class IfcIrregularTimeSeriesValue; class IfcJunctionBox; class IfcJunctionBoxType; class IfcLShapeProfileDef; class IfcLaborResource; class IfcLaborResourceType; class IfcLagTime; class IfcLamp; class IfcLampType; class IfcLibraryInformation; class IfcLibraryReference; class IfcLightDistributionData; class IfcLightFixture; class IfcLightFixtureType; class IfcLightIntensityDistribution; class IfcLightSource; class IfcLightSourceAmbient; class IfcLightSourceDirectional; class IfcLightSourceGoniometric; class IfcLightSourcePositional; class IfcLightSourceSpot; class IfcLine; class IfcLocalPlacement; class IfcLoop; class IfcManifoldSolidBrep; class IfcMapConversion; class IfcMappedItem; class IfcMaterial; class IfcMaterialClassificationRelationship; class IfcMaterialConstituent; class IfcMaterialConstituentSet; class IfcMaterialDefinition; class IfcMaterialDefinitionRepresentation; class IfcMaterialLayer; class IfcMaterialLayerSet; class IfcMaterialLayerSetUsage; class IfcMaterialLayerWithOffsets; class IfcMaterialList; class IfcMaterialProfile; class IfcMaterialProfileSet; class IfcMaterialProfileSetUsage; class IfcMaterialProfileSetUsageTapering; class IfcMaterialProfileWithOffsets; class IfcMaterialProperties; class IfcMaterialRelationship; class IfcMaterialUsageDefinition; class IfcMeasureWithUnit; class IfcMechanicalFastener; class IfcMechanicalFastenerType; class IfcMedicalDevice; class IfcMedicalDeviceType; class IfcMember; class IfcMemberStandardCase; class IfcMemberType; class IfcMetric; class IfcMirroredProfileDef; class IfcMonetaryUnit; class IfcMotorConnection; class IfcMotorConnectionType; class IfcNamedUnit; class IfcObject; class IfcObjectDefinition; class IfcObjectPlacement; class IfcObjective; class IfcOccupant; class IfcOffsetCurve2D; class IfcOffsetCurve3D; class IfcOpenShell; class IfcOpeningElement; class IfcOpeningStandardCase; class IfcOrganization; class IfcOrganizationRelationship; class IfcOrientedEdge; class IfcOuterBoundaryCurve; class IfcOutlet; class IfcOutletType; class IfcOwnerHistory; class IfcParameterizedProfileDef; class IfcPath; class IfcPcurve; class IfcPerformanceHistory; class IfcPermeableCoveringProperties; class IfcPermit; class IfcPerson; class IfcPersonAndOrganization; class IfcPhysicalComplexQuantity; class IfcPhysicalQuantity; class IfcPhysicalSimpleQuantity; class IfcPile; class IfcPileType; class IfcPipeFitting; class IfcPipeFittingType; class IfcPipeSegment; class IfcPipeSegmentType; class IfcPixelTexture; class IfcPlacement; class IfcPlanarBox; class IfcPlanarExtent; class IfcPlane; class IfcPlate; class IfcPlateStandardCase; class IfcPlateType; class IfcPoint; class IfcPointOnCurve; class IfcPointOnSurface; class IfcPolyLoop; class IfcPolygonalBoundedHalfSpace; class IfcPolygonalFaceSet; class IfcPolyline; class IfcPort; class IfcPostalAddress; class IfcPreDefinedColour; class IfcPreDefinedCurveFont; class IfcPreDefinedItem; class IfcPreDefinedProperties; class IfcPreDefinedPropertySet; class IfcPreDefinedTextFont; class IfcPresentationItem; class IfcPresentationLayerAssignment; class IfcPresentationLayerWithStyle; class IfcPresentationStyle; class IfcPresentationStyleAssignment; class IfcProcedure; class IfcProcedureType; class IfcProcess; class IfcProduct; class IfcProductDefinitionShape; class IfcProductRepresentation; class IfcProfileDef; class IfcProfileProperties; class IfcProject; class IfcProjectLibrary; class IfcProjectOrder; class IfcProjectedCRS; class IfcProjectionElement; class IfcProperty; class IfcPropertyAbstraction; class IfcPropertyBoundedValue; class IfcPropertyDefinition; class IfcPropertyDependencyRelationship; class IfcPropertyEnumeratedValue; class IfcPropertyEnumeration; class IfcPropertyListValue; class IfcPropertyReferenceValue; class IfcPropertySet; class IfcPropertySetDefinition; class IfcPropertySetTemplate; class IfcPropertySingleValue; class IfcPropertyTableValue; class IfcPropertyTemplate; class IfcPropertyTemplateDefinition; class IfcProtectiveDevice; class IfcProtectiveDeviceTrippingUnit; class IfcProtectiveDeviceTrippingUnitType; class IfcProtectiveDeviceType; class IfcProxy; class IfcPump; class IfcPumpType; class IfcQuantityArea; class IfcQuantityCount; class IfcQuantityLength; class IfcQuantitySet; class IfcQuantityTime; class IfcQuantityVolume; class IfcQuantityWeight; class IfcRailing; class IfcRailingType; class IfcRamp; class IfcRampFlight; class IfcRampFlightType; class IfcRampType; class IfcRationalBSplineCurveWithKnots; class IfcRationalBSplineSurfaceWithKnots; class IfcRectangleHollowProfileDef; class IfcRectangleProfileDef; class IfcRectangularPyramid; class IfcRectangularTrimmedSurface; class IfcRecurrencePattern; class IfcReference; class IfcRegularTimeSeries; class IfcReinforcementBarProperties; class IfcReinforcementDefinitionProperties; class IfcReinforcingBar; class IfcReinforcingBarType; class IfcReinforcingElement; class IfcReinforcingElementType; class IfcReinforcingMesh; class IfcReinforcingMeshType; class IfcRelAggregates; class IfcRelAssigns; class IfcRelAssignsToActor; class IfcRelAssignsToControl; class IfcRelAssignsToGroup; class IfcRelAssignsToGroupByFactor; class IfcRelAssignsToProcess; class IfcRelAssignsToProduct; class IfcRelAssignsToResource; class IfcRelAssociates; class IfcRelAssociatesApproval; class IfcRelAssociatesClassification; class IfcRelAssociatesConstraint; class IfcRelAssociatesDocument; class IfcRelAssociatesLibrary; class IfcRelAssociatesMaterial; class IfcRelConnects; class IfcRelConnectsElements; class IfcRelConnectsPathElements; class IfcRelConnectsPortToElement; class IfcRelConnectsPorts; class IfcRelConnectsStructuralActivity; class IfcRelConnectsStructuralMember; class IfcRelConnectsWithEccentricity; class IfcRelConnectsWithRealizingElements; class IfcRelContainedInSpatialStructure; class IfcRelCoversBldgElements; class IfcRelCoversSpaces; class IfcRelDeclares; class IfcRelDecomposes; class IfcRelDefines; class IfcRelDefinesByObject; class IfcRelDefinesByProperties; class IfcRelDefinesByTemplate; class IfcRelDefinesByType; class IfcRelFillsElement; class IfcRelFlowControlElements; class IfcRelInterferesElements; class IfcRelNests; class IfcRelProjectsElement; class IfcRelReferencedInSpatialStructure; class IfcRelSequence; class IfcRelServicesBuildings; class IfcRelSpaceBoundary; class IfcRelSpaceBoundary1stLevel; class IfcRelSpaceBoundary2ndLevel; class IfcRelVoidsElement; class IfcRelationship; class IfcReparametrisedCompositeCurveSegment; class IfcRepresentation; class IfcRepresentationContext; class IfcRepresentationItem; class IfcRepresentationMap; class IfcResource; class IfcResourceApprovalRelationship; class IfcResourceConstraintRelationship; class IfcResourceLevelRelationship; class IfcResourceTime; class IfcRevolvedAreaSolid; class IfcRevolvedAreaSolidTapered; class IfcRightCircularCone; class IfcRightCircularCylinder; class IfcRoof; class IfcRoofType; class IfcRoot; class IfcRoundedRectangleProfileDef; class IfcSIUnit; class IfcSanitaryTerminal; class IfcSanitaryTerminalType; class IfcSchedulingTime; class IfcSeamCurve; class IfcSectionProperties; class IfcSectionReinforcementProperties; class IfcSectionedSpine; class IfcSensor; class IfcSensorType; class IfcShadingDevice; class IfcShadingDeviceType; class IfcShapeAspect; class IfcShapeModel; class IfcShapeRepresentation; class IfcShellBasedSurfaceModel; class IfcSimpleProperty; class IfcSimplePropertyTemplate; class IfcSite; class IfcSlab; class IfcSlabElementedCase; class IfcSlabStandardCase; class IfcSlabType; class IfcSlippageConnectionCondition; class IfcSolarDevice; class IfcSolarDeviceType; class IfcSolidModel; class IfcSpace; class IfcSpaceHeater; class IfcSpaceHeaterType; class IfcSpaceType; class IfcSpatialElement; class IfcSpatialElementType; class IfcSpatialStructureElement; class IfcSpatialStructureElementType; class IfcSpatialZone; class IfcSpatialZoneType; class IfcSphere; class IfcSphericalSurface; class IfcStackTerminal; class IfcStackTerminalType; class IfcStair; class IfcStairFlight; class IfcStairFlightType; class IfcStairType; class IfcStructuralAction; class IfcStructuralActivity; class IfcStructuralAnalysisModel; class IfcStructuralConnection; class IfcStructuralConnectionCondition; class IfcStructuralCurveAction; class IfcStructuralCurveConnection; class IfcStructuralCurveMember; class IfcStructuralCurveMemberVarying; class IfcStructuralCurveReaction; class IfcStructuralItem; class IfcStructuralLinearAction; class IfcStructuralLoad; class IfcStructuralLoadCase; class IfcStructuralLoadConfiguration; class IfcStructuralLoadGroup; class IfcStructuralLoadLinearForce; class IfcStructuralLoadOrResult; class IfcStructuralLoadPlanarForce; class IfcStructuralLoadSingleDisplacement; class IfcStructuralLoadSingleDisplacementDistortion; class IfcStructuralLoadSingleForce; class IfcStructuralLoadSingleForceWarping; class IfcStructuralLoadStatic; class IfcStructuralLoadTemperature; class IfcStructuralMember; class IfcStructuralPlanarAction; class IfcStructuralPointAction; class IfcStructuralPointConnection; class IfcStructuralPointReaction; class IfcStructuralReaction; class IfcStructuralResultGroup; class IfcStructuralSurfaceAction; class IfcStructuralSurfaceConnection; class IfcStructuralSurfaceMember; class IfcStructuralSurfaceMemberVarying; class IfcStructuralSurfaceReaction; class IfcStyleModel; class IfcStyledItem; class IfcStyledRepresentation; class IfcSubContractResource; class IfcSubContractResourceType; class IfcSubedge; class IfcSurface; class IfcSurfaceCurve; class IfcSurfaceCurveSweptAreaSolid; class IfcSurfaceFeature; class IfcSurfaceOfLinearExtrusion; class IfcSurfaceOfRevolution; class IfcSurfaceReinforcementArea; class IfcSurfaceStyle; class IfcSurfaceStyleLighting; class IfcSurfaceStyleRefraction; class IfcSurfaceStyleRendering; class IfcSurfaceStyleShading; class IfcSurfaceStyleWithTextures; class IfcSurfaceTexture; class IfcSweptAreaSolid; class IfcSweptDiskSolid; class IfcSweptDiskSolidPolygonal; class IfcSweptSurface; class IfcSwitchingDevice; class IfcSwitchingDeviceType; class IfcSystem; class IfcSystemFurnitureElement; class IfcSystemFurnitureElementType; class IfcTShapeProfileDef; class IfcTable; class IfcTableColumn; class IfcTableRow; class IfcTank; class IfcTankType; class IfcTask; class IfcTaskTime; class IfcTaskTimeRecurring; class IfcTaskType; class IfcTelecomAddress; class IfcTendon; class IfcTendonAnchor; class IfcTendonAnchorType; class IfcTendonType; class IfcTessellatedFaceSet; class IfcTessellatedItem; class IfcTextLiteral; class IfcTextLiteralWithExtent; class IfcTextStyle; class IfcTextStyleFontModel; class IfcTextStyleForDefinedFont; class IfcTextStyleTextModel; class IfcTextureCoordinate; class IfcTextureCoordinateGenerator; class IfcTextureMap; class IfcTextureVertex; class IfcTextureVertexList; class IfcTimePeriod; class IfcTimeSeries; class IfcTimeSeriesValue; class IfcTopologicalRepresentationItem; class IfcTopologyRepresentation; class IfcToroidalSurface; class IfcTransformer; class IfcTransformerType; class IfcTransportElement; class IfcTransportElementType; class IfcTrapeziumProfileDef; class IfcTriangulatedFaceSet; class IfcTrimmedCurve; class IfcTubeBundle; class IfcTubeBundleType; class IfcTypeObject; class IfcTypeProcess; class IfcTypeProduct; class IfcTypeResource; class IfcUShapeProfileDef; class IfcUnitAssignment; class IfcUnitaryControlElement; class IfcUnitaryControlElementType; class IfcUnitaryEquipment; class IfcUnitaryEquipmentType; class IfcValve; class IfcValveType; class IfcVector; class IfcVertex; class IfcVertexLoop; class IfcVertexPoint; class IfcVibrationIsolator; class IfcVibrationIsolatorType; class IfcVirtualElement; class IfcVirtualGridIntersection; class IfcVoidingFeature; class IfcWall; class IfcWallElementedCase; class IfcWallStandardCase; class IfcWallType; class IfcWasteTerminal; class IfcWasteTerminalType; class IfcWindow; class IfcWindowLiningProperties; class IfcWindowPanelProperties; class IfcWindowStandardCase; class IfcWindowStyle; class IfcWindowType; class IfcWorkCalendar; class IfcWorkControl; class IfcWorkPlan; class IfcWorkSchedule; class IfcWorkTime; class IfcZShapeProfileDef; class IfcZone; class IfcAbsorbedDoseMeasure; class IfcAccelerationMeasure; class IfcAmountOfSubstanceMeasure; class IfcAngularVelocityMeasure; class IfcArcIndex; class IfcAreaDensityMeasure; class IfcAreaMeasure; class IfcBinary; class IfcBoolean; class IfcBoxAlignment; class IfcCardinalPointReference; class IfcComplexNumber; class IfcCompoundPlaneAngleMeasure; class IfcContextDependentMeasure; class IfcCountMeasure; class IfcCurvatureMeasure; class IfcDate; class IfcDateTime; class IfcDayInMonthNumber; class IfcDayInWeekNumber; class IfcDescriptiveMeasure; class IfcDimensionCount; class IfcDoseEquivalentMeasure; class IfcDuration; class IfcDynamicViscosityMeasure; class IfcElectricCapacitanceMeasure; class IfcElectricChargeMeasure; class IfcElectricConductanceMeasure; class IfcElectricCurrentMeasure; class IfcElectricResistanceMeasure; class IfcElectricVoltageMeasure; class IfcEnergyMeasure; class IfcFontStyle; class IfcFontVariant; class IfcFontWeight; class IfcForceMeasure; class IfcFrequencyMeasure; class IfcGloballyUniqueId; class IfcHeatFluxDensityMeasure; class IfcHeatingValueMeasure; class IfcIdentifier; class IfcIlluminanceMeasure; class IfcInductanceMeasure; class IfcInteger; class IfcIntegerCountRateMeasure; class IfcIonConcentrationMeasure; class IfcIsothermalMoistureCapacityMeasure; class IfcKinematicViscosityMeasure; class IfcLabel; class IfcLanguageId; class IfcLengthMeasure; class IfcLineIndex; class IfcLinearForceMeasure; class IfcLinearMomentMeasure; class IfcLinearStiffnessMeasure; class IfcLinearVelocityMeasure; class IfcLogical; class IfcLuminousFluxMeasure; class IfcLuminousIntensityDistributionMeasure; class IfcLuminousIntensityMeasure; class IfcMagneticFluxDensityMeasure; class IfcMagneticFluxMeasure; class IfcMassDensityMeasure; class IfcMassFlowRateMeasure; class IfcMassMeasure; class IfcMassPerLengthMeasure; class IfcModulusOfElasticityMeasure; class IfcModulusOfLinearSubgradeReactionMeasure; class IfcModulusOfRotationalSubgradeReactionMeasure; class IfcModulusOfSubgradeReactionMeasure; class IfcMoistureDiffusivityMeasure; class IfcMolecularWeightMeasure; class IfcMomentOfInertiaMeasure; class IfcMonetaryMeasure; class IfcMonthInYearNumber; class IfcNonNegativeLengthMeasure; class IfcNormalisedRatioMeasure; class IfcNumericMeasure; class IfcPHMeasure; class IfcParameterValue; class IfcPlanarForceMeasure; class IfcPlaneAngleMeasure; class IfcPositiveInteger; class IfcPositiveLengthMeasure; class IfcPositivePlaneAngleMeasure; class IfcPositiveRatioMeasure; class IfcPowerMeasure; class IfcPresentableText; class IfcPressureMeasure; class IfcPropertySetDefinitionSet; class IfcRadioActivityMeasure; class IfcRatioMeasure; class IfcReal; class IfcRotationalFrequencyMeasure; class IfcRotationalMassMeasure; class IfcRotationalStiffnessMeasure; class IfcSectionModulusMeasure; class IfcSectionalAreaIntegralMeasure; class IfcShearModulusMeasure; class IfcSolidAngleMeasure; class IfcSoundPowerLevelMeasure; class IfcSoundPowerMeasure; class IfcSoundPressureLevelMeasure; class IfcSoundPressureMeasure; class IfcSpecificHeatCapacityMeasure; class IfcSpecularExponent; class IfcSpecularRoughness; class IfcStrippedOptional; class IfcTemperatureGradientMeasure; class IfcTemperatureRateOfChangeMeasure; class IfcText; class IfcTextAlignment; class IfcTextDecoration; class IfcTextFontName; class IfcTextTransformation; class IfcThermalAdmittanceMeasure; class IfcThermalConductivityMeasure; class IfcThermalExpansionCoefficientMeasure; class IfcThermalResistanceMeasure; class IfcThermalTransmittanceMeasure; class IfcThermodynamicTemperatureMeasure; class IfcTime; class IfcTimeMeasure; class IfcTimeStamp; class IfcTorqueMeasure; class IfcURIReference; class IfcVaporPermeabilityMeasure; class IfcVolumeMeasure; class IfcVolumetricFlowRateMeasure; class IfcWarpingConstantMeasure; class IfcWarpingMomentMeasure; /// The actor select type allows a person, or an organization, or a person associated with an organization to be referenced. /// @@ -120,12 +120,12 @@ typedef IfcUtil::IfcBaseClass IfcBooleanOperand; typedef IfcUtil::IfcBaseClass IfcClassificationReferenceSelect; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// -/// NOTE Generally, it is expected that selection will be by IfcClassificationReference to identify an individual classification notation that classifies an element in the building information model. For example an element, such as IfcTank, might be further classified by assigning an IfcClassificationReference with Identification = "L6814" and a ClassificationSource identifying the appropriate version of Uniclass. IfcClassification should only be selected in +/// NOTE  Generally, it is expected that selection will be by IfcClassificationReference to identify an individual classification notation that classifies an element in the building information model. For example an element, such as IfcTank, might be further classified by assigning an IfcClassificationReference with Identification = "L6814" and a ClassificationSource identifying the appropriate version of Uniclass. IfcClassification should only be selected in /// circumstances where there could be a need to indicate the classification system that will be used without associating a notation or reference to an individual object. This may occur for higher level objects such as IfcProject, IfcSystem, or similar. For example an IfcStructuralAnalysisModel might be classified to be applicable to a particular version of EuroCode. /// -/// HISTORY New select type in IFC2x +/// HISTORY  New select type in IFC2x /// -/// IFC2x4 CHANGE Select renamed from IfcClassificationNotationSelect. +/// IFC2x4 CHANGE  Select renamed from IfcClassificationNotationSelect. /// /// Select from: /// @@ -134,9 +134,9 @@ typedef IfcUtil::IfcBaseClass IfcClassificationReferenceSelect; typedef IfcUtil::IfcBaseClass IfcClassificationSelect; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// -/// NOTE Corresponding STEP name: colour. It has been made into a SELECT type in IFC to avoid multiple inheritance for pre defined colour. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. +/// NOTE  Corresponding STEP name: colour. It has been made into a SELECT type in IFC to avoid multiple inheritance for pre defined colour. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. typedef IfcUtil::IfcBaseClass IfcColour; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// @@ -144,7 +144,7 @@ typedef IfcUtil::IfcBaseClass IfcColour; typedef IfcUtil::IfcBaseClass IfcColourOrFactor; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// -/// HISTORY New select type in IFC2x4. +/// HISTORY  New select type in IFC2x4. typedef IfcUtil::IfcBaseClass IfcCoordinateReferenceSystemSelect; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. @@ -168,7 +168,7 @@ typedef IfcUtil::IfcBaseClass IfcCurveOnSurface; /// IfcCurve /// IfcEdgeCurve /// -/// HISTORY New select type in IFC2x Edition 3. +/// HISTORY  New select type in IFC2x Edition 3. typedef IfcUtil::IfcBaseClass IfcCurveOrEdgeCurve; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// @@ -292,7 +292,7 @@ typedef IfcUtil::IfcBaseClass IfcGeometricSetSelect; typedef IfcUtil::IfcBaseClass IfcGridPlacementDirectionSelect; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// -/// HISTORY New type in IFC2x3. +/// HISTORY  New type in IFC2x3. typedef IfcUtil::IfcBaseClass IfcHatchLineDistanceSelect; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// @@ -400,15 +400,15 @@ typedef IfcUtil::IfcBaseClass IfcModulusOfSubgradeReactionSelect; typedef IfcUtil::IfcBaseClass IfcModulusOfTranslationalSubgradeReactionSelect; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// -/// HISTORY New select type in IFC Release 2.0. +/// HISTORY  New select type in IFC Release 2.0. typedef IfcUtil::IfcBaseClass IfcObjectReferenceSelect; -/// IfcPointOrVertexPointprovides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. +/// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT /// /// IfcPoint, /// IfcVertexPoint /// -/// HISTORY New select type in IFC2x Edition 3. +/// HISTORY  New select type in IFC2x Edition 3. typedef IfcUtil::IfcBaseClass IfcPointOrVertexPoint; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. /// @@ -446,7 +446,7 @@ typedef IfcUtil::IfcBaseClass IfcProductSelect; typedef IfcUtil::IfcBaseClass IfcPropertySetDefinitionSelect; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// -/// HISTORY New Select type in IFC2x4. +/// HISTORY  New Select type in IFC2x4. typedef IfcUtil::IfcBaseClass IfcResourceObjectSelect; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, @@ -464,7 +464,7 @@ typedef IfcUtil::IfcBaseClass IfcResourceSelect; typedef IfcUtil::IfcBaseClass IfcRotationalStiffnessSelect; typedef IfcUtil::IfcBaseClass IfcSegmentIndexSelect; -/// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 X < . +/// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. /// /// A shell of dimensionality 0 is represented by a graph consisting of a single vertex. The vertex shall not have any associated edges. /// A shell of dimensionality 1 is represented by a connected graph of dimensionality 1. @@ -472,9 +472,9 @@ typedef IfcUtil::IfcBaseClass IfcSegmentIndexSelect; /// /// Shells of dimensionality 0 and 1 are not part of the current IFC release. /// -/// NOTE Corresponding ISO 10303 type: shell. Please refer to ISO/IS 10303-42:1994, p. 127 for the final definition of the formal standard. Only the select items closed_shell (IfcClosedShell) and open_shell (IfcOpenShell) have been incorporated in the current IFC release. +/// NOTE  Corresponding ISO 10303 type: shell. Please refer to ISO/IS 10303-42:1994, p. 127 for the final definition of the formal standard. Only the select items closed_shell (IfcClosedShell) and open_shell (IfcOpenShell) have been incorporated in the current IFC release. /// -/// HISTORY New type in IFC2x. +/// HISTORY  New type in IFC2x. typedef IfcUtil::IfcBaseClass IfcShell; /// IfcSimpleValue is a select type for selecting between simple value types. /// @@ -500,14 +500,14 @@ typedef IfcUtil::IfcBaseClass IfcSimpleValue; /// /// Definition from ISO: The size (or width) measure value is given in the global drawing length units. /// -/// NOTE global units are defined at the single IfcProject instance, given by UnitsInContext:IfcUnitAssignment, the same units are used for the geometric representation items and for the style definitions. +/// NOTE  global units are defined at the single IfcProject instance, given by UnitsInContext:IfcUnitAssignment, the same units are used for the geometric representation items and for the style definitions. /// -/// NOTE Corresponding ISO 10303 name: size_select. Please refer to ISO/IS 10303-46:1994 for the final +/// NOTE  Corresponding ISO 10303 name: size_select. Please refer to ISO/IS 10303-46:1994 for the final /// definition of the formal standard. /// -/// HISTORY New type in IFC2x2. +/// HISTORY  New type in IFC2x2. /// -/// IFC2x3 CHANGE The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. +/// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. typedef IfcUtil::IfcBaseClass IfcSizeSelect; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT @@ -570,7 +570,7 @@ typedef IfcUtil::IfcBaseClass IfcStyleAssignmentSelect; /// IfcFaceSurface /// IfcFaceBasedSurfaceModel (a connected face set, representing a faceted surface as an approximation of a non planar, non rectangular bounded surface) /// -/// HISTORY New select type in IFC2x3. +/// HISTORY  New select type in IFC2x3. typedef IfcUtil::IfcBaseClass IfcSurfaceOrFaceSurface; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// @@ -584,11 +584,11 @@ typedef IfcUtil::IfcBaseClass IfcSurfaceOrFaceSurface; typedef IfcUtil::IfcBaseClass IfcSurfaceStyleElementSelect; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// -/// NOTE IfcTextFontSelect is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation. Corresponding ISO 10303 name: font_select. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. +/// NOTE  IfcTextFontSelect is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation. Corresponding ISO 10303 name: font_select. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. /// -/// HISTORY New type in IFC2x2. +/// HISTORY  New type in IFC2x2. /// -/// IFC2x3 CHANGE The select type has been renamed from IfcFontSelect. +/// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. typedef IfcUtil::IfcBaseClass IfcTextFontSelect; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 @@ -1033,7 +1033,7 @@ namespace IfcBuildingElementProxyTypeEnum { /// USERDEFINED /// /// NOTDEFINED -typedef enum {IfcBuildingElementProxyType_COMPLEX, IfcBuildingElementProxyType_ELEMENT, IfcBuildingElementProxyType_PARTIAL, IfcBuildingElementProxyType_PROVISIONFORVOID, IfcBuildingElementProxyType_USERDEFINED, IfcBuildingElementProxyType_NOTDEFINED} IfcBuildingElementProxyTypeEnum; +typedef enum {IfcBuildingElementProxyType_COMPLEX, IfcBuildingElementProxyType_ELEMENT, IfcBuildingElementProxyType_PARTIAL, IfcBuildingElementProxyType_PROVISIONFORVOID, IfcBuildingElementProxyType_PROVISIONFORSPACE, IfcBuildingElementProxyType_USERDEFINED, IfcBuildingElementProxyType_NOTDEFINED} IfcBuildingElementProxyTypeEnum; const char* ToString(IfcBuildingElementProxyTypeEnum v); IfcBuildingElementProxyTypeEnum FromString(const std::string& s); } @@ -1326,7 +1326,7 @@ namespace IfcConnectionTypeEnum { /// RelatingConnectionType: AtPath /// RelatedConnectionType: AtStart /// -/// Figure 65 — Connection types::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects @@ -8193,7 +8199,7 @@ class IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { }; /// IfcConnectionGeometry is used to describe the geometric and topological constraints that facilitate the physical connection of two objects. It is envisioned as a control that applies to the element connection relationships. /// -/// NOTE The element connection relationship normally provides for a logical connection information, by referencing the relating and related elements. If in addition an IfcConnectionGeometry is provided, physical connection information is given by specifying exactly where at the relating and related element the element connection occurs. +/// NOTE  The element connection relationship normally provides for a logical connection information, by referencing the relating and related elements. If in addition an IfcConnectionGeometry is provided, physical connection information is given by specifying exactly where at the relating and related element the element connection occurs. /// Using the eccentricity subtypes, the connection can also be described when there is a physical distance (or eccentricity) between the connection elements. /// /// The IfcConnectionGeometry allows for the provision of connection constraints between geometric and topological elements, the following connection geometry/topology types are in scope: @@ -8202,9 +8208,9 @@ class IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { /// curve | edge curve, /// surface | face surface, /// -/// HISTORY New entity in IFC Release 1.5. +/// HISTORY  New entity in IFC Release 1.5. /// -/// IFC2x Edition 3 CHANGE The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face surface). +/// IFC2x Edition 3 CHANGE  The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face  surface). class IfcConnectionGeometry : public IfcUtil::IfcBaseEntity { public: virtual const IfcParse::entity& declaration() const; @@ -8218,13 +8224,13 @@ class IfcConnectionGeometry : public IfcUtil::IfcBaseEntity { /// physical connection of two objects at a point (here IfcCartesianPoint) or at an vertex with point /// coordinates associated. It is envisioned as a control that applies to the element connection relationships. /// -/// EXAMPLE The connection relationship between two path based elements (like a column and a beam) has a geometric constraint which describes the connection points by a PointOnRelatingElement for the column and a PointOnRelatedElement for the beam. The exact usage of the IfcConnectionPointGeometry is further defined in the geometry use sections of the elements that use it. +/// EXAMPLE  The connection relationship between two path based elements (like a column and a beam) has a geometric constraint which describes the connection points by a PointOnRelatingElement for the column and a PointOnRelatedElement for the beam. The exact usage of the IfcConnectionPointGeometry is further defined in the geometry use sections of the elements that use it. /// -/// NOTE If the point connection has an offset (if the two points or vertex points at the relating and related element do not physically match), the subtype IfcConnectionPointEccentricity shall be used. +/// NOTE  If the point connection has an offset (if the two points or vertex points at the relating and related element do not physically match), the subtype IfcConnectionPointEccentricity shall be used. /// -/// HISTORY New entity in IFC Release 1.5, has been renamed from IfcPointConnectionGeometry in IFC Release 2x. +/// HISTORY  New entity in IFC Release 1.5, has been renamed from IfcPointConnectionGeometry in IFC Release 2x. /// -/// IFC2x Edition 3 CHANGE The provision of topology with associated geometry, IfcVertexPoint, is +/// IFC2x Edition 3 CHANGE  The provision of topology with associated geometry, IfcVertexPoint, is /// enabled by using the IfcPointOrVertexPoint. /// /// Geometry use definitions @@ -8247,12 +8253,12 @@ class IfcConnectionPointGeometry : public IfcConnectionGeometry { }; /// IfcConnectionSurfaceGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a surface or at a face with surface geometry associated. It is envisioned as a control that applies to the element connection relationships. /// -/// HISTORY New entity in IFC Release 2x. +/// HISTORY  New entity in IFC Release 2x. /// -/// IFC2x Edition 3 CHANGE The provision of topology with associated geometry, IfcFaceSurface, is enabled by using the IfcSurfaceOrFaceSurface. +/// IFC2x Edition 3 CHANGE  The provision of topology with associated geometry, IfcFaceSurface, is enabled by using the IfcSurfaceOrFaceSurface. /// /// Geometry use definitions -/// The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the samesurface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute. +/// The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same surface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute. class IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. @@ -8347,13 +8353,13 @@ class IfcConstraint : public IfcUtil::IfcBaseEntity { IfcConstraint (std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade); typedef IfcTemplatedEntityList< IfcConstraint > list; }; -/// Definition from OpenGIS Abstract Specification, +/// Definition from OpenGIS® Abstract Specification, /// Topic 2: If the relationship between any two coordinate /// reference systems is known, coordinates can be transformed /// or converted to another coordinate reference system. /// Coordinate operations are divided into two subtypes: /// -/// Coordinate conversion – mathematical +/// Coordinate conversion – mathematical /// operation on coordinates that does not include any change /// of datum. The best-known example of a coordinate /// conversion is a map projection. The parameters describing @@ -8361,13 +8367,13 @@ class IfcConstraint : public IfcUtil::IfcBaseEntity { /// empirically derived. Note that some conversions have no /// parameters. /// -/// Coordinate transformation – mathematical +/// Coordinate transformation – mathematical /// operation on coordinates that usually includes a change /// of datum. The parameters of a coordinate transformation /// are empirically derived from data containing the /// coordinates of a series of points in both coordinate /// reference systems. This computational process is usually -/// ‘over-determined’, allowing derivation of +/// ‘over-determined’, allowing derivation of /// error (or accuracy) estimates for the transformation. /// Also, the stochastic nature of the parameters may result /// in multiple (different) versions of the same coordinate @@ -8392,7 +8398,7 @@ class IfcConstraint : public IfcUtil::IfcBaseEntity { /// engineering coordinate system of the construction project /// and any map or other coordinate reference system. /// -/// HISTORY New entity in IFC2x4. +/// HISTORY  New entity in IFC2x4. class IfcCoordinateOperation : public IfcUtil::IfcBaseEntity { public: /// Source coordinate reference system for the operation. @@ -8407,7 +8413,7 @@ class IfcCoordinateOperation : public IfcUtil::IfcBaseEntity { IfcCoordinateOperation (IfcCoordinateReferenceSystemSelect* v1_SourceCRS, IfcCoordinateReferenceSystem* v2_TargetCRS); typedef IfcTemplatedEntityList< IfcCoordinateOperation > list; }; -/// Definition from OpenGIS Abstract Specification, Topic +/// Definition from OpenGIS® Abstract Specification, Topic /// 2: A coordinate reference system is a coordinate system which /// is related to the real world by a datum. The coordinate system is /// composed of a set of coordinate axes with specified units of @@ -8420,7 +8426,7 @@ class IfcCoordinateOperation : public IfcUtil::IfcBaseEntity { /// interpretation of the identifier is expected to be well-known to /// the receiving software. /// -/// NOTE One widely-used, publicly-available +/// NOTE  One widely-used, publicly-available /// authority is the European Petroleum Survey Group (EPSG), and use /// of this authority is currently specified in several OGC /// Implementation Specifications. Software used to transport IFC @@ -8428,11 +8434,11 @@ class IfcCoordinateOperation : public IfcUtil::IfcBaseEntity { /// expected to have knowledge about the OGC Implementation /// Specifications. /// -/// HISTORY New entity in IFC2x4. +/// HISTORY  New entity in IFC2x4. class IfcCoordinateReferenceSystem : public IfcUtil::IfcBaseEntity { public: /// Name by which the coordinate reference system is identified. - /// Note The name shall be taken from the list recognized by the European Petroleum Survey Group EPSG. + /// Note  The name shall be taken from the list recognized by the European Petroleum Survey Group EPSG. std::string Name() const; void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcCoordinateReferenceSystem @@ -8637,7 +8643,7 @@ class IfcExternalReference : public IfcUtil::IfcBaseEntity { bool hasLocation() const; /// Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. /// - /// IFC2x4 CHANGE The data type has been changed from IfcLabel to IfcURIReference. + /// IFC2x4 CHANGE  The data type has been changed from IfcLabel to IfcURIReference. std::string Location() const; void setLocation(std::string v); /// Whether the optional attribute Identification is defined for this IfcExternalReference @@ -8683,11 +8689,11 @@ class IfcExternallyDefinedHatchStyle : public IfcExternalReference { }; /// IfcExternallyDefinedSurfaceStyle is a definition of a surface style through referencing an external source, such as a material library for rendering information. /// -/// NOTE In order to achieve expected results, the externally defined surface style should normally only be given in addition to an explicitly defined surface styles. +/// NOTE  In order to achieve expected results, the externally defined surface style should normally only be given in addition to an explicitly defined surface styles. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility. +/// IFC2x3 CHANGE  The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility. class IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { public: virtual const IfcParse::entity& declaration() const; @@ -8698,11 +8704,11 @@ class IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { }; /// Definition from ISO/CD 10303-46:1992: The externally defined text font is an external reference to a text font /// -/// NOTE Restrictions of the font source and font names to be used may be exposed by implementation guidelines. +/// NOTE  Restrictions of the font source and font names to be used may be exposed by implementation guidelines. /// -/// NOTE Corresponding ISO 10303 name: externally_defined_text_font. Please refer to ISO/IS 10303-46:1994, p. 137 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: externally_defined_text_font. Please refer to ISO/IS 10303-46:1994, p. 137 for the final definition of the formal standard. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcExternallyDefinedTextFont : public IfcExternalReference { public: virtual const IfcParse::entity& declaration() const; @@ -8713,7 +8719,7 @@ class IfcExternallyDefinedTextFont : public IfcExternalReference { }; /// An individual axis, IfcGridAxis, is defined in the context of a design grid. The axis definition is based on a curve of dimensionality 2. The grid axis is positioned within the XY plane of the position coordinate system defined by the IfcDesignGrid. /// -/// HISTORY New entity in IFC Release 1.0 +/// HISTORY  New entity in IFC Release 1.0 /// /// Geometry use definitions /// The standard geometric representation of IfcGridAxis is @@ -8733,7 +8739,7 @@ class IfcExternallyDefinedTextFont : public IfcExternalReference { /// offset to the base axis. The use of IfcOffsetCurve2D as /// underlying AxisCurve supports this concept. /// -/// Figure 242 — Grid axis +/// Figure 242 — Grid axis class IfcGridAxis : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute AxisTag is defined for this IfcGridAxis @@ -8776,12 +8782,12 @@ class IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { }; /// An IfcLibraryInformation describes a library where a library is a structured store of information, normally organized in a manner which allows information lookup through an index or reference value. IfcLibraryInformation provides the library Name and optional Version, VersionDate and Publisher attributes. A Location may be added for electronic access to the library. /// -/// NOTE The complete definition of the information in an external library is out of scope in this IFC release. +/// NOTE  The complete definition of the information in an external library is out of scope in this IFC release. /// -/// HISTORY New +/// HISTORY  New /// Entity in IFC2x. /// -/// IFC2x4 CHANGE Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). +/// IFC2x4 CHANGE  Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). class IfcLibraryInformation : public IfcExternalInformation { public: /// The name which is used to identify the library. @@ -8801,14 +8807,14 @@ class IfcLibraryInformation : public IfcExternalInformation { bool hasVersionDate() const; /// Date of the referenced version of the library. /// - /// IFC2x4 CHANGE The data type has been changed to IfcDate, the date string according to ISO8601. + /// IFC2x4 CHANGE  The data type has been changed to IfcDate, the date string according to ISO8601. std::string VersionDate() const; void setVersionDate(std::string v); /// Whether the optional attribute Location is defined for this IfcLibraryInformation bool hasLocation() const; /// Resource identifier or locator, provided as URI, URN or URL, of the library information for online references. /// - /// IFC2x4 CHANGE New attribute added at the end of the attribute list. + /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. std::string Location() const; void setLocation(std::string v); /// Whether the optional attribute Description is defined for this IfcLibraryInformation @@ -8827,23 +8833,23 @@ class IfcLibraryInformation : public IfcExternalInformation { /// /// The ifcLibraryReference additionally provides the capability to handle multilingual library entries. The Language attribute then holds the language tag for the language used by the strings kept in the Name and the Description attribute. /// -/// HISTORY New Entity in IFC2.0. +/// HISTORY  New Entity in IFC2.0. /// -/// IFC2x4 CHANGE Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). +/// IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). class IfcLibraryReference : public IfcExternalReference { public: /// Whether the optional attribute Description is defined for this IfcLibraryReference bool hasDescription() const; /// Additional description provided for the library reference. /// - /// IFC2x4 CHANGE New attribute added at the end of the attribute list. + /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. std::string Description() const; void setDescription(std::string v); /// Whether the optional attribute Language is defined for this IfcLibraryReference bool hasLanguage() const; /// The language in which a library reference is expressed. /// - /// IFC2x4 CHANGE New attribute added at the end of the attribute list. + /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. std::string Language() const; void setLanguage(std::string v); /// Whether the optional attribute ReferencedLibrary is defined for this IfcLibraryReference @@ -8911,41 +8917,41 @@ class IfcLightIntensityDistribution : public IfcUtil::IfcBaseEntity { }; /// The map conversion deals with transforming the local engineering coordinate system, often called world coordinate system, into the coordinate reference system of the underlying map. /// -/// NOTE The IfcMapConversion does not handle the projection of a map from the geodetic coordinate reference system. +/// NOTE  The IfcMapConversion does not handle the projection of a map from the geodetic coordinate reference system. /// /// The map conversion allows to convert the local origin of the local engineering coordinate system to its place within a map (easting, northing, orthogonal height) and to rotate the x-axis of the local engineering coordinate system within the horizontal (easting/westing) plane of the map. /// -/// NOTE The z axis of the local engineering coordinate system is always parallel to the z axis of the map coordinate system. +/// NOTE  The z axis of the local engineering coordinate system is always parallel to the z axis of the map coordinate system. /// /// The scale factor can be used when the length unit for the 3 axes of the map coordinate system are not identical with the length unit established for this project (seeIfcProject.UnitsInContext), if omitted, the scale factor 1.0 is assumed. /// -/// HISTORY New entity in IFC2x4. +/// HISTORY  New entity in IFC2x4. class IfcMapConversion : public IfcCoordinateOperation { public: /// Specifies the location along the easting of the coordinate system of the target map coordinate reference system. - /// NOTE for right-handed Cartesian coordinate systems this would establish the location along the x axis + /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the x axis double Eastings() const; void setEastings(double v); /// Specifies the location along the northing of the coordinate system of the target map coordinate reference system. - /// NOTE for right-handed Cartesian coordinate systems this would establish the location along the y axis + /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the y axis double Northings() const; void setNorthings(double v); /// Orthogonal height relativ to the vertical datum specified. - /// NOTE for right-handed Cartesian coordinate systems this would establish the location along the z axis + /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the z axis double OrthogonalHeight() const; void setOrthogonalHeight(double v); /// Whether the optional attribute XAxisAbscissa is defined for this IfcMapConversion bool hasXAxisAbscissa() const; /// Specifies the value along the easing axis of the end point of a vector indicating the position of the local x axis of the engineering coordinate reference system. - /// NOTE for right-handed Cartesian coordinate systems this would establish the location along the x axis - /// NOTE together with the XAxisOrdinate it provides the direction of the local x axis within the horizontal plane of the map coordinate system + /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the x axis + /// NOTE  together with the XAxisOrdinate it provides the direction of the local x axis within the horizontal plane of the map coordinate system double XAxisAbscissa() const; void setXAxisAbscissa(double v); /// Whether the optional attribute XAxisOrdinate is defined for this IfcMapConversion bool hasXAxisOrdinate() const; /// Specifies the value along the northing axis of the end point of a vector indicating the position of the local x axis of the engineering coordinate reference system. - /// NOTE for right-handed Cartesian coordinate systems this would establish the location along the y axis - /// NOTE together with the XAxisAbscissa it provides the direction of the local x axis within the horizontal plane of the map coordinate system + /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the y axis + /// NOTE  together with the XAxisAbscissa it provides the direction of the local x axis within the horizontal plane of the map coordinate system double XAxisOrdinate() const; void setXAxisOrdinate(double v); /// Whether the optional attribute Scale is defined for this IfcMapConversion @@ -9015,7 +9021,7 @@ class IfcMaterialDefinition : public IfcUtil::IfcBaseEntity { }; /// IfcMaterialLayer is a single and identifiable part of an element which is constructed of a number of layers (one or more). Each IfcMaterialLayer has a constant thickness and is located relative to the referencing IfcMaterialLayerSet along the MlsBase. /// -/// EXAMPLE A cavity wall with brick masonry used with +/// EXAMPLE  A cavity wall with brick masonry used with /// an air gap in between would be modeled using three /// IfcMaterialLayer's: [1] Brick, [2] Air gap, [3] Brick. The /// inner layer "Brick" would have a Name = "Brick", an @@ -9028,14 +9034,14 @@ class IfcMaterialDefinition : public IfcUtil::IfcBaseEntity { /// that might be different to the IfcMaterial name /// referenced. /// -/// EXAMPLE The IfcMaterialLayer name of an +/// EXAMPLE  The IfcMaterialLayer name of an /// insulation layer can be "Insulation", whereas the /// IfcMaterial name is "polystyrene insulating /// boards". /// -/// HISTORY New entity in IFC 1.5 +/// HISTORY  New entity in IFC 1.5 /// -/// IFC2x4 CHANGE The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. +/// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. class IfcMaterialLayer : public IfcMaterialDefinition { public: /// Whether the optional attribute Material is defined for this IfcMaterialLayer @@ -9045,9 +9051,9 @@ class IfcMaterialLayer : public IfcMaterialDefinition { void setMaterial(IfcMaterial* v); /// The thickness of the material layer. The dimension is measured along the positive MlsDirection as specified in IfcMaterialLayerSet (that is mapped to AXIS-2, as specified in IfcMaterialLayerSetUsage for element occurrences supporting IfcMaterialLayerSetUsage. /// - /// NOTE The attribute value can be 0. for material thicknesses very close to zero, such as for a membrane. Material layers with thickess 0. shall not be rendered in the geometric representation. + /// NOTE  The attribute value can be 0. for material thicknesses very close to zero, such as for a membrane. Material layers with thickess 0. shall not be rendered in the geometric representation. /// - /// IFC2x4 CHANGE The attribute datatype has been changed to IfcNonNegativeLengthMeasure allowing for 0. as thickness. + /// IFC2x4 CHANGE  The attribute datatype has been changed to IfcNonNegativeLengthMeasure allowing for 0. as thickness. double LayerThickness() const; void setLayerThickness(double v); /// Whether the optional attribute IsVentilated is defined for this IfcMaterialLayer @@ -9105,9 +9111,9 @@ class IfcMaterialLayer : public IfcMaterialDefinition { /// gap is identified, using the IsVentilated flag at /// IfcMaterialLayer. /// -/// HISTORY New entity in IFC 1.0 +/// HISTORY  New entity in IFC 1.0 /// -/// IFC2x4 CHANGE Subtyped from IfcMaterialDefinition, the attribute Description +/// IFC2x4 CHANGE  Subtyped from IfcMaterialDefinition, the attribute Description /// has been added at the end of attribute list. /// /// Attribute use definition @@ -9118,7 +9124,7 @@ class IfcMaterialLayer : public IfcMaterialDefinition { /// first layer starting from the MlsBase and following layers being /// placed on top of the previous (no gaps or overlaps). /// -/// Figure 285 — Material layer set +/// Figure 285 — Material layer set class IfcMaterialLayerSet : public IfcMaterialDefinition { public: /// Identification of the layers from which the material layer set is composed. @@ -9133,7 +9139,7 @@ class IfcMaterialLayerSet : public IfcMaterialDefinition { bool hasDescription() const; /// Definition of the material layer set in descriptive terms. /// - /// IFC2x4 CHANGE The attribute has been added at the end of attribute list. + /// IFC2x4 CHANGE  The attribute has been added at the end of attribute list. std::string Description() const; void setDescription(std::string v); virtual const IfcParse::entity& declaration() const; @@ -9153,7 +9159,7 @@ class IfcMaterialLayerSet : public IfcMaterialDefinition { /// between layers; gaps shall be modeled as layers with appropriate /// material assignment for the void. /// -/// EXAMPLE At the top of a standard wall, +/// EXAMPLE   At the top of a standard wall, /// with shape representation SweptSolid, offset of a given layer can /// be specified in the direction of the extrusion (positive Z axis), /// applied at the start or end (extruded from bottom to top), and with @@ -9170,7 +9176,7 @@ class IfcMaterialLayerSet : public IfcMaterialDefinition { /// OffsetValues[2] = 100.0 (default unit assumed to /// be mm) /// -/// HISTORY New Entity in IFC2x4. +/// HISTORY  New Entity in IFC2x4. /// /// Informal propositions /// @@ -9184,7 +9190,7 @@ class IfcMaterialLayerSet : public IfcMaterialDefinition { /// The OffsetValues and OffsetDirection correspond to the definitions ReferenceExtent and LayerSetDirection at the IfcMaterialLayerSetUsage. /// Figure 289 shows an example of applying the OffsetValues to the material layers of a standard wall. /// -/// Figure 289 — Material layer with offsets +/// Figure 289 — Material layer with offsets class IfcMaterialLayerWithOffsets : public IfcMaterialLayer { public: /// Orientation of the offset; shall be perpendicular to the parent layer set direction. @@ -9293,7 +9299,7 @@ class IfcMaterialProfileSet : public IfcMaterialDefinition { bool hasCompositeProfile() const; /// Reference to the composite profile definition for which this material profile set associates material to each of its individual profile. /// - /// NOTE + /// NOTE   /// The referenced IfcCompositeProfileDef instance shall be composed of all of the IfcProfileDef instances which are used via the MaterialProfiles list in the current IfcMaterialProfileSet . IfcCompositeProfileDef* CompositeProfile() const; void setCompositeProfile(IfcCompositeProfileDef* v); @@ -9597,7 +9603,7 @@ class IfcOrganization : public IfcUtil::IfcBaseEntity { /// /// IfcOwnerHistory is used to identify the creating and owning application and user for the associated object, as well as capture the last modifying application and user. /// -/// HISTORY New entity in IFC R1.0. Modified in IFC R2x4. +/// HISTORY  New entity in IFC R1.0. Modified in IFC R2x4. /// /// Informal propositions /// @@ -9737,7 +9743,7 @@ class IfcPersonAndOrganization : public IfcUtil::IfcBaseEntity { /// /// The Name attribute defines the actual usage or kind of measure. The interpretation of the name label has to be established within the actual exchange context. In addition an informative text may be associated to each quantity by the Description attribute. /// -/// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. +/// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity { public: /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. @@ -9758,13 +9764,13 @@ class IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity { }; /// The physical quantity, IfcPhysicalSimpleQuantity, is an entity that holds a single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity) together with a semantic definition of the usage for the measure value. /// -/// EXAMPLE An element, like a wall, may have several area measures, like footprint area, left wall face area, right wall face area. These areas would be given by three instances of the area quantity subtype, with different Name string values. +/// EXAMPLE  An element, like a wall, may have several area measures, like footprint area, left wall face area, right wall face area. These areas would be given by three instances of the area quantity subtype, with different Name string values. /// /// A section "Quantity Use Definition" at individual entities as subtypes of IfcBuildingElement gives guidance to the usage of the Name attribute to characterize the individual quantities. If the Unit attribute is given, the value attribute (introduced at the level of subtypes of IfcPhysicalSimpleQuantity) are given as quantities of this unit, otherwise the global unit definitions (given by IfcUnitAssignment) are used. /// /// HISTORY New entity in IFC2x2 Addendum 1. /// -/// IFC2x2 ADDENDUM 1 CHANGE The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. +/// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: /// Whether the optional attribute Unit is defined for this IfcPhysicalSimpleQuantity @@ -9841,19 +9847,19 @@ class IfcPresentationItem : public IfcUtil::IfcBaseEntity { }; /// The presentation layer assignment provides the layer name (and optionally a description and an identifier) for a collection of geometric representation items. The IfcPresentationLayerAssignment corresponds to the term "CAD Layer" and is used mainly for grouping and visibility control. /// -/// NOTE The use of presentation layer shall be restricted to simple grouping and displaying purposes. +/// NOTE  The use of presentation layer shall be restricted to simple grouping and displaying purposes. /// /// Visibility and access control and layer style assignment (colour, line style, line width) is handled by the subtype IfcPresentationLayerAssignmentWithStyle. /// -/// NOTE Corresponding ISO 10303 name: presentation layer assignment. Please refer to ISO/IS 10303-46:1994, p. 36 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: presentation layer assignment. Please refer to ISO/IS 10303-46:1994, p. 36 for the final definition of the formal standard. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// /// Attribute use definition /// /// Figure 305 illustrates assignment of items by shape representation or representation item. The set of AssignedItems can either include a whole shape representation, or individual geometric representation items. If both, the IfcShapeRepresentation has a layer assignment, and an individual geometric representation item in the set of IfcShapeRepresentation.Items, then the layer assignment of the IfcGeometricRepresentationItem overides the layer assignment of the IfcShapeRepresentation. /// -/// Figure 305 — Presentation layer assignment +/// Figure 305 — Presentation layer assignment class IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { public: /// Name of the layer. @@ -9882,15 +9888,15 @@ class IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { /// /// The visibility control allows to define a layer to be either 'on' or 'off', and/or 'frozen' or 'not frozen'. The access control allows to block graphical entities from manipulations by setting a layer to be either 'blocked' or 'not blocked'. Common style information can be given to the layer. /// -/// NOTE Style information assigned to layers is often restricted to 'layer colour', 'curve font', and/or 'curve width'. These styles are assigned by using the IfcCurveStyle within the LayerStyles. +/// NOTE  Style information assigned to layers is often restricted to 'layer colour', 'curve font', and/or 'curve width'. These styles are assigned by using the IfcCurveStyle within the LayerStyles. /// /// NOTE: If a styled item is assigned to a layer using the IfcPresentationLayerAssignmentWithStyle, it inherits the style information from the layer. In this case, it should omit its own style information. If the styled item has style information assigned (such as by IfcCurveStyle, IfcFillAreaStyle, IfcTextStyle, IfcSurfaceStyle, IfcSymbolStyle), then it overrides the style provided by the IfcPresentationLayerAssignmentWithStyle. /// -/// NOTE The IfcPresentationLayerAssignmentWithStyle extends the presentation_layer_assignment entity as defined in ISO/IS 10303-46:1994, p. 36. +/// NOTE  The IfcPresentationLayerAssignmentWithStyle extends the presentation_layer_assignment entity as defined in ISO/IS 10303-46:1994, p. 36. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE The attributes have been modified without upward compatibility. +/// IFC2x3 CHANGE  The attributes have been modified without upward compatibility. class IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { public: /// A logical setting, TRUE indicates that the layer is set to 'On', FALSE that the layer is set to 'Off', UNKNOWN that such information is not available. @@ -9904,9 +9910,9 @@ class IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { void setLayerBlocked(boost::logic::tribool v); /// Assignment of presentation styles to the layer to provide a default style for representation items. /// - /// NOTE In most cases the assignment of styles to a layer is restricted to an IfcCurveStyle representing the layer curve colour, layer curve thickness, and layer curve type. + /// NOTE  In most cases the assignment of styles to a layer is restricted to an IfcCurveStyle representing the layer curve colour, layer curve thickness, and layer curve type. /// - /// IFC2x4 CHANGE The data type has been changed from IfcPresentationStyleSelect (now deprecated) to IfcPresentationStyle. + /// IFC2x4 CHANGE  The data type has been changed from IfcPresentationStyleSelect (now deprecated) to IfcPresentationStyle. IfcTemplatedEntityList< IfcPresentationStyle >::ptr LayerStyles() const; void setLayerStyles(IfcTemplatedEntityList< IfcPresentationStyle >::ptr v); virtual const IfcParse::entity& declaration() const; @@ -9917,9 +9923,9 @@ class IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { }; /// IfcPresentationStyle is an abstract generalization of style table for presentation information assigned to geometric representation items. It includes styles for curves, areas, surfaces, text and symbols. Style information may include colour, hatching, rendering, and text fonts. /// -/// Each subtype of IfcPresentationStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or one of its subtypes. +/// Each subtype of  IfcPresentationStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or one of its subtypes. /// -/// HISTORY New entity in IFC2x3. +/// HISTORY  New entity in IFC2x3. class IfcPresentationStyle : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcPresentationStyle @@ -9957,15 +9963,15 @@ class IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity { /// /// NOTE: The definition /// of this entity relates to the ISO 10303 entity property_definition. -/// The use of the term ‘property’ was avoided since it +/// The use of the term ‘property’ was avoided since it /// conflicts with the property, property type, and property set /// definitions elsewhere in the IFC model. /// /// HISTORY New entity in IFC Release 2.0 /// -/// IFC2x3 NOTEUsers should not instantiate the entity from IFC2x Edition 3 onwards. +/// IFC2x3 NOTE Users should not instantiate the entity from IFC2x Edition 3 onwards. /// -/// IFC2x4 CHANGE Entity made abstract. +/// IFC2x4 CHANGE  Entity made abstract. class IfcProductRepresentation : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcProductRepresentation @@ -10004,11 +10010,11 @@ class IfcProductRepresentation : public IfcUtil::IfcBaseEntity { /// profiles can be defined, which include two or more profile definitions /// to define the resulting profile. /// -/// HISTORY New class in IFC Release 1.5, the capabilities have been extended in IFC Release 2x. +/// HISTORY  New class in IFC Release 1.5, the capabilities have been extended in IFC Release 2x. /// Profiles can now support swept surfaces and swept area solids with /// inner boundaries. It had been renamed from IfcAttDrivenProfileDef. /// -/// IFC2x4 CHANGE Changed from ABSTRACT to non-abstract for uses which do not +/// IFC2x4 CHANGE  Changed from ABSTRACT to non-abstract for uses which do not /// require an explicitly defined geometry. Added inverse attributes HasProperties and HasExternalReference. /// /// Use in material association @@ -10049,7 +10055,7 @@ class IfcProductRepresentation : public IfcUtil::IfcBaseEntity { /// on transformations of the start profile and thus maintaining the /// identity of vertices and edges. /// -/// NOTE Subtypes of the IfcProfileDef +/// NOTE  Subtypes of the IfcProfileDef /// contain parameterized profiles (as subtypes of IfcParameterizedProfileDef) /// which establish their own 2D position coordinate system, profiles given /// by explicit curve geometry (either open or closed profiles) and two @@ -10083,7 +10089,7 @@ class IfcProductRepresentation : public IfcUtil::IfcBaseEntity { /// Sweeping /// /// In the later use of the IfcProfileDef -/// within the swept surface or swept area solid, e.g. the IfcExtrudedAreaSolid +/// within the swept surface or swept area solid,  e.g. the IfcExtrudedAreaSolid /// (here used as an example), the profile boundaries (here based on the 2D /// position coordinate system of IfcParameterizedProfileDef) /// are placed within the xy plane of the 3D position coordinate system of @@ -10105,7 +10111,7 @@ class IfcProductRepresentation : public IfcUtil::IfcBaseEntity { /// when using IfcCompositeProfileDef the insertion depends on /// the subtype of the included sub-profiles. /// -/// Figure 320 — Profile sweeping +/// Figure 320 — Profile sweeping /// /// Profile types /// @@ -10115,7 +10121,7 @@ class IfcProductRepresentation : public IfcUtil::IfcBaseEntity { /// /// ProfileType = CURVE /// -/// Figure 321 — Profile types +/// Figure 321 — Profile types /// /// Profile specification by external reference /// @@ -10175,7 +10181,7 @@ class IfcProfileDef : public IfcUtil::IfcBaseEntity { IfcProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName); typedef IfcTemplatedEntityList< IfcProfileDef > list; }; -/// Definition from OpenGIS Abstract Specification, +/// Definition from OpenGIS® Abstract Specification, /// Topic 2: A 2D (or with vertical coordinate axis 3D) /// coordinate reference system used to approximate the shape /// of the earth on a planar surface, but in such a way that @@ -10197,7 +10203,7 @@ class IfcProfileDef : public IfcUtil::IfcBaseEntity { /// optional MapUnit attribute can be used determine the /// length unit used by the map. /// -/// HISTORY New entity in IFC2x4. +/// HISTORY  New entity in IFC2x4. class IfcProjectedCRS : public IfcCoordinateReferenceSystem { public: /// Whether the optional attribute MapProjection is defined for this IfcProjectedCRS @@ -10219,7 +10225,7 @@ class IfcProjectedCRS : public IfcCoordinateReferenceSystem { /// Whether the optional attribute MapUnit is defined for this IfcProjectedCRS bool hasMapUnit() const; /// Unit of the coordinate axes composing the map coordinate system. - /// NOTE Only length measures are in scope and all two or three axes of the map coordinate system shall have the same length unit. + /// NOTE  Only length measures are in scope and all two or three axes of the map coordinate system shall have the same length unit. IfcNamedUnit* MapUnit() const; void setMapUnit(IfcNamedUnit* v); virtual const IfcParse::entity& declaration() const; @@ -10268,22 +10274,22 @@ class IfcPropertyAbstraction : public IfcUtil::IfcBaseEntity { /// IfcString /// - /// -/// +///   /// Opposed /// IfcString -/// -/// +///   /// +///   /// Other /// IfcString -/// -/// +///   /// +///   /// Unset /// IfcString -/// +///   /// -/// HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x. +/// HISTORY  New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x. class IfcPropertyEnumeration : public IfcPropertyAbstraction { public: /// Name of this enumeration. @@ -10305,9 +10311,9 @@ class IfcPropertyEnumeration : public IfcPropertyAbstraction { }; /// IfcQuantityArea is a physical quantity that defines a derived area measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// -/// EXAMPLE An opening may have an opening area used to deduct it from the wall surface area. The actual size of the area depends on the method of measurement used. +/// EXAMPLE  An opening may have an opening area used to deduct it from the wall surface area. The actual size of the area depends on the method of measurement used. /// -/// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. +/// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: /// Area measure value of this quantity. @@ -10328,9 +10334,9 @@ class IfcQuantityArea : public IfcPhysicalSimpleQuantity { }; /// IfcQuantityCount is a physical quantity that defines a derived count measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// -/// EXAMPLE An radiator may be measured according to its number of coils. The actual counting method depends on the method of measurement used. +/// EXAMPLE  An radiator may be measured according to its number of coils. The actual counting method depends on the method of measurement used. /// -/// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. +/// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: /// Count measure value of this quantity. @@ -10351,9 +10357,9 @@ class IfcQuantityCount : public IfcPhysicalSimpleQuantity { }; /// IfcQuantityLength is a physical quantity that defines a derived length measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// -/// EXAMPLE A rafter within a roof construction may be measured according to its length (taking a common cross section into account). The actual size of the length depends on the method of measurement used. +/// EXAMPLE  A rafter within a roof construction may be measured according to its length (taking a common cross section into account). The actual size of the length depends on the method of measurement used. /// -/// HISTORY New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases. +/// HISTORY  New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases. class IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: /// Length measure value of this quantity. @@ -10374,9 +10380,9 @@ class IfcQuantityLength : public IfcPhysicalSimpleQuantity { }; /// IfcQuantityTime is an element quantity that defines a time measure to provide an property of time related to an element. It is normally given by the recipe information of the element under the specific measure rules given by a method of measurement. /// -/// EXAMPLE The amount of time needed to pour concrete for a wall is given as a time quantity for the labor part of the recipe information. +/// EXAMPLE  The amount of time needed to pour concrete for a wall is given as a time quantity for the labor part of the recipe information. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: /// Time measure value of this quantity. @@ -10397,7 +10403,7 @@ class IfcQuantityTime : public IfcPhysicalSimpleQuantity { }; /// IfcQuantityVolume is a physical quantity that defines a derived volume measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// -/// EXAMPLE A thick brick wall may be measured according to its volume. The actual size of the volume depends on the method of measurement used. +/// EXAMPLE  A thick brick wall may be measured according to its volume. The actual size of the volume depends on the method of measurement used. /// /// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IfcQuantityVolume : public IfcPhysicalSimpleQuantity { @@ -10420,9 +10426,9 @@ class IfcQuantityVolume : public IfcPhysicalSimpleQuantity { }; /// IfcQuantityWeight is a physical element quantity that defines a derived weight measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// -/// EXAMPLE The amount of reinforcement used within a building element may be measured according to its weight. The actual size of the weight depends on the method of measurement used. +/// EXAMPLE  The amount of reinforcement used within a building element may be measured according to its weight. The actual size of the weight depends on the method of measurement used. /// -/// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. +/// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: /// Mass measure value of this quantity. @@ -10566,19 +10572,19 @@ class IfcReference : public IfcUtil::IfcBaseEntity { /// IfcElement, or in view definitions / implementer /// agreements. /// -/// NOTEThe definition of this +/// NOTE The definition of this /// entity relates to the ISO 10303 entity representation. Please /// refer to ISO/IS 10303-43:1994 for the final definition of /// the formal standard. /// -/// HISTORY New entity in IFC Release 2.0 +/// HISTORY  New entity in IFC Release 2.0 /// -/// IFC2x3 CHANGE The +/// IFC2x3 CHANGE  The /// inverse attributes LayerAssignments /// andRepresentationMap have been added with upward /// compatibility. /// -/// IFC2x4 CHANGE Entity +/// IFC2x4 CHANGE  Entity /// IfcRepresentation has been changed into an ABSTRACT /// supertype. class IfcRepresentation : public IfcUtil::IfcBaseEntity { @@ -10613,9 +10619,9 @@ class IfcRepresentation : public IfcUtil::IfcBaseEntity { /// /// The IfcRepresentationContext defines the context to which the IfcRepresentation of a product is related. /// -/// NOTE The definition of this class relates to the ISO 10303 entity representation_context. Please refer to ISO/IS 10303-43:1994 for the final definition of the formal standard. +/// NOTE  The definition of this class relates to the ISO 10303 entity representation_context. Please refer to ISO/IS 10303-43:1994 for the final definition of the formal standard. /// -/// HISTORY New entity in IFC Release 1.5. +/// HISTORY  New entity in IFC Release 1.5. /// /// IFC2x4 CHANGE Entity made abstract, had been deprecated from instantiation since /// IFC2x2. @@ -10646,30 +10652,30 @@ class IfcRepresentationContext : public IfcUtil::IfcBaseEntity { /// representation item when it is referenced by that representation /// item. /// -/// NOTE Corresponding entity in ISO 10303-43:1994: representation_item. Please refer to ISO/IS 10303-43:1994, for the final definition of the formal standard. The following changes have been made: The attribute 'name' and the WR1 have not been incorporated. +/// NOTE  Corresponding entity in ISO 10303-43:1994: representation_item. Please refer to ISO/IS 10303-43:1994, for the final definition of the formal standard. The following changes have been made: The attribute 'name' and the WR1 have not been incorporated. /// /// The IfcRepresentationItem is used within an IfcRepresentation (directly or indirectly through other IfcRepresentationItem's) to represent an IfcProductRepresentation. Most commonly these IfcRepresentationItem's are geometric or topological representation items, that can (but not need to) have presentation style infomation assigned. /// -/// NOTE The assignment of a style is only applicable +/// NOTE  The assignment of a style is only applicable /// to the subtypes IfcGeometricRepresentationItem, IfcMappedItem and some selected subtypes of IfcTopologicalRepresentationItem (IfcVertexPoint, IfcEdgeCurve, IfcFaceSurface). /// /// In case that presentation style information is applied, it can be either applied by an IfcStyledItem, or by an assignment to an IfcPresentationLayerWithStyle. If both are present, and both style assignments include the same subtype of IfcPresentationStyle, then the style assigned by IfcStyledItem takes priority. /// /// Figure 281 shows an instance diagram explaining the use of IfcStyledItem and IfcPresentationLayerWithStyle to apply presentation styles. /// -/// EXAMPLE The assignment of style information by a styled item and a presentation layer with style. Since the presentation styles are different, IfcCurveStyle and IfcSurfaceStyle, both are applied to the geometric representation item. +/// EXAMPLE  The assignment of style information by a styled item and a presentation layer with style. Since the presentation styles are different, IfcCurveStyle and IfcSurfaceStyle, both are applied to the geometric representation item. /// -/// Figure 281 — Representation item style +/// Figure 281 — Representation item style /// /// Figure 282 shows in instance diagram explaining the override of IfcPresentationLayerWithStyle by IfcStyledItem to apply presentation styles. /// -/// EXAMPLE The assignment of style information by a styled item and a presentation layer with style. Since the presentation styles for curve style are aprovided by both, the IfcCurveStyle provided by the IfcStyledItem overrides the IfcCurveStyle provided by the IfcPresentationLayerWithStyle +/// EXAMPLE  The assignment of style information by a styled item and a presentation layer with style. Since the presentation styles for curve style are aprovided by both, the IfcCurveStyle provided by the IfcStyledItem overrides the IfcCurveStyle provided by the IfcPresentationLayerWithStyle /// -/// Figure 282 — Representation item style override +/// Figure 282 — Representation item style override /// -/// HISTORY New entity in IFC Release 2x. +/// HISTORY  New entity in IFC Release 2x. /// -/// IFC2x3 CHANGE The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. +/// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. class IfcRepresentationItem : public IfcUtil::IfcBaseEntity { public: IfcTemplatedEntityList< IfcPresentationLayerAssignment >::ptr LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems @@ -10682,15 +10688,15 @@ class IfcRepresentationItem : public IfcUtil::IfcBaseEntity { }; /// Definition from ISO/CD 10303-43:1992: A representation map is the identification of a representation and a representation item in that representation for the purpose of mapping. The representation item defines the origin of the mapping. The representation map is used as the source of a mapping by a mapped item. /// -/// NOTE Corresponding ISO 10303 entity: representation_map. Please refer to ISO/IS 10303-43:1994, for the final definition of the formal standard. The following changes have been made: The mapping_origin (MappingOrigin) is constrained to be of type axis2_placement (IfcAxis2Placement). +/// NOTE  Corresponding ISO 10303 entity: representation_map. Please refer to ISO/IS 10303-43:1994, for the final definition of the formal standard. The following changes have been made: The mapping_origin (MappingOrigin) is constrained to be of type axis2_placement (IfcAxis2Placement). /// /// An IfcRepresentationMap defines the base definition (also referred to as block, cell or macro) called MappedRepresentation within the MappingOrigin. The MappingOrigin defines the coordinate system in which the MappedRepresentation is defined. /// /// The RepresentationMap is used through an IfcMappeditem in one or several IfcShapeRepresentation's. An Cartesian transformation operator can be applied to transform the MappedRepresentation into the placement coordinate system of the shape representation. The transformation of the representation map is restricted to be a Cartesian transformation mapping (translation, rotation, mirroring and scaling). /// -/// NOTE The definition of a mapping which is used to specify a new representation item comprises a representation map and a mapped item entity. Without both entities, the mapping is not fully defined. Two entities are specified to allow the same source representation to be mapped into multiple new representations. +/// NOTE  The definition of a mapping which is used to specify a new representation item comprises a representation map and a mapped item entity. Without both entities, the mapping is not fully defined. Two entities are specified to allow the same source representation to be mapped into multiple new representations. /// -/// HISTORY New entity in IFC Release 2x. +/// HISTORY  New entity in IFC Release 2x. class IfcRepresentationMap : public IfcUtil::IfcBaseEntity { public: /// An axis2 placement that defines the position about which the mapped @@ -10749,7 +10755,7 @@ class IfcRoot : public IfcUtil::IfcBaseEntity { /// /// NOTE only the last modification in stored - either as addition, deletion or modification. /// - /// IFC2x4 CHANGE The attribute has been changed to be OPTIONAL. + /// IFC2x4 CHANGE  The attribute has been changed to be OPTIONAL. IfcOwnerHistory* OwnerHistory() const; void setOwnerHistory(IfcOwnerHistory* v); /// Whether the optional attribute Name is defined for this IfcRoot @@ -10784,7 +10790,7 @@ class IfcSIUnit : public IfcNamedUnit { void setPrefix(IfcSIPrefix::IfcSIPrefix v); /// The word, or group of words, by which the SI unit is referred to. /// - /// NOTE Even though the SI system's base unit for mass is kilogram, the IfcSIUnit for mass is gram if no Prefix is asserted. + /// NOTE  Even though the SI system's base unit for mass is kilogram, the IfcSIUnit for mass is gram if no Prefix is asserted. IfcSIUnitName::IfcSIUnitName Name() const; void setName(IfcSIUnitName::IfcSIUnitName v); virtual const IfcParse::entity& declaration() const; @@ -10831,14 +10837,14 @@ class IfcSchedulingTime : public IfcUtil::IfcBaseEntity { /// product shape represent a distinctive part to a product /// that can be explicitly addressed. /// -/// NOTEThe definition of +/// NOTE The definition of /// this class relates to the ISO 10303 entity shape_aspect. Please /// refer to ISO/IS 10303-41:1994 for the final definition of /// the formal standard. /// -/// HISTORY New Entity in IFC Release 2.0 +/// HISTORY  New Entity in IFC Release 2.0 /// -/// IFC 2x4 CHANGE Attribute +/// IFC 2x4 CHANGE  Attribute /// PartOfProductDefinitionShape declared OPTIONAL with /// upward compatibility for file based exchange. /// @@ -10860,7 +10866,7 @@ class IfcSchedulingTime : public IfcUtil::IfcBaseEntity { class IfcShapeAspect : public IfcUtil::IfcBaseEntity { public: /// List of shape representations. Each member defines a valid representation of a particular type within a particular representation context as being an aspect (or part) of a product definition. - /// IFC2x Edition 3 CHANGE The data type has been changed from IfcShapeRepresentation to IfcShapeModel with upward compatibility + /// IFC2x Edition 3 CHANGE  The data type has been changed from IfcShapeRepresentation to IfcShapeModel with upward compatibility IfcTemplatedEntityList< IfcShapeModel >::ptr ShapeRepresentations() const; void setShapeRepresentations(IfcTemplatedEntityList< IfcShapeModel >::ptr v); /// Whether the optional attribute Name is defined for this IfcShapeAspect @@ -10904,10 +10910,10 @@ class IfcShapeAspect : public IfcUtil::IfcBaseEntity { /// The IfcShapeModel can be a shape representation /// (geometric and/or topologogical) of a product (via /// IfcProductDefinitionShape), or a shape representation -/// (geometric and/or topologogical) of a component of a product +/// (geometric and/or topologogical)  of a component of a product /// shape (via IfcShapeAspect). /// -/// HISTORY New entity in IFC2x3. +/// HISTORY  New entity in IFC2x3. class IfcShapeModel : public IfcRepresentation { public: IfcTemplatedEntityList< IfcShapeAspect >::ptr OfShapeAspect() const; // INVERSE IfcShapeAspect::ShapeRepresentations @@ -11047,11 +11053,11 @@ class IfcShapeModel : public IfcRepresentation { /// Table 1: string values for the inherited attribute /// 'RepresentationType'. /// -/// NOTE The definition of this entity relates to the ISO 10303 entity shape_representation. Please refer to ISO/IS 10303-41:1994 for the final definition of the formal standard. +/// NOTE  The definition of this entity relates to the ISO 10303 entity shape_representation. Please refer to ISO/IS 10303-41:1994 for the final definition of the formal standard. /// -/// HISTORY New entity in IFC Release 1.5. +/// HISTORY  New entity in IFC Release 1.5. /// -/// IFC2x4 CHANGE The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added. +/// IFC2x4 CHANGE  The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added. class IfcShapeRepresentation : public IfcShapeModel { public: virtual const IfcParse::entity& declaration() const; @@ -11102,7 +11108,7 @@ class IfcStructuralLoad : public IfcUtil::IfcBaseEntity { /// If the loads or results comprise a curve activity, 1-dimensional locations shall be given, measured locally along the curve. The location shall not exceed the bounds of the curve actvity. The load samples and corresponding locations shall be given in ascending order of locations. /// If the loads or results comprise a surface activity, 2-dimensional locations shall be given, measured in the surface activity's local x and y directions. The location shall not exceed the bounds of the surface activity. /// -/// NOTE There are no ordering requirements in the 2-dimensional case, but the 1-dimensional case shall be spatially ordered for simplicity. +/// NOTE  There are no ordering requirements in the 2-dimensional case, but the 1-dimensional case shall be spatially ordered for simplicity. class IfcStructuralLoadConfiguration : public IfcStructuralLoad { public: /// List of load or result values. @@ -11143,9 +11149,9 @@ class IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { }; /// An instance of the entity IfcStructuralLoadTemperature shall be used to define actions which are caused by a temperature change. As shown in Figure 332, the change of temperature is given with a constant value which is applied to the complete section and values for temperature differences between outer fibres of the section. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// Figure 332 — Structural load temperature +/// Figure 332 — Structural load temperature class IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: /// Whether the optional attribute DeltaTConstant is defined for this IfcStructuralLoadTemperature @@ -11179,7 +11185,7 @@ class IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { /// /// IfcStyleModel can be a style representation (presentation style) of a material (via IfcMaterialDefinitionRepresentation), potentially differentiated for different representation contexts (for example, different material hatching depending on the scale of the target representation context). /// -/// HISTORY New entity in IFC2x3. +/// HISTORY  New entity in IFC2x3. class IfcStyleModel : public IfcRepresentation { public: virtual const IfcParse::entity& declaration() const; @@ -11190,16 +11196,16 @@ class IfcStyleModel : public IfcRepresentation { }; /// Definition from ISO/CD 10303-46:1992: The styled item is an assignment of style for presentation to a geometric representation item as it is used in a representation. /// -/// NOTE Corresponding ISO 10303 name: styled_item. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: styled_item. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// The IfcStyledItem holds presentation style information for products, either explicitly for an IfcGeometricRepresentationItem being part of an IfcShapeRepresentation assigned to a product, or by assigning presentation information to IfcMaterial being assigned as other representation for a product. /// /// If the IfcStyledItem is used within a reference from an IfcProductDefinitionShape then one Item shall be provided. /// If the IfcStyledItem is used within a reference from an IfcMaterialDefinitionRepresentation then no Item shall be provided. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x2 Addendum 1 CHANGE The entity IfcStyledItem has been made non abstract and the attribute Name added. +/// IFC2x2 Addendum 1 CHANGE  The entity IfcStyledItem has been made non abstract and the attribute Name added. /// /// IFC2x3 CHANGE The attribute Item has been made optional, upward compatibility for file /// based exchange is guaranteed. @@ -11213,9 +11219,9 @@ class IfcStyleModel : public IfcRepresentation { /// As a presentation for a geometric representation item /// As a presentation for a material definition /// -/// NOTE The new IfcStyleAssignmentSelect allows the direct assignment styles, such as IfcCurveStyle, IfcSurfaceStyle without using the intermediate IfcPresentationStyleAssignment +/// NOTE  The new IfcStyleAssignmentSelect allows the direct assignment styles, such as IfcCurveStyle, IfcSurfaceStyle without using the intermediate IfcPresentationStyleAssignment /// -/// Figure 293 — Styled item +/// Figure 293 — Styled item class IfcStyledItem : public IfcRepresentationItem { public: /// Whether the optional attribute Item is defined for this IfcStyledItem @@ -11246,11 +11252,11 @@ class IfcStyledItem : public IfcRepresentationItem { }; /// The IfcStyledRepresentation represents the concept of a styled presentation being a representation of a product or a product component, like material. within a representation context. This representation context does not need to be (but may be) a geometric representation context. /// -/// NOTE Current usage of IfcStyledRepresentation is restricted to the assignment of presentation information to an material. The IfcStyledRepresentation includes only presentation styles (IfcCurveStyle, FillAreaStyle, IfcSurfaceStyle) that define how a material should be presented within a particular (eventually view and scale dependent) representation context. All instances of IfcStyledRepresentation are referenced by IfcMaterialDefinitionRepresentation, and assigned to IfcMaterial by IfcMaterialDefinitionRepresentation.RepresentedMaterial. +/// NOTE  Current usage of IfcStyledRepresentation is restricted to the assignment of presentation information to an material. The IfcStyledRepresentation includes only presentation styles (IfcCurveStyle, FillAreaStyle, IfcSurfaceStyle) that define how a material should be presented within a particular (eventually view and scale dependent) representation context. All instances of IfcStyledRepresentation are referenced by IfcMaterialDefinitionRepresentation, and assigned to IfcMaterial by IfcMaterialDefinitionRepresentation.RepresentedMaterial. /// /// A styled representation has to include one or several styled items with the associated style information (curve, symbol, text, fill area, or surface styles). It shall not contain the geometric representation items that are styled. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcStyledRepresentation : public IfcStyleModel { public: virtual const IfcParse::entity& declaration() const; @@ -11261,7 +11267,7 @@ class IfcStyledRepresentation : public IfcStyleModel { }; /// Definition from IAI: Describes required or provided reinforcement area of surface members. /// -/// NOTE Member design parameters like concrete cover, effective depth, orientation of meshes or rebars (two, optionally three directions) etc. are not specified in IfcStructuralLoadResource schema. They shall be specified at the level of structural members. +/// NOTE  Member design parameters like concrete cover, effective depth, orientation of meshes or rebars (two, optionally three directions) etc. are not specified in IfcStructuralLoadResource schema. They shall be specified at the level of structural members. /// /// HISTORY: New entity in IFC 2x4. class IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { @@ -11312,13 +11318,13 @@ class IfcSurfaceStyle : public IfcPresentationStyle { /// /// Figure 294 shows the reflection and transmission components from an incident ray. The sum of the components for reflection and transmission is a value of 1.0 denoting that the incident ray is completely decomposed into reflection and transmission components. Each value of reflection and transmission is therefore within the range 0.0 to 1.0. /// -/// Figure 294 — Surface style lighting +/// Figure 294 — Surface style lighting /// /// All these factors can be measured physically and are ratios for the red, green and blue part of the light. These properties are defined in the model as Type IfcColorRGB with a factor for each colour. /// -/// EXAMPLE A green glass transmits only green light, so its transmission factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. A green surface reflects only green light, so the reflectance factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. +/// EXAMPLE  A green glass transmits only green light, so its transmission factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. A green surface reflects only green light, so the reflectance factor is 0.0 for red, between 0.0 and 1.0 for green and 0.0 for blue. /// -/// HISTORY New entity in IFC 2x2. +/// HISTORY  New entity in IFC 2x2. class IfcSurfaceStyleLighting : public IfcPresentationItem { public: /// The degree of diffusion of the transmitted light. In the case of completely transparent materials there is no diffusion. The greater the diffusing power, the smaller the direct component of the transmitted light, up to the point where only diffuse light is produced.A value of 1 means totally diffuse for that colour part of the light. @@ -11401,11 +11407,11 @@ class IfcSurfaceStyleShading : public IfcPresentationItem { /// /// Only one instance of IfcSurfaceStyleWithTextures shall be referenced by an IfcStyledItem and be assigned to an IfcGeometricRepresentationItem /// -/// NOTE The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. +/// NOTE  The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE inverse attribute HasTextureCoordinates deleted. +/// IFC2x3 CHANGE  inverse attribute HasTextureCoordinates deleted. class IfcSurfaceStyleWithTextures : public IfcPresentationItem { public: /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. @@ -11446,15 +11452,15 @@ class IfcSurfaceStyleWithTextures : public IfcPresentationItem { /// Full RGB textures (three-component) /// Full RGB plus alpha opacity textures (four-component) /// -/// NOTE Image formats specify an alpha opacity, not transparency (where alpha = 1 - transparency). +/// NOTE  Image formats specify an alpha opacity, not transparency (where alpha = 1 - transparency). /// /// Figure 295 illustrates the texture coordinate system. /// -/// Figure 295 — Surface texture coordinates +/// Figure 295 — Surface texture coordinates /// /// The following definitions from ISO/IEC 19775-1 X3D Architecture and base components (X3D Specification) on texture coordinates apply: /// -/// Texture maps are defined in a 2D coordinate system (s,t) that ranges from [0.0, 1.0] in both directions. The bottom edge of the image corresponds to the S-axis of the texture map, and left edge of the image corresponds to the T-axis of the texture map. The lower-left pixel of the image corresponds to s=0, t=0, and the top-right pixel of the image corresponds to s=1, t=1. Texture maps may be viewed as two dimensional colour functions that, given an (s,t) coordinate, return a colour value colour(s,t). +/// Texture maps are defined in a 2D coordinate system (s, t) that ranges from [0.0, 1.0] in both directions. The bottom edge of the image corresponds to the S-axis of the texture map, and left edge of the image corresponds to the T-axis of the texture map. The lower-left pixel of the image corresponds to s=0, t=0, and the top-right pixel of the image corresponds to s=1, t=1. Texture maps may be viewed as two dimensional colour functions that, given an (s, t) coordinate, return a colour value colour(s, t). /// /// If multiple surface textures are included in the /// IfcSurfaceStyleWithTextures applying them to a geometric @@ -11479,15 +11485,15 @@ class IfcSurfaceStyleWithTextures : public IfcPresentationItem { /// are twice as large and thus cause the texture to repeat). A /// translation of (0.5 0.0) translates the texture coordinates +.5 /// units along the S-axis and has the net effect of translating the -/// texture −0.5 along the S-axis on the geometry's surface. A -/// rotation of π/2 of the texture coordinates results in a -/// −π/2 rotation of the texture on the geometry. +/// texture −0.5 along the S-axis on the geometry's surface. A +/// rotation of π/2 of the texture coordinates results in a +/// −π/2 rotation of the texture on the geometry. /// The center /// field specifies a translation offset in texture coordinate space /// about which the rotation and scale fields are /// applied. The scale field specifies a scaling factor in S and /// T of the texture coordinates about the center point. -/// scale values shall be in the range (−∞,∞). +/// scale values shall be in the range (−∞,∞). /// The rotation field specifies a rotation in radians of the /// texture coordinates about the center point after the scale /// has been applied. A positive rotation value makes the texture @@ -11504,11 +11510,11 @@ class IfcSurfaceStyleWithTextures : public IfcPresentationItem { /// scale S = TextureTransform.Scale /// scale T = TextureTransform.Scale2 /// -/// NOTE The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. +/// NOTE  The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. /// -/// HISTORY New entity in IFC 2x2. +/// HISTORY  New entity in IFC 2x2. /// -/// IFC2x4 CHANGE Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. +/// IFC2x4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. class IfcSurfaceTexture : public IfcPresentationItem { public: /// The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. @@ -11521,9 +11527,9 @@ class IfcSurfaceTexture : public IfcPresentationItem { bool hasMode() const; /// The Mode attribute is provided to control the appearance of a multi textures. The mode then controls the type of blending operation. The mode includes a MODULATE for a lit appearance, a REPLACE for a unlit appearance, and variations of the two. /// - /// NOTE The applicable values for the Mode attribute are determined by view definitions or implementer agreements. It is recommended to use the modes described in ISO/IES 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1. See 18.4.3 MultiTexture for recommended values. + /// NOTE  The applicable values for the Mode attribute are determined by view definitions or implementer agreements. It is recommended to use the modes described in ISO/IES 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1. See 18.4.3 MultiTexture for recommended values. /// - /// IFC2x4 CHANGE New attribute replacing previous TextureType. + /// IFC2x4 CHANGE  New attribute replacing previous TextureType. std::string Mode() const; void setMode(std::string v); /// Whether the optional attribute TextureTransform is defined for this IfcSurfaceTexture @@ -11537,10 +11543,10 @@ class IfcSurfaceTexture : public IfcPresentationItem { bool hasParameter() const; /// The Parameter attribute is provided to control the appearance of a multi textures. The applicable parameters depend on the value of the Mode attribute. /// - /// NOTE The applicable values for the list of Parameter attributes are determined by view definitions or implementer agreements. It is recommended to use the source and the function fields described in ISO/IES 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1. See 18.4.3 MultiTexture for recommended values. + /// NOTE  The applicable values for the list of Parameter attributes are determined by view definitions or implementer agreements. It is recommended to use the source and the function fields described in ISO/IES 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1. See 18.4.3 MultiTexture for recommended values. /// By convention, Parameter[1] shall then hold the source value, Parameter[2] the function value, Parameter[3] the base RGB color for select operations, and Parameter[4] the alpha value for select operations. /// - /// IFC2x4 CHANGE New attribute added at the end of the attribute list. + /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. std::vector< std::string > /*[1:?]*/ Parameter() const; void setParameter(std::vector< std::string > /*[1:?]*/ v); IfcTemplatedEntityList< IfcTextureCoordinate >::ptr IsMappedBy() const; // INVERSE IfcTextureCoordinate::Maps @@ -11557,15 +11563,15 @@ class IfcSurfaceTexture : public IfcPresentationItem { /// /// Figure 335 illustrates table use. /// -/// Figure 335 — Table use +/// Figure 335 — Table use /// /// Figure 336 depicts how tables were structured prior to IFC2x4. /// -/// Figure 336 — Table use alternative +/// Figure 336 — Table use alternative /// -/// HISTORY New entity in IFC R1.5. +/// HISTORY  New entity in IFC R1.5. /// -/// IFC2x4 CHANGE Columns attribute added. +/// IFC2x4 CHANGE  Columns attribute added. class IfcTable : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcTable @@ -11593,7 +11599,7 @@ class IfcTable : public IfcUtil::IfcBaseEntity { /// /// The use of IfcTableColumn supercedes the IsHeading flag associated with IfcTableRow. /// -/// HISTORY New entity in IFC2x4. +/// HISTORY  New entity in IFC2x4. class IfcTableColumn : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Identifier is defined for this IfcTableColumn @@ -11632,13 +11638,13 @@ class IfcTableColumn : public IfcUtil::IfcBaseEntity { /// /// Figure 337 illustrates table row use. /// -/// Figure 337 — Table row use +/// Figure 337 — Table row use /// /// Figure 338 depicts how table rows were structured prior to IFC2x4 with the use of the IsHeading flag. Note that the use of the IfcTableColumn constructs should be used instead of the IsHeading flag (which remains for backward compatibility only): /// -/// Figure 338 — Table row use alternative +/// Figure 338 — Table row use alternative /// -/// HISTORY New entity in IFC R1.5. +/// HISTORY  New entity in IFC R1.5. class IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute RowCells is defined for this IfcTableRow @@ -11893,13 +11899,13 @@ class IfcTelecomAddress : public IfcAddress { /// /// An IfcTextStyle can be assigned to IfcTextLiteral via the IfcPresentationStyleAssignment through an intermediate IfcAnnotationTextOccurrence. /// -/// NOTE Corresponding ISO 10303 name: text_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. In order to avoid ANDOR subtype relationships, the IfcTextBlockStyleSelect has been introduced that allows the combination of a text style as having box characteristic, and/or having spacing, or having none of those additional properties. +/// NOTE  Corresponding ISO 10303 name: text_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. In order to avoid ANDOR subtype relationships, the IfcTextBlockStyleSelect has been introduced that allows the combination of a text style as having box characteristic, and/or having spacing, or having none of those additional properties. /// -/// NOTE Corresponding CSS1 definitions are: Font properties (font-family, font-style, font-variant, font-weight, font-size), Color and background properties (color, background-color) and Text properties (word-spacing, letter-spacing, text-decoration, text-transform, text-align, text-indent, line-height). +/// NOTE  Corresponding CSS1 definitions are: Font properties (font-family, font-style, font-variant, font-weight, font-size), Color and background properties (color, background-color) and Text properties (word-spacing, letter-spacing, text-decoration, text-transform, text-align, text-indent, line-height). /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. +/// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. class IfcTextStyle : public IfcPresentationStyle { public: /// Whether the optional attribute TextCharacterAppearance is defined for this IfcTextStyle @@ -11912,7 +11918,7 @@ class IfcTextStyle : public IfcPresentationStyle { /// The style applied to the text block for its visual appearance. /// It defines the text block characteristics, either for vector based or monospace text fonts (see select item IfcTextStyleWithBoxCharacteristics), or for true type text fonts (see select item IfcTextStyleTextModel. /// - /// IFC2x Edition 3 CHANGE The attribute TextBlockStyle has been changed from SET[1:?] to a non-aggregated optional, it has been renamed from TextStyles. + /// IFC2x Edition 3 CHANGE  The attribute TextBlockStyle has been changed from SET[1:?] to a non-aggregated optional, it has been renamed from TextStyles. IfcTextStyleTextModel* TextStyle() const; void setTextStyle(IfcTextStyleTextModel* v); /// The style applied to the text font for its visual appearance. @@ -11935,19 +11941,19 @@ class IfcTextStyle : public IfcPresentationStyle { /// /// Definition from CSS1 (W3C Recommendation): These properties describe the color (often called foreground color) and background of an element (i.e. the surface onto which the content is rendered). One can set a background color. /// -/// NOTE The CSS1 definition allows also for a background image. This has not been incorporated into IFC. +/// NOTE  The CSS1 definition allows also for a background image. This has not been incorporated into IFC. /// /// The IfcTextStyleForDefinedFont combines the text font color with an optional background color, that fills the text box, defined by the planar extent given to the text literal. /// -/// NOTE Corresponding ISO 10303 name: text_style_for_defined_font. Please refer to ISO/IS +/// NOTE  Corresponding ISO 10303 name: text_style_for_defined_font. Please refer to ISO/IS /// 10303-46:1994, p.122 for the final definition of the formal standard. The attribute BackgroundColour /// has been added. /// -/// NOTE Corresponding CSS1 definitions are Color and background properties (color, background-color). +/// NOTE  Corresponding CSS1 definitions are Color and background properties (color, background-color). /// -/// HISTORY New entity in IFC2x3. +/// HISTORY  New entity in IFC2x3. /// -/// IFC2x3 CHANGE The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. +/// IFC2x3 CHANGE  The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. class IfcTextStyleForDefinedFont : public IfcPresentationItem { public: /// This property describes the text color of an element (often referred to as the foreground color). @@ -11968,15 +11974,15 @@ class IfcTextStyleForDefinedFont : public IfcPresentationItem { /// /// The IfcTextStyleTextModel combines all text style properties, that affect the presentation of a text literal within a given extent. It includes the spacing between characters and words, the horizontal and vertical alignment of the text within the planar box of the extent, decorations (like underline), transformations of the literal (like uppercase), and the height of each text line within a multi-line text block. /// -/// NOTE Corresponding CSS1 definitions are Text properties (word-spacing, letter-spacing, text-decoration, vertical-align, text-transform, text-align, text-indent, line-height). +/// NOTE  Corresponding CSS1 definitions are Text properties (word-spacing, letter-spacing, text-decoration, vertical-align, text-transform, text-align, text-indent, line-height). /// -/// HISTORY New entity in IFC2x3. +/// HISTORY  New entity in IFC2x3. class IfcTextStyleTextModel : public IfcPresentationItem { public: /// Whether the optional attribute TextIndent is defined for this IfcTextStyleTextModel bool hasTextIndent() const; /// The property specifies the indentation that appears before the first formatted line. - /// NOTE It has been introduced for later compliance to full CSS1 support. + /// NOTE  It has been introduced for later compliance to full CSS1 support. IfcSizeSelect* TextIndent() const; void setTextIndent(IfcSizeSelect* v); /// Whether the optional attribute TextAlign is defined for this IfcTextStyleTextModel @@ -11992,26 +11998,26 @@ class IfcTextStyleTextModel : public IfcPresentationItem { /// Whether the optional attribute LetterSpacing is defined for this IfcTextStyleTextModel bool hasLetterSpacing() const; /// The length unit indicates an addition to the default space between characters. Values can be negative, but there may be implementation-specific limits. The user agent is free to select the exact spacing algorithm. The letter spacing may also be influenced by justification (which is a value of the 'align' property). - /// NOTE The following values are allowed, IfcDescriptiveMeasure with value='normal', or IfcLengthMeasure, the length unit is globally defined at IfcUnitAssignment. + /// NOTE  The following values are allowed, IfcDescriptiveMeasure with value='normal', or IfcLengthMeasure, the length unit is globally defined at IfcUnitAssignment. IfcSizeSelect* LetterSpacing() const; void setLetterSpacing(IfcSizeSelect* v); /// Whether the optional attribute WordSpacing is defined for this IfcTextStyleTextModel bool hasWordSpacing() const; /// The length unit indicates an addition to the default space between words. Values can be negative, but there may be implementation-specific limits. The user agent is free to select the exact spacing algorithm. The word spacing may also be influenced by justification (which is a value of the 'text-align' property). - /// NOTE It has been introduced for later compliance to full CSS1 support. + /// NOTE  It has been introduced for later compliance to full CSS1 support. IfcSizeSelect* WordSpacing() const; void setWordSpacing(IfcSizeSelect* v); /// Whether the optional attribute TextTransform is defined for this IfcTextStyleTextModel bool hasTextTransform() const; /// This property describes how text characters may transform to upper case, lower case, or capitalized case, independent of the character case used in the text literal. - /// NOTE It has been introduced for later compliance to full CSS1 support. + /// NOTE  It has been introduced for later compliance to full CSS1 support. std::string TextTransform() const; void setTextTransform(std::string v); /// Whether the optional attribute LineHeight is defined for this IfcTextStyleTextModel bool hasLineHeight() const; /// The property sets the distance between two adjacent lines' baselines. /// When a ratio value is specified, the line height is given by the font size of the current element multiplied with the numerical value. A value of 'normal' sets the line height to a reasonable value for the element's font. It is suggested that user agents set the 'normal' value to be a ratio number in the range of 1.0 to 1.2. - /// NOTE The following values are allowed: IfcDescriptiveMeasure with value='normal', or + /// NOTE  The following values are allowed: IfcDescriptiveMeasure with value='normal', or /// IfcLengthMeasure, with non-negative values, the length unit is globally defined at IfcUnitAssignment, or IfcRatioMeasure. IfcSizeSelect* LineHeight() const; void setLineHeight(IfcSizeSelect* v); @@ -12025,13 +12031,13 @@ class IfcTextStyleTextModel : public IfcPresentationItem { /// /// See relevant subtypes of IfcGeometricRepresentationItem for default texture mapping description. /// -/// NOTE The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. +/// NOTE  The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE The attribute Texture is deleted. +/// IFC2x3 CHANGE  The attribute Texture is deleted. /// -/// IFC2x4 CHANGE The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. +/// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. class IfcTextureCoordinate : public IfcPresentationItem { public: IfcTemplatedEntityList< IfcSurfaceTexture >::ptr Maps() const; @@ -12063,23 +12069,23 @@ class IfcTextureCoordinate : public IfcPresentationItem { /// SPHERE-REFLECT, /// SPHERE-REFLECT-LOCAL /// -/// NOTE The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. +/// NOTE  The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard. /// /// HISTORY New entity in IFC2x2. /// -/// IFC2x2 Addendum 2 CHANGE The attribute Texturehas been deleted. +/// IFC2x2 Addendum 2 CHANGE  The attribute Texturehas been deleted. class IfcTextureCoordinateGenerator : public IfcTextureCoordinate { public: /// The Mode attribute describes the algorithm used to compute texture coordinates. /// - /// NOTE The applicable values for the Mode attribute are determined by view definitions or implementer agreements. It is recommended to use the modes described in ISO/IES 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1. See 18.4.8 TextureCoordinateGenerator for recommended values. + /// NOTE  The applicable values for the Mode attribute are determined by view definitions or implementer agreements. It is recommended to use the modes described in ISO/IES 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1. See 18.4.8 TextureCoordinateGenerator for recommended values. std::string Mode() const; void setMode(std::string v); /// Whether the optional attribute Parameter is defined for this IfcTextureCoordinateGenerator bool hasParameter() const; /// The parameters used as arguments by the function as specified by Mode. /// - /// IFC2x4 CHANGE Made optional data type restricted to REAL. + /// IFC2x4 CHANGE  Made optional data type restricted to REAL. std::vector< double > /*[1:?]*/ Parameter() const; void setParameter(std::vector< double > /*[1:?]*/ v); virtual const IfcParse::entity& declaration() const; @@ -12120,7 +12126,7 @@ class IfcTextureCoordinateGenerator : public IfcTextureCoordinate { /// specifies a set of 2D texture coordinates used by vertex-based /// geometry nodes to map textures to vertices. /// -/// NOTE In contrary to the +/// NOTE  In contrary to the /// X3D vertext based geometry, for example IndexedFaceSet and /// ElevationGrid, the vertext based geometry in IFC may include inner /// loops. The areas of inner loops have to be cut-out from the texture @@ -12128,13 +12134,13 @@ class IfcTextureCoordinateGenerator : public IfcTextureCoordinate { /// /// Figure 301 illustrates applying a texture map to a vertex based geometry. /// -/// Figure 301 — Texture map +/// Figure 301 — Texture map /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE The attribute Texture is deleted, and the attribute TextureMaps is added. +/// IFC2x3 CHANGE  The attribute Texture is deleted, and the attribute TextureMaps is added. /// -/// IFC2x4 CHANGE The attribute TextureMap is replaced by Vertices, and the attribute AppliedTo is added. +/// IFC2x4 CHANGE  The attribute TextureMap is replaced by Vertices, and the attribute AppliedTo is added. /// /// Informal propositions: /// @@ -12143,7 +12149,7 @@ class IfcTextureMap : public IfcTextureCoordinate { public: /// List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound. /// - /// NOTE The corresponding face bound may be an inner loop. + /// NOTE  The corresponding face bound may be an inner loop. IfcTemplatedEntityList< IfcTextureVertex >::ptr Vertices() const; void setVertices(IfcTemplatedEntityList< IfcTextureVertex >::ptr v); IfcFace* MappedTo() const; @@ -12162,7 +12168,7 @@ class IfcTextureMap : public IfcTextureCoordinate { /// coordinates that map textures to vertices. Texture map values ( /// ImageTexture, PixelTexture) range from [0.0, 1.0] along the S-axis and /// T-axis. However, texture coordinate values may be in the range -/// (-∞,∞). Texture coordinates identify a location +/// (-∞,∞). Texture coordinates identify a location /// (and thus a /// colour value) in the texture map. The horizontal coordinate S is /// specified first, followed by the vertical coordinate T. If the texture @@ -12170,13 +12176,13 @@ class IfcTextureMap : public IfcTextureCoordinate { /// coordinate C (s or t) is mapped into a texture map that has N pixels in /// the given direction as follows: /// -/// Texture map location = (C - floor(C)) N +/// Texture map location = (C - floor(C)) × N /// /// If the texture map is not /// repeated, the texture coordinates are /// clamped to the 0.0 to 1.0 range as follows: /// -/// Texture map location = N, if C > 1.0, = 0.0, if C < 0.0, = C N, if 0.0 ≤ C ≤ 1.0. +/// Texture map location = N, if C > 1.0, = 0.0, if C < 0.0, = C × N, if 0.0 ≤ C ≤ 1.0. /// /// Texture coordinates may be transformed (scaled, rotated, translated) by supplying a TextureTransform as a component of the texture's definition. /// @@ -12273,9 +12279,9 @@ class IfcTimeSeries : public IfcUtil::IfcBaseEntity { /// Any rollover is handled by the application providing the data. Rollover occurs, for example, when the measurement device resets itself while measuring and the recording data do not include the data measured before the reset. /// The normalized data refer to the preceding time unit. The time series example shown in Figure 241 below contains four time points: Time "a" indicates the beginning of the time series and the associated datum has no relevance. Data at time points "b," "c" and "d" are associated with values 1, 2 and 3, respectively. /// -/// Figure 241 — Time series value +/// Figure 241 — Time series value /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. @@ -12289,7 +12295,7 @@ class IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. /// -/// NOTE Corresponding ISO 10303 entity: topological_representation_item. Please refer to ISO/IS 10303-42:1994, p.129 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: topological_representation_item. Please refer to ISO/IS 10303-42:1994, p.129 for the final definition of the formal standard. /// /// HISTORY: New entity in IFC Release 1.5 class IfcTopologicalRepresentationItem : public IfcRepresentationItem { @@ -12344,9 +12350,9 @@ class IfcTopologyRepresentation : public IfcShapeModel { }; /// IfcUnitAssignment indicates a set of units which may be assigned. Within an IfcUnitAssigment each unit definition shall be unique; that is, there shall be no redundant unit definitions for the same unit type such as length unit or area unit. For currencies, there shall be only a single IfcMonetaryUnit within an IfcUnitAssignment. /// -/// NOTE A project (IfcProject) has a unit assignment which establishes a set of units which will be used globally within the project, if not otherwise defined. Other objects may have local unit assignments if there is a requirement for them to make use of units which do not fall within the project unit assignment. +/// NOTE  A project (IfcProject) has a unit assignment which establishes a set of units which will be used globally within the project, if not otherwise defined. Other objects may have local unit assignments if there is a requirement for them to make use of units which do not fall within the project unit assignment. /// -/// HISTORY New entity in IFC Release 1.5.1. +/// HISTORY  New entity in IFC Release 1.5.1. class IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. @@ -12360,9 +12366,9 @@ class IfcUnitAssignment : public IfcUtil::IfcBaseEntity { }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. /// -/// NOTE Corresponding ISO 10303 entity: vertex. Please refer to ISO/IS 10303-42:1994, p. 129 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: vertex. Please refer to ISO/IS 10303-42:1994, p. 129 for the final definition of the formal standard. /// -/// HISTORY New Entity in IFC Release 2.0 +/// HISTORY  New Entity in IFC Release 2.0 /// /// Informal proposition: /// @@ -12378,9 +12384,9 @@ class IfcVertex : public IfcTopologicalRepresentationItem { }; /// Definition from ISO/CD 10303-42:1992: A vertex point is a vertex which has its geometry defined as a point. /// -/// NOTE Corresponding ISO 10303 entity: vertex_point. Please refer to ISO/IS 10303-42:1994, p. 130 for the final definition of the formal standard. Due to the general IFC model specification rule not to use multiple inheritance, the subtype relationship to geometric_representation_item is not included. +/// NOTE  Corresponding ISO 10303 entity: vertex_point. Please refer to ISO/IS 10303-42:1994, p. 130 for the final definition of the formal standard. Due to the general IFC model specification rule not to use multiple inheritance, the subtype relationship to geometric_representation_item is not included. /// -/// HISTORY New Entity in IFC2x. +/// HISTORY  New Entity in IFC2x. /// /// Informal proposition: /// @@ -12411,7 +12417,7 @@ class IfcVertexPoint : public IfcVertex { /// of IntersectingAxes[1] and the orthogonal complement of the IntersectingAxes[1] (which is the positive or negative /// direction of the z axis of the design grid position). /// -/// HISTORY New entity in IFC Release 1.5. The entity name was changed from IfcConstraintRelIntersection in IFC Release 2x. +/// HISTORY  New entity in IFC Release 1.5. The entity name was changed from IfcConstraintRelIntersection in IFC Release 2x. /// /// Informal Propositions: /// @@ -12428,12 +12434,12 @@ class IfcVertexPoint : public IfcVertex { /// /// Figure 246 illustrates two offset distances given where the virtual intersection is defined in the xy plane of the grid axis placement. /// -/// Figure 246 — Virtual grid intersection with two offsets +/// Figure 246 — Virtual grid intersection with two offsets /// /// Figure 247 illustrates three offset distances given where the virtual intersection is defined by an offset (in direction of the /// z-axis of the design grid placement) to the virtual intersection in the xy plane of the grid axis placement. /// -/// Figure 247 — Virtual grid intersection with three offsets +/// Figure 247 — Virtual grid intersection with three offsets /// /// The distance of the offset curve (OffsetDistances[n]) /// is measured from the basis curve. The distance may be positive, @@ -12454,7 +12460,7 @@ class IfcVertexPoint : public IfcVertex { /// IntersectingAxes[1].SameSense = TRUE. /// OffsetDistances[1] is a negative length measure /// -/// Figure 248 — Virtual grid intersection negative offset +/// Figure 248 — Virtual grid intersection negative offset class IfcVirtualGridIntersection : public IfcUtil::IfcBaseEntity { public: /// Two grid axes which intersects at exactly one intersection (see also informal proposition at IfcGrid). If attribute OffsetDistances is omitted, the intersection defines the placement or ref direction of a grid placement directly. If OffsetDistances are given, the intersection is defined by the offset curves to the grid axes. @@ -12510,7 +12516,7 @@ class IfcWorkTime : public IfcSchedulingTime { /// /// HISTORY: New entity in Release IFC2x2. /// -/// IFC2x4 CHANGE Subtyped from IfcResourceLevelRelationship, order of attributes changed. +/// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. class IfcApprovalRelationship : public IfcResourceLevelRelationship { public: /// The approval that other approval is related to. @@ -12542,7 +12548,7 @@ class IfcApprovalRelationship : public IfcResourceLevelRelationship { /// or in case of sectioned spines the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. The OuterCurve /// attribute defines a two dimensional closed bounded curve. /// -/// Figure 307 — Arbitrary closed profile +/// Figure 307 — Arbitrary closed profile class IfcArbitraryClosedProfileDef : public IfcProfileDef { public: /// Bounded curve, defining the outer boundaries of the arbitrary profile. @@ -12556,7 +12562,7 @@ class IfcArbitraryClosedProfileDef : public IfcProfileDef { }; /// The open profile IfcArbitraryOpenProfileDef defines an arbitrary two-dimensional open profile for the use within the swept surface geometry. It is given by an open boundary from with the surface can be constructed. /// -/// HISTORY New entity in IFC2x. +/// HISTORY  New entity in IFC2x. /// /// Informal proposition: /// @@ -12568,7 +12574,7 @@ class IfcArbitraryClosedProfileDef : public IfcProfileDef { /// /// The Curve attribute defines a two dimensional open bounded curve. /// -/// Figure 308 — Arbitrary open profile +/// Figure 308 — Arbitrary open profile class IfcArbitraryOpenProfileDef : public IfcProfileDef { public: /// Open bounded curve defining the profile. @@ -12582,7 +12588,7 @@ class IfcArbitraryOpenProfileDef : public IfcProfileDef { }; /// The IfcArbitraryProfileDefWithVoids defines an arbitrary closed two-dimensional profile with holes defined for the use for the swept area solid or a sectioned spine. It is given by an outer boundary and inner boundaries from with the solid the can be constructed. /// -/// HISTORY New entity in IFC2x. +/// HISTORY  New entity in IFC2x. /// /// Informal propositions: /// @@ -12598,7 +12604,7 @@ class IfcArbitraryOpenProfileDef : public IfcProfileDef { /// /// or in case of sectioned spines the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. The OuterCurve attribute defines a two dimensional closed bounded curve, the InnerCurves define a set of two dimensional closed bounded curves. /// -/// Figure 309 — Arbitrary profile with voids +/// Figure 309 — Arbitrary profile with voids class IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. @@ -12612,13 +12618,13 @@ class IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { }; /// An IfcBlobTexture provides a 2-dimensional distribution of the lighting parameters of a surface onto which it is mapped. The texture itself is given as a single binary blob, representing the content of a pixel format file. The file format of the pixel file is given by the RasterFormat attribute and allowable formats are guided by where rule SupportedRasterFormat. /// -/// NOTE Toolbox specific implementations of the binary datatype may restrict the maximum length of the binary blob to capture the raster file content. +/// NOTE  Toolbox specific implementations of the binary datatype may restrict the maximum length of the binary blob to capture the raster file content. /// /// For interpretation of the texture nodes see IfcImageTexture definition. /// -/// HISTORY New class in IFC2x3. +/// HISTORY  New class in IFC2x3. /// -/// IFC2x4 CHANGE Data type of RasterCode has been corrected to BINARY. +/// IFC2x4 CHANGE  Data type of RasterCode has been corrected to BINARY. class IfcBlobTexture : public IfcSurfaceTexture { public: /// The format of the RasterCode often using a compression. @@ -12648,7 +12654,7 @@ class IfcBlobTexture : public IfcSurfaceTexture { /// /// or a combination of them. See IfcProfileDef for guidance on external references for profiles. /// -/// HISTORY New entity in IFC2x3. +/// HISTORY  New entity in IFC2x3. /// /// Informal proposition: /// @@ -12661,7 +12667,7 @@ class IfcBlobTexture : public IfcSurfaceTexture { /// /// The Curve attribute defines a two dimensional open bounded curve. The Thickness attribute defines a constant thickness along the curve. /// -/// Figure 311 — Centerline profile +/// Figure 311 — Centerline profile class IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: /// Constant thickness applied along the center line. @@ -12724,14 +12730,14 @@ class IfcClassification : public IfcExternalInformation { bool hasDescription() const; /// Additional description provided for the classification. /// - /// IFC2x4 CHANGE New attribute added at the end of the attribute list. + /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. std::string Description() const; void setDescription(std::string v); /// Whether the optional attribute Location is defined for this IfcClassification bool hasLocation() const; /// Resource identifier or locator, provided as URI, URN or URL, of the classification. /// - /// IFC2x4 CHANGE New attribute added at the end of the attribute list. + /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. std::string Location() const; void setLocation(std::string v); /// Whether the optional attribute ReferenceTokens is defined for this IfcClassification @@ -12741,13 +12747,13 @@ class IfcClassification : public IfcExternalInformation { /// This typically applies then the IfcClassification is used in /// conjuction with IfcClassificationReference's. If only one ReferenceToken is provided, it applies to all boundaries of individual facets, if more than one ReferenceToken are provided, the first token applies to the first boundary, the second token to the second boundary, and the nth token to the nth and any additional boundary. /// - /// NOTE Tokens are typically recommended within the classification itself and each token will have a particular role. + /// NOTE  Tokens are typically recommended within the classification itself and each token will have a particular role. /// - /// EXAMPLE 1 To indicate that the facet delimiter used for DIN277-2 reference key "2.1" ("Office rooms") is ".", a single ReferenceToken ['.'] is provided. To indicate that the facet delimiter used for Omniclass Table 13 (space by function) reference key "13-15 11 34 11" ("Office") are "-" and " ", two ReferenceToken's ['-', ' '] are provided. + /// EXAMPLE 1  To indicate that the facet delimiter used for DIN277-2 reference key "2.1" ("Office rooms") is ".", a single ReferenceToken ['.'] is provided. To indicate that the facet delimiter used for Omniclass Table 13 (space by function) reference key "13-15 11 34 11" ("Office") are "-" and " ", two ReferenceToken's ['-', ' '] are provided. /// - /// EXAMPLE 2 The use of ReferenceTokens can also be extended to include masks. The use need to be agreed in view definitions or implementer agreements that stipulates a "mask syntax" that should be used. + /// EXAMPLE 2  The use of ReferenceTokens can also be extended to include masks. The use need to be agreed in view definitions or implementer agreements that stipulates a "mask syntax" that should be used. /// - /// IFC2x4 CHANGE New attribute added at the end of the attribute list. + /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. std::vector< std::string > /*[1:?]*/ ReferenceTokens() const; void setReferenceTokens(std::vector< std::string > /*[1:?]*/ v); IfcTemplatedEntityList< IfcRelAssociatesClassification >::ptr ClassificationForObjects() const; // INVERSE IfcRelAssociatesClassification::RelatingClassification @@ -12790,7 +12796,7 @@ class IfcClassificationReference : public IfcExternalReference { bool hasDescription() const; /// Description of the classification reference for informational purposes. /// - /// IFC2x4 CHANGE New attribute added at the end of the attribute list. + /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. std::string Description() const; void setDescription(std::string v); /// Whether the optional attribute Sort is defined for this IfcClassificationReference @@ -12818,17 +12824,17 @@ class IfcColourRgbList : public IfcPresentationItem { }; /// Definition from ISO/CD 10303-46:1992: The colour specification entity contains a direct colour definition. Colour component values refer directly to a specific colour space. /// -/// NOTE Corresponding ISO 10303 name: colour_specification. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: colour_specification. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcColourSpecification : public IfcPresentationItem { public: /// Whether the optional attribute Name is defined for this IfcColourSpecification bool hasName() const; /// Optional name given to a particular colour specification in addition to the colour components (like the RGB values). /// - /// NOTE Examples are the names of a industry colour classification, such as RAL. - /// IFC2x Edition 3 CHANGE Attribute added. + /// NOTE  Examples are the names of a industry colour classification, such as RAL. + /// IFC2x Edition 3 CHANGE  Attribute added. std::string Name() const; void setName(std::string v); virtual const IfcParse::entity& declaration() const; @@ -12843,7 +12849,7 @@ class IfcColourSpecification : public IfcPresentationItem { /// profile definition (except for another composite profile) can be used /// to construct the composite. /// -/// HISTORY New entity in IFC2x. +/// HISTORY  New entity in IFC2x. /// /// Figure 314 illustrates the composite profile definition. The IfcCompositeProfileDef does not define an own position coordinate system, it is directly defined in the underlying coordinate system. The underlying coordinate system is defined by the swept surface or swept area solid that uses the profile definition. It is the xy plane of either: /// @@ -12855,7 +12861,7 @@ class IfcColourSpecification : public IfcPresentationItem { /// In case of parameterized profile definitions, the Position attribute of those standard profiles is used to place the profiles relatively to each other. /// In case of arbitrary profile definitions, each Cartesian coordinate is given directly within the underlying coordinate system. /// -/// NOTE The black coordinate axes show the underlying coordinate system of the swept surface or swept area solid. +/// NOTE  The black coordinate axes show the underlying coordinate system of the swept surface or swept area solid. /// /// Figure 314 /// @@ -12865,14 +12871,14 @@ class IfcColourSpecification : public IfcPresentationItem { /// only be specified once. It is then included into the composite profile directly /// and additionally indirectly via IfcMirroredProfileDef. For example, a /// double angle made of two L100x10 with 10mm air gap between them, i.e. a -/// _||_ shape, can be modeled as +/// _| |_ shape, can be modeled as /// /// single_L : IfcLShapeProfileDef := IfcLShapeProfileDef(AREA, 'L100X100X10', -/// IfcAxis2Placement2D(IfcCartesianPoint(((.100+.010)/2., .0)), ?), -/// .100, .100, .010, .012, ?, 0., ?, ?); -/// +///     IfcAxis2Placement2D(IfcCartesianPoint(((.100+.010)/2., .0)), ?), +///     .100, .100, .010, .012, ?, 0., ?, ?); +///   /// double_L : IfcCompositeProfileDef := IfcCompositeProfileDef(AREA, 'double angle', -/// (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile'); +///     (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile'); class IfcCompositeProfileDef : public IfcProfileDef { public: /// The profiles which are used to define the composite profile. @@ -12891,9 +12897,9 @@ class IfcCompositeProfileDef : public IfcProfileDef { }; /// Definition from ISO/CD 10303-42:1992: A connected_face_set is a set of faces such that the domain of faces together with their bounding edges and vertices is connected. /// -/// NOTE Corresponding ISO 10303 entity: connected_face_set, the subtype closed_shell is included as IfcClosedShell and the subtype open_shell is included as IfcOpenShell. Please refer to ISO/IS 10303-42:1994, p. 144 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: connected_face_set, the subtype closed_shell is included as IfcClosedShell and the subtype open_shell is included as IfcOpenShell. Please refer to ISO/IS 10303-42:1994, p. 144 for the final definition of the formal standard. /// -/// HISTORY New class in IFC Release 1.0 +/// HISTORY  New class in IFC Release 1.0 /// /// Informal proposition: /// @@ -12911,14 +12917,14 @@ class IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { }; /// IfcConnectionCurveGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a curve or at an edge with curve geometry associated. It is envisioned as a control that applies to the element connection relationships. /// -/// EXAMPLE The connection relationship between two walls has a geometric constraint which describes the end caps (or cut-off of the wall ends) by a CurveOnRelatingElement for the first wall and a CurveOnRelatedElement for the second wall. The exact usage of the IfcConnectionCurveGeometry is further defined in the geometry use sections of the elements that use it. +/// EXAMPLE  The connection relationship between two walls has a geometric constraint which describes the end caps (or cut-off of the wall ends) by a CurveOnRelatingElement for the first wall and a CurveOnRelatedElement for the second wall. The exact usage of the IfcConnectionCurveGeometry is further defined in the geometry use sections of the elements that use it. /// /// The available geometry for the connection constraint may be further restricted to only allow straight segments by applying IfcPolyline -/// only. Such an usage constraint is provided at the object definition of the IfcElement subtype, utilizing the element connection by referring to the subtype of IfcRelConnects with the associatedIfcConnectionCurveGeometry. +/// only. Such an usage constraint is provided at the object definition of the IfcElement subtype, utilizing the element connection by referring to the subtype of IfcRelConnects with the associated IfcConnectionCurveGeometry. /// -/// HISTORY New entity in IFC Release 1.5, has been renamed from IfcLineConnectionGeometry in IFC Release 2x. +/// HISTORY  New entity in IFC Release 1.5, has been renamed from IfcLineConnectionGeometry in IFC Release 2x. /// -/// IFC2x Edition 3 CHANGE The provision of topology with associated geometry, IfcEdgeCurve, is enabled by using the IfcCurveOrEdgeCurve. +/// IFC2x Edition 3 CHANGE  The provision of topology with associated geometry, IfcEdgeCurve, is enabled by using the IfcCurveOrEdgeCurve. /// /// Geometry use definitions /// The IfcCurve (or the IfcEdgeCurve with an associated IfcCurve) at the CurveOnRelatingElement attribute defines the curve where the basic geometry items of the connected elements connects. The curve geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects Subtype that utilizes the IfcConnectionCurveGeometry. Optionally, the same curve geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the CurveOnRelatedElement attribute. @@ -13033,7 +13039,7 @@ class IfcContextDependentUnit : public IfcNamedUnit { /// 'pint US' Volume measure equal to 0.000473 cubic meters /// 'gallon UK' Volume measure equal to 0.004546 cubic meters /// 'gallon US' Volume measure equal to 0.003785 cubic meters -/// 'degree' Angle measure equal to π/180 rad +/// 'degree' Angle measure equal to π/180 rad /// 'ounce' Mass measure equal to 28.35 g /// 'pound' Mass measure equal to 0.454 kg /// 'ton UK' Mass measure equal to 1016.0469088 kg, also known as long ton, gross ton, shipper's ton @@ -13067,18 +13073,18 @@ class IfcConversionBasedUnit : public IfcNamedUnit { /// /// Example: The temperature unit Fahrenheit is based on the temperature unit Kelvin as follows: /// -/// f=k1.8–459.67 +/// f = k · 1.8 – 459.67 /// /// wherein k is an absolute temperature expressed in Kelvin and f is the same temperature in Fahrenheit. The following entity instances provide Fahrenheit as a unit: /// /// IfcConversionBasedUnitWithOffset( -/// IfcDimensionalExponents(0, 0, 0, 0, 1, 0, 0), -/// THERMODYNAMICTEMPERATUREUNIT, -/// 'Fahrenheit', -/// IfcMeasureWithUnit( -/// IfcThermodynamicTemperatureMeasure(1.8), -/// IfcSiUnit(THERMODYNAMICTEMPERATUREUNIT, ?, KELVIN)), -/// -459.67); +///     IfcDimensionalExponents(0, 0, 0, 0, 1, 0, 0), +///     THERMODYNAMICTEMPERATUREUNIT, +///     'Fahrenheit', +///     IfcMeasureWithUnit( +///         IfcThermodynamicTemperatureMeasure(1.8), +///         IfcSiUnit(THERMODYNAMICTEMPERATUREUNIT, ?, KELVIN)), +///     -459.67); class IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { public: /// A positive or negative offset to add after the inherited ConversionFactor was applied. @@ -13094,9 +13100,9 @@ class IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { /// that applies between two designated currencies at a particular time /// and as published by a particular source. /// -/// HISTORY New Entity in IFC2x2. +/// HISTORY  New Entity in IFC2x2. /// -/// IFC2x4 CHANGE Subtyped from IfcResourceLevelRelationship, attribute order changed. +/// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, attribute order changed. /// /// Use definitions /// An IfcCurrencyRelationship is used where there may be a need to reference an IfcCostValue in one currency to an IfcCostValue in another currency. It takes account of fact that currency exchange rates may vary by requiring the recording the date and time of the currency exchange rate used and the source that publishes the rate. There may be many sources and there are different strategies for currency conversion (spot rate, forward buying of currency at a fixed rate). @@ -13136,17 +13142,17 @@ class IfcCurrencyRelationship : public IfcResourceLevelRelationship { /// /// Styles are intended to be shared by multiple IfcStyledItem's, assigning the style to occurrences of (subtypes of) IfcGeometricRepresentationItem's. Measures given to a font pattern or a curve width are given in global drawing length units. /// -/// NOTE global units are defined at the single IfcProject instance, given by UnitsInContext:IfcUnitAssignment, the same units are used for the geometric representation items and for the style definitions. +/// NOTE  global units are defined at the single IfcProject instance, given by UnitsInContext:IfcUnitAssignment, the same units are used for the geometric representation items and for the style definitions. /// /// The measure values for font pattern and curve width apply to the model space with a target plot scale provided for the correct appearance in the default plot scale.. For different scale and projection dependent curve styles a different instance of IfcCurveStyle needs to be used by IfcPresentationStyleAssignment for different IfcGeometricRepresentationSubContext dependent representations. /// -/// NOTE the target plot scale is given by IfcGeometricRepresentationSubContext.TargetScale. +/// NOTE  the target plot scale is given by IfcGeometricRepresentationSubContext.TargetScale. /// /// An IfcCurveStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or IfcAnnotationCurveOccurrence. /// -/// NOTE Corresponding ISO 10303 name: curve_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: curve_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcCurveStyle : public IfcPresentationStyle { public: /// Whether the optional attribute CurveFont is defined for this IfcCurveStyle @@ -13199,13 +13205,13 @@ class IfcCurveStyleFont : public IfcPresentationItem { /// /// The IfcCurveStyleFontAndScaling allows for the reuse of the same curve style definition in several sizes. The definition of the CurveFontScale is the scaling of a base curve style pattern to be used as a new or derived curve style pattern. /// -/// NOTE The CurveFontScale should not be mixed up with the target plot scale. +/// NOTE  The CurveFontScale should not be mixed up with the target plot scale. /// -/// An example for IfcCurveStyleFontAndScaling is the sizing of a basic curve style dash pattern 'dash' (visible 0.01m, invisible 0.005m) into 'dash large' withCurveFontScale = 2 (resulting invisible 0.02m, invisible 0.01m), and into 'dash small'withCurveFontScale = 0.5 (resulting invisible 0.005m, invisible 0.0025m). +/// An example for IfcCurveStyleFontAndScaling is the sizing of a basic curve style dash pattern 'dash' (visible 0.01m, invisible 0.005m) into 'dash large' with CurveFontScale = 2 (resulting in visible 0.02m, invisible 0.01m), and into 'dash small' with CurveFontScale = 0.5 (resulting in visible 0.005m, invisible 0.0025m). /// -/// NOTE Corresponding ISO 10303 name: curve_style_font_and_scaling. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: curve_style_font_and_scaling. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcCurveStyleFontAndScaling : public IfcPresentationItem { public: /// Whether the optional attribute Name is defined for this IfcCurveStyleFontAndScaling @@ -13234,9 +13240,9 @@ class IfcCurveStyleFontPattern : public IfcPresentationItem { public: /// The length of the visible segment in the pattern definition. /// - /// NOTE For a visible segment representing a point, the value 0. should be assigned. + /// NOTE  For a visible segment representing a point, the value 0. should be assigned. /// - /// IFC2x Edition 3 CHANGE The datatype has been changed to IfcLengthMeasure with upward compatibility for file-based exchange. + /// IFC2x Edition 3 CHANGE  The datatype has been changed to IfcLengthMeasure with upward compatibility for file-based exchange. double VisibleSegmentLength() const; void setVisibleSegmentLength(double v); /// The length of the invisible segment in the pattern definition. @@ -13293,7 +13299,7 @@ class IfcCurveStyleFontPattern : public IfcPresentationItem { /// Axis1 = NIL (defaults to 1.,0.) /// Axis2 = NIL (defaults to 0.,1.) /// LocalOrigin = IfcCartesianPoint(0.,<1/2 YDim) -/// Scale = 1. +/// Scale  = 1. /// Scale2 = 2. /// /// Note: The ParentProfile has a Position @@ -13331,7 +13337,7 @@ class IfcCurveStyleFontPattern : public IfcPresentationItem { /// brown coordinate axes /// show the position coordinate system of the derived profile /// -/// Figure 316 — Derived profile +/// Figure 316 — Derived profile class IfcDerivedProfileDef : public IfcProfileDef { public: /// The parent profile provides the origin of the transformation. @@ -13370,7 +13376,7 @@ class IfcDocumentInformation : public IfcExternalInformation { bool hasLocation() const; /// Resource identifier or locator, provided as URI, URN or URL, of the document information for online references. /// - /// IFC2x4 CHANGE New attribute added at end of attribute list. + /// IFC2x4 CHANGE  New attribute added at end of attribute list. std::string Location() const; void setLocation(std::string v); /// Whether the optional attribute Purpose is defined for this IfcDocumentInformation @@ -13462,9 +13468,9 @@ class IfcDocumentInformation : public IfcExternalInformation { }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. /// -/// HISTORY New entity in Release IFC2x. +/// HISTORY  New entity in Release IFC2x. /// -/// IFC2x4 CHANGE Subtyped from IfcResourceLevelRelationship, order of attributes changed. +/// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. /// /// Use definitions /// This class can be used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained). @@ -13504,7 +13510,7 @@ class IfcDocumentReference : public IfcExternalReference { bool hasDescription() const; /// Description of the document reference for informational purposes. /// - /// IFC2x4 CHANGE New attribute added at the end of the attribute list. + /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. std::string Description() const; void setDescription(std::string v); /// Whether the optional attribute ReferencedDocument is defined for this IfcDocumentReference @@ -13529,7 +13535,7 @@ class IfcDocumentReference : public IfcExternalReference { /// be distinct. The edge is oriented by choosing its traversal /// direction to run from the first to the second vertex. If the two /// vertices are the same, the edge is a self loop. The domain of the -/// edge does not include its bounds, and 0 ≤ Ξ ≤ ∞. +/// edge does not include its bounds, and 0 ≤ Ξ ≤ ∞. /// Associated with an edge may be a geometric curve to locate the /// edge in a coordinate space; this is represented by the edge curve /// (IfcEdgeCurve) subtype. The curve shall be finite and @@ -13558,11 +13564,11 @@ class IfcDocumentReference : public IfcExternalReference { /// /// Figure 333 illustrates an example where the bounds of the IfcEdge are given by the EdgeStart and EdgeEnd; this also determines the direction of the edge. The location within a coordinate space is determined by the IfcVertexPoint type for EdgeStart and EdgeEnd. Since no edge geometry is assigned, it defaults to a straight line agreeing to the direction sense. /// -/// Figure 333 — Edge representation +/// Figure 333 — Edge representation /// -/// NOTE Corresponding ISO 10303 entity: edge. Please refer to ISO/IS 10303-42:1994, p. 130 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: edge. Please refer to ISO/IS 10303-42:1994, p. 130 for the final definition of the formal standard. /// -/// HISTORY New Entity in IFC Release 2.0 +/// HISTORY  New Entity in IFC Release 2.0 /// /// Informal propositions: /// @@ -13596,13 +13602,13 @@ class IfcEdge : public IfcTopologicalRepresentationItem { /// /// Figure 334 illustrates an example where the edge geometry is given by an unbounded curve, here IfcCircle. The bounds are provided by the EdgeStart and EdgeEnd, the topological direction of the IfcEdgeCurve opposes the direction of the IfcCircle by SameSense = FALSE. /// -/// Figure 334 — Edge curve +/// Figure 334 — Edge curve /// -/// NOTE Corresponding ISO 10303 entity: edge_curve. Please refer to ISO/IS 10303-42:1994, p. 132 +/// NOTE  Corresponding ISO 10303 entity: edge_curve. Please refer to ISO/IS 10303-42:1994, p. 132 /// for the final definition of the formal standard. Due to the general IFC model specification rule not to use multiple inheritance, the subtype relationship to geometric_representation_item is not included. /// ///
::ptr HasRepresentation() const; // INVERSE IfcMaterialDefinitionRepresentation::RepresentedMaterial @@ -14832,7 +14838,7 @@ class IfcMaterialConstituentSet : public IfcMaterialDefinition { }; /// IfcMaterialDefinitionRepresentation defines presentation information relating to IfcMaterial. It allows for multiple presentations of the same material for different geometric representation contexts. /// -/// NOTE The IfcMaterialDefinitionRepresentation is currently only used +/// NOTE  The IfcMaterialDefinitionRepresentation is currently only used /// to define presentation information to material used at element /// occurrences, defined as subtypes of IfcElement, or at /// element types, defined as subtypes of IfcElementType. The @@ -14849,17 +14855,17 @@ class IfcMaterialConstituentSet : public IfcMaterialDefinition { /// different presentation styles for different representation contexts, for example, a different style for sketch view, model view or plan view, or for different target scales, /// for each representation context is can apply curve style, fill area style (hatching), symbol, text and surface style. /// -/// HISTORY New entity in IFC2x3. +/// HISTORY  New entity in IFC2x3. /// -/// IFC2x3 CHANGE The entity IfcMaterialDefinitionRepresentation has been added. Upward compatibility for file based exchange is guaranteed. +/// IFC2x3 CHANGE  The entity IfcMaterialDefinitionRepresentation has been added. Upward compatibility for file based exchange is guaranteed. /// -/// IFC2x4 CHANGE The assignment of curve, surface and other styles to an IfcStyledItem has been simplified by IfcStyleAssignmentSelect. The use of intermediate IfcPresentationStyleAssignment is deprecated. +/// IFC2x4 CHANGE  The assignment of curve, surface and other styles to an IfcStyledItem has been simplified by IfcStyleAssignmentSelect. The use of intermediate IfcPresentationStyleAssignment is deprecated. /// /// Use definition /// /// As shown in Figure 331, the presentation assignment can be specific to a representation context by adding one and more IfcStyledRepresentation's. Each of them includes a single IfcStyledItem with exactly zero or one style for either curve, fill area, surface, text or symbol style that is applicable. /// -/// Figure 331 — Material definition representation +/// Figure 331 — Material definition representation class IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: /// Reference to the material to which the representation applies. @@ -14921,7 +14927,7 @@ class IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { /// /// Figure 286 shows an example of the use of IfcMaterialLayerSetUsage aligned to the axis of a wall. /// -/// EXAMPLE For a standard wall with extruded +/// EXAMPLE  For a standard wall with extruded /// geometric representation (vertical extrusion), the layer set /// direction will be perpendicular to extrusion direction, /// andcan be derived from the direction of the wall @@ -14933,16 +14939,16 @@ class IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { /// perpendicular to the wall path. The /// DirectionSenseapplies as well. /// -/// NOTE According to the IfcWallStandardCase material use +/// NOTE  According to the IfcWallStandardCase material use /// definition the LayerSetDirection for /// IfcWallStandardCase is always AXIS2 (i.e. along the /// y-axis), as shown in this example. /// -/// Figure 286 — Material layer set usage for wall +/// Figure 286 — Material layer set usage for wall /// /// Figure 287 shows an example of the use of IfcMaterialLayerSetUsage aligned to a slab. /// -/// EXAMPLEFor a slab with perpendicular +/// EXAMPLE For a slab with perpendicular /// extruded geometric representation, the LayerSetDirection /// will coincide with the extrusion direction (in positive or /// negative sense). In this example, the material layer set base is @@ -14957,11 +14963,11 @@ class IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { /// IfcSlabStandardCase is always AXIS3 (i.e. along the /// z-axis). /// -/// Figure 287 — Material layer set usage for slab +/// Figure 287 — Material layer set usage for slab /// /// Figure 288 shows an example of the use of IfcMaterialLayerSetUsage aligned to a roof slab with non-perpendicular extrusion. /// -/// EXAMPLEFor a slab with non-perpendicular +/// EXAMPLE For a slab with non-perpendicular /// extruded geometric representation, the guidelines above apply as /// well. The material layer thickness and the /// OffsetFromReferenceLine is always measured @@ -14970,7 +14976,7 @@ class IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { /// not equal to the extrusion depth of the /// geometry. /// -/// Figure 288 — Material layer set usage for roof slab +/// Figure 288 — Material layer set usage for roof slab class IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { public: /// The IfcMaterialLayerSet set to which the usage is applied. @@ -14978,16 +14984,16 @@ class IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { void setForLayerSet(IfcMaterialLayerSet* v); /// Orientation of the material layer set relative to element reference geometry. The meaning of the value of this attribute shall be specified in the geometry use section for each element. For extruded shape representation, direction can be given along the extrusion path (e.g. for slabs) or perpendicular to it (e.g. for walls). /// - /// NOTE the LayerSetDirection for IfcWallStandardCase shall be AXIS2 (i.e. the y-axis) and for IfcSlabStandardCase and IfcPlateStandardCase it shall be AXIS3 (i.e. the z-axis). + /// NOTE  the LayerSetDirection for IfcWallStandardCase shall be AXIS2 (i.e. the y-axis) and for IfcSlabStandardCase and IfcPlateStandardCase it shall be AXIS3 (i.e. the z-axis). /// /// Whether the material layers of the set being used shall 'grow' into the positive or negative direction of the given axis, shall be deifned by DirectionSense attribute. IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum LayerSetDirection() const; void setLayerSetDirection(IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v); /// Denotion whether the material layer set is oriented in positive or negative sense along the specified axis (defined by LayerSetDirection). "Positive" means that the consecutive layers (the IfcMaterialLayer instances in the list of IfcMaterialLayerSet.MaterialLayers) are placed face-by-face in the direction of the positive axis as established by LayerSetDirection: for AXIS2 it would be in +y, for AXIS3 it would be +z. "Negative" means that the layers are placed face-by-face in the direction of the negative LayerSetDirection. In both cases, starting at the material layer set base line. - /// NOTE the material layer set base line (MlsBase) is located by OffsetFromReferenceLine, and may be on the positive or negative side of the element reference line (or plane); positive or negative for MlsBase placement does not depend on the DirectionSense attribute, but on the relevant element axis. + /// NOTE  the material layer set base line (MlsBase) is located by OffsetFromReferenceLine, and may be on the positive or negative side of the element reference line (or plane); positive or negative for MlsBase placement does not depend on the DirectionSense attribute, but on the relevant element axis. IfcDirectionSenseEnum::IfcDirectionSenseEnum DirectionSense() const; void setDirectionSense(IfcDirectionSenseEnum::IfcDirectionSenseEnum v); - /// Offset of the material layer set base line (MlsBase) from reference geometry (line or plane) of element. The offset can be positive or negative, unless restricted for a particular building element type in its use definition or by implementer agreement. A positive value means, that the MlsBase is placed on the positive side of the reference line or plane, on the axis established by LayerSetDirection (in case of AXIS2 into the direction of +y, or in case of AXIS2 into the direction of +z). A negative value means that the MlsBase is placed on the negative side, as established by LayerSetDirection (in case of AXIS2 into the direction of -y). NOTE the positive or negative sign in the offset only affects the MlsBase placement, it does not have any effect on the application of DirectionSense for orientation of the material layers; also DirectionSense does not change the MlsBase placement. + /// Offset of the material layer set base line (MlsBase) from reference geometry (line or plane) of element. The offset can be positive or negative, unless restricted for a particular building element type in its use definition or by implementer agreement. A positive value means, that the MlsBase is placed on the positive side of the reference line or plane, on the axis established by LayerSetDirection (in case of AXIS2 into the direction of +y, or in case of AXIS2 into the direction of +z). A negative value means that the MlsBase is placed on the negative side, as established by LayerSetDirection (in case of AXIS2 into the direction of -y). NOTE  the positive or negative sign in the offset only affects the MlsBase placement, it does not have any effect on the application of DirectionSense for orientation of the material layers; also DirectionSense does not change the MlsBase placement. double OffsetFromReferenceLine() const; void setOffsetFromReferenceLine(double v); /// Whether the optional attribute ReferenceExtent is defined for this IfcMaterialLayerSetUsage @@ -14995,11 +15001,11 @@ class IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { /// EPM-HTML> /// Extent of the extrusion of the elements body shape representation to which the IfcMaterialLayerSetUsage applies. It is used as the reference value for the upper OffsetValues[2] provided by the IfcMaterialLayerSetWithOffsets subtype for included material layers. /// - /// IFC2x4 CHANGE New attribute added to the end of attribute list. + /// IFC2x4 CHANGE  New attribute added to the end of attribute list. /// - /// NOTE 1 The attribute ReferenceExtent shall be asserted, if an IfcMaterialLayerSetWithOffsets is included in the ForLayerSet.MaterialLayers list of maerial layers. + /// NOTE 1  The attribute ReferenceExtent shall be asserted, if an IfcMaterialLayerSetWithOffsets is included in the ForLayerSet.MaterialLayers list of maerial layers. /// - /// NOTE 2 The ReferenceExtent for IfcWallStandardCase is the reference height starting at z=0 being the XY plane of the object coordinate system. + /// NOTE 2  The ReferenceExtent for IfcWallStandardCase is the reference height starting at z=0 being the XY plane of the object coordinate system. double ReferenceExtent() const; void setReferenceExtent(double v); virtual const IfcParse::entity& declaration() const; @@ -15030,9 +15036,9 @@ class IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { /// EPM-HTML> /// Extent of the extrusion of the elements body shape representation to which the IfcMaterialProfileSetUsage applies. It is used as the reference value for the upper OffsetValues[2] provided by the IfcMaterialProfileSetWithOffsets subtype for included material profiles. /// - /// NOTE 1 The attribute ReferenceExtent shall be asserted, if an IfcMaterialProfileSetWithOffsets is included in the ForProfileSet.MaterialProfiles list of maerial layers. + /// NOTE 1  The attribute ReferenceExtent shall be asserted, if an IfcMaterialProfileSetWithOffsets is included in the ForProfileSet.MaterialProfiles list of maerial layers. /// - /// NOTE 2 The ReferenceExtent for IfcBeamStandardCase, IfcColumnStandardCase, and IfcMemberStandardCase is the reference length starting at z=0 being the XY plane of the object coordinate system. + /// NOTE 2  The ReferenceExtent for IfcBeamStandardCase, IfcColumnStandardCase, and IfcMemberStandardCase is the reference length starting at z=0 being the XY plane of the object coordinate system. double ReferenceExtent() const; void setReferenceExtent(double v); virtual const IfcParse::entity& declaration() const; @@ -15088,7 +15094,7 @@ class IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { /// individual material definiton may be identified by a Name /// and a Description. /// -/// NOTE The set of material properties can be assigned +/// NOTE  The set of material properties can be assigned /// to an individual IfcMaterial, a set or composite of /// materials (IfcMaterialConstituent, /// IfcMaterialConstituentSet), or set or individual material @@ -15101,9 +15107,9 @@ class IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { /// material properties defined in this IFC specification and those /// defined as user-defined extended material properties. /// -/// HISTORY New Entity in IFC 2x. +/// HISTORY  New Entity in IFC 2x. /// -/// IFC2x4 CHANGE The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead. +/// IFC2x4 CHANGE  The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead. class IfcMaterialProperties : public IfcExtendedProperties { public: /// Reference to the material definition to which the set of properties is assigned. @@ -15165,7 +15171,7 @@ class IfcMaterialRelationship : public IfcResourceLevelRelationship { /// Position attribute, i.e. before mirroring by IfcMirroredProfileDef /// was performed. /// -/// HISTORY New entity in IFC2x4. +/// HISTORY  New entity in IFC2x4. class IfcMirroredProfileDef : public IfcDerivedProfileDef { public: virtual const IfcParse::entity& declaration() const; @@ -15214,7 +15220,7 @@ class IfcMirroredProfileDef : public IfcDerivedProfileDef { /// It applies the units, representation context and other context /// information to this object definition and all dependent ones. /// -/// EXCEPTION The link +/// EXCEPTION  The link /// between the uppermost object in the spatial structure tree, that is /// IfcSite or ifcBuilding, and the context provided /// by IfcProject is created using the @@ -15244,7 +15250,7 @@ class IfcObjectDefinition : public IfcRoot { /// 2-manifold with boundary, but is not a closed surface. It can be thought of as /// a closed shell with one or more holes punched in it. The domain of an open /// shell satisfies 0 -/// < Ξ < 1. An open shell is +/// < Ξ < 1. An open shell is /// functionally more general than a face because its domain can have handles. /// The shell is defined by a collection of faces, which may be oriented /// faces. The sense of each face, after taking account of the orientation, shall @@ -15265,7 +15271,7 @@ class IfcObjectDefinition : public IfcRoot { /// vertices. The domain of an open shell, if present, contains all edges and /// vertices of its faces. /// -/// NOTE Note that this is slightly different from the +/// NOTE  Note that this is slightly different from the /// definition of a face domain, which includes none of its bounds. For example, a /// face domain may exclude an isolated point or line segment. An open shell domain /// may not. (See the algorithm for computing below.) @@ -15275,11 +15281,11 @@ class IfcObjectDefinition : public IfcRoot { /// further specification, including the Euler formulas to be satisfied, please /// refer to ISO 10303-42:1994. /// -/// NOTE Corresponding ISO 10303 entity: +/// NOTE  Corresponding ISO 10303 entity: /// open_shell, please refer to ISO/IS 10303-42:1994, p.148 for the final /// definition of the formal standard. /// -/// HISTORY New class in IFC2x. +/// HISTORY  New class in IFC2x. /// /// Informal propositions: /// @@ -15328,11 +15334,11 @@ class IfcOrganizationRelationship : public IfcResourceLevelRelationship { }; /// Definition from ISO/CD 10303-42:1992: An oriented edge is an edge constructed from another edge and contains a BOOLEAN direction flag to indicate whether or not the orientation of the constructed edge agrees with the orientation of the original edge. Except for perhaps orientation, the oriented edge is equivalent to the original edge. /// -/// NOTE A common practice is solid modelling systems is to have an entity that represents the "use" or "traversal" of an edge. This "use" entity explicitly represents the requirement in a manifold solid that each edge must be traversed exactly twice, once in each direction. The "use" functionality is provided by the edge subtype oriented edge. +/// NOTE  A common practice is solid modelling systems is to have an entity that represents the "use" or "traversal" of an edge. This "use" entity explicitly represents the requirement in a manifold solid that each edge must be traversed exactly twice, once in each direction. The "use" functionality is provided by the edge subtype oriented edge. /// -/// NOTE Corresponding ISO 10303 entity: oriented_edge. Please refer to ISO/IS 10303-42:1994, p. 133 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: oriented_edge. Please refer to ISO/IS 10303-42:1994, p. 133 for the final definition of the formal standard. /// -/// HISTORY New Entity in IFC Release 2.0. +/// HISTORY  New Entity in IFC Release 2.0. class IfcOrientedEdge : public IfcEdge { public: /// Edge entity used to construct this oriented edge. @@ -15374,19 +15380,19 @@ class IfcOrientedEdge : public IfcEdge { /// is given; see guidance at IfcProfileDef), or estimate them, or /// simply assume zero values. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x Platform CHANGE The IfcParameterizedProfileDef +/// IFC2x Platform CHANGE  The IfcParameterizedProfileDef /// is introduced as an intermediate new abstract entity that unifies the /// definition and usage of the position coordinate system for all /// parameterized profiles. The Position attribute has been removed at all /// subtypes (like IfcRectangleProfileDef, IfcCircleProfileDef, /// etc.). /// -/// IFC2x3 CHANGE All profile origins are now in the center +/// IFC2x3 CHANGE  All profile origins are now in the center /// of the bounding box. /// -/// IFC2x4 CHANGE Position attribute made optional (default: identity transformation). +/// IFC2x4 CHANGE  Position attribute made optional (default: identity transformation). /// Several radius parameters in subtypes have been changed from optional IfcPositiveLengthMeasure (assumed default: 0.) to optional IfcNonNegativeLengthMeasure (default: unspecified). This change allows to explicitly specify zero radius. Sending systems shall export 0. values if parameters are known to be 0. /// Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference. class IfcParameterizedProfileDef : public IfcProfileDef { @@ -15406,9 +15412,9 @@ class IfcParameterizedProfileDef : public IfcProfileDef { /// /// An individual edge can only be referenced once by an individual path. An edge can be referenced by multiple paths. An edge can exist independently of a path. /// -/// NOTE Corresponding ISO 10303 entity: path. Please refer to ISO/IS 10303-42:1994, p. 133 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: path. Please refer to ISO/IS 10303-42:1994, p. 133 for the final definition of the formal standard. /// -/// HISTORY New Entity in IFC Release 2.0 +/// HISTORY  New Entity in IFC Release 2.0 /// /// Informal proposition: /// @@ -15433,9 +15439,9 @@ class IfcPath : public IfcTopologicalRepresentationItem { /// /// A section "Quantity Use Definition" at individual entities as subtypes of IfcBuildingElement gives guidance to the usage of the Name and Discrimination attribute to characterize the complex quantities. /// -/// HISTORY New entity in IFC2x2 Addendum 1. +/// HISTORY  New entity in IFC2x2 Addendum 1. /// -/// IFC2x2 ADDENDUM 1 CHANGE The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed. +/// IFC2x2 ADDENDUM 1 CHANGE  The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. @@ -15467,7 +15473,7 @@ class IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { /// /// The PixelTexture node defines a 2D image-based texture map as an explicit array of pixel values (image field) and parameters controlling tiling repetition of the texture onto geometry. /// Texture maps are defined in a 2D coordinate system (s, t) that ranges from 0.0 to 1.0 in both directions. The bottom edge of the pixel image corresponds to the S-axis of the texture map, and left edge of the pixel image corresponds to the T-axis of the texture map. The lower-left pixel of the pixel image corresponds to s=0.0, t=0.0, and the top-right pixel of the image corresponds to s = 1.0, t = 1.0. -/// The Image field specifies a single uncompressed 2-dimensional pixel image. Image fields contain three integers representing the width, height and number of components in the image, followed by widthheight hexadecimal values representing the pixels in the image. Pixel values are limited to 256 levels of intensity (that is, 0x00-0xFF hexadecimal). +/// The Image field specifies a single uncompressed 2-dimensional pixel image. Image fields contain three integers representing the width, height and number of components in the image, followed by width×height hexadecimal values representing the pixels in the image. Pixel values are limited to 256 levels of intensity (that is, 0x00-0xFF hexadecimal). /// /// A one-component image specifies one-byte hexadecimal value representing the intensity of the image. For example, 0xFF is full intensity in hexadecimal (255 in decimal), 0x00 is no intensity (0 in decimal). /// A two-component image specifies the intensity in the first @@ -15491,7 +15497,7 @@ class IfcPixelTexture : public IfcSurfaceTexture { void setColourComponents(int v); /// Flat list of hexadecimal values, each describing one pixel by 1, 2, 3, or 4 components. /// - /// IFC2x Edition 3 CHANGE The data type has been changed from STRING to BINARY. + /// IFC2x Edition 3 CHANGE  The data type has been changed from STRING to BINARY. std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Pixel() const; void setPixel(std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v); virtual const IfcParse::entity& declaration() const; @@ -15522,9 +15528,9 @@ class IfcPlacement : public IfcGeometricRepresentationItem { }; /// The planar extent defines the extent along the two axes of the two-dimensional coordinate system, independently of its position. /// -/// NOTE Corresponding ISO 10303 name: planar_extent. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: planar_extent. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcPlanarExtent : public IfcGeometricRepresentationItem { public: /// The extent in the direction of the x-axis. @@ -15607,11 +15613,11 @@ class IfcPointOnSurface : public IfcPoint { /// by an ordered coplanar collection of points forming the vertices of the /// loop. The loop is composed of straight line segments joining a point in /// the collection to the succeeding point in the collection. The closing -/// segment is from the last to the first point in the collection. +/// segment is from the last to the first point in the collection.  /// The direction of the loop is in the direction of the line /// segments. /// -/// NOTE This entity exists primarily to facilitate the efficient communication of faceted B-rep models. +/// NOTE  This entity exists primarily to facilitate the efficient communication of faceted B-rep models. /// /// A poly loop shall conform to the following topological /// constraints: @@ -15624,17 +15630,17 @@ class IfcPointOnSurface : public IfcPoint { /// in the list of Polygon's to the first IfcCartesianPoint. /// Therefore the first point shall not be repeated at the end of the list, /// neither by referencing the same instance, nor by using an additional -/// instance ofIfcCartesianPoint having the +/// instance of IfcCartesianPoint having the /// coordinates as the first point. /// -/// NOTE Corresponding ISO 10303 entity: poly_loop. Please refer to ISO/IS +/// NOTE  Corresponding ISO 10303 entity: poly_loop. Please refer to ISO/IS /// 10303-42:1994, p. 138 for the final definition of the formal standard. /// Due to the general IFC model specification rule not to use multiple /// inheritance, the subtype relationship to geometric_representation_item /// is not included. The derived attribute Dim has been /// added at this level. /// -/// HISTORY New class in IFC Release 1.0 +/// HISTORY   New class in IFC Release 1.0 /// /// Informal propositions: /// @@ -15657,7 +15663,7 @@ class IfcPolyLoop : public IfcLoop { /// polygonal boundary. The base /// surface of the half space is positioned by its normal relativeto the /// object coordinate system -/// (as defined at the supertype IfcHalfSpaceSolid),and +/// (as defined at the supertype IfcHalfSpaceSolid), and /// its polygonal (with or without arc segments) boundary is defined in the /// XY plane of the position /// coordinate system established by the Position @@ -15673,9 +15679,9 @@ class IfcPolyLoop : public IfcLoop { /// one the normal points away from. If the agreement flag is FALSE, then /// the subset is the one the normal points into. /// -/// NOTE A polygonal bounded half space is not a subtype of IfcSolidModel, half space solids are only useful as operands in Boolean expressions. +/// NOTE  A polygonal bounded half space is not a subtype of IfcSolidModel, half space solids are only useful as operands in Boolean expressions. /// -/// HISTORY New class in IFC Release 2x. +/// HISTORY  New class in IFC Release 2x. /// /// Informal propositions: /// @@ -15684,7 +15690,7 @@ class IfcPolyLoop : public IfcLoop { /// shall be closed. /// If the PolygonalBoundary /// is given by an IfcCompositeCurve, it shall only -/// haveIfcCompositeCurveSegment's of type IfcPolyline, +/// have IfcCompositeCurveSegment's of type IfcPolyline, /// or IfcTrimmedCurve (having a BasisCurve /// of type IfcLine, or IfcCircle) /// @@ -15694,7 +15700,7 @@ class IfcPolyLoop : public IfcLoop { /// Green coordinates indicate the position coordinate system; the PolygonalBoundary is given within this coordinate system. It is provided by IfcPolygonalBoundedHalfSpace.Position. This coordinate system is relative to the object coordinate system. The extrusion direction of the subtraction body is the positive Z axis. /// Red coordinates indicate the normal of the plane. It is provided by the BaseSurface (IfcSurface.Position). This normal is also relative to the object coordinate system. /// -/// Figure 259 — Polygonal half space geometry +/// Figure 259 — Polygonal half space geometry /// /// Purpose /// The polygonal bounded half space is used to limit the volume of the @@ -15714,7 +15720,7 @@ class IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { void setPosition(IfcAxis2Placement3D* v); /// Two-dimensional polyline bounded curve, defined in the xy plane of the position coordinate system. /// - /// IFC2x Edition 3 CHANGE The attribute type has been changed from IfcPolyline to its supertype IfcBoundedCurve with upward compatibility for file based exchange. + /// IFC2x Edition 3 CHANGE  The attribute type has been changed from IfcPolyline to its supertype IfcBoundedCurve with upward compatibility for file based exchange. IfcBoundedCurve* PolygonalBoundary() const; void setPolygonalBoundary(IfcBoundedCurve* v); virtual const IfcParse::entity& declaration() const; @@ -15725,11 +15731,11 @@ class IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { }; /// A pre defined item is a qualified name given to a style or font which is determined within the data exchange specification by convention on using the Name attribute value (in contrary to externally defined items, which are agreed by an external source). /// -/// NOTE The convention on using the Name value is defined at the subtypes of IfcPreDefinedItem and is part of the specification. +/// NOTE  The convention on using the Name value is defined at the subtypes of IfcPreDefinedItem and is part of the specification. /// -/// NOTE Corresponding ISO 10303 name: pre_defined_item. Please refer to ISO/IS 10303-41:1994, page 137 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: pre_defined_item. Please refer to ISO/IS 10303-41:1994, page 137 for the final definition of the formal standard. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcPreDefinedItem : public IfcPresentationItem { public: /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. @@ -15756,11 +15762,11 @@ class IfcPreDefinedProperties : public IfcPropertyAbstraction { /// /// IfcTextStyleFontModel for definitions from Cascading Style Sheets, level 1, W3C Recommendation 17 Dec 1996, revised 11 Jan 1999, CSS1, for all true type text. The use of the CSS1 definitions is the preferred way to represent text fonts. /// -/// NOTE Corresponding ISO 10303 name: pre_defined_text_font. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: pre_defined_text_font. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE The IfcTextStyleFontModel has been added as new subtype. +/// IFC2x3 CHANGE  The IfcTextStyleFontModel has been added as new subtype. class IfcPreDefinedTextFont : public IfcPreDefinedItem { public: virtual const IfcParse::entity& declaration() const; @@ -15778,9 +15784,9 @@ class IfcPreDefinedTextFont : public IfcPreDefinedItem { /// /// or the topological representation items for connectivity systems (vertex, edge, face representations) that may include geometric representation items (vertex points, edge curves, face surfaces) /// -/// NOTE The definition of this entity relates to the ISO 10303 entity product_definition_shape. Please refer to ISO/IS 10303-41:1994 for the final definition of the formal standard. +/// NOTE  The definition of this entity relates to the ISO 10303 entity product_definition_shape. Please refer to ISO/IS 10303-41:1994 for the final definition of the formal standard. /// -/// HISTORY New Entity in IFC Release 1.5 +/// HISTORY  New Entity in IFC Release 1.5 class IfcProductDefinitionShape : public IfcProductRepresentation { public: IfcTemplatedEntityList< IfcProduct >::ptr ShapeOfProduct() const; // INVERSE IfcProduct::Representation @@ -15799,9 +15805,9 @@ class IfcProductDefinitionShape : public IfcProductRepresentation { /// properties for precast concrete double-T sections /// properties for precast concrete hollow core sections /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x4 CHANGE Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. +/// IFC2x4 CHANGE  Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. class IfcProfileProperties : public IfcExtendedProperties { public: /// Profile definition which is qualified by these properties. @@ -15815,7 +15821,7 @@ class IfcProfileProperties : public IfcExtendedProperties { }; /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. /// -/// HISTORY New entity in IFC Release 1.0. +/// HISTORY  New entity in IFC Release 1.0. class IfcProperty : public IfcPropertyAbstraction { public: /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. @@ -15860,12 +15866,12 @@ class IfcProperty : public IfcPropertyAbstraction { /// values, measure types and units, and are associated to an object /// occurrence or object type. /// -/// NOTE 1 The subtype hierarchy of IfcPropertyDefinition also includes statically defined property sets as IfcPreDefinedPropertySet. Those are rarely used collections of fixed attributes combined in an entity definition. The IfcPreDefinedPropertySet can not be determined by an IfcPropertySetTemplate. +/// NOTE 1  The subtype hierarchy of IfcPropertyDefinition also includes statically defined property sets as IfcPreDefinedPropertySet. Those are rarely used collections of fixed attributes combined in an entity definition. The IfcPreDefinedPropertySet can not be determined by an IfcPropertySetTemplate. /// -/// NOTE 2 Individual properties, (subtypes of IfcProperty), are currently not included in the subtype hierarchy of IfcPropertyDefinition. This anomaly is due to upward compatibility reasons with earlier releases of this +/// NOTE 2  Individual properties, (subtypes of IfcProperty), are currently not included in the subtype hierarchy of IfcPropertyDefinition. This anomaly is due to upward compatibility reasons with earlier releases of this /// standard. /// -/// HISTORY New Entity in IFC2.0 +/// HISTORY  New Entity in IFC2.0 /// /// Relationship use definition /// Property definitions define information that is shared among @@ -15900,9 +15906,9 @@ class IfcPropertyDefinition : public IfcRoot { }; /// An IfcPropertyDependencyRelationship describes an identified dependency between the value of one property and that of another. /// -/// HISTORY New entity in IFC2x2 +/// HISTORY  New entity in IFC2x2 /// -/// IFC2x4 CHANGE Made subtype of IfcResourceLevelRelationship (attribute order changed). +/// IFC2x4 CHANGE  Made subtype of IfcResourceLevelRelationship (attribute order changed). /// /// Use Definition /// Whilst the IfcPropertyDependencyRelationship may be used to describe the dependency, and it may do so in terms of the expression of how the dependency operates, it is not possible through the current IFC model for the value of the related property to be actually derived from the value of the relating property. The determination of value according to the dependency is required to be performed by an application that can then use the Expression attribute to flag the form of the dependency. @@ -15946,9 +15952,9 @@ class IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { /// the meaning of the properties is defined by the name and data type /// of the explicit attribute representing it. /// -/// HISTORY New Entity in IFC Release 2x +/// HISTORY  New Entity in IFC Release 2x /// -/// IFC2x4 CHANGE The subtype IfcPreDefinedPropertySet has been added. +/// IFC2x4 CHANGE  The subtype IfcPreDefinedPropertySet has been added. /// /// Relationship use definition /// Property set definitions define information that is shared among @@ -15966,7 +15972,7 @@ class IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { /// IfcRelDefinesByProperties that applies the property set, /// with all included properties, to the object occurrence. /// -/// NOTE Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. +/// NOTE  Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. class IfcPropertySetDefinition : public IfcPropertyDefinition { public: IfcTemplatedEntityList< IfcTypeObject >::ptr DefinesType() const; // INVERSE IfcTypeObject::HasPropertySets @@ -16002,7 +16008,7 @@ class IfcPropertySetDefinition : public IfcPropertyDefinition { /// context, either IfcProject, or IfcProjectLibrary, /// using the inherited HasContext inverse attribute. /// -/// HISTORY New Entity in IFC2x4. +/// HISTORY  New Entity in IFC2x4. class IfcPropertyTemplateDefinition : public IfcPropertyDefinition { public: virtual const IfcParse::entity& declaration() const; @@ -16053,7 +16059,7 @@ class IfcQuantitySet : public IfcPropertySetDefinition { /// defines the length measure for the width of the /// rectangle (half along the positive y-axis). /// -/// Figure 323 — Rectangle profile +/// Figure 323 — Rectangle profile class IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the rectangle in the direction of the x-axis. @@ -16089,7 +16095,7 @@ class IfcRegularTimeSeries : public IfcTimeSeries { }; /// IfcReinforcementProperties defines the set of properties for a specific combination of reinforcement bar steel grade, bar type and effective depth. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// /// The total cross section area for the specific steel grade is always provided. Additionally also general reinforcing bar configurations as a count of bars may be provided as defined in attribute BarCount. In this case the nominal bar diameter should be identical for all given bars as defined in attribute NominalBarDiameter. class IfcReinforcementBarProperties : public IfcPreDefinedProperties { @@ -16146,7 +16152,7 @@ class IfcRelationship : public IfcRoot { /// associating an approval to resource objects. A single approval /// might be given to one or many items via IfcResourceObjectSelect. /// -/// HISTORY New +/// HISTORY  New /// Entity in IFC Release 2x4 class IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: @@ -16166,9 +16172,9 @@ class IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { /// entity that enables a constraint to be related to one or more /// resource level objects. /// -/// HISTORY New Entity in Release IFC2x2. +/// HISTORY  New Entity in Release IFC2x2. /// -/// IFC2x4 CHANGE Renamed from IfcPropertyConstraintRelationship and extended to apply to all resource level entities. Subtyped from IfcResourceLevelRelationship. +/// IFC2x4 CHANGE  Renamed from IfcPropertyConstraintRelationship and extended to apply to all resource level entities. Subtyped from IfcResourceLevelRelationship. /// /// Use definition /// @@ -16181,7 +16187,7 @@ class IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { /// /// Figure 238 shows how a constraint may be applied to a property within a property set. For simplicity, only the mandatory attributes are shown as asserted. It shows how a property 'ThingWeight' which has a nominal value of 19.5 kg has two constraints that are logically aggregated by an AND connection. One of the constraints has a benchmark of 'GREATERTHANOREQUALTO' whilst the second has a benchmark of 'LESSTHANOREQUALTO'. This means that the constraint must lie between these two bounding values. The relating constraint is instantiated as an objective named as 'Weight Constraint' and qualified as a SPECIFICATION constraint. The two related constraints are both specified as metrics since they can have specific values. /// -/// Figure 238 — Resource constraint relationship +/// Figure 238 — Resource constraint relationship class IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { public: /// The constraint that is to be related. @@ -16283,9 +16289,9 @@ class IfcResourceTime : public IfcSchedulingTime { }; /// IfcRoundedRectangleProfileDef defines a rectangle with equally rounded corners as the profile definition used by the swept surface geometry or the swept area solid. It is given by the X extent, the Y extent, and the radius for the rounded corners, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// -/// HISTORY New class in IFC2x. +/// HISTORY  New class in IFC2x. /// -/// IFC2x PLATFORM CHANGE The IfcRoundedRectangleProfileDef is now subtyped from IfcRectangleProfileDef. The XDim and YDim attributes have been removed (now inherited from supertype). +/// IFC2x PLATFORM CHANGE  The IfcRoundedRectangleProfileDef is now subtyped from IfcRectangleProfileDef. The XDim and YDim attributes have been removed (now inherited from supertype). /// /// Figure 324 illustrates parameters of the rounded rectangle profile definition. /// @@ -16317,7 +16323,7 @@ class IfcResourceTime : public IfcSchedulingTime { /// defines the radius /// of curvature in all four corners of the rectangle. /// -/// Figure 324 — Rounded rectangle profile +/// Figure 324 — Rounded rectangle profile class IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. @@ -16331,7 +16337,7 @@ class IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { }; /// IfcSectionProperties defines the cross section properties for a single longitudinal piece of a cross section. It is a special-purpose helper class for IfcSectionReinforcementProperties. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// /// The section piece may be either uniform or tapered. In the latter case an end profile should also be provided. The start and end profiles are assumed to be of the same profile type. Generally only rectangular or circular cross section profiles are assumed to be used. class IfcSectionProperties : public IfcPreDefinedProperties { @@ -16355,7 +16361,7 @@ class IfcSectionProperties : public IfcPreDefinedProperties { }; /// IfcSectionReinforcementProperties defines the cross section properties of reinforcement for a single longitudinal piece of a cross section with a specific reinforcement usage type. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// /// Several sets of cross section reinforcement properties represented by instances of IfcReinforcementProperties may be attached to the section reinforcement properties /// (IfcReinforcementDefinitionProperties of IfcStructuralElementsDomain schema), @@ -16429,12 +16435,12 @@ class IfcSectionReinforcementProperties : public IfcPreDefinedProperties { /// Each CrossSections are inserted by the CrossSectionPositions. The first two cross sections are of /// type IfcRectangleProfileDef, the third is of type IfcDerivedProfileDef. /// -/// Figure 268 — Sectioned spine geometry +/// Figure 268 — Sectioned spine geometry /// /// Figure 269 illustrates the final result of the IfcSectionedSpine. The body (shown transparently) is not fully defined by the /// exchange definition. /// -/// Figure 269 — Sectioned spine result +/// Figure 269 — Sectioned spine result /// /// Informal propositions /// @@ -16482,7 +16488,7 @@ class IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { }; /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// -/// HISTORY New Entity in IFC Release 1.0, definition changed in IFC Release 2x. +/// HISTORY  New Entity in IFC Release 1.0, definition changed in IFC Release 2x. class IfcSimpleProperty : public IfcProperty { public: virtual const IfcParse::entity& declaration() const; @@ -16738,9 +16744,9 @@ class IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce /// The domain of the subedge is formally defined to be the domain of the parent edge, as trimmed by the subedge start vertex and subedge end vertex. /// The start vertex and end vertex shall be within the union of the domains of the vertices of the parent edge and the domain of the parent edge. /// -/// NOTE Corresponding ISO 10303 entity: subedge. Please refer to ISO/DIS 10303-42:1999(E), p. 194 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: subedge. Please refer to ISO/DIS 10303-42:1999(E), p. 194 for the final definition of the formal standard. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcSubedge : public IfcEdge { public: /// The Edge, or Subedge, which contains the Subedge. @@ -16872,7 +16878,7 @@ class IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { /// The position is space of the swept solid will be dependent /// upon the position of the swept area. The swept area will be /// a face of the resulting swept area solid, except for the -/// case of a revolved area solid with angle equal to 2π +/// case of a revolved area solid with angle equal to 2π /// (or 360 degrees). /// /// The swept area is defined by a @@ -16930,15 +16936,15 @@ class IfcSweptAreaSolid : public IfcSolidModel { /// and end default to start and end of the bounded curve of the /// Directrix /// -/// NOTE Although the example shows a Directrix as a composite curve on a planar reference surface, the definition of IfcSweptDiskSolid is not restricted to be based on planer curves. However view definitions or implementer agreements may provide restrictions. +/// NOTE  Although the example shows a Directrix as a composite curve on a planar reference surface, the definition of IfcSweptDiskSolid is not restricted to be based on planer curves. However view definitions or implementer agreements may provide restrictions. /// -/// Figure 272 — Swept disk solid geometry +/// Figure 272 — Swept disk solid geometry /// -/// NOTE Corresponding ISO 10303-42 entity: swept_disk_solid. Please refer to ISO/FDIS 10303-42:2002, p. 282 for the definition of the formal standard. +/// NOTE  Corresponding ISO 10303-42 entity: swept_disk_solid. Please refer to ISO/FDIS 10303-42:2002, p. 282 for the definition of the formal standard. /// -/// HISTORY New entity in IFC Release 2x2. +/// HISTORY  New entity in IFC Release 2x2. /// -/// IFC2x4 CHANGE The attribute StartParam and EndParam have been made optional. +/// IFC2x4 CHANGE  The attribute StartParam and EndParam have been made optional. /// /// Informal proposition /// @@ -16970,14 +16976,14 @@ class IfcSweptDiskSolid : public IfcSolidModel { bool hasStartParam() const; /// The parameter value on the Directrix at which the sweeping operation commences. If no value is provided the start of the sweeping operation is at the start of the Directrix.. /// - /// IFC2x4 CHANGE The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. + /// IFC2x4 CHANGE  The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. double StartParam() const; void setStartParam(double v); /// Whether the optional attribute EndParam is defined for this IfcSweptDiskSolid bool hasEndParam() const; /// The parameter value on the Directrix at which the sweeping operation ends. If no value is provided the end of the sweeping operation is at the end of the Directrix.. /// - /// IFC2x4 CHANGE The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. + /// IFC2x4 CHANGE  The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. double EndParam() const; void setEndParam(double v); virtual const IfcParse::entity& declaration() const; @@ -17037,11 +17043,11 @@ class IfcSweptSurface : public IfcSurface { /// the following illustration. The centre of the position coordinate /// system is in the profile's centre of the bounding box. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE All profile origins are now in the center of the bounding box. +/// IFC2x3 CHANGE  All profile origins are now in the center of the bounding box. /// -/// IFC2x4 CHANGE Type of FilletRadius, FlangeEdgeRadius, and WebEdgeRadius relaxed to allow for zero radius. Trailing attribute CentreOfGravityInY deleted, use respective property in IfcExtendedProfileProperties instead. +/// IFC2x4 CHANGE  Type of FilletRadius, FlangeEdgeRadius, and WebEdgeRadius relaxed to allow for zero radius. Trailing attribute CentreOfGravityInY deleted, use respective property in IfcExtendedProfileProperties instead. /// /// Figure 326 illustrates parameters of the T-shape profile definition. /// @@ -17057,7 +17063,7 @@ class IfcSweptSurface : public IfcSurface { /// can be positioned centric (using x,y offsets = 0.), or at any position /// relative to the profile. /// -/// Figure 326 — T-shape profile +/// Figure 326 — T-shape profile class IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). @@ -17114,14 +17120,14 @@ class IfcTessellatedItem : public IfcGeometricRepresentationItem { }; /// The text literal is a geometric representation item which describes a text string using a string literal and additional position and path information. /// -/// NOTE The IfcTextLiteral is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange. +/// NOTE  The IfcTextLiteral is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange. /// -/// NOTE Corresponding ISO 10303 name: text_literal. Please refer to ISO/IS 10303-46:1994 for the +/// NOTE  Corresponding ISO 10303 name: text_literal. Please refer to ISO/IS 10303-46:1994 for the /// final definition of the formal standard. The attributes font and alignment have been removed as those should be handled by the text style. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE The IfcTextLiteral has been changed by removing Font and Alignment. +/// IFC2x3 CHANGE  The IfcTextLiteral has been changed by removing Font and Alignment. class IfcTextLiteral : public IfcGeometricRepresentationItem { public: /// The text literal to be presented. @@ -17142,13 +17148,13 @@ class IfcTextLiteral : public IfcGeometricRepresentationItem { }; /// The text literal with extent is a text literal with the additional explicit information of the planar extent (or surrounding text box). An alignment attribute defines, how the text box is aligned to the placement and how it may expand. /// -/// NOTE The IfcTextLiteralWithExtent is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation. +/// NOTE  The IfcTextLiteralWithExtent is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation. /// -/// NOTE Corresponding ISO 10303 name: text_literal_with_extent. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: text_literal_with_extent. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE The IfcTextLiteralWithExtent has been changed by adding BoxAlignment. +/// IFC2x3 CHANGE  The IfcTextLiteralWithExtent has been changed by adding BoxAlignment. class IfcTextLiteralWithExtent : public IfcTextLiteral { public: /// The extent in the x and y direction of the text literal. @@ -17191,7 +17197,7 @@ class IfcTextLiteralWithExtent : public IfcTextLiteral { /// face, but it doesn't contain a glyph /// for the current character, and if there is a next alternative /// 'font-family' in the font sets, then repeat step 2 with the next -/// alternative 'font-family'. +/// alternative 'font-family'.  /// If there is no font within /// the family selected in 2, then use a /// UA-dependent default 'font-family' and repeat step 2, using the best @@ -17225,9 +17231,9 @@ class IfcTextLiteralWithExtent : public IfcTextLiteral { /// /// The inherited Name attribute is used to define the font name, particularly in cases, where no (list of) font families are provided. /// -/// NOTE Corresponding CSS1 definitions are Font properties ('font-family', 'font-style', 'font-variant', 'font-weight'). +/// NOTE  Corresponding CSS1 definitions are Font properties ('font-family', 'font-style', 'font-variant',  'font-weight'). /// -/// HISTORY New entity in IFC2x3. +/// HISTORY  New entity in IFC2x3. class IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. @@ -17241,17 +17247,17 @@ class IfcTextStyleFontModel : public IfcPreDefinedTextFont { /// Whether the optional attribute FontVariant is defined for this IfcTextStyleFontModel bool hasFontVariant() const; /// The font variant property selects between normal and small-caps. - /// NOTE It has been introduced for later compliance to full CSS1 support. + /// NOTE  It has been introduced for later compliance to full CSS1 support. std::string FontVariant() const; void setFontVariant(std::string v); /// Whether the optional attribute FontWeight is defined for this IfcTextStyleFontModel bool hasFontWeight() const; /// The font weight property selects the weight of the font. - /// NOTE Values other then 'normal' and 'bold' have been introduced for later compliance to full CSS1 support. + /// NOTE  Values other then 'normal' and 'bold' have been introduced for later compliance to full CSS1 support. std::string FontWeight() const; void setFontWeight(std::string v); /// The font size provides the size or height of the text font. - /// NOTE The following values are allowed, ::ptr HasPropertySets() const; void setHasPropertySets(IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr v); IfcTemplatedEntityList< IfcRelDefinesByType >::ptr Types() const; // INVERSE IfcRelDefinesByType::RelatingType @@ -17486,7 +17492,7 @@ class IfcTypeProcess : public IfcTypeObject { /// Cartesian transformation operator only uses translation, but no /// rotation, mirroring, or scaling. /// -/// Figure 10 — Product type geometry with single placement +/// Figure 10 — Product type geometry with single placement /// /// Figure 11 illustrates an example of referencing a representation /// multiple times map by the shape representation of a product @@ -17495,7 +17501,7 @@ class IfcTypeProcess : public IfcTypeObject { /// different translation values determine the pattern of the /// multiple placement. /// -/// Figure 11 — Product type geometry with multiple placement +/// Figure 11 — Product type geometry with multiple placement class IfcTypeProduct : public IfcTypeObject { public: /// Whether the optional attribute RepresentationMaps is defined for this IfcTypeProduct @@ -17560,11 +17566,11 @@ class IfcTypeResource : public IfcTypeObject { /// according to the following illustration. The centre of the position /// coordinate system is in the profile's centre of the bounding box. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE All profile origins are now in the center of the bounding box. +/// IFC2x3 CHANGE  All profile origins are now in the center of the bounding box. /// -/// IFC2x4 CHANGE Type of FilletRadius and EdgeRadius relaxed to allow for zero radius. +/// IFC2x4 CHANGE  Type of FilletRadius and EdgeRadius relaxed to allow for zero radius. /// Trailing attribute CentreOfGravityInX deleted, use respective property in IfcExtendedProfileProperties instead. /// /// Figure 327 illustrates parameters of the U-shape profile definition. @@ -17580,7 +17586,7 @@ class IfcTypeResource : public IfcTypeObject { /// can be positioned centric (using x,y offsets = 0.), or at any position /// relative to the profile. /// -/// Figure 327 — U-shape profile +/// Figure 327 — U-shape profile class IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). @@ -17646,9 +17652,9 @@ class IfcVector : public IfcGeometricRepresentationItem { /// A vertex loop has zero extent and dimensionality. /// The vertex loop has genus 0. /// -/// NOTE Corresponding ISO 10303 entity: vertex_loop. Please refer to ISO/IS 10303-42:1994, p. 121 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: vertex_loop. Please refer to ISO/IS 10303-42:1994, p. 121 for the final definition of the formal standard. /// -/// HISTORY New Entity in IFC2x2. +/// HISTORY  New Entity in IFC2x2. class IfcVertexLoop : public IfcLoop { public: /// The vertex which defines the entire loop. @@ -17705,9 +17711,9 @@ class IfcWindowStyle : public IfcTypeProduct { /// the following illustration. The centre of the position coordinate /// system is in the profile's centre of the bounding box. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x Edition 4 CHANGE Type of FilletRadius and EdgeRadius relaxed to allow for zero radius. +/// IFC2x Edition 4 CHANGE  Type of FilletRadius and EdgeRadius relaxed to allow for zero radius. /// /// Figure 328 illustrates parameters of the Z-shape profile definition. /// @@ -17722,7 +17728,7 @@ class IfcWindowStyle : public IfcTypeProduct { /// can be positioned centric (using x,y offsets = 0.), or at any position /// relative to the profile. /// -/// Figure 328 — Z-shape profile +/// Figure 328 — Z-shape profile class IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web length, see illustration above (= h). @@ -17762,10 +17768,10 @@ class IfcZShapeProfileDef : public IfcParameterizedProfileDef { /// have all faces to be bound by IfcEdgeLoop or IfcVertexLoop /// have all edges to have an edge curve geometry have the edge curve geometry restricted to IfcLine, IfcConic, IfcPolyline, or IfcBSplineCurve /// -/// NOTE Corresponding ISO 10303 entity: advanced_face. Please refer to ISO/IS 10303-511:1999 for +/// NOTE  Corresponding ISO 10303 entity: advanced_face. Please refer to ISO/IS 10303-511:1999 for /// the final definition of the formal standard. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 class IfcAdvancedFace : public IfcFaceSurface { public: virtual const IfcParse::entity& declaration() const; @@ -17780,9 +17786,9 @@ class IfcAdvancedFace : public IfcFaceSurface { /// /// Figure 300 (from ISO 10303-46) illustrates annotation fill area. /// -/// Figure 300 — Annotation fill area +/// Figure 300 — Annotation fill area /// -/// NOTE Corresponding ISO 10303 name: annotation_fill_area. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: annotation_fill_area. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// The IfcAnnotationFillArea defines an area by a definite OuterBoundary, that might include InnerBoundaries. The areas defined by the InnerBoundaries are excluded from applying the fill area style. /// @@ -17791,21 +17797,21 @@ class IfcAdvancedFace : public IfcFaceSurface { /// Any curve that describes an inner boundary shall not intersect with, nor include, another curve defining an inner boundary. /// The curve defining the outer boundary shall not intersect with any curve defining an inner boundary, nor shall it be surrounded by a curve defining an inner boundary. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary. +/// IFC2x3 CHANGE  The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary. class IfcAnnotationFillArea : public IfcGeometricRepresentationItem { public: /// A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style. /// - /// IFC2x Edition 3 CHANGE The two new attributes OuterBoundary and InnerBoundaries replace the old single attribute Boundaries. + /// IFC2x Edition 3 CHANGE  The two new attributes OuterBoundary and InnerBoundaries replace the old single attribute Boundaries. IfcCurve* OuterBoundary() const; void setOuterBoundary(IfcCurve* v); /// Whether the optional attribute InnerBoundaries is defined for this IfcAnnotationFillArea bool hasInnerBoundaries() const; /// A set of inner curves that define the inner boundaries of the fill area. The areas defined by the inner boundaries are excluded from applying the fill area style. /// - /// IFC2x Edition 3 CHANGE The two new attributes OuterBoundary and InnerBoundaries replace the old single attribute Boundaries. + /// IFC2x Edition 3 CHANGE  The two new attributes OuterBoundary and InnerBoundaries replace the old single attribute Boundaries. IfcTemplatedEntityList< IfcCurve >::ptr InnerBoundaries() const; void setInnerBoundaries(IfcTemplatedEntityList< IfcCurve >::ptr v); virtual const IfcParse::entity& declaration() const; @@ -17837,11 +17843,11 @@ class IfcAnnotationFillArea : public IfcGeometricRepresentationItem { /// to an external document or library should be provided to further define the /// profile as described at IfcProfileDef. /// -/// HISTORY New entity in Release IFC2x Edition 2. +/// HISTORY  New entity in Release IFC2x Edition 2. /// -/// IFC2x3 CHANGE All profile origins are now in the center of the bounding box. The attribute CentreOfGravityInY has been made OPTIONAL. +/// IFC2x3 CHANGE  All profile origins are now in the center of the bounding box. The attribute CentreOfGravityInY has been made OPTIONAL. /// -/// IFC2x4 CHANGE Bottom flange is not necessarily wider than top flange. TopFlangeThickness changed from OPTIONAL to mandatory. Type of TopFlangeFilletRadius relaxed to allow for zero radius. Trailing attribute CentreOfGravityInY deleted, use respective property in IfcExtendedProfileProperties instead. +/// IFC2x4 CHANGE  Bottom flange is not necessarily wider than top flange. TopFlangeThickness changed from OPTIONAL to mandatory. Type of TopFlangeFilletRadius relaxed to allow for zero radius. Trailing attribute CentreOfGravityInY deleted, use respective property in IfcExtendedProfileProperties instead. /// /// Figure 310 illustrates parameters of the asymmetric I-shaped section definition. The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept area solid that uses the profile definition. It is the xy plane of: /// @@ -17850,7 +17856,7 @@ class IfcAnnotationFillArea : public IfcGeometricRepresentationItem { /// By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position /// relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the 'CentreOfGravityInY' property in IfcExtendedProfileProperties, if provided, is negative. /// -/// Figure 310 — Assymetric I-shape profile +/// Figure 310 — Assymetric I-shape profile class IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { public: double BottomFlangeWidth() const; @@ -17902,13 +17908,13 @@ class IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { }; /// Definition from ISO/CD 10303-42:1992: The direction and location in three dimensional space of a single axis. An axis1_placement is defined in terms of a locating point (inherited from placement supertype) and an axis direction: this is either the direction of axis or defaults to (0.0,0.0,1.0). The actual direction for the axis placement is given by the derived attribute z (Z). /// -/// NOTE Corresponding ISO 10303 name: axis1_placement, please refer to ISO/IS 10303-42:1994, p. 28 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: axis1_placement, please refer to ISO/IS 10303-42:1994, p. 28 for the final definition of the formal standard. /// -/// HISTORY New entity in IFC Release 1.5 +/// HISTORY  New entity in IFC Release 1.5 /// /// Figure 274 illustrates the definition of the IfcAxis1Placement within the three-dimensional coordinate system. /// -/// Figure 274 — Axis1 placement +/// Figure 274 — Axis1 placement class IfcAxis1Placement : public IfcPlacement { public: /// Whether the optional attribute Axis is defined for this IfcAxis1Placement @@ -17926,13 +17932,13 @@ class IfcAxis1Placement : public IfcPlacement { /// /// If the RefDirection attribute is not given, the placement defaults to P[1] (x-axis) as [1.,0.] and P[2] (y-axis) as [0.,1.]. /// -/// NOTE Corresponding ISO 10303 name: axis2_placement_2d, please refer to ISO/IS 10303-42:1994, p. 28 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: axis2_placement_2d, please refer to ISO/IS 10303-42:1994, p. 28 for the final definition of the formal standard. /// -/// HISTORY New entity in IFC Release 1.5. +/// HISTORY  New entity in IFC Release 1.5. /// /// Figure 275 illustrates the definition of the IfcAxis2Placement2D within the two-dimensional coordinate system. /// -/// Figure 275 — Axis2 placement 2D +/// Figure 275 — Axis2 placement 2D class IfcAxis2Placement2D : public IfcPlacement { public: /// Whether the optional attribute RefDirection is defined for this IfcAxis2Placement2D @@ -17952,13 +17958,13 @@ class IfcAxis2Placement2D : public IfcPlacement { /// are not given, the placement defaults to P[1] (x-axis) as [1.,0.,0.], /// P[2] (y-axis) as [0.,1.,0.] and P[3] (z-axis) as [0.,0.,1.]. /// -/// NOTE Corresponding ISO 10303 name: axis2_placement_3d, please refer to ISO/IS 10303-42:1994 for the final definition of the formal standard. The WR5 is added to ensure that either both attributes Axis and RefDirection are given, or both are omitted. +/// NOTE  Corresponding ISO 10303 name: axis2_placement_3d, please refer to ISO/IS 10303-42:1994 for the final definition of the formal standard. The WR5 is added to ensure that either both attributes Axis and RefDirection are given, or both are omitted. /// -/// HISTORY New entity in IFC Release 1.5. +/// HISTORY  New entity in IFC Release 1.5. /// /// Figure 276 illustrates the definition of the IfcAxis2Placement3D within the three-dimensional coordinate system. /// -/// Figure 276 — Axis2 placement 3D +/// Figure 276 — Axis2 placement 3D class IfcAxis2Placement3D : public IfcPlacement { public: /// Whether the optional attribute Axis is defined for this IfcAxis2Placement3D @@ -18061,7 +18067,7 @@ class IfcBoundedSurface : public IfcSurface { /// /// As shown in Figure 252, the IfcBoundingBox is defined with its own location which can be used to place the IfcBoundingBox relative to the geometric coordinate system. The IfcBoundingBox is defined by the lower left corner (Corner) and the upper right corner (XDim, YDim, ZDim measured within the parent co-ordinate system). /// -/// Figure 252 — Bounding box +/// Figure 252 — Bounding box class IfcBoundingBox : public IfcGeometricRepresentationItem { public: /// Location of the bottom left corner (having the minimum values). @@ -18084,7 +18090,7 @@ class IfcBoundingBox : public IfcGeometricRepresentationItem { }; /// Definition from ISO/CD 10303-42:1992: This entity is a subtype of the half space solid which is trimmed by a surrounding rectangular box. The box has its edges parallel to the coordinate axes of the geometric coordinate system. /// -/// NOTE The purpose of the box is to facilitate CSG computations by producing a solid of finite size. +/// NOTE  The purpose of the box is to facilitate CSG computations by producing a solid of finite size. /// /// The IfcBoxedHalfSpace is /// used (as its supertype IfcHalfSpaceSolid) only within @@ -18099,19 +18105,19 @@ class IfcBoundingBox : public IfcGeometricRepresentationItem { /// would be the same, as if executed by the supertype /// IfcHalfSpaceSolid. See Figure 253 below. /// -/// Figure 253 — Boxed half space operands +/// Figure 253 — Boxed half space operands /// /// NOTE Corresponding ISO 10303-42 entity: boxed_half_space, please refer to ISO/IS 10303-42:1994, p. 185 for the final definition of the formal standard. The IFC class IfcBoundingBox is used for the definition of the enclosure, providing the same definition as box_domain. /// -/// HISTORY New entity in IFC Release 1.5.1, improved documentation available in IFC Release 2x. +/// HISTORY  New entity in IFC Release 1.5.1, improved documentation available in IFC Release 2x. /// -/// IFC2x4 CHANGE Usage correct, position coordinate system for Enclosure is the object coordinate system. +/// IFC2x4 CHANGE  Usage correct, position coordinate system for Enclosure is the object coordinate system. /// /// The IfcBoundingBox (relating to ISO 10303-42:1994 box_domain) that provides the enclosure is given for the convenience of the receiving application to enable the use of size box comparison for efficiency (for example, to check first whether size boxes intersect, if not no calculations has to be done to check whether the solids of the entities intersect). /// /// The Enclosure therefore helps to prevent dealing with infinite-size related issues. The enclosure box is positioned within the object coordinate system, established by the ObjectPlacement of the element represented (for example, by IfcLocalPlacement). Figure 254 shows the Enclosure box being sufficiently large to fully enclose the Boolean result. /// -/// Figure 254 — Boxed half space geometry +/// Figure 254 — Boxed half space geometry class IfcBoxedHalfSpace : public IfcHalfSpaceSolid { public: /// The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. @@ -18131,11 +18137,11 @@ class IfcBoxedHalfSpace : public IfcHalfSpaceSolid { /// illustration. The centre of the position coordinate system is in the /// profile's centre of the bounding box. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE All profile origins are now in the center of the bounding box. +/// IFC2x3 CHANGE  All profile origins are now in the center of the bounding box. /// -/// IFC2x4 CHANGE Type of InternalFilletRadius relaxed to allow for zero radius. +/// IFC2x4 CHANGE  Type of InternalFilletRadius relaxed to allow for zero radius. /// Trailing attribute CentreOfGravityInX deleted, use respective property in IfcExtendedProfileProperties instead. /// /// Figure 315 illustrates parameters of the C-shape profile definition. The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept area solid that uses the profile definition. It is the xy plane of: @@ -18144,7 +18150,7 @@ class IfcBoxedHalfSpace : public IfcHalfSpaceSolid { /// /// By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. The parameterized profile is defined by a set of parameter attributes. In the illustrated example, the 'CentreOfGravityInX' property in IfcExtendedProfileProperties, if provided, is negative. /// -/// Figure 315 — C-shape profile +/// Figure 315 — C-shape profile class IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: /// Profile depth, see illustration above (= h). @@ -18360,7 +18366,7 @@ class IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransf }; /// IfcCircleProfileDef defines a circle as the profile definition used by the swept surface geometry or by the swept area solid. It is given by its Radius attribute and placed within the 2D position coordinate system, established by the Position attribute. /// -/// HISTORY New class in IFC 1.5. +/// HISTORY  New class in IFC 1.5. /// /// Figure 313 illustrates parameters for the circle profile definition. The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept surface or swept area solid that uses the profile definition. It is the xy plane of either: /// @@ -18369,7 +18375,7 @@ class IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransf /// /// Or in case of sectioned spines, it is the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (e.g. upper-left bound). The Position attribute defines the 2D position coordinate system of the circle. The Radius attribute defines the radius of the circle. /// -/// Figure 313 — Circle profile +/// Figure 313 — Circle profile class IfcCircleProfileDef : public IfcParameterizedProfileDef { public: /// The radius of the circle. @@ -18400,14 +18406,14 @@ class IfcCircleProfileDef : public IfcParameterizedProfileDef { /// with a closed shell is a closed, orientable manifold. The domain of a closed /// shell, if present, is a connected, closed, oriented 2-manifold. It is always /// topologically equivalent to an H-fold torus for some H -/// 0. The number H is referred to as the +/// ³ 0. The number H is referred to as the /// surface genus of the shell. If a shell of genus H has a domain within /// coordinate space R3, then the finite region of space inside /// it is topologically equivalent to a solid ball with H tunnels drilled /// through it. /// The Euler equation (7) applies with B=0, because in this case /// there are no holes. As in the case of open shells, the surface genus H -/// may not be known a priori, but shall be an integer 0. Thus a necessary, but not sufficient, condition +/// may not be known a priori, but shall be an integer ³ 0. Thus a necessary, but not sufficient, condition /// for a well-formed closed shell is the following: /// /// In the current IFC Release only poly loops @@ -18416,7 +18422,7 @@ class IfcCircleProfileDef : public IfcParameterizedProfileDef { /// /// NOTE: Corresponding ISO 10303 entity: closed_shell, please refer to ISO/IS 10303-42:1994, p.149 for the final definition of the formal standard. /// -/// HISTORY New class in IFC Release 1.0 +/// HISTORY  New class in IFC Release 1.0 /// /// Informal propositions: /// @@ -18440,27 +18446,27 @@ class IfcClosedShell : public IfcConnectedFaceSet { }; /// Definition from ISO/CD 10303-46:1992: A colour rgb as a subtype of colour specifications is defined by three colour component values for red, green, and blue in the RGB colour model. /// -/// NOTE In contrary to the usual value range of colour components being integer from 0...255, the definition from ISO10303-46 defines the colour components as real from 0.0 ... 1.0. Applications need to execute this conversion before populating the colour RGB values. +/// NOTE  In contrary to the usual value range of colour components being integer from 0...255, the definition from ISO10303-46 defines the colour components as real from 0.0 ... 1.0. Applications need to execute this conversion before populating the colour RGB values. /// -/// NOTE Corresponding STEP name: colour_rgb. The name attribute has been omitted, the data type for the reg, green and blue parts is IfcNormalizedRatioMeasure, that already includes the range restrictions for the values. Please +/// NOTE  Corresponding STEP name: colour_rgb. The name attribute has been omitted, the data type for the reg, green and blue parts is IfcNormalizedRatioMeasure, that already includes the range restrictions for the values. Please /// refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcColourRgb : public IfcColourSpecification { public: /// The intensity of the red colour component. /// - /// NOTE The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual. + /// NOTE  The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual. double Red() const; void setRed(double v); /// The intensity of the green colour component. /// - /// NOTE The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual. + /// NOTE  The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual. double Green() const; void setGreen(double v); /// The intensity of the blue colour component. /// - /// NOTE The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual. + /// NOTE  The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual. double Blue() const; void setBlue(double v); virtual const IfcParse::entity& declaration() const; @@ -18471,7 +18477,7 @@ class IfcColourRgb : public IfcColourSpecification { }; /// IfcComplexProperty is used to define complex properties to be handled completely within a property set. The included set of properties may be a mixed or consistent collection of IfcProperty subtypes. This enables the definition of a set of properties to be included as a single 'property' entry in an IfcPropertySet. The definition of such an IfcComplexProperty can be reused in many different IfcPropertySet's. /// -/// NOTE Since an IfcComplexProperty may contain other complex properties, sets of properties can be nested. This nesting may be restricted by view definitions and implementer agreements. +/// NOTE  Since an IfcComplexProperty may contain other complex properties, sets of properties can be nested. This nesting may be restricted by view definitions and implementer agreements. /// /// HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. class IfcComplexProperty : public IfcProperty { @@ -18503,7 +18509,7 @@ class IfcCompositeCurveSegment : public IfcGeometricRepresentationItem { void setTransition(IfcTransitionCode::IfcTransitionCode v); /// An indicator of whether or not the sense of the segment agrees with, or opposes, that of the parent curve. If SameSense is false, the point with highest parameter value is taken as the first point of the segment. /// - /// NOTE If the datatype of ParentCurve is IfcTrimmedCurve, the value of SameSense overrides the value of IfcTrimmedCurve.SenseAgreement + /// NOTE  If the datatype of ParentCurve is IfcTrimmedCurve, the value of SameSense overrides the value of IfcTrimmedCurve.SenseAgreement bool SameSense() const; void setSameSense(bool v); /// The bounded curve which defines the geometry of the segment. @@ -18530,7 +18536,7 @@ class IfcCompositeCurveSegment : public IfcGeometricRepresentationItem { /// Assignment use definition /// Resource types may be assigned to process types (IfcTypeProcess subtypes) using the IfcRelAssignsToProcess relationship as shown in Figure 193. Such relationship indicates that the resource type applies to the process type for the use indicated (e.g. IfcTaskType.PredefinedType). Such relationship enables a scenario of placing an IfcProduct of a particular IfcTypeProduct, querying for a set of IfcTypeProcess process types for constructing such product (e.g. IfcTaskTypeEnum.CONSTRUCTION), querying each IfcTypeProcess for a set of IfcTypeResource resource types for carrying out the process, and finally choosing an IfcTypeProcess and IfcTypeResource combination resulting in the shortest time for instantiated IfcTask occurrence(s) and/or lowest-cost for instantiated IfcConstructionResource occurrence(s). /// -/// Figure 193 — Construction resource type assignment +/// Figure 193 — Construction resource type assignment class IfcConstructionResourceType : public IfcTypeResource { public: /// Whether the optional attribute BaseCosts is defined for this IfcConstructionResourceType @@ -18551,7 +18557,7 @@ class IfcConstructionResourceType : public IfcTypeResource { /// /// Context definitions can be named, using the inherited Name attribute, which should be a user recognizable key or number for the context. The LongName can add a full name. Further explanations to the context can be given using the inherited Description attribute. /// -/// HISTORY New abstract entity in IFC2x4. +/// HISTORY  New abstract entity in IFC2x4. /// /// Relationship use definition /// Contexts are declared by the relationship object that refers to the corresponding object: @@ -18581,14 +18587,14 @@ class IfcContext : public IfcObjectDefinition { bool hasRepresentationContexts() const; /// Context of the representations used within the context. When the context is a project and it includes shape representations for its components, one or several geometric representation contexts need to be included that define e.g. the world coordinate system, the coordinate space dimensions, and/or the precision factor. /// - /// IFC2x4 CHANGE The attribute has been changed to be optional. Change made with upward compatibility for file based exchange. + /// IFC2x4 CHANGE  The attribute has been changed to be optional. Change made with upward compatibility for file based exchange. IfcTemplatedEntityList< IfcRepresentationContext >::ptr RepresentationContexts() const; void setRepresentationContexts(IfcTemplatedEntityList< IfcRepresentationContext >::ptr v); /// Whether the optional attribute UnitsInContext is defined for this IfcContext bool hasUnitsInContext() const; /// Units globally assigned to measure types used within the context. /// - /// IFC2x4 CHANGE The attribute has been changed to be optional. Change made with upward compatibility for file based exchange. + /// IFC2x4 CHANGE  The attribute has been changed to be optional. Change made with upward compatibility for file based exchange. IfcUnitAssignment* UnitsInContext() const; void setUnitsInContext(IfcUnitAssignment* v); IfcTemplatedEntityList< IfcRelDefinesByProperties >::ptr IsDefinedBy() const; // INVERSE IfcRelDefinesByProperties::RelatedObjects @@ -18716,7 +18722,7 @@ class IfcCurve : public IfcGeometricRepresentationItem { /// /// NOTE Corresponding ISO 10303 entity curve_bounded_surface has been changed to meet the specific requirements of an easy representation of curve bounded planes. /// -/// HISTORY New entity in IFC Release 1.5 +/// HISTORY  New entity in IFC Release 1.5 /// /// IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange. class IfcCurveBoundedPlane : public IfcBoundedSurface { @@ -18845,9 +18851,9 @@ class IfcDoorStyle : public IfcTypeProduct { /// The Euler formula shall be satisfied:(number of vertices) + genus - (number of edges) = 1; /// No edge may be referenced more than once by the same IfcEdgeLoop with the same sense. For this purpose, an edge which is not an oriented edge is considered to be referenced with the sense TRUE. /// -/// NOTE Corresponding ISO 10303 entity: edge_loop. Please refer to ISO/IS 10303-42:1994, p. 122 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: edge_loop. Please refer to ISO/IS 10303-42:1994, p. 122 for the final definition of the formal standard. /// -/// HISTORY New Entity in IFC2x2. +/// HISTORY  New Entity in IFC2x2. class IfcEdgeLoop : public IfcLoop { public: /// A list of oriented edge entities which are concatenated together to form this path. @@ -18889,13 +18895,13 @@ class IfcEdgeLoop : public IfcLoop { /// /// EXAMPLE1 To exchange the net floor area of spaces in /// the German region (as IfcSpace), the name might be -/// 'Netto-Grundflche' (net floor area), and the method of +/// 'Netto-Grundfläche' (net floor area), and the method of /// measurement might be accordingly 'DIN277-2' (German industry norm /// no. 277 edition 2) /// /// EXAMPLE2 The same instance of IfcSpace may have /// a different area measure assigned in the German region according -/// to a housing regulation, the name would be 'Wohnflche' and +/// to a housing regulation, the name would be 'Wohnfläche' and /// the method of measurement would be '2.BV'. It would be attached /// to the IfcSpace by a separate /// IfcRelDefinesByProperties relationship. @@ -19008,7 +19014,7 @@ class IfcElementarySurface : public IfcSurface { /// IfcEllipseProfileDef defines an ellipse as the profile definition used by the swept surface geometry /// or the swept area solid. It is given by its semi axis attributes and placed within the 2D position coordinate system, established by the Position attribute. /// -/// HISTORY New entity in IFC2x +/// HISTORY  New entity in IFC2x /// /// Figure 317 illustrates parameters for the ellipse profile definition. The parameterized profile defines its own position coordinate system. /// The underlying coordinate system is defined by the swept surface or swept area solid that uses the profile definition. It is the xy plane of either: @@ -19018,9 +19024,9 @@ class IfcElementarySurface : public IfcSurface { /// /// Or in case of sectioned spines it is the xy plane of each list member of IfcSectionedSpine.CrossSectionPositions. By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (for example, upper-left bound). The location of the position coordinate system defines the center of the ellipse. The SemiAxis1 attribute defines the first radius of the ellipse in the direction of the X axis, the SemiAxis2 attribute defines the second radius of the ellipse in the direction of the Y axis. /// -/// NOTE The semi axes of the ellipse are rectangular to each other by definition. +/// NOTE  The semi axes of the ellipse are rectangular to each other by definition. /// -/// Figure 317 — Ellipse profile +/// Figure 317 — Ellipse profile class IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. @@ -19037,7 +19043,7 @@ class IfcEllipseProfileDef : public IfcParameterizedProfileDef { }; /// An IfcEventType defines a particular type of event that may be specified. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// An IfcEventType provides for all forms of types of event that may be specified. /// Usage of IfcEventType defines the parameters for one or more occurrences of IfcEvent. Parameters may be specified through property sets that may be enumerated in the IfcEventTypeEnum data type or through explicit attributes of IfcEvent. Event occurrences (IfcEvent entities) are linked to the event type through the IfcRelDefinesByType relationship. @@ -19094,11 +19100,11 @@ class IfcEventType : public IfcTypeProcess { /// as a 2D bounded curve with holes within the xy plane of the position coordinate system, /// or as a 2D primitive, defined within a 2D position coordinate system, that is placed relative to the xy plane of the position coordinate system /// -/// Figure 255 — Extruded area solid geometry +/// Figure 255 — Extruded area solid geometry /// -/// NOTE Corresponding ISO 10303-42 entity: extruded_area_solid. Please refer to ISO/IS 10303-42:1994, p. 183 for the final definition of the formal standard. The data type of the inherited SweptArea attribute is different, i.e. of type IfcProfileDef. The Position attribute has been added to position the cross section used for the linear extrusion. +/// NOTE  Corresponding ISO 10303-42 entity: extruded_area_solid. Please refer to ISO/IS 10303-42:1994, p. 183 for the final definition of the formal standard. The data type of the inherited SweptArea attribute is different, i.e. of type IfcProfileDef. The Position attribute has been added to position the cross section used for the linear extrusion. /// -/// HISTORY New entity in IFC Release 1.5, capabilities of this entity have been enhanced in IFC Release 2x. +/// HISTORY  New entity in IFC Release 1.5, capabilities of this entity have been enhanced in IFC Release 2x. /// /// Texture use definition /// For side faces, textures are aligned facing upright continuously @@ -19131,7 +19137,7 @@ class IfcEventType : public IfcTypeProcess { /// texture coordinates start at (-0.5*IfcIShapeProfileDef.OverallWidth, /// -0.5*IfcIShapeProfileDef.OverallDepth). /// -/// Figure 256 — Extruded area solid textures +/// Figure 256 — Extruded area solid textures class IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: /// The direction in which the surface, provided by SweptArea is to be swept. @@ -19283,13 +19289,13 @@ class IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { /// /// The IfcFillAreaStyleHatching is used to define simple, vector-based hatching patterns, based on styled straight lines. The curve font, color and thickness is given by the HatchLineAppearance, the angle by the HatchLineAngle and the distance to the next hatch line by StartOfNextHatchLine, being either an offset distance or a vector. /// -/// NOTE If the hatch pattern involves two (potentially crossing) rows of hatch lines, then two instances of IfcFillAreaStyleHatching should be assigned to the IfcFillAreaStyle. Both share the same (virtual) point of origin of the hatching that is used by the reference hatch line (or the PointOfReferenceHatchLine if there is an offset). +/// NOTE  If the hatch pattern involves two (potentially crossing) rows of hatch lines, then two instances of IfcFillAreaStyleHatching should be assigned to the IfcFillAreaStyle. Both share the same (virtual) point of origin of the hatching that is used by the reference hatch line (or the PointOfReferenceHatchLine if there is an offset). /// -/// For better control of the hatching appearance, when using hatch lines with other fonts then continuous, the PatternStart allows to offset the start of the curve font pattern along the reference hatch line (if not given, the PatternStart is at zero distance from the virtual point of origin). If the reference hatch line does not go through the origin (of the virtual hatching coordinate system), it can be offset by using thePatternStartPointOfReferenceHatchLine. +/// For better control of the hatching appearance, when using hatch lines with other fonts then continuous, the PatternStart allows to offset the start of the curve font pattern along the reference hatch line (if not given, the PatternStart is at zero distance from the virtual point of origin). If the reference hatch line does not go through the origin (of the virtual hatching coordinate system), it can be offset by using the PatternStart PointOfReferenceHatchLine. /// -/// NOTE The coordinates of the PatternStart and the PointOfReferenceHatchLine are given relative to the assumed 0., 0. virtual point of origin at which the hatch pattern is later positioned by the FillStyleTarget point at IfcAnnotationFillAreaOccurrence. The measure values are given in global drawing length units and apply to the target plot scale for the scale depended representation subcontext. +/// NOTE  The coordinates of the PatternStart and the PointOfReferenceHatchLine are given relative to the assumed 0., 0. virtual point of origin at which the hatch pattern is later positioned by the FillStyleTarget point at IfcAnnotationFillAreaOccurrence. The measure values are given in global drawing length units and apply to the target plot scale for the scale depended representation subcontext. /// -/// NOTE The use of PointOfReferenceHatchLine is deprecated. +/// NOTE  The use of PointOfReferenceHatchLine is deprecated. /// /// Figure 292 illustrates hatch attributes. /// @@ -19319,13 +19325,13 @@ class IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { /// Example 6 /// This example shows use of IfcFillAreaStyleHatching attributes for two IfcFillAreaStyleHatching's within one IfcFillAreaStyle. Note that the PatternStart now displaces both the reference hatch line from the point of origin and the start of the curve pattern. This can be used in cases when more than one IfcFillAreaStyleHatching is used in an IfcFillAreaStyle in order to place rows of hatch lines with an offset from each other. /// -/// Figure 292 — Fill area style hatching +/// Figure 292 — Fill area style hatching /// -/// NOTE Corresponding ISO 10303 name: fill_area_style_hatching. Please refer to ISO/IS 10303-46:1994, p. 108 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: fill_area_style_hatching. Please refer to ISO/IS 10303-46:1994, p. 108 for the final definition of the formal standard. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed. +/// IFC2x3 CHANGE  The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed. class IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { public: /// The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. @@ -19333,7 +19339,7 @@ class IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { void setHatchLineAppearance(IfcCurveStyle* v); /// A repetition factor that determines the distance between adjacent hatch lines. /// - /// IFC2x Edition 3 CHANGE The attribute type of StartOfNextHatchLine has changed to a SELECT of IfcPositiveLengthMeasure (new) and IfcOneDirectionRepeatFactor. + /// IFC2x Edition 3 CHANGE  The attribute type of StartOfNextHatchLine has changed to a SELECT of IfcPositiveLengthMeasure (new) and IfcOneDirectionRepeatFactor. IfcHatchLineDistanceSelect* StartOfNextHatchLine() const; void setStartOfNextHatchLine(IfcHatchLineDistanceSelect* v); /// Whether the optional attribute PointOfReferenceHatchLine is defined for this IfcFillAreaStyleHatching @@ -19341,7 +19347,7 @@ class IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { /// A Cartesian point which defines the offset of the reference hatch line from the origin of the (virtual) hatching coordinate system. The origin is used for mapping the fill area style hatching onto an annotation fill area or surface. The reference hatch line would then appear with this offset from the fill style target point. /// If not given the reference hatch lines goes through the origin of the (virtual) hatching coordinate system. /// - /// IFC2x Edition 3 CHANGE The usage of the attribute PointOfReferenceHatchLine has changed to not provide the Cartesian point which is the origin for mapping, but to provide an offset to the origin for the mapping. The attribute has been made OPTIONAL. + /// IFC2x Edition 3 CHANGE  The usage of the attribute PointOfReferenceHatchLine has changed to not provide the Cartesian point which is the origin for mapping, but to provide an offset to the origin for the mapping. The attribute has been made OPTIONAL. IfcCartesianPoint* PointOfReferenceHatchLine() const; void setPointOfReferenceHatchLine(IfcCartesianPoint* v); /// Whether the optional attribute PatternStart is defined for this IfcFillAreaStyleHatching @@ -19655,9 +19661,9 @@ class IfcGeometricCurveSet : public IfcGeometricSet { /// external document or library. See IfcProfileDef for guidance on /// external references for profile definitions. /// -/// HISTORY New entity in IFC2x. +/// HISTORY  New entity in IFC2x. /// -/// IFC2x4 CHANGE Type of FilletRadius relaxed to allow for zero radius. +/// IFC2x4 CHANGE  Type of FilletRadius relaxed to allow for zero radius. /// /// Figure 318 illustrates parameters of the I-shape profile definition. /// @@ -19702,7 +19708,7 @@ class IfcGeometricCurveSet : public IfcGeometricSet { /// is given, it is equally applied to all four corners created by the web /// and flanges. /// -/// Figure 318 — I-shape profile +/// Figure 318 — I-shape profile class IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: /// Total extent of the width, defined parallel to the x axis of the position coordinate system. @@ -19736,6 +19742,29 @@ class IfcIShapeProfileDef : public IfcParameterizedProfileDef { IfcIShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_FlangeEdgeRadius, boost::optional< double > v10_FlangeSlope); typedef IfcTemplatedEntityList< IfcIShapeProfileDef > list; }; + +class IfcIndexedPolygonalFace : public IfcTessellatedItem { +public: + std::vector< int > /*[3:?]*/ CoordIndex() const; + void setCoordIndex(std::vector< int > /*[3:?]*/ v); + IfcTemplatedEntityList< IfcPolygonalFaceSet >::ptr ToFaceSet() const; // INVERSE IfcPolygonalFaceSet::Faces + virtual const IfcParse::entity& declaration() const; + static Type::Enum Class(); + IfcIndexedPolygonalFace (IfcAbstractEntity* e); + IfcIndexedPolygonalFace (std::vector< int > /*[3:?]*/ v1_CoordIndex); + typedef IfcTemplatedEntityList< IfcIndexedPolygonalFace > list; +}; + +class IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { +public: + std::vector< std::vector< int > > InnerCoordIndices() const; + void setInnerCoordIndices(std::vector< std::vector< int > > v); + virtual const IfcParse::entity& declaration() const; + static Type::Enum Class(); + IfcIndexedPolygonalFaceWithVoids (IfcAbstractEntity* e); + IfcIndexedPolygonalFaceWithVoids (std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices); + typedef IfcTemplatedEntityList< IfcIndexedPolygonalFaceWithVoids > list; +}; /// IfcLShapeProfileDef /// defines a section profile that provides the defining parameters of an /// L-shaped section (equilateral L profiles are also covered by this @@ -19747,11 +19776,11 @@ class IfcIShapeProfileDef : public IfcParameterizedProfileDef { /// position coordinate system is in the profiles centre /// of the bounding box. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x3 CHANGE All profile origins are now in the center of the bounding box. +/// IFC2x3 CHANGE  All profile origins are now in the center of the bounding box. /// -/// IFC2x4 CHANGE Width changed from OPTIONAL to mandatory. The previously informal rule that the longer leg is the Depth has been formalized. Types of FilletRadius and EdgeRadius were relaxed to allow for zero values. Trailing attributes CentreOfGravityInX and CentreOfGravityInY deleted, use respective properties in IfcExtendedProfileProperties instead. WHERE rule which required Width <= Depth removed. +/// IFC2x4 CHANGE  Width changed from OPTIONAL to mandatory. The previously informal rule that the longer leg is the Depth has been formalized. Types of FilletRadius and EdgeRadius were relaxed to allow for zero values. Trailing attributes CentreOfGravityInX and CentreOfGravityInY deleted, use respective properties in IfcExtendedProfileProperties instead. WHERE rule which required Width <= Depth removed. /// /// Figure 319 illustrates parameters of equal-sided and non-equal sided L-shaped section definitions. /// @@ -19780,13 +19809,13 @@ class IfcIShapeProfileDef : public IfcParameterizedProfileDef { /// are: /// /// Location = IfcCartesianPoint( -/// +|CentreOfGravityInX|, -/// +|CentreOfGravityInY|) +///               +|CentreOfGravityInX|, +///               +|CentreOfGravityInY|) /// RefDirection = NIL (defaults to 1.,0.) /// /// In the illustrated example, the x and y value of Position.Location, i.e. the measures |CentreOfGravityInX| and |CentreOfGravityInY| are both positive. On the other hand, the properties named 'CentreOfGravityInX' and 'CentreOfGravityInY' in IfcExtendedProfileProperties, if provided, must both be set to 0 now because the centre of gravity of the resulting profile definition is located in the coordinate origin. /// -/// Figure 319 — L-shape profile +/// Figure 319 — L-shape profile class IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: /// Leg length, see illustration above (= h). Same as the overall depth. @@ -19847,11 +19876,11 @@ class IfcLaborResourceType : public IfcConstructionResourceType { /// /// P = Pnt /// V = Dir -/// λ(u) = P + uV +/// λ(u) = P + uV /// /// and the parametric range is: /// -/// ∞ < u < ∞ +/// ∞ < u < ∞ /// /// NOTE Corresponding ISO 10303 entity: line. Please refer to ISO/IS 10303-42:1994, p.37 for the final definition of the formal standard. The derived attribute Dim has been added at this level and was therefore demoted from the geometric_representation_item. /// @@ -20121,14 +20150,14 @@ class IfcPcurve : public IfcCurve { }; /// Definition from ISO/CD 10303-46:1992: A planar box specifies an arbitrary rectangular box and its location in a two dimensional Cartesian coordinate system. /// -/// NOTE Corresponding ISO 10303 name: planar_box. Please refer to +/// NOTE  Corresponding ISO 10303 name: planar_box. Please refer to /// ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcPlanarBox : public IfcPlanarExtent { public: /// The IfcAxis2Placement positions a local coordinate system for the definition of the rectangle. The origin of this local coordinate system serves as the lower left corner of the rectangular box. - /// NOTE In case of a 3D placement by IfcAxisPlacement3D the IfcPlanarBox is defined within the xy plane of the definition coordinate system. + /// NOTE  In case of a 3D placement by IfcAxisPlacement3D the IfcPlanarBox is defined within the xy plane of the definition coordinate system. IfcAxis2Placement* Placement() const; void setPlacement(IfcAxis2Placement* v); virtual const IfcParse::entity& declaration() const; @@ -20146,8 +20175,8 @@ class IfcPlanarBox : public IfcPlanarExtent { /// /// and the surface is parameterized as: /// -/// where the parametric range is -∞ < u,v < -/// ∞. In the above parameterization the length unit for the +/// where the parametric range is -∞ < u,v < +/// ∞. In the above parameterization the length unit for the /// unit vectors x and y is derived from the context of /// the plane. /// @@ -20183,9 +20212,9 @@ class IfcPlane : public IfcElementarySurface { }; /// The pre defined colour determines those qualified names which can be used to identify a colour that is in scope of the current data exchange specification (in contrary to colour specification which defines the colour directly by its colour components). /// -/// NOTE Corresponding ISO 10303 name: pre_defined_colour. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: pre_defined_colour. It has been made into an abstract entity in IFC. Please refer to ISO/IS 10303-46:1994, p. 141 for the final definition of the formal standard. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcPreDefinedColour : public IfcPreDefinedItem { public: virtual const IfcParse::entity& declaration() const; @@ -20239,7 +20268,7 @@ class IfcPreDefinedPropertySet : public IfcPropertySetDefinition { }; /// An IfcProcedureType defines a particular type of procedure that may be specified. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// An IfcProcedureType provides for all forms of types of procedure that may be specified. /// @@ -20280,7 +20309,7 @@ class IfcProcedureType : public IfcTypeProcess { /// acquiring, constructing, or maintaining products or other and /// similar tasks or procedures. /// -/// Figure 2 — Process relationships and the ICON process diagram. +/// Figure 2 — Process relationships and the ICON process diagram. /// /// HISTORY New entity in IFC Release 1.0. /// @@ -20316,7 +20345,7 @@ class IfcProcess : public IfcObject { bool hasLongDescription() const; /// An extended description or narrative that may be provided. /// - /// IFC2x4 CHANGE New attribute. + /// IFC2x4 CHANGE  New attribute. std::string LongDescription() const; void setLongDescription(std::string v); IfcTemplatedEntityList< IfcRelSequence >::ptr IsPredecessorTo() const; // INVERSE IfcRelSequence::RelatingProcess @@ -20450,9 +20479,9 @@ class IfcProduct : public IfcObject { /// the precision used within the geometric representations, and /// optionally the indication of the true north relative to the world coordinate system /// -/// HISTORY New Entity in IFC Release 1.0 +/// HISTORY  New Entity in IFC Release 1.0 /// -/// IFC2x4 CHANGE The attributes RepresentationContexts and UnitsInContext are made optional and are promoted to supertype IfcContext. +/// IFC2x4 CHANGE  The attributes RepresentationContexts and UnitsInContext are made optional and are promoted to supertype IfcContext. /// /// Relationship use definition /// The IfcProject is used to reference the root of the spatial structure of a building (that serves as the primary project breakdown and is required to be hierarchical). The spatial structure elements are linked together, and to the IfcProject, by using the objectified relationship IfcRelAggregates. The IfcProject references them by its inverse relationship: @@ -20468,16 +20497,16 @@ class IfcProduct : public IfcObject { /// The IfcProject is also the context for other information about the construction project such as a work plan. Non-product structures are assigned by their first level object to IfcProject using the IfcRelDeclares relationship. /// /// The IfcProject provides the context for spatial elements and the associated products, and for work plans (or other non-product based) descriptions of the construction project. It is handled by two distinct relationship objects as shown in Figure 3. -/// NOTE The spatial structure and the schedule structure can be decomposed. For example the IfcBuilding can be decomposed into IfcBuildingStorey's, and the IfcWorkPlan can be decomposed into IfcWorkSchedule's. -/// NOTE The products and tasks can be decomposed further. For example the IfcCurtainWall can be decomposed into IfcMember and IfcPlate, the IfcTask can be decomposed into other IfcTask's. -/// NOTE The products and tasks can have direct linking relationships. For example the IfcCurtainWall can be assigned to a IfcTask as an input or output for a construction schedule. -/// NOTE The anomaly to use the composition structure through IfcRelAggregates for assigning the uppermost spatial container to IfcProject is due to upward compatibility reasons with earlier releases of this standard. +/// NOTE   The spatial structure and the schedule structure can be decomposed. For example the IfcBuilding can be decomposed into IfcBuildingStorey's, and the IfcWorkPlan can be decomposed into IfcWorkSchedule's. +/// NOTE   The products and tasks can be decomposed further. For example the IfcCurtainWall can be decomposed into IfcMember and IfcPlate, the IfcTask can be decomposed into other IfcTask's. +/// NOTE   The products and tasks can have direct linking relationships. For example the IfcCurtainWall can be assigned to a IfcTask as an input or output for a construction schedule. +/// NOTE   The anomaly to use the composition structure through IfcRelAggregates for assigning the uppermost spatial container to IfcProject is due to upward compatibility reasons with earlier releases of this standard. /// -/// Figure 3 — Project spatial and work plan structure +/// Figure 3 — Project spatial and work plan structure /// /// As shown in Figure 4, the IfcProject provides the context for project libraries that in return provide a context to the library items assigned to it. Product types are an example for items that can be included in a project library. /// -/// Figure 4 — Project spatial structure, products and product type library +/// Figure 4 — Project spatial structure, products and product type library /// /// Informal propositions: /// @@ -20507,7 +20536,7 @@ class IfcProject : public IfcContext { /// SELF\IfcContext.UnitsInContext /// Units locally assigned to measure types used within the context of this project library. /// -/// NOTE It is generally discouraged to use a different length measure and plane angle measure in an included project library compared with the project itself. It may lead to unexpected results for the shape representation of items included in the project library. +/// NOTE  It is generally discouraged to use a different length measure and plane angle measure in an included project library compared with the project itself. It may lead to unexpected results for the shape representation of items included in the project library. /// /// Relationship use definition /// @@ -20558,7 +20587,7 @@ class IfcProjectLibrary : public IfcContext { /// LowerBoundValue or the UpperBoundValue is /// included in the interval. /// -/// NOTE An IfcPropertyBoundedValue may be +/// NOTE  An IfcPropertyBoundedValue may be /// exchanged with no values assigned yet. In this case the /// LowerBoundValue and the UpperBoundValue are /// set to NIL. @@ -20615,11 +20644,11 @@ class IfcProjectLibrary : public IfcContext { /// /// kg /// -/// HISTORYNew entity in IFC Release 2x. +/// HISTORY New entity in IFC Release 2x. /// -/// IFC2x2 CHANGE The attribute type of the attribute UpperBoundValue and LowerBoundValue has been changed from mandatory to optional with upward compatibility for file based exchange. +/// IFC2x2 CHANGE  The attribute type of the attribute UpperBoundValue and LowerBoundValue has been changed from mandatory to optional with upward compatibility for file based exchange. /// -/// IFC2x4 CHANGE The attribute SetPointValue has been added. +/// IFC2x4 CHANGE  The attribute SetPointValue has been added. /// /// Informal proposition: /// @@ -20647,7 +20676,7 @@ class IfcPropertyBoundedValue : public IfcSimpleProperty { bool hasSetPointValue() const; /// Set point value as typically used for operational value setting. /// - /// IFC2x4 CHANGE The attribute has been added at the end of the attribute list. + /// IFC2x4 CHANGE  The attribute has been added at the end of the attribute list. IfcValue* SetPointValue() const; void setSetPointValue(IfcValue* v); virtual const IfcParse::entity& declaration() const; @@ -20664,7 +20693,7 @@ class IfcPropertyBoundedValue : public IfcSimpleProperty { /// optional EnumerationValues /// with measure type and optionally an Unit is given. /// -/// NOTE Multiple choices from the property enumeration are supported. +/// NOTE  Multiple choices from the property enumeration are supported. /// /// The unit is handled by the Unit attribute of the /// IfcPropertyEnumeration: @@ -20686,7 +20715,7 @@ class IfcPropertyBoundedValue : public IfcSimpleProperty { /// (IfcPropertySet) including the allowed list of /// values. /// -/// NOTE An IfcPropertyEnumeratedValue may be exchanged with no values assigned yet. In this case the EnumerationValues are set to NIL. +/// NOTE  An IfcPropertyEnumeratedValue may be exchanged with no values assigned yet. In this case the EnumerationValues are set to NIL. /// /// Examples of a property with enumerated value are: /// @@ -20728,7 +20757,7 @@ class IfcPropertyBoundedValue : public IfcSimpleProperty { /// referenced by multiple instances of /// IfcPropertyEnumeratedValue. /// -/// HISTORYNew Entity in IFC Release 2.0, capabilities enhanced in IFC2x. The entity has +/// HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC2x. The entity has /// been renamed from IfcEnumeratedProperty in IFC2x. /// /// IFC2x4 CHANGE Attribute EnumerationValues has been made OPTIONAL with upward @@ -20739,7 +20768,7 @@ class IfcPropertyEnumeratedValue : public IfcSimpleProperty { bool hasEnumerationValues() const; /// Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. /// - /// IFC2x4 CHANGE The attribute has been made optional with upward compatibility for file based exchange. + /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. IfcEntityList::ptr EnumerationValues() const; void setEnumerationValues(IfcEntityList::ptr v); /// Whether the optional attribute EnumerationReference is defined for this IfcPropertyEnumeratedValue @@ -20815,16 +20844,16 @@ class IfcPropertyEnumeratedValue : public IfcSimpleProperty { /// /// - /// -/// HISTORY New Entity in Release IFC 2x Edition 2. +/// HISTORY  New Entity in Release IFC 2x Edition 2. /// -/// IFC2x4 CHANGE Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. +/// IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. class IfcPropertyListValue : public IfcSimpleProperty { public: /// Whether the optional attribute ListValues is defined for this IfcPropertyListValue bool hasListValues() const; /// List of property values. /// - /// IFC2x4 CHANGE The attribute has been made optional with upward compatibility for file based exchange. + /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. IfcEntityList::ptr ListValues() const; void setListValues(IfcEntityList::ptr v); /// Whether the optional attribute Unit is defined for this IfcPropertyListValue @@ -20846,11 +20875,11 @@ class IfcPropertyListValue : public IfcSimpleProperty { /// entities to be used as value references are given by the /// IfcObjectReferenceSelect. /// -/// HISTORY New entity in IFC +/// HISTORY  New entity in IFC /// Release 1.5. Entity has been renamed from /// IfcObjectReference in IFC Release 2x. /// -/// IFC2x4 CHANGE Attribute +/// IFC2x4 CHANGE  Attribute /// PropertyReference has been made OPTIONAL with upward /// compatibility for file based exchange. class IfcPropertyReferenceValue : public IfcSimpleProperty { @@ -20864,7 +20893,7 @@ class IfcPropertyReferenceValue : public IfcSimpleProperty { bool hasPropertyReference() const; /// Reference to another property entity through one of the select types in the IfcObjectReferenceSelect. /// - /// IFC2x4 CHANGE The attribute has been made optional with upward compatibility for file based exchange. + /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. IfcObjectReferenceSelect* PropertyReference() const; void setPropertyReference(IfcObjectReferenceSelect* v); virtual const IfcParse::entity& declaration() const; @@ -20887,11 +20916,11 @@ class IfcPropertyReferenceValue : public IfcSimpleProperty { /// and the individual properties that maybe included can be assigned /// using the property set template. /// -/// NOTE See IfcRelDefinesByType for how to override property sets assigned to an object type within the object occurrence. +/// NOTE  See IfcRelDefinesByType for how to override property sets assigned to an object type within the object occurrence. /// -/// HISTORY New Entity in IFC Release 1.0 +/// HISTORY  New Entity in IFC Release 1.0 /// -/// IFC2x4 CHANGE All statically defined property set entities are no longer subtypes of +/// IFC2x4 CHANGE  All statically defined property set entities are no longer subtypes of /// IfcPropertySet. /// /// Relationship use definition @@ -20914,7 +20943,7 @@ class IfcPropertyReferenceValue : public IfcSimpleProperty { /// Instances of IfcPropertySet are used to assign named /// sets of individual properties (complex or single properties). Each /// individual property has a significant name string. Some property -/// sets are included in the IFC specification and havea +/// sets are included in the IFC specification and have a /// predefined set of properties indicated by assigning a significant /// name. These property sets are listed under "property sets" main /// menu item within this specification and from the object @@ -20943,7 +20972,7 @@ class IfcPropertySet : public IfcPropertySetDefinition { /// of property templates within a property tree. The individual /// property templates are interpreted according to their Name /// attribute and shall have no values assigned. -/// NOTE By +/// NOTE  By /// convention an IfcPropertySetTemplate can also be used as a /// template for an IfcElementQuantity, being a particular /// type of a property set definition. @@ -20967,7 +20996,7 @@ class IfcPropertySet : public IfcPropertySetDefinition { /// /// Figure 5 illustrates relationships used for property set templates. /// -/// Figure 5 — Property set template relationships +/// Figure 5 — Property set template relationships class IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { public: /// Whether the optional attribute TemplateType is defined for this IfcPropertySetTemplate @@ -21041,18 +21070,18 @@ class IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { /// IfcThermalTransmittanceMeasure /// W/(m2K) /// -/// HISTORYNew entity in IFC Release 1.0. The entity has been renamed from IfcSimpleProperty in IFC Release 2x. +/// HISTORY New entity in IFC Release 1.0. The entity has been renamed from IfcSimpleProperty in IFC Release 2x. /// -/// IFC2x3 CHANGEAttribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. +/// IFC2x3 CHANGE Attribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. class IfcPropertySingleValue : public IfcSimpleProperty { public: /// Whether the optional attribute NominalValue is defined for this IfcPropertySingleValue bool hasNominalValue() const; /// Value and measure type of this property. /// - /// NOTE By virtue of the defined data type, that is selected from the SELECT IfcValue, the appropriate unit can be found within the IfcUnitAssignment, defined for the project if no value for the unit attribute is given. + /// NOTE  By virtue of the defined data type, that is selected from the SELECT IfcValue, the appropriate unit can be found within the IfcUnitAssignment, defined for the project if no value for the unit attribute is given. /// - /// IFC2x3 CHANGE The attribute has been made optional with upward compatibility for file based exchange. + /// IFC2x3 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. IfcValue* NominalValue() const; void setNominalValue(IfcValue* v); /// Whether the optional attribute Unit is defined for this IfcPropertySingleValue @@ -21176,7 +21205,7 @@ class IfcPropertySingleValue : public IfcSimpleProperty { /// /// HISTORY: New entity in IFC2x. /// -/// IFC2x4 CHANGE Attributes DefiningValues and DefinedValues have been made OPTIONAL with upward compatibility for file based exchange. The attribute CurveInterpolation has been added.. +/// IFC2x4 CHANGE  Attributes DefiningValues and DefinedValues have been made OPTIONAL with upward compatibility for file based exchange. The attribute CurveInterpolation has been added.. /// /// Informal propositions: /// @@ -21188,14 +21217,14 @@ class IfcPropertyTableValue : public IfcSimpleProperty { bool hasDefiningValues() const; /// List of defining values, which determine the defined values. This list shall have unique values only. /// - /// IFC2x4 CHANGE The attribute has been made optional with upward compatibility for file based exchange. + /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. IfcEntityList::ptr DefiningValues() const; void setDefiningValues(IfcEntityList::ptr v); /// Whether the optional attribute DefinedValues is defined for this IfcPropertyTableValue bool hasDefinedValues() const; /// Defined values which are applicable for the scope as defined by the defining values. /// - /// IFC2x4 CHANGE The attribute has been made optional with upward compatibility for file based exchange. + /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. IfcEntityList::ptr DefinedValues() const; void setDefinedValues(IfcEntityList::ptr v); /// Whether the optional attribute Expression is defined for this IfcPropertyTableValue @@ -21217,7 +21246,7 @@ class IfcPropertyTableValue : public IfcSimpleProperty { bool hasCurveInterpolation() const; /// Interpolation of the curve between two defining and defined values that are provided. if not provided a linear interpolation is assumed. /// - /// IFC2x4 CHANGE The attribute has been added at the end of the attribute list. + /// IFC2x4 CHANGE  The attribute has been added at the end of the attribute list. IfcCurveInterpolationEnum::IfcCurveInterpolationEnum CurveInterpolation() const; void setCurveInterpolation(IfcCurveInterpolationEnum::IfcCurveInterpolationEnum v); virtual const IfcParse::entity& declaration() const; @@ -21264,18 +21293,18 @@ class IfcPropertyTemplate : public IfcPropertyTemplateDefinition { /// /// The ProxyType may give an indication to which high level semantic breakdown of object the semantic definition of the proxy relates to. the Tag attribute may be used to assign a human or system interpretable identifier (such as a serial number or bar code). /// -/// NOTE 1 Given that only a +/// NOTE 1  Given that only a /// limited number of semantic constructs can be formally defined within /// IFC (and it will never be possible to define all), there has to be a /// mechanism for capturing those constructs that are not (yet) defined by /// IFC. /// -/// NOTE 2 Product proxies are a +/// NOTE 2  Product proxies are a /// mechanism that allows to exchange data that is part of the project but /// not necessarily part of the IFC model. Those proxies may have geometric /// representations assigned. /// -/// HISTORY New entity in IFC Release 1.5. +/// HISTORY  New entity in IFC Release 1.5. class IfcProxy : public IfcProduct { public: /// High level (and only) semantic meaning attached to the IfcProxy, defining the basic construct type behind the Proxy, e.g. Product or Process. @@ -21294,9 +21323,9 @@ class IfcProxy : public IfcProduct { }; /// IfcRectangleHollowProfileDef defines a section profile that provides the defining parameters of a rectangular (or square) hollow section to be used by the swept surface geometry or the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. A square hollow section can be defined by equal values for h and b. The centre of the position coordinate system is in the profiles centre of the bounding box (for symmetric profiles identical with the centre of gravity). Normally, the longer sides are parallel to the y-axis, the shorter sides parallel to the x-axis. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x4 CHANGE Types of InnerFilletRadius and OuterFilletRadius relaxed to allow for zero values. +/// IFC2x4 CHANGE  Types of InnerFilletRadius and OuterFilletRadius relaxed to allow for zero values. /// /// Figure 322 illustrates parameters of a rectangular or square hollow profile definition. /// @@ -21311,7 +21340,7 @@ class IfcProxy : public IfcProduct { /// can be positioned centric (using x,y offsets = 0.), or at any position /// relative to the profile. /// -/// Figure 322 — Rectangle hollow profile +/// Figure 322 — Rectangle hollow profile class IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: /// Thickness of the material. @@ -21342,7 +21371,7 @@ class IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { /// location and orientation of the pyramid: /// /// SELF\IfcCsgPrimitive3D.Position: The location and -/// orientation of the axis system for the primitive. +/// orientation of the axis system for the primitive.  /// SELF\IfcCsgPrimitive3D.Position.Location: The center /// of the circular area being the bottom face of the cone. /// SELF\IfcCsgPrimitive3D.Position.Position[3]: The @@ -21354,11 +21383,11 @@ class IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { /// /// As shown in Figure 260, the pyramid is positioned within its own placement coordinate system. The origin is the center of the bottom rectangle, that lies in the XY plane. The apex lies on the positive z axis at [0, 0, Height]. /// -/// Figure 260 — Rectangular pyramid geometry +/// Figure 260 — Rectangular pyramid geometry /// -/// NOTE Corresponding ISO 10303 entity: right_circular_cone, the position attribute has been promoted to the immediate supertype IfcCsgPrimitive3D. No semi_angle attribute, and the radius defines the bottom radius, since only a non-truncated cone is in scope. Please refer to ISO/IS 10303-42:1994, p. 176 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: right_circular_cone, the position attribute has been promoted to the immediate supertype IfcCsgPrimitive3D. No semi_angle attribute, and the radius defines the bottom radius, since only a non-truncated cone is in scope. Please refer to ISO/IS 10303-42:1994, p. 176 for the final definition of the formal standard. /// -/// HISTORY New entity in IFC2x3 +/// HISTORY  New entity in IFC2x3 /// /// Texture use definition /// @@ -21420,7 +21449,7 @@ class IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { /// -X /// +Y /// -/// Figure 261 — Right circular cone textures +/// Figure 261 — Right circular cone textures class IfcRectangularPyramid : public IfcCsgPrimitive3D { public: /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. @@ -21543,7 +21572,7 @@ class IfcRelAssigns : public IfcRelationship { /// Whether the optional attribute RelatedObjectsType is defined for this IfcRelAssigns bool hasRelatedObjectsType() const; /// Particular type of the assignment relationship. It can constrain the applicable object types, used within the role of RelatedObjects. - /// IFC2x4 CHANGE The attribute is deprecated and shall no longer be used. A NIL value should always be assigned. + /// IFC2x4 CHANGE  The attribute is deprecated and shall no longer be used. A NIL value should always be assigned. IfcObjectTypeEnum::IfcObjectTypeEnum RelatedObjectsType() const; void setRelatedObjectsType(IfcObjectTypeEnum::IfcObjectTypeEnum v); virtual const IfcParse::entity& declaration() const; @@ -21762,7 +21791,7 @@ class IfcRelAssociates : public IfcRelationship { public: /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// - /// IFC2x4 CHANGE The attribute datatype has been changed from IfcRoot to IfcDefinitionSelect. + /// IFC2x4 CHANGE  The attribute datatype has been changed from IfcRoot to IfcDefinitionSelect. IfcEntityList::ptr RelatedObjects() const; void setRelatedObjects(IfcEntityList::ptr v); virtual const IfcParse::entity& declaration() const; @@ -21799,7 +21828,7 @@ class IfcRelAssociatesApproval : public IfcRelAssociates { /// classification system, or /// a reference to the classification system itself /// -/// NOTE The reference to a classification item +/// NOTE  The reference to a classification item /// includes a link to the classification system within which the item /// is declared. It assigns the meaning of the classification item to /// the object (ocurrence or type). The reference to the classification @@ -22060,14 +22089,14 @@ class IfcRelConnectsElements : public IfcRelConnects { /// /// Figure 115 shows the application of IfcRelConnectsPathElements with the ConnectionGeometry of type IfcConnectionCurveGeometry. The example shows the connection relationship between two instances of IfcWallStandardCase using the IfcRelConnectsPathElements relationship. The ConnectionCurveGeometry defines the CurveOnReleatingElement and CurveOnRelatedElement, both are of type IfcPolyline. /// -/// Figure 115 — Path connection geometry +/// Figure 115 — Path connection geometry /// /// Figure 116 illustrates using the IfcRelConnectsPathElements for a "T" type connection between two instances of IfcWallStandardCase. /// Figure 117 illustrates using the IfcRelConnectsPathElements for a "L" type connection between two instances of IfcWallStandardCase. -/// NOTE The two wall axes connect in each case. +/// NOTE  The two wall axes connect in each case. /// -/// Figure 116 — Path connection T-Type -/// Figure 117 — Path connection L-Type +/// Figure 116 — Path connection T-Type +/// Figure 117 — Path connection L-Type class IfcRelConnectsPathElements : public IfcRelConnectsElements { public: /// Priorities for connection. It refers to the layers of the RelatingObject. @@ -22109,9 +22138,9 @@ class IfcRelConnectsPathElements : public IfcRelConnectsElements { /// IfcDistributionElement for examples and port use /// definition sections. /// -/// HISTORY New +/// HISTORY  New /// entity in Release IFC2x Edition 2. -/// IFC2x4 CHANGE The +/// IFC2x4 CHANGE  The /// definition has been extended to include element types. class IfcRelConnectsPortToElement : public IfcRelConnects { public: @@ -22180,7 +22209,7 @@ class IfcRelConnectsStructuralActivity : public IfcRelConnects { }; /// The entity IfcRelConnectsStructuralMember defines all needed properties describing the connection between structural members and structural connection objects (nodes or supports). /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// /// Use Definition /// @@ -22201,7 +22230,7 @@ class IfcRelConnectsStructuralActivity : public IfcRelConnects { /// /// Figure 235 illustrates the appropriate definition of support lengths. /// -/// Figure 235 — Structural member support lengths +/// Figure 235 — Structural member support lengths class IfcRelConnectsStructuralMember : public IfcRelConnects { public: /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. @@ -22238,9 +22267,9 @@ class IfcRelConnectsStructuralMember : public IfcRelConnects { }; /// Definition from IAI: The entity IfcRelConnectsWithEccentricity adds the definition of eccentricity to the connection between a structural member and a structural connection (representing either a node or support). /// -/// NOTE Another eccentricity model is available independently of eccentric connection specification: The section profile of a curve member may be inserted eccentrically with respect to the member's reference curve, see definitions at IfcStructuralCurveMember. Whether one or the other or both eccentricity models may be used is subject to information requirements and local agreements. +/// NOTE  Another eccentricity model is available independently of eccentric connection specification: The section profile of a curve member may be inserted eccentrically with respect to the member's reference curve, see definitions at IfcStructuralCurveMember. Whether one or the other or both eccentricity models may be used is subject to information requirements and local agreements. /// -/// HISTORY New entity in IFC 2x3. +/// HISTORY  New entity in IFC 2x3. /// Use definitions changed in IFC 2x4 to always require two topology items. /// /// Use Definition @@ -22362,12 +22391,12 @@ class IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { /// Containment Use Definition /// Figure 39 shows the use of IfcRelContainedInSpatialStructure to assign a stair and two walls to two different levels within the spatial structure. /// -/// Figure 39 — Relationship for spatial structure containment +/// Figure 39 — Relationship for spatial structure containment class IfcRelContainedInSpatialStructure : public IfcRelConnects { public: /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// - /// IFC2x PLATFORM CHANGE The data type has been changed from IfcElement to IfcProduct with upward compatibility + /// IFC2x PLATFORM CHANGE  The data type has been changed from IfcElement to IfcProduct with upward compatibility IfcTemplatedEntityList< IfcProduct >::ptr RelatedElements() const; void setRelatedElements(IfcTemplatedEntityList< IfcProduct >::ptr v); /// Spatial structure element, within which the element is contained. Any element can only be contained within one element of the project spatial structure. @@ -22457,9 +22486,9 @@ class IfcRelCoversSpaces : public IfcRelConnects { /// /// The relationship handles the assignment of other objects, like IfcActor, or IfcTypeObject to the project, or project libary. The attribute RelatedDefinitions provides the references to the first level objects, that are the elements within the context. All other objects that relate to the first level objects are also defined in the context. /// -/// NOTE 1 Every object (as subtype of IfcObject) has to be declared within the context of a single IfcProject, or of a IfcProjectLibrary assigned to a single IfcProject. This declaration is transitive. For example: the IfcWorkPlan as first level object is declared within the context of IfcProject via IfcRelDeclares, all related IfcWorkSchedule's are related to the context in a transitive way through IfcWorkPlan. +/// NOTE 1  Every object (as subtype of IfcObject) has to be declared within the context of a single IfcProject, or of a IfcProjectLibrary assigned to a single IfcProject. This declaration is transitive. For example: the IfcWorkPlan as first level object is declared within the context of IfcProject via IfcRelDeclares, all related IfcWorkSchedule's are related to the context in a transitive way through IfcWorkPlan. /// -/// NOTE 2 The assignment excludes subtypes of IfcProduct's, these are assigned to the IfcProject using the spatial structure approach through IfcSpatialStructureElement(s), where the outer container element such as IfcSite or IfcBuilding has an IfcRelAggregates relationship with the IfcProject. +/// NOTE 2  The assignment excludes subtypes of IfcProduct's, these are assigned to the IfcProject using the spatial structure approach through IfcSpatialStructureElement(s), where the outer container element such as IfcSite or IfcBuilding has an IfcRelAggregates relationship with the IfcProject. /// /// The RelatingContext is the project, or project library that comprises all elements. The unit assignments and the presentation contexts defined at IfcProject or IfcProjectLibrary apply to all these elements. /// @@ -22561,11 +22590,11 @@ class IfcRelDefines : public IfcRelationship { /// /// The IfcRelDefinesByObject links the decomposed object type part, also called the "declaring part" with the occurrence of that part inside the occurrence of the decomposed type, also called the "reflected part", as shown in Figure 6. /// -/// Figure 6 — Part definition relationships +/// Figure 6 — Part definition relationships /// /// The IfcRelDefinesByObject can be used together with the shape representations of the product type as shown in Figure 7. The IfcShapeRepresentation of the "declaring part" is referenced by the "reflected part". The IfcObjectPlacement of the model occurrence (the whole) determines the position within the project context. /// -/// Figure 7 — Part definition relationships with shape representation +/// Figure 7 — Part definition relationships with shape representation class IfcRelDefinesByObject : public IfcRelDefines { public: /// Objects being part of an object occurrence decomposition, acting as the "reflecting parts" in the relationship. @@ -22680,7 +22709,7 @@ class IfcRelDefinesByTemplate : public IfcRelDefines { /// corresponding object type definition, then the occurrence /// property value overrides the type property value. /// -/// Figure 8 — Type definition relationships +/// Figure 8 — Type definition relationships /// /// The following table provides an example of assigning /// @@ -22725,7 +22754,7 @@ class IfcRelDefinesByType : public IfcRelDefines { /// /// As shown in Figure 40, the insertion of a door into a wall is represented by two separate relationships. First the door opening is created within the wall by IfcWall(StandardCase) o-- IfcRelVoidsElement --o IfcOpeningElement, then the door is inserted within the opening by IfcOpeningElement o-- IfcRelFillsElement --o IfcDoor. /// -/// Figure 40 — Relationships for element filling +/// Figure 40 — Relationships for element filling class IfcRelFillsElement : public IfcRelConnects { public: /// Opening Element being filled by virtue of this relationship. @@ -22866,12 +22895,12 @@ class IfcRelNests : public IfcRelDecomposes { public: /// The object definition, either an non-product object type or a non-product object occurrence, that represents the nest. It is the whole within the whole/part relationship. /// - /// IFC2x4 CHANGE The attribute has been demoted from the supertype IfcRelDecomposes and defines the ordered nesting relationship. + /// IFC2x4 CHANGE  The attribute has been demoted from the supertype IfcRelDecomposes and defines the ordered nesting relationship. IfcObjectDefinition* RelatingObject() const; void setRelatingObject(IfcObjectDefinition* v); /// The object definitions, either non-product object occurrences or non-product object types, that are being nestes. They are defined as the parts in the ordered whole/part relationship - i.e. there is an implied order among the parts expressed by the position within the list of RelatedObjects. /// - /// IFC2x4 CHANGE The attribute has been demoted from the supertype IfcRelDecomposes and defines the ordered set of parts within the nest. + /// IFC2x4 CHANGE  The attribute has been demoted from the supertype IfcRelDecomposes and defines the ordered set of parts within the nest. IfcTemplatedEntityList< IfcObjectDefinition >::ptr RelatedObjects() const; void setRelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v); virtual const IfcParse::entity& declaration() const; @@ -22890,7 +22919,7 @@ class IfcRelNests : public IfcRelDecomposes { /// relationship between the main element and a sub ordinary addition /// feature. /// -/// NOTE In contrary the +/// NOTE  In contrary the /// IfcRelAggregates relationship established an aggregation /// of equal parts to a whole. /// @@ -22910,7 +22939,7 @@ class IfcRelNests : public IfcRelDecomposes { /// /// HISTORY New entity in /// Release IFC2x Edition 2. -/// IFC2x4 CHANGE +/// IFC2x4 CHANGE  /// Supertype changed to IfcRelDecomposes. class IfcRelProjectsElement : public IfcRelDecomposes { public: @@ -22974,16 +23003,16 @@ class IfcRelProjectsElement : public IfcRelDecomposes { /// Use Definition /// Figure 41 shows the use of IfcRelContainedInSpatialStructure and IfcRelReferencedInSpatialStructure to assign an IfcCurtainWallto two different levels within the spatial structure. It is primarily contained within the ground floor, and additionally referenced within the first and second floor. /// -/// Figure 41 — Relationship for spatial structure referencing +/// Figure 41 — Relationship for spatial structure referencing class IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: /// Set of products, which are referenced within this level of the spatial structure hierarchy. - /// NOTE Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. + /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. IfcTemplatedEntityList< IfcProduct >::ptr RelatedElements() const; void setRelatedElements(IfcTemplatedEntityList< IfcProduct >::ptr v); /// Spatial structure element, within which the element is referenced. Any element can be contained within zero, one or many elements of the project spatial and zoning structure. /// - /// IFC2x Edition 4 CHANGE The attribute relatingStructure as been promoted to the new supertype IfcSpatialElement with upward compatibility for file based exchange. + /// IFC2x Edition 4 CHANGE  The attribute relatingStructure as been promoted to the new supertype IfcSpatialElement with upward compatibility for file based exchange. IfcSpatialElement* RelatingStructure() const; void setRelatingStructure(IfcSpatialElement* v); virtual const IfcParse::entity& declaration() const; @@ -23006,9 +23035,9 @@ class IfcRelReferencedInSpatialStructure : public IfcRelConnects { /// relationship; therefore it assigns one predecessor to one /// successor. /// -/// HISTORY New entity in IFC 1.0. +/// HISTORY  New entity in IFC 1.0. /// -/// IFC2x4 CHANGE Relocated to IfcProcessExtension schema. +/// IFC2x4 CHANGE  Relocated to IfcProcessExtension schema. /// TimeLag and SequenceType made optional. /// USERDEFINED added to the IfcSequenceType /// enumeration. UserDefinedSequenceType attribute @@ -23113,9 +23142,9 @@ class IfcRelServicesBuildings : public IfcRelConnects { void setRelatingSystem(IfcSystem* v); /// Spatial structure elements (including site, building, storeys) that are serviced by the system. /// - /// IFC2x PLATFORM CHANGE The data type has been changed from IfcBuilding to IfcSpatialStructureElement with upward compatibility for file based exchange. + /// IFC2x PLATFORM CHANGE  The data type has been changed from IfcBuilding to IfcSpatialStructureElement with upward compatibility for file based exchange. /// - /// IFC2x Edition 4 CHANGE The data type has been changed from IfcSpatialStructureElement to IfcSpatialElement with upward compatibility for file based exchange. + /// IFC2x Edition 4 CHANGE  The data type has been changed from IfcSpatialStructureElement to IfcSpatialElement with upward compatibility for file based exchange. IfcTemplatedEntityList< IfcSpatialElement >::ptr RelatedBuildings() const; void setRelatedBuildings(IfcTemplatedEntityList< IfcSpatialElement >::ptr v); virtual const IfcParse::entity& declaration() const; @@ -23172,11 +23201,11 @@ class IfcRelServicesBuildings : public IfcRelConnects { /// element and the adjacent spaces behind. This is a /// 2nd level space boundary. /// -/// Figure 42 — Space boundary at first level -/// Figure 43 — Space boundary at second level +/// Figure 42 — Space boundary at first level +/// Figure 43 — Space boundary at second level /// -/// Figure 44 — Space boundary at second level type A -/// Figure 45 — Space boundary at second level type B +/// Figure 44 — Space boundary at second level type A +/// Figure 45 — Space boundary at second level type B /// /// HISTORY New entity in IFC Release 1.5, the entity has been modified in IFC Release /// 2x. @@ -23203,11 +23232,11 @@ class IfcRelServicesBuildings : public IfcRelConnects { /// As shown in Figure 46, if the IfcRelSpaceBoundary is used to express a virtual boundary, the attribute PhysicalOrVirtualBoundary has to be set to VIRTUAL. The attribute RelatedBuildingElement shall point to an instance of IfcVirtualElement. If the correct location is of interest, the attribute ConnectionGeometry is required. /// NOTE The connection geometry, either by a 2D curve or a 3D surface, is used to describe the portion of the "virtual wall" that separates the two spaces. All instances of IfcRelSpaceBoundary given at the adjacent spaces share the same instance of IfcVirtualElement. Each instance of IfcRelSpaceBoundary provides in addition the ConnectionGeometry given within the local placement of each space. /// -/// Figure 46 — Space boundary of virtual element +/// Figure 46 — Space boundary of virtual element /// /// As shown in Figure 47, if the IfcRelSpaceBoundary is used to express a physical boundary between two spaces, the attribute PhysicalOrVirtualBoundary has to be set to PHYSICAL. The attribute RelatedBuildingElement has to be given and points to the element providing the space boundary. The attribute ConnectionGeometry may be inserted, in this case it describes the physical space boundary geometically, or it may be omited, in that case it describes a physical space boundary logically. /// -/// Figure 47 — Space boundary of physical element +/// Figure 47 — Space boundary of physical element /// /// Geometry Use Definitions /// The IfcRelSpaceBoundary may have geometry attached. If @@ -23293,16 +23322,16 @@ class IfcRelSpaceBoundary : public IfcRelConnects { void setRelatingSpace(IfcSpaceBoundarySelect* v); /// Reference to Building Element, that defines the Space Boundaries. /// - /// IFC2x PLATFORM CHANGE The data type has been changed from IfcBuildingElement to IfcElement with upward compatibility for file based exchange. + /// IFC2x PLATFORM CHANGE  The data type has been changed from IfcBuildingElement to IfcElement with upward compatibility for file based exchange. /// - /// IFC2x4 CHANGE The attribute has been changed to be mandatory. + /// IFC2x4 CHANGE  The attribute has been changed to be mandatory. IfcElement* RelatedBuildingElement() const; void setRelatedBuildingElement(IfcElement* v); /// Whether the optional attribute ConnectionGeometry is defined for this IfcRelSpaceBoundary bool hasConnectionGeometry() const; /// Physical representation of the space boundary. Provided as a curve or surface given within the LCS of the space. /// - /// IFC2x PLATFORM CHANGE The data type has been changed from IfcConnectionSurfaceGeometry to IfcConnectionGeometry with upward compatibility for file based exchange. + /// IFC2x PLATFORM CHANGE  The data type has been changed from IfcConnectionSurfaceGeometry to IfcConnectionGeometry with upward compatibility for file based exchange. IfcConnectionGeometry* ConnectionGeometry() const; void setConnectionGeometry(IfcConnectionGeometry* v); /// Defines, whether the Space Boundary is physical (Physical) or virtual (Virtual). @@ -23358,7 +23387,7 @@ class IfcRelSpaceBoundary : public IfcRelConnects { /// As shown in Figure 48, the attribute ParentBoundary with inverse InnerBoundaries is provided to link the space boundaries of doors, windows, and openings to the parent boundary, such as of a wall or slab. /// NOTE The space boundary of the parent is not cut by the inner boundary - both overlap. /// -/// Figure 48 — Space boundary first level relationships +/// Figure 48 — Space boundary first level relationships /// /// Geometry Use Definitions /// See the definition at the supertype IfcRelSpaceBoundary for @@ -23404,7 +23433,7 @@ class IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { /// The attribute CorrespondingBoundary with inverse Corresponds is provided to link the pair of space boundaries on the opposite sides of the building element. /// NOTE Only 2nd level space boundaries of type A have corresponding boundaries. /// -/// Figure 49 — Space boundary second level relationships +/// Figure 49 — Space boundary second level relationships /// /// Geometry Use Definitions /// See the definition at the supertype IfcRelSpaceBoundary @@ -23428,7 +23457,7 @@ class IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { /// /// As shown in Figure 50, the insertion of a void into a wall is represented by the relationship IfcRelVoidsElement. The opening is created within the wall by IfcWall(StandardCase) o-- IfcRelVoidsElement --o IfcOpeningElement. /// -/// Figure 50 — Relationship for element voiding +/// Figure 50 — Relationship for element voiding /// /// HISTORY New entity in IFC Release 1.0 class IfcRelVoidsElement : public IfcRelDecomposes { @@ -23451,7 +23480,7 @@ class IfcRelVoidsElement : public IfcRelDecomposes { /// /// Let l = ParamLength. /// -/// If t0 ≤ t ≤ +/// If t0 ≤ t ≤ /// t1 is the parameter range of /// ParentCurve, the new parameter . for the /// reparametrised composite curve segment is given by the @@ -23503,7 +23532,7 @@ class IfcResource : public IfcObject { bool hasLongDescription() const; /// A detailed description of the resource (e.g. the skillset for a labor resource). /// - /// IFC2x4 NOTE: The attribute LongDescription is added replacing the ResourceGroup attribute at subtype IfcConstructionResource. + /// IFC2x4 NOTE:  The attribute LongDescription is added replacing the ResourceGroup attribute at subtype IfcConstructionResource. std::string LongDescription() const; void setLongDescription(std::string v); IfcTemplatedEntityList< IfcRelAssignsToResource >::ptr ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource @@ -23542,11 +23571,11 @@ class IfcResource : public IfcObject { /// /// The AxisLine can have any orientation within the XY plane, it does not have to be parallel to the y-axis as shown in the illustration. /// -/// Figure 262 — Revolved area solid geometry +/// Figure 262 — Revolved area solid geometry /// -/// NOTE Corresponding ISO 10303-42 entity: revolved_area_solid. Please refer to ISO/IS 10303-42:1994, p. 184 for the final definition of the formal standard. The data type of the inherited SweptArea attribute is different, i.e. of type IfcProfileDef. The position attribute has been added to position the cross section used for the revolution. +/// NOTE  Corresponding ISO 10303-42 entity: revolved_area_solid. Please refer to ISO/IS 10303-42:1994, p. 184 for the final definition of the formal standard. The data type of the inherited SweptArea attribute is different, i.e. of type IfcProfileDef. The position attribute has been added to position the cross section used for the revolution. /// -/// HISTORY New entity in IFC Release 1.5, capabilities of this entity have been enhanced in IFC Release 2x. +/// HISTORY  New entity in IFC Release 1.5, capabilities of this entity have been enhanced in IFC Release 2x. /// /// Informal propositions: /// @@ -23556,8 +23585,8 @@ class IfcResource : public IfcObject { /// The AxisLine shall not intersect the interior of the /// SweptArea (as defined at supertype /// IfcSweptAreaSolid). -/// The Angle shall be between 0 and 360, or 0 -/// and 2π (depending on the unit type for +/// The Angle shall be between 0° and 360°, or 0 +/// and 2π (depending on the unit type for /// IfcPlaneAngleMeasure). /// /// Texture Use Definition @@ -23588,7 +23617,7 @@ class IfcResource : public IfcObject { /// /// Figure 263 illustrates default texture mapping with a repeated texture (RepeatS=True and RepeatT=True). The image on the left shows the texture where the S axis points to the right and the T axis points up. The image on the right shows the texture applied to the geometry where the X axis points back to the right, the Y axis points back to the left, and the Z axis points up. For an IfcRevolvedAreaSolid having a profile of IfcTShapeProfileDef and revolved at 22.5 degrees, the side texture coordinate origin is the first corner counter-clockwise from the +Y axis, which equals (-0.5*IfcTShapeProfileDef.OverallWidth, +0.5*IfcTShapeProfileDef.OverallDepth), while the top (end cap) texture coordinates start at (-0.5*IfcTShapeProfileDef.OverallWidth, -0.5*IfcTShapeProfileDef.OverallDepth). /// -/// Figure 263 — Revolved area solid textures +/// Figure 263 — Revolved area solid textures class IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: /// Axis about which revolution will take place. @@ -23680,7 +23709,7 @@ class IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { /// location and orientation of the cone: /// /// SELF\IfcCsgPrimitive3D.Position: The location and -/// orientation of the axis system for the primitive. +/// orientation of the axis system for the primitive.  /// SELF\IfcCsgPrimitive3D.Position.Location: The center /// of the circular area being the bottom face of the cone. /// SELF\IfcCsgPrimitive3D.Position.Position[3]: The @@ -23692,11 +23721,11 @@ class IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { /// /// Figure 264 illustrates geometric parameters of the cone. The cone is positioned within its own placement coordinate system. The origin is the center of the bottom circular disk, that lies in the XY plane. The apex lies on the positive z axis at [0, 0, Height]. /// -/// Figure 264 — Right circular cone geometry +/// Figure 264 — Right circular cone geometry /// -/// NOTE Corresponding ISO 10303 entity: right_circular_cone, the position attribute has been promoted to the immediate supertype IfcCsgPrimitive3D. No semi_angle attribute, and the radius defines the bottom radius, since only a non-truncated cone is in scope. Please refer to ISO/IS 10303-42:1994, p. 176 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: right_circular_cone, the position attribute has been promoted to the immediate supertype IfcCsgPrimitive3D. No semi_angle attribute, and the radius defines the bottom radius, since only a non-truncated cone is in scope. Please refer to ISO/IS 10303-42:1994, p. 176 for the final definition of the formal standard. /// -/// HISTORY New entity in IFC2x3 +/// HISTORY  New entity in IFC2x3 /// /// Texture use definition /// On the circular side, textures are aligned facing upright with @@ -23735,7 +23764,7 @@ class IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { /// -X /// +Y /// -/// Figure 265 — Right circular cone textures +/// Figure 265 — Right circular cone textures class IfcRightCircularCone : public IfcCsgPrimitive3D { public: /// The distance between the base of the cone and the apex. @@ -23778,11 +23807,11 @@ class IfcRightCircularCone : public IfcCsgPrimitive3D { /// /// Figure 266 illustrates geometric parameters of the cylinder. The cylinder is positioned within its own placement coordiante system. The origin is the center of the bottom circular disk, that lies in the XY plane. The center of the top circular disk is on the positive z axis at [0, 0, Height]. /// -/// Figure 266 — Right circular cylinder geometry +/// Figure 266 — Right circular cylinder geometry /// -/// NOTE Corresponding ISO 10303 entity: right_circular_cyclinder, the position attribute has been promoted to the immediate supertype IfcCsgPrimitive3D. Please refer to ISO/IS 10303-42:1994, p. 177 for the definition in the international standard. +/// NOTE  Corresponding ISO 10303 entity: right_circular_cyclinder, the position attribute has been promoted to the immediate supertype IfcCsgPrimitive3D. Please refer to ISO/IS 10303-42:1994, p. 177 for the definition in the international standard. /// -/// HISTORY New entity in IFC2x3. +/// HISTORY  New entity in IFC2x3. /// /// Texture use definition /// On the circular side, textures are aligned facing upright with @@ -23830,7 +23859,7 @@ class IfcRightCircularCone : public IfcCsgPrimitive3D { /// +X /// +Y /// -/// Figure 267 — Right circular cylinder textures +/// Figure 267 — Right circular cylinder textures class IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: /// The distance between the planar circular faces of the cylinder. @@ -23865,7 +23894,7 @@ class IfcRightCircularCylinder : public IfcCsgPrimitive3D { /// shall be used for property occurrences corresponding to this /// template. /// -/// HISTORY New entity in IFC2x4. +/// HISTORY  New entity in IFC2x4. /// /// Relationship use definition /// The IfcSimplePropertyTemplate is part of the set of @@ -23889,7 +23918,7 @@ class IfcRightCircularCylinder : public IfcCsgPrimitive3D { /// attributes of included property templates and individual properties /// are unique. /// -/// Figure 9 — Property template relationships +/// Figure 9 — Property template relationships class IfcSimplePropertyTemplate : public IfcPropertyTemplate { public: /// Whether the optional attribute TemplateType is defined for this IfcSimplePropertyTemplate @@ -24127,7 +24156,7 @@ class IfcSpatialElementType : public IfcTypeProduct { /// /// Figure 62 shows the use of IfcRelAggregates to establish a spatial structure including site, building, building section and storey. More information is provided at the level of the subtypes. /// -/// Figure 62 — Spatial structure element composition +/// Figure 62 — Spatial structure element composition class IfcSpatialStructureElement : public IfcSpatialElement { public: /// Whether the optional attribute CompositionType is defined for this IfcSpatialStructureElement @@ -24300,7 +24329,7 @@ class IfcSpatialZoneType : public IfcSpatialElementType { /// and provides: /// /// SELF\IfcCsgPrimitive3D.Position: The location and -/// orientation of the axis system for the primitive. +/// orientation of the axis system for the primitive.  /// SELF\IfcCsgPrimitive3D.Position.Location: The center /// of the sphere. /// SELF\IfcCsgPrimitive3D.Position.Position[3]: The z @@ -24315,11 +24344,11 @@ class IfcSpatialZoneType : public IfcSpatialElementType { /// /// Figure 270 illustrates geometric parameters of the sphere. The sphere is positioned within its own placement coordiante system. The origin is the center of the sphere. /// -/// Figure 270 — Sphere geometry +/// Figure 270 — Sphere geometry /// -/// NOTE Corresponding STEP entity: sphere, the position attribute, including the centre point, has been promoted to the immediate supertype IfcCsgPrimitive3D. Please refer to ISO/IS 10303-42:1994, p. 175 for the final definition of the formal standard. +/// NOTE  Corresponding STEP entity: sphere, the position attribute, including the centre point,  has been promoted to the immediate supertype IfcCsgPrimitive3D. Please refer to ISO/IS 10303-42:1994, p. 175 for the final definition of the formal standard. /// -/// HISTORY New entity in IFC2x3. +/// HISTORY  New entity in IFC2x3. /// /// Texture Use Definition /// Textures are aligned facing upright with origin at the back (+Y direction) revolving counter-clockwise. Textures are stretched or repeated to the extent of the circumference at the equator according to RepeatS and RepeatT. @@ -24342,7 +24371,7 @@ class IfcSpatialZoneType : public IfcSpatialElementType { /// (-X, then curving counter-clockwise) /// (+Y, then curving towards top) /// -/// Figure 271 — Sphere textures +/// Figure 271 — Sphere textures class IfcSphere : public IfcCsgPrimitive3D { public: /// The radius of the sphere. @@ -24354,13 +24383,24 @@ class IfcSphere : public IfcCsgPrimitive3D { IfcSphere (IfcAxis2Placement3D* v1_Position, double v2_Radius); typedef IfcTemplatedEntityList< IfcSphere > list; }; + +class IfcSphericalSurface : public IfcElementarySurface { +public: + double Radius() const; + void setRadius(double v); + virtual const IfcParse::entity& declaration() const; + static Type::Enum Class(); + IfcSphericalSurface (IfcAbstractEntity* e); + IfcSphericalSurface (IfcAxis2Placement3D* v1_Position, double v2_Radius); + typedef IfcTemplatedEntityList< IfcSphericalSurface > list; +}; /// Definition from IAI: The abstract entity IfcStructuralActivity combines the definition of actions (such as forces, displacements, etc.) and reactions (support reactions, internal forces, deflections, etc.) which are specified by using the basic load definitions from the IfcStructuralLoadResource. /// /// The differentiation between actions and reactions is realized by instantiating objects either from subclasses of IfcStructuralAction or IfcStructuralReaction respectively. They inherit commonly needed attributes from the abstract superclass IfcStructuralActivity, notably the relationship which connects actions or reactions with connections, analysis members, or elements (subtypes of IfcStructuralItem or IfcElement). /// -/// NOTE Instances of IfcStructuralActivity which are connected with an IfcElement are subject to agreements outside the scope of this specification. +/// NOTE  Instances of IfcStructuralActivity which are connected with an IfcElement are subject to agreements outside the scope of this specification. /// -/// NOTE The semantics of IfcStructuralActivity are only fully defined +/// NOTE  The semantics of IfcStructuralActivity are only fully defined /// if an activity instance is connected with exactly one structural item. The inverse attribute /// AssignedToStructuralItem can only be empty in incomplete models or in conceptual models /// which are not yet ready for analysis. @@ -24369,7 +24409,7 @@ class IfcSphere : public IfcCsgPrimitive3D { /// /// IFC 2x4 change: Cardinality of attribute /// AssignedToStructuralItem relaxed from 1 to 0..1 in order to allow for schema-compliant -/// incomplete models as well as conceptual models without load—item relationships. +/// incomplete models as well as conceptual models without load—item relationships. /// /// Coordinate Systems: /// @@ -24434,7 +24474,7 @@ class IfcSphere : public IfcCsgPrimitive3D { /// RepresentationIdentifier: 'Reference' /// RepresentationType: 'Edge' /// -/// NOTE While an IfcEdge (or IfcOrientedEdge with underlying IfcEdge) does not provide an explicit underlying curve geometry, it may be used to imply an underlying straight line as reference curve with the origin of the curve parameter at the start vertex point. +/// NOTE  While an IfcEdge (or IfcOrientedEdge with underlying IfcEdge) does not provide an explicit underlying curve geometry, it may be used to imply an underlying straight line as reference curve with the origin of the curve parameter at the start vertex point. /// /// Instances of IfcStructuralActivity which act on a single point on a curve or surface item shall have a topology representation given by an IfcVertexPoint, which should be the single item of IfcTopologyRepresentation.Items. The point geometry shall be compatible with the curve or surface geometry of the connected item. The local coordinate system of the activity is oriented by the curve or surface geometry of the connected item as described above for activities with edge or face topology. /// @@ -24527,7 +24567,7 @@ class IfcStructuralActivity : public IfcProduct { /// RepresentationIdentifier: 'Reference' /// RepresentationType: 'Edge' /// -/// NOTE While an IfcEdge (or IfcOrientedEdge with underlying +/// NOTE  While an IfcEdge (or IfcOrientedEdge with underlying /// IfcEdge) does not provide an explicit underlying curve geometry, it may be used to imply an /// underlying straight line as reference curve with the origin of the curve parameter at the start vertex /// point. @@ -24564,9 +24604,9 @@ class IfcStructuralActivity : public IfcProduct { /// /// The ObjectPlacements of all structural items which are grouped into the same instance of IfcStructuralAnalysisModel shall refer to the same instance of IfcObjectPlacement. /// -/// NOTE This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. +/// NOTE  This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. /// -/// NOTE A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. +/// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IfcStructuralItem : public IfcProduct { public: IfcTemplatedEntityList< IfcRelConnectsStructuralActivity >::ptr AssignedStructuralActivity() const; // INVERSE IfcRelConnectsStructuralActivity::RelatingElement @@ -24593,7 +24633,7 @@ class IfcStructuralMember : public IfcStructuralItem { /// structural action imposed to a structural item or building element. Examples are support reactions, /// internal forces, and deflections. /// -/// HISTORY New entity in IFC 2x2. +/// HISTORY  New entity in IFC 2x2. /// /// IFC 2x4 change: Inverse attribute Causes deleted; use IfcRelAssignsToProduct via HasAssignments instead. /// @@ -24655,7 +24695,7 @@ class IfcStructuralSurfaceMember : public IfcStructuralMember { }; /// Definition from IAI: Describes surface members with varying section properties. The properties are provided by means of a property set and IfcRelDefinesByProperties or by means of aggregation: An instance of IfcStructuralSurfaceMemberVarying may be composed of two or more instances of IfcStructuralSurfaceMember with differing section properties. These subordinate members relate to the instance of IfcStructuralSurfaceMemberVarying by IfcRelAggregates. /// -/// NOTE It is recommended that structural activities (actions or reactions) are not connected with aggregated IfcStructuralSurfaceMemberVarying but only with the IfcStructuralSurfaceMembers in the aggregation. That way, difficulties in interpretation of local coordinates are avoided. +/// NOTE  It is recommended that structural activities (actions or reactions) are not connected with aggregated IfcStructuralSurfaceMemberVarying but only with the IfcStructuralSurfaceMembers in the aggregation. That way, difficulties in interpretation of local coordinates are avoided. /// /// HISTORY: New entity in IFC 2x2. /// Use definition changed and attributes deleted in IFC 2x4. @@ -24697,8 +24737,8 @@ class IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { /// If the surface reaction is of the predefined type BILINEAR, SELF\IfcStructuralActivity.AppliedLoad shall be of type IfcStructuralLoadConfiguration and shall contain three items with two-dimensional IfcStructuralLoadConfiguration.Locations, defining the location of the result samples in local coordinates of the surface reaction. /// If the surface reaction is of the predefined type DISCRETE, SELF\IfcStructuralActivity.AppliedLoad shall be of type IfcStructuralLoadConfiguration and shall contain two or more items with two-dimensional locations. /// If the surface reaction is of the predefined type ISOCONTOUR, SELF\IfcStructuralActivity.AppliedLoad shall be of type IfcStructuralLoadConfiguration and shall contain the same number of items as the set SELF.IfcProduct.Representation.Representations[?].Items. Each item in the load configuration shall have a two-dimensional location, defining the location of the result samples in local coordinates of the surface reaction. Each item in SELF\IfcStructuralActivity.AppliedLoad shall be located at exactly one of the isocontours. -/// NOTE The set of representation items is unordered, hence result locations are required to correlate result values and isocontours. -/// NOTE Isocontours are represented as IfcPCurves which are defined in terms of surface parameters u,v, while result locations are given in local surface item coordinates x,y. It is strongly recommended that the surface parameterization u,v is scaled 1:1 in order to avoid different scales of u,v versus x,y. If u,v are scaled 1:1 and the IfcPCurve's base surface is identical with the surface item's base surface, u,v and local x,y are identical. +/// NOTE  The set of representation items is unordered, hence result locations are required to correlate result values and isocontours. +/// NOTE  Isocontours are represented as IfcPCurves which are defined in terms of surface parameters u,v, while result locations are given in local surface item coordinates x,y. It is strongly recommended that the surface parameterization u,v is scaled 1:1 in order to avoid different scales of u,v versus x,y. If u,v are scaled 1:1 and the IfcPCurve's base surface is identical with the surface item's base surface, u,v and local x,y are identical. /// /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values shall be of the same entity type. class IfcStructuralSurfaceReaction : public IfcStructuralReaction { @@ -24734,6 +24774,21 @@ class IfcSubContractResourceType : public IfcConstructionResourceType { IfcSubContractResourceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum v12_PredefinedType); typedef IfcTemplatedEntityList< IfcSubContractResourceType > list; }; + +class IfcSurfaceCurve : public IfcCurve { +public: + IfcCurve* Curve3D() const; + void setCurve3D(IfcCurve* v); + IfcTemplatedEntityList< IfcPcurve >::ptr AssociatedGeometry() const; + void setAssociatedGeometry(IfcTemplatedEntityList< IfcPcurve >::ptr v); + IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation MasterRepresentation() const; + void setMasterRepresentation(IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation v); + virtual const IfcParse::entity& declaration() const; + static Type::Enum Class(); + IfcSurfaceCurve (IfcAbstractEntity* e); + IfcSurfaceCurve (IfcCurve* v1_Curve3D, IfcTemplatedEntityList< IfcPcurve >::ptr v2_AssociatedGeometry, IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation v3_MasterRepresentation); + typedef IfcTemplatedEntityList< IfcSurfaceCurve > list; +}; /// The IfcSurfaceCurveSweptAreaSolid is the result of /// sweeping an area along a directrix that lies on a reference /// surface. The swept area is provided by an IfcProfileDef @@ -24776,7 +24831,7 @@ class IfcSubContractResourceType : public IfcConstructionResourceType { /// transformation matrix T(u), which varies with the /// Directrix parameter u. /// -/// NOTE The +/// NOTE  The /// geometric shape of the solid is not dependent upon the curve /// parameterization; the volume depends upon the area swept and the /// length of the Directrix. @@ -24787,9 +24842,9 @@ class IfcSubContractResourceType : public IfcConstructionResourceType { /// and the ReferenceSurface are positioned within the 3D /// Position coordinate system. /// -/// NOTE Corresponding ISO 10303-42 entity: surface_curve_swept_area_solid. Please refer to ISO 10303-42 ed.2:1999, p. 274 for the definition in the international standard. +/// NOTE  Corresponding ISO 10303-42 entity: surface_curve_swept_area_solid. Please refer to ISO 10303-42 ed.2:1999, p. 274 for the definition in the international standard. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// /// Informal propositions: /// @@ -24805,14 +24860,14 @@ class IfcSurfaceCurveSweptAreaSolid : public IfcSweptAreaSolid { bool hasStartParam() const; /// The parameter value on the Directrix at which the sweeping operation commences. If no value is provided the start of the sweeping operation is at the start of the Directrix.. /// - /// IFC2x4 CHANGE The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. + /// IFC2x4 CHANGE  The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. double StartParam() const; void setStartParam(double v); /// Whether the optional attribute EndParam is defined for this IfcSurfaceCurveSweptAreaSolid bool hasEndParam() const; /// The parameter value on the Directrix at which the sweeping operation ends. If no value is provided the end of the sweeping operation is at the end of the Directrix.. /// - /// IFC2x4 CHANGE The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. + /// IFC2x4 CHANGE  The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. double EndParam() const; void setEndParam(double v); /// The surface containing the Directrix. @@ -24828,7 +24883,7 @@ class IfcSurfaceCurveSweptAreaSolid : public IfcSweptAreaSolid { /// /// V = ExtrusionAxis /// -/// The parameterization range for v is - < v < and for u it is defined by the curve parameterization. +/// The parameterization range for v is -¥ < v < ¥ and for u it is defined by the curve parameterization. /// /// NOTE: Corresponding ISO 10303 entity: surface_of_linear_extrusion. Please refer to ISO/IS 10303-42:1994, p.76 for the final definition of the formal standard. The following adaption has been made. The ExtrusionAxis and the Direction are defined as two separate attributes in correlation to the definition of the extruded_area_solid, and not as a single vector attribute. The vector is derived as ExtrusionAxis. /// @@ -24857,7 +24912,7 @@ class IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { /// /// C = AxisPosition.LocationV = AxisPosition.Z /// -/// In order to produce a single-value surface the a complete revolution, the curve shall be such that when expressed in a cylindrical coordinate system the curve shall be such that when expressed in a cylindrical coordinate system (r,φ ,z) centred at C with an axis V no two distinct parametric points on the curve shall have the same values for (r, z). +/// In order to produce a single-value surface the a complete revolution, the curve shall be such that when expressed in a cylindrical coordinate system the curve shall be such that when expressed in a cylindrical coordinate system (r,φ ,z) centred at C with an axis V no two distinct parametric points on the curve shall have the same values for (r, z). /// For a surface of revolution the parametric range is 0 < u < 360 degree. The parameterization range for v is defined by referenced curve. /// /// NOTE: Corresponding ISO 10303 entity: surface_of_revolution. Please refer to ISO/IS 10303-42:1994, p.76 for the final definition of the formal standard. @@ -24931,9 +24986,9 @@ class IfcSystemFurnitureElementType : public IfcFurnishingElementType { /// design, construction and operation related activities as /// well. /// -/// HISTORY New entity in IFC 1.0. Renamed from IfcWorkTask in IFC 2x. +/// HISTORY  New entity in IFC 1.0. Renamed from IfcWorkTask in IFC 2x. /// -/// IFC2x4 CHANGE Attributes TaskTime and PredefinedType added. IfcMove and IfcOrderRequest has been removed in IFC2x4 and are now represented by IfcTask. Further information can be found in the description below. +/// IFC2x4 CHANGE  Attributes TaskTime and PredefinedType added. IfcMove and IfcOrderRequest has been removed in IFC2x4 and are now represented by IfcTask. Further information can be found in the description below. /// /// Type use definition /// @@ -25013,7 +25068,7 @@ class IfcSystemFurnitureElementType : public IfcFurnishingElementType { /// IfcTask represents the occurrence of a work /// performance of a type of process in a construction plan. /// -/// Figure 13 — Task visualization +/// Figure 13 — Task visualization /// /// A task may nest other tasks as sub-items; the nesting /// relationship is modeled by IfcRelNests as shown in Figure 14. For example, @@ -25032,7 +25087,7 @@ class IfcSystemFurnitureElementType : public IfcFurnishingElementType { /// through IfcRelNests enables to order the tasks in a /// tree view or list view structure. /// -/// Figure 14 — Task nesting relationships +/// Figure 14 — Task nesting relationships /// /// Time and duration use definition /// @@ -25120,7 +25175,7 @@ class IfcSystemFurnitureElementType : public IfcFurnishingElementType { /// TaskTime.ScheduleStart and /// TaskTime.ScheduleFinish. /// -/// Figure 15 — Task constraints +/// Figure 15 — Task constraints /// /// Use Definition to represent other activities /// @@ -25227,7 +25282,7 @@ class IfcTask : public IfcProcess { /// particular type of task that may be specified for use /// within a work control. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// An IfcTaskType provides for all forms of types of /// task that may be specified. @@ -25262,7 +25317,7 @@ class IfcTask : public IfcProcess { /// example the task type is further subdivided into tasks that /// define task times (for example, duration) and/or a task sequence. /// -/// Figure 16 — Task type relationships +/// Figure 16 — Task type relationships class IfcTaskType : public IfcTypeProcess { public: /// Identifies the predefined types of a task type from which @@ -25285,22 +25340,27 @@ class IfcTessellatedFaceSet : public IfcTessellatedItem { public: IfcCartesianPointList3D* Coordinates() const; void setCoordinates(IfcCartesianPointList3D* v); - /// Whether the optional attribute Normals is defined for this IfcTessellatedFaceSet - bool hasNormals() const; - std::vector< std::vector< double > > Normals() const; - void setNormals(std::vector< std::vector< double > > v); - /// Whether the optional attribute Closed is defined for this IfcTessellatedFaceSet - bool hasClosed() const; - bool Closed() const; - void setClosed(bool v); IfcTemplatedEntityList< IfcIndexedColourMap >::ptr HasColours() const; // INVERSE IfcIndexedColourMap::MappedTo IfcTemplatedEntityList< IfcIndexedTextureMap >::ptr HasTextures() const; // INVERSE IfcIndexedTextureMap::MappedTo virtual const IfcParse::entity& declaration() const; static Type::Enum Class(); IfcTessellatedFaceSet (IfcAbstractEntity* e); - IfcTessellatedFaceSet (IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed); + IfcTessellatedFaceSet (IfcCartesianPointList3D* v1_Coordinates); typedef IfcTemplatedEntityList< IfcTessellatedFaceSet > list; }; + +class IfcToroidalSurface : public IfcElementarySurface { +public: + double MajorRadius() const; + void setMajorRadius(double v); + double MinorRadius() const; + void setMinorRadius(double v); + virtual const IfcParse::entity& declaration() const; + static Type::Enum Class(); + IfcToroidalSurface (IfcAbstractEntity* e); + IfcToroidalSurface (IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius); + typedef IfcTemplatedEntityList< IfcToroidalSurface > list; +}; /// Definition from IAI: The element type /// IfcTransportElementType defines commonly shared /// information for occurrences of transport elements. The set of @@ -25378,16 +25438,24 @@ class IfcTransportElementType : public IfcElementType { class IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { public: + /// Whether the optional attribute Normals is defined for this IfcTriangulatedFaceSet + bool hasNormals() const; + std::vector< std::vector< double > > Normals() const; + void setNormals(std::vector< std::vector< double > > v); + /// Whether the optional attribute Closed is defined for this IfcTriangulatedFaceSet + bool hasClosed() const; + bool Closed() const; + void setClosed(bool v); std::vector< std::vector< int > > CoordIndex() const; void setCoordIndex(std::vector< std::vector< int > > v); - /// Whether the optional attribute NormalIndex is defined for this IfcTriangulatedFaceSet - bool hasNormalIndex() const; - std::vector< std::vector< int > > NormalIndex() const; - void setNormalIndex(std::vector< std::vector< int > > v); + /// Whether the optional attribute PnIndex is defined for this IfcTriangulatedFaceSet + bool hasPnIndex() const; + std::vector< int > /*[1:?]*/ PnIndex() const; + void setPnIndex(std::vector< int > /*[1:?]*/ v); virtual const IfcParse::entity& declaration() const; static Type::Enum Class(); IfcTriangulatedFaceSet (IfcAbstractEntity* e); - IfcTriangulatedFaceSet (IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< std::vector< int > > > v5_NormalIndex); + IfcTriangulatedFaceSet (IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex); typedef IfcTemplatedEntityList< IfcTriangulatedFaceSet > list; }; /// The window lining is the outer @@ -25483,7 +25551,7 @@ class IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { /// /// SecondTransomOffset /// -/// Figure 175 — Window lining properties +/// Figure 175 — Window lining properties /// /// NOTE /// @@ -25608,7 +25676,7 @@ class IfcWindowLiningProperties : public IfcPreDefinedPropertySet { /// /// As shown in Figure 176, the panel is applied to the position within the lining as defined by the panel position attribute. The following parameter apply to that panel: FrameDepth, FrameThickness. /// -/// Figure 176 — Window panel properties +/// Figure 176 — Window panel properties class IfcWindowPanelProperties : public IfcPreDefinedPropertySet { public: /// Types of window panel operations. Also used to assign standard symbolic presentations according to national building standards. @@ -25699,7 +25767,7 @@ class IfcActor : public IfcObject { /// /// Figure 249 illustrates use of IfcAdvancedBrep for boundary representation models with b-spline surfaces. The diagram shows the topological and geometric representation items that are used for advanced B-reps, based on IfcAdvancedFace. /// -/// Figure 249 — Advanced Brep +/// Figure 249 — Advanced Brep class IfcAdvancedBrep : public IfcManifoldSolidBrep { public: virtual const IfcParse::entity& declaration() const; @@ -25955,7 +26023,7 @@ class IfcAnnotation : public IfcProduct { /// the degree for s, the knot array is an array of (k /// + d + 2) real numbers [s-d, ...., /// sk+1], such that for all indices j in -/// [-d, k]; sj ≤ +/// [-d, k]; sj ≤ /// sj+1. This array is obtained from the /// appropriate u_knots or v_knots list by repeating each multiple /// knot according to the multiplicity. @@ -25967,7 +26035,7 @@ class IfcAnnotation : public IfcProduct { /// /// Let L denote the number of distinct values amongst the /// knots in the knot list; L will be referred to as the -/// ‘upper index on knots’. Let +/// ‘upper index on knots’. Let /// mj denote the multiplicity (i.e., number /// of repetitions) of the jth distinct knot value. Then: /// @@ -26075,11 +26143,11 @@ class IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { /// /// Figure 250 illustrates geometric parameters of a block where the block positioned within its own placement coordinate system. The values for XLength, YLength, and ZLength are applied to the positive direction of the X, Y, and Z axis. /// -/// Figure 250 — Block geometry +/// Figure 250 — Block geometry /// -/// NOTE Corresponding ISO 10303-42 entity: block, the position attribute has been promoted to the immediate supertype IfcCsgPrimitive3D. Please refer to ISO 10303-42:1994, p. 244 for the definition in the international standard. +/// NOTE  Corresponding ISO 10303-42 entity: block, the position attribute has been promoted to the immediate supertype IfcCsgPrimitive3D. Please refer to ISO 10303-42:1994, p. 244 for the definition in the international standard. /// -/// HISTORY New entity in IFC2x3. +/// HISTORY  New entity in IFC2x3. /// /// Texture use definition /// On each side face, textures are aligned facing upright. On the @@ -26145,7 +26213,7 @@ class IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { /// +X /// +Y /// -/// Figure 251 — Block textures +/// Figure 251 — Block textures class IfcBlock : public IfcCsgPrimitive3D { public: /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. @@ -26296,7 +26364,7 @@ class IfcBoundedCurve : public IfcCurve { /// containment and placement structure relationships are given in /// view definitions and implementer agreements. /// -/// Figure 20 — Building composition +/// Figure 20 — Building composition /// /// Systems, such as building service or electrical distribution /// systems, zonal systems, or structural analysis systems, relate to @@ -26312,7 +26380,7 @@ class IfcBoundedCurve : public IfcCurve { /// total height of building, also referred to as ridge height (top of roof structure, e.g the ridge against terrain): provided by BaseQuantity with Name="TotalHeight" /// eaves height of building (base of roof structure, e.g the eaves against terrain): provided by BaseQuantity with Name="EavesHeight" /// -/// Figure 21 — Building elevations +/// Figure 21 — Building elevations /// /// Geometry Use Definitions /// The geometric representation of IfcBuilding is given by @@ -26521,7 +26589,7 @@ class IfcBuildingElementType : public IfcElementType { /// containment and placement structure relationships are given in /// view definitions and implementer agreements. /// -/// Figure 25 — Building storey composition +/// Figure 25 — Building storey composition /// /// Elements can also be referenced in an /// IfcBuildingStorey, for example, if they span through several @@ -26541,7 +26609,7 @@ class IfcBuildingElementType : public IfcElementType { /// net height of storey, also referred to as total height or system height (top of construction slab to top of construction slab above): provided by BaseQuantity with Name="GrossHeight" /// net height of storey (top of construction slab to bottom of construction slab above): provided by BaseQuantity with Name="NetHeight" /// -/// Figure 26 — Building storey elevations +/// Figure 26 — Building storey elevations /// /// Geometry Use Definitions /// The geometric representation of IfcBuildingStorey is @@ -26665,7 +26733,7 @@ class IfcChimneyType : public IfcBuildingElementType { /// profile's centre of the bounding box (for symmetric profiles identical /// with the centre of gravity). /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// /// Figure 312 illustrates parameters of the circular hollow profile definition. The parameterized profile defines its own position coordinate system. The underlying coordinate system is defined by the swept area solid that uses the profile definition. It is the xy plane of: /// @@ -26673,7 +26741,7 @@ class IfcChimneyType : public IfcBuildingElementType { /// /// By using offsets of the position location, the parameterized profile can be positioned centric (using x,y offsets = 0.), or at any position relative to the profile. Explicit coordinate offsets are used to define cardinal points (for example, upper-left bound). The parameterized profile is defined by a set of parameter attributes. /// -/// Figure 312 — Circle hollow profile +/// Figure 312 — Circle hollow profile class IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: /// Thickness of the material, it is the difference between the outer and inner radius. @@ -26810,7 +26878,7 @@ class IfcColumnType : public IfcBuildingElementType { /// Name attribute and and optional UsageName /// attribute. /// -/// HISTORY New entity in IFC2x4. +/// HISTORY  New entity in IFC2x4. class IfcComplexPropertyTemplate : public IfcPropertyTemplate { public: /// Whether the optional attribute UsageName is defined for this IfcComplexPropertyTemplate @@ -26840,7 +26908,7 @@ class IfcComplexPropertyTemplate : public IfcPropertyTemplate { /// of the referenced bounded curves. The first segment is /// parameterized from 0 to /// l1 and for i -/// ≤ 2, the +/// ≤ 2, the /// ith segment is /// parameterized from: /// @@ -26853,7 +26921,7 @@ class IfcComplexPropertyTemplate : public IfcPropertyTemplate { /// Then, if the ith segment is not a reparameterised /// composite curve segment, T is related to the /// parameter ti; ti0 -/// ≤ ti ≤ +/// ≤ ti ≤ /// ti1; for the ith segment by the /// equation: /// @@ -26868,13 +26936,13 @@ class IfcComplexPropertyTemplate : public IfcPropertyTemplate { /// If the segments[i] is of type reparameterised composite /// curve segment, /// -/// where τ is defined at +/// where τ is defined at /// reparameterized composite curve segment (see /// IfcReparameterizedCompositeCurveSegment). /// /// Figure 279 illustrates an example of a composite curve. /// -/// Figure 279 — Composite curve +/// Figure 279 — Composite curve /// /// Consider an IfcCompositeCurve having line segment and an arc segment. The line should be parameterized: /// @@ -26886,7 +26954,7 @@ class IfcComplexPropertyTemplate : public IfcPropertyTemplate { /// /// Then the parameterization of the composite curve is: /// -/// IfcCompositeCurve with 0. ≤ T ≤ 1. (line segment) and 1. ≤ T ≤ 91. (arc segment), parametric length = 91. +/// IfcCompositeCurve with 0. ≤ T ≤ 1. (line segment) and 1. ≤ T ≤ 91. (arc segment), parametric length = 91. /// /// NOTE Corresponding ISO 10303 entity: composite_curve, please refer to ISO/IS 10303-42:1994, p. 56 for the final definition of the formal standard. The WR2 is added to ensure consistent Dim at all segments. /// @@ -26914,7 +26982,7 @@ class IfcCompositeCurve : public IfcBoundedCurve { }; /// Definition from ISO/CD 10303-42:1992 A composite curve on surface is a collection of segments which are curves on a surface. Each segment shall lie on the basis surface. /// -/// There shall be at least positional continuity between adjacent segments. The parameterization of the composite curve is obtained from the accumulation of the parametric ranges of the segments. The first segment is parameterized from 0 to l1, and, for i ≥ 2, the ith segment is parameterized from +/// There shall be at least positional continuity between adjacent segments. The parameterization of the composite curve is obtained from the accumulation of the parametric ranges of the segments. The first segment is parameterized from 0 to l1, and, for i ≥ 2, the ith segment is parameterized from /// /// where lk is the parametric length (that is, the difference between maximum and minimum parameter values) of the kth curve segment. /// @@ -27026,21 +27094,21 @@ class IfcConstructionProductResourceType : public IfcConstructionResourceType { /// represents a pool of items having limited availability such as general labor or an equipment fleet. A resource can represent either a generic resource pool (not having any task assignment) or a task-specific resource allocation (having an IfcTask /// assignment). /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. /// -/// IFC2x4 CHANGE Modified in to promote ResourceIdentifer and ResourceGroup (renamed to LongDescription) to supertype IfcResource and add attributes as described. +/// IFC2x4 CHANGE  Modified in to promote ResourceIdentifer and ResourceGroup (renamed to LongDescription) to supertype IfcResource and add attributes as described. /// /// Type use definition /// IfcConstructionResource defines the occurrence of any construction resource; common information about construction resource types is handled by IfcConstructionResourceType. The IfcConstructionResourceType (if present) may establish the common type name, common properties, common cost rates, and common productivities applied to specific task types. The IfcConstructionResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute as shown in Figure 186. /// The resource type may provide shared productivity and cost information, allowing tasks and resources to be selected according to lowest cost and/or shortest duration. Given an IfcProduct of a particular IfcTypeProduct type, an IfcTypeProcess may be selected from those assigned to the product type using IfcRelAssignsToProduct, and an IfcTypeResource may be selected from those assigned to the process type using IfcRelAssignsToProcess. Then IfcTask and IfcConstructionResource occurrences may be instantiated from the type definitions, applying productivitity and rate information to assigned quantities to calculate ResourceTime.ScheduleWork. Task durations can then be calculated by dividing ResourceTime.ScheduleWork by ResourceTime.ScheduleUsage. /// -/// Figure 186 — Construction resource type use +/// Figure 186 — Construction resource type use /// /// Composition use definition /// Resources may be decomposed into allocation pools using the IfcRelNests relationship as shown in Figure 187. For example, an IfcLaborResource for "Electrician" may be decomposed into three task-specific IfcLaborResource objects: "Electrical Rough-in", "First Floor Circuits", and "Second Floor Circuits". Both relating and related sides may represent the same ResourceTime.ScheduleUsage quantity (for example, 6 workers time-shared), or the related side may break out ResourceTime.ScheduleUsage quantities for reserved use (for example, 4 workers and 2 workers). /// A common scenario is two nesting levels where the first-level resources have no task assignments; while second-level resources have specific task assignments indicating that the resource is subdivided into allocations for specific tasks. While the model allows unlimited nesting of resources, implementer agreements may restrict to two nesting levels with task assignments specifically at the second level. /// -/// Figure 187 — Construction resource composition use +/// Figure 187 — Construction resource composition use /// /// Declaration use definition /// A root-level resource (specifically IfcCrewResource or IfcSubContractResource) is declared within the project by IfcRelDeclares where RelatingContext refers to the single IfcProject and RelatedObjects refers to one or more IfcConstructionResource, and other root-level objects within the project. @@ -27055,7 +27123,7 @@ class IfcConstructionProductResourceType : public IfcConstructionResourceType { /// A resource may have assignments of other objects using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionResource and RelatedObjects refers to one or more objects such as IfcActor or IfcProduct subtypes. This relationship indicates specific objects assigned to fulfill resource usage. /// Figure 188 illustrates resource assignment. /// -/// Figure 188 — Construction resource assignment use +/// Figure 188 — Construction resource assignment use /// /// Constraint use definition /// Constraints may be applied to a resource to indicate fixed work (such as total person-hours) or fixed usage (such as simultaneous workers). The relationship IfcRelAssociatesConstraint is used where RelatingConstraint points to an IfcMetric and RelatedObjects includes the IfcConstructionResource as shown in Figure 189. IfcRelAssociatesConstraint.Name identifies the attribute to be constrained using a period (".") to dereference; for example, "ResourceTime.ScheduleWork" refers to the ScheduleWork attribute on the IfcResourceTime entity referenced on the ResourceTime attribute. The following attributes may be constrained: @@ -27071,26 +27139,26 @@ class IfcConstructionProductResourceType : public IfcConstructionResourceType { /// ResourceTime.ScheduleUsage should impact the assigned /// IfcTask.TaskTime.ScheduleDuration and vice-versa. /// -/// Figure 189 — Construction resource constraint use +/// Figure 189 — Construction resource constraint use /// /// Time series use definition /// Time series may be applied to a resource to indicate the break-out of attribute values over time. The relationship IfcRelAssociatesTimeSeries is used where RelatingTimeSeries points to an IfcTimeSeries (either IfcRegularTimeSeries or IfcIrregularTimeSeries) and RelatedObjects includes the IfcConstructionResource as shown in Figure 190. IfcRelAssociatesTimeSeries.Name identifies the attribute to be constrained using a period (".") to dereference; for example, "ResourceTime.ScheduleWork" refers to the ScheduleWork attribute on the IfcResourceTime entity referenced on the ResourceTime attribute. Refer to attribute descriptions on IfcResourceTime for attribute-specific usage. /// Each IfcTimeSeriesValue indicates a LIST of values, where the sequence of the value corresponds to the IfcCostValue at IfcConstructionResource.CostRatesConsumed. For example, if CostRatesConsumed has two IfcCostValue items in the LIST, "Standard" and "Overtime", then IfcTimeSeriesValue(IfcDuration('T8H0M0S'),IfcDuration('T2H0M0S')) would indicate 8 hours at Standard rate and 2 hours at Overtime rate. If the list of values at IfcTimeSeriesValue.ListValues is less than the size of CostRatesConsumed, then subsequent values are considered to be zero. /// -/// Figure 190 — Construction resource time series use +/// Figure 190 — Construction resource time series use /// /// Document use definition /// Documents may be published for work plans consisting of schedules, calendars, tasks, and resources. The relationship IfcRelAssociatesDocument may be used to preserve mappings to such document where RelatingDocument points to an IfcDocumentReference and RelatedObjects includes the IfcConstructionResource as shown in Figure 191. /// IfcDocumentReference.ItemReference identifies the resource within the scope of the document, such as an integer or guid. The IfcDocumentReference.ReferencedDocument corresponds to the document which is uniquely identified by IfcDocumentInformation.DocumentId and/or IfcDocumentInformation.PublicationLocation. Such document mapping allows items in the document to be updated from the building information model and vice-versa. /// -/// Figure 191 — Construction resource document use +/// Figure 191 — Construction resource document use /// /// Baseline use definition /// A resource may have any number of baselines defined using the relationship IfcRelDefinesByObject where RelatingObject is the "current" resource and RelatedObjects consists of multiple "baseline" resources, each representing a copy of the resource as it existed at an earlier point in time as shown in Figure 192. Each baseline IfcConstructionResource is identified by its nested IfcRelAssignsToControl relationship to an IfcWorkSchedule having /// PredefinedType=BASELINE, IfcWorkSchedule.CreationDate indicating the date of the baseline, and /// IfcWorkSchedule.Name indicating the name of the baseline. /// -/// Figure 192 — Construction resource baseline use +/// Figure 192 — Construction resource baseline use class IfcConstructionResource : public IfcResource { public: /// Whether the optional attribute Usage is defined for this IfcConstructionResource @@ -27159,7 +27227,7 @@ class IfcControl : public IfcObject { /// /// Figure 157 illustrates a cost item composition used for a cost schedule. Each line item has a quantity and separate unit costs where IfcCostValue.CostType indicates the category of cost. The summary item has a hierarchy of costs calculated according to IfcAppliedValueRelationship.ArithmeticOperator, where IfcCostValue.CostType identifies the category to be totalled. The Tax component has IfcCostValue.CostType set to 'Material' which indicates it is the sum of all nested values of the 'Material' category ($3 x 3000 + $118 x 100 = $20800). The Subtotal component has IfcCostValue.CostType set to an asterisk ('*') which indicates it is the sum of all nested values of all categories. /// -/// Figure 157 — Cost composition +/// Figure 157 — Cost composition /// /// Assignment Use Definition /// @@ -27173,7 +27241,7 @@ class IfcControl : public IfcObject { /// /// Figure 158 illustrates cost item assignment derived from building elements. The IfcRelAssignsToControl relationship indicates building elements for which quantities are derived. Not shown, costs may also be derived from building elements by traversing assignment relationships from the assigned IfcProduct to IfcProcess to IfcResource, where all costs ultimately originate at resources. It is also possible for cost items to have assignments from processes or resources directly. /// -/// Figure 168 — Cost assignment +/// Figure 168 — Cost assignment class IfcCostItem : public IfcControl { public: /// Whether the optional attribute PredefinedType is defined for this IfcCostItem @@ -27426,8 +27494,8 @@ class IfcCurtainWallType : public IfcBuildingElementType { /// /// and the surface is parameterized as: /// -/// where the parametric range is -∞ < u,v < -/// ∞ . +/// where the parametric range is -∞ < u,v < +/// ∞ . /// In the above parameterization the length unit for the unit /// vectors z is equal to that of the radius R. /// In the placement coordinate system defined above, the surface is @@ -27445,10 +27513,10 @@ class IfcCurtainWallType : public IfcBuildingElementType { /// NOTE A bounded cylindrical surface can be /// defined by an IfcRectangularTrimmedSurface with /// BasisSurface being the cylindrical surface and U1 = -/// 0, U2 = 360 and V1 = lower bound in +/// 0°, U2 = 360° and V1 = lower bound in /// z, V2 = upper bound in z (if the plane angle /// measure is degree). A bounded cylindrical arc surface is provided -/// with |U1 - U2| < 360 (assuming the Usense and Vsense +/// with |U1 - U2| < 360° (assuming the Usense and Vsense /// agree to the sense of the basis surface). /// NOTE A non-rectangular bounded cylindrical /// surface, e.g. the surface of a round wall underneath a sloped @@ -27539,7 +27607,7 @@ class IfcDistributionElementType : public IfcElementType { /// /// Figure 148 illustrates a project containing a light fixture in a building, where the definition of the light fixture is obtained from an external project. /// -/// Figure 148 — Distribution flow element library +/// Figure 148 — Distribution flow element library /// /// Composition Use Definition /// The IfcDistributionFlowElementType may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcDistributionFlowElementType and RelatedObjects contains one or more components. For example, a cable type may be decomposed into wires. Standard types for composition are defined at occurrences for subtypes. @@ -27682,7 +27750,7 @@ class IfcDistributionFlowElementType : public IfcDistributionElementType { /// The depth of the transom is identical to the depth of the /// lining and not given as separate parameter. /// -/// Figure 172 — Door lining properties +/// Figure 172 — Door lining properties /// /// NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to "automatically aligned" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth. class IfcDoorLiningProperties : public IfcPreDefinedPropertySet { @@ -27808,7 +27876,7 @@ class IfcDoorLiningProperties : public IfcPreDefinedPropertySet { /// /// PanelWidth /// -/// Figure 173 — Door panel properties +/// Figure 173 — Door panel properties class IfcDoorPanelProperties : public IfcPreDefinedPropertySet { public: /// Whether the optional attribute PanelDepth is defined for this IfcDoorPanelProperties @@ -28002,7 +28070,7 @@ class IfcDoorType : public IfcBuildingElementType { /// 'white', /// 'by layer' /// -/// NOTEThe IfcDraughtingPreDefinedColour is an entity that had been adopted from ISO 10303-202, Industrial automation systems and integration—Product data representation and exchange, Part 202: Application protocol: Associative draughting. +/// NOTE The IfcDraughtingPreDefinedColour is an entity that had been adopted from ISO 10303-202, Industrial automation systems and integration—Product data representation and exchange, Part 202: Application protocol: Associative draughting. /// /// The following table states the RGB values associated with the names given by the IfcDraughtingPreDefinedColour. /// @@ -28055,9 +28123,9 @@ class IfcDoorType : public IfcBuildingElementType { /// colour values obtained from /// IfcPresentationLayerWithStyle. /// -/// NOTECorresponding ISO 10303 name: draughting_pre_defined_colour. Please refer to ISO/IS 10303-202:1994 page 194 for the final definition of the formal standard. +/// NOTE Corresponding ISO 10303 name: draughting_pre_defined_colour. Please refer to ISO/IS 10303-202:1994 page 194 for the final definition of the formal standard. /// -/// HISTORYNew entity in IFC2x2. +/// HISTORY New entity in IFC2x2. /// /// Informal proposition /// @@ -28072,17 +28140,17 @@ class IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { }; /// The draughting predefined curve font type defines a selection of widely used curve fonts for draughting purposes by name. /// -/// NOTE The IfcDraughtingPreDefinedCurveFont is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46 Technical Corrigendum 2: Integrated generic resources: Visual presentation. +/// NOTE  The IfcDraughtingPreDefinedCurveFont is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46 Technical Corrigendum 2: Integrated generic resources: Visual presentation. /// /// Figure 291 (from ISO 10303-46 TC2) illustrates predefined curve fonts. /// -/// Figure 291 — Draughting predefined curve font +/// Figure 291 — Draughting predefined curve font /// -/// NOTE If the IfcDraughtingPreDefinedCurveFont is used within an IfcCurveStyleFontAndScaling then the segment and space lengths that are given in the table are as such for the scale factor 1.0 +/// NOTE  If the IfcDraughtingPreDefinedCurveFont is used within an IfcCurveStyleFontAndScaling then the segment and space lengths that are given in the table are as such for the scale factor 1.0 /// -/// NOTE Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994 TC2, page 12 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 name: pre_defined_curve_font. Please refer to ISO/IS 10303-46:1994 TC2, page 12 for the final definition of the formal standard. /// -/// HISTORY New entity in IFC2x2. +/// HISTORY  New entity in IFC2x2. class IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { public: virtual const IfcParse::entity& declaration() const; @@ -28228,7 +28296,7 @@ class IfcElement : public IfcProduct { /// /// Figure 27 illustrates spatial containment and element aggregation relationships. /// -/// Figure 27 — Element assembly containment +/// Figure 27 — Element assembly containment /// /// Geometry Use Definitions /// The geometric representation of IfcElementAssembly is @@ -28274,7 +28342,7 @@ class IfcElementAssembly : public IfcElement { bool hasPredefinedType() const; /// Predefined generic types for a element assembly that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// - /// IFC2x4 CHANGE The attribute has been changed to be optional. + /// IFC2x4 CHANGE  The attribute has been changed to be optional. IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum PredefinedType() const; void setPredefinedType(IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v); virtual const IfcParse::entity& declaration() const; @@ -28388,7 +28456,7 @@ class IfcElementAssemblyType : public IfcElementType { /// /// Figure 151 illustrates multiple components modeled as a single occurrence object (here: IfcFastener) /// -/// Figure 151 — Element component mapped representation +/// Figure 151 — Element component mapped representation /// /// Representation identifier and type are the same as in single mapped representation. /// The number of mapped items in the representation corresponds with the count of @@ -28428,9 +28496,9 @@ class IfcElementComponentType : public IfcElementType { /// R2 = SemiAxis2 /// and the ellipse is parameterized as: /// -/// The parameterization range is 0 -/// u 2p (or 0 -/// u +/// The parameterization range is 0 £ +/// u £ 2p (or 0 +/// £ u £ /// 360 degree). In the placement coordinate system defined above, the ellipse is /// the equation C = 0, where /// @@ -28438,13 +28506,13 @@ class IfcElementComponentType : public IfcElementType { /// /// The inherited Position.Location from IfcConic is the center of the IfcEllipse, and the inherited Position.P[1] from IfcConic the direction of the SemiAxis1. /// -/// NOTE Corresponding ISO 10303 entity: ellipse. Please refer to ISO/IS 10303-42:1994, p. 39 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: ellipse. Please refer to ISO/IS 10303-42:1994, p. 39 for the final definition of the formal standard. /// -/// HISTORY New class in IFC Release 1.0 +/// HISTORY  New class in IFC Release 1.0 /// /// Figure 280 illustrates the definition of the IfcEllipse within the (in this case three-dimensional) position coordinate system. /// -/// Figure 280 — Ellipse geometry +/// Figure 280 — Ellipse geometry class IfcEllipse : public IfcConic { public: /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. @@ -28605,7 +28673,7 @@ class IfcEvaporatorType : public IfcEnergyConversionDeviceType { /// An IfcEvent is something /// that happens that triggers an action or response. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Use definitions /// @@ -28736,7 +28804,7 @@ class IfcExternalSpatialStructureElement : public IfcSpatialElement { /// /// NOTE Corresponding ISO 10303-42 entity: faceted_brep. Please refer to ISO/IS 10303-42:1994, p. 173 for the final definition of the formal standard. In the current IFC Release faceted B-rep with voids is represented by an own subtype and not defined via an implicit ANDOR supertype constraint as in ISO/IS 10303-42:1994. This change has been made due to the fact, that only ONEOF supertype constraint is allowed within the IFC data schema. /// -/// HISTORY New entity in IFC Release 1.0 +/// HISTORY  New entity in IFC Release 1.0 /// /// Informal proposition: /// @@ -28747,7 +28815,7 @@ class IfcExternalSpatialStructureElement : public IfcSpatialElement { /// /// Figure 257 illustrates use of IfcFacetedBrep for boundary representation models with planar surfaces only. The diagram shows the topological and geometric representation items that are used for faceted breps. Each IfcCartesianPoint, used within the IfcFacetedBrep shall be referenced three times by an IfcPolyLoop bounding a different IfcFace. /// -/// Figure 257 — Faceted B-rep +/// Figure 257 — Faceted B-rep class IfcFacetedBrep : public IfcManifoldSolidBrep { public: virtual const IfcParse::entity& declaration() const; @@ -29637,14 +29705,14 @@ class IfcGeographicElement : public IfcElement { /// curve). /// The inherited attributes Name and Description can /// be used to define a descriptive name of the grid and to indicate -/// the grid's purpose.A grid is defined by (normally) two, or +/// the grid's purpose. A grid is defined by (normally) two, or /// (in case of a triangular grid) three lists of grid axes. The /// following table shows some examples. /// A grid may support a rectangular layout (Figure 28), a radial layout (Figure 29), or a triangular layout (Figure 30). /// -/// Figure 28 — Grid rectangular layout -/// Figure 29 — Grid radial layout -/// Figure 30 — Grid triangular layout +/// Figure 28 — Grid rectangular layout +/// Figure 29 — Grid radial layout +/// Figure 30 — Grid triangular layout /// /// The grid axes, defined within the design grid, are those /// elements to which project objects will be placed relatively using @@ -29663,7 +29731,7 @@ class IfcGeographicElement : public IfcElement { /// right side: the conflict can be resolved by splitting one grid /// axis in a way, such as no ambiguous intersections exist. /// -/// Figure 31 — Grid intersections +/// Figure 31 — Grid intersections /// /// Geometry Use Definitions /// The geometric representation of IfcGrid is given by the @@ -29705,7 +29773,7 @@ class IfcGeographicElement : public IfcElement { /// IfcCurve, each representing a grid axis. Applicable subtypes /// of IfcCurve are: IfcPolyline, IfcCircle, /// IfcTrimmedCurve (based on BaseCurve referencing -/// IfcLine or IfcCircle). +/// IfcLine or IfcCircle).  /// Each subtype of IfcCurve may have a curve style /// assigned, using IfcAnnotationCurveOccurrence referencing /// IfcCurveStyle. @@ -29714,13 +29782,13 @@ class IfcGeographicElement : public IfcElement { /// using IfcAnnotationTextOccurrence referencing /// IfcTextStyle. /// -/// As shown in Figure 32, the IfcGrid defines a placement coordinate system using the ObjectPlacement. The XY plane of the coordinate system is used to place the 2D grid axes. The Representation of IfcGrid is defined using IfcProductRepresentation, referencing an IfcShapeRepresentation, that includesIfcGeometricCurveSet as Items. All grid axes are added as IfcPolyline to the IfcGeometricCurveSet. +/// As shown in Figure 32, the IfcGrid defines a placement coordinate system using the ObjectPlacement. The XY plane of the coordinate system is used to place the 2D grid axes. The Representation of IfcGrid is defined using IfcProductRepresentation, referencing an IfcShapeRepresentation, that includes IfcGeometricCurveSet as Items. All grid axes are added as IfcPolyline to the IfcGeometricCurveSet. /// -/// Figure 32 — Grid layout +/// Figure 32 — Grid layout /// -/// As shown in Figure 33, the attributes UAxes and VAxes define lists of IfcGridAxis within the context of thegrid. Each instance of IfcGridAxis refers to the same instance of IfcCurve (here the subtype IfcPolyline) that is contained within the IfcGeometricCurveSet that represents the IfcGrid. +/// As shown in Figure 33, the attributes UAxes and VAxes define lists of IfcGridAxis within the context of the grid. Each instance of IfcGridAxis refers to the same instance of IfcCurve (here the subtype IfcPolyline) that is contained within the IfcGeometricCurveSet that represents the IfcGrid. /// -/// Figure 33 — Grid representation +/// Figure 33 — Grid representation class IfcGrid : public IfcProduct { public: /// List of grid axes defining the first row of grid lines. @@ -29923,6 +29991,15 @@ class IfcInterceptorType : public IfcFlowTreatmentDeviceType { IfcInterceptorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcInterceptorTypeEnum::IfcInterceptorTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcInterceptorType > list; }; + +class IfcIntersectionCurve : public IfcSurfaceCurve { +public: + virtual const IfcParse::entity& declaration() const; + static Type::Enum Class(); + IfcIntersectionCurve (IfcAbstractEntity* e); + IfcIntersectionCurve (IfcCurve* v1_Curve3D, IfcTemplatedEntityList< IfcPcurve >::ptr v2_AssociatedGeometry, IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation v3_MasterRepresentation); + typedef IfcTemplatedEntityList< IfcIntersectionCurve > list; +}; /// An inventory is a list of items within an enterprise. /// /// Various types of inventory can be included. These are identified by the range of values within the inventory type enumeration which includes space, asset, and furniture. User defined inventories can also be defined for lists of particular types of element such as may be required in operating and maintenance instructions. Such inventories should be constrained to contain a list of elements of a restricted type.There are a number of actors that can be associated with an inventory, each actor having a role. Actors within the scope of the project are indicated using the IfcRelAssignsToActor relationship in which case roles should be defined through the IfcActorRole class; otherwise principal actors are identified as attributes of the class. In the existence of both, direct attributes take precedence.There are a number of costs that can be associated with an inventory, each cost having a role. These are specified through the CurrentValue and OriginalValue attributes.HISTORY: New entity in IFC2.0. Modified in IFC2x4 to make all attributes optional and remove Where Rule. @@ -30037,7 +30114,7 @@ class IfcJunctionBoxType : public IfcFlowFittingType { /// Assignment use definition /// In addition to assignments specified at the base class IfcConstructionResource, a labor resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcLaborResource and RelatedObjects contains one or more IfcActor subtypes as shown in Figure 194. Such relationship indicates the specific people used as input for the resource. Such actors are nested according to organizational structure with the root organization assigned to the IfcProject. The IfcActor entity is used to represent the people or organizations. /// -/// Figure 194 — Labor resource assignment use +/// Figure 194 — Labor resource assignment use class IfcLaborResource : public IfcConstructionResource { public: /// Whether the optional attribute PredefinedType is defined for this IfcLaborResource @@ -30604,7 +30681,7 @@ class IfcOccupant : public IfcActor { /// Figure 34 illustrates an opening with horizontal extrusion. /// NOTE The local placement directions for the IfcOpeningElement are only given as an example, other directions are valid as well. /// -/// Figure 34 — Opening with full extrusion +/// Figure 34 — Opening with full extrusion /// /// Figure 35 illustrates an opening for a recess. /// NOTE The local placement directions for the IfcOpeningElement are only given as an example, other directions are valid as well. @@ -30613,7 +30690,7 @@ class IfcOccupant : public IfcActor { /// /// IfcCartesianPoint(XDim/2,YDim/2) /// -/// Figure 35 — Opening with recess extrusion +/// Figure 35 — Opening with recess extrusion /// /// Swept Solid Representation with Vertical Extrusion /// The 'SweptSolid' geometric representation of @@ -30649,7 +30726,7 @@ class IfcOccupant : public IfcActor { /// Figure 36 shows a vertical extrusion with multiple extrusion bodies for the opening. Each extrusion body has a different extrusion lenght. /// NOTE The local placement directions for the IfcOpeningElement are only given as an example, other directions are valid as well. /// -/// Figure 36 — Opening with multiple extrusions +/// Figure 36 — Opening with multiple extrusions class IfcOpeningElement : public IfcFeatureElementSubtraction { public: /// Whether the optional attribute PredefinedType is defined for this IfcOpeningElement @@ -30758,7 +30835,7 @@ class IfcOpeningElement : public IfcFeatureElementSubtraction { /// IfcRectangleProfileDef.XDim interpreted as /// opening height /// -/// Figure 37 — Opening standard representation +/// Figure 37 — Opening standard representation class IfcOpeningStandardCase : public IfcOpeningElement { public: virtual const IfcParse::entity& declaration() const; @@ -30860,7 +30937,7 @@ class IfcPerformanceHistory : public IfcControl { /// /// As shown in Figure 174, the panel is applied to the position within the lining, as defined by the panel position attribute. The following parameters apply to that panel: FrameDepth, FrameThickness. /// -/// Figure 174 — Permeable covering properties +/// Figure 174 — Permeable covering properties class IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { public: /// Types of permeable covering operations. Also used to assign standard symbolic presentations according to national building standards. @@ -30913,7 +30990,7 @@ class IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { /// /// (All Types): May contain IfcPermit sub-items. A permit may be nested to indicate permit ammendments, in order of issue. /// -/// Figure 159 — Permit composition +/// Figure 159 — Permit composition /// /// Assignment Use Definition /// As shown in Figure 160, an IfcPermit may be assigned to the following entities using relationships as indicated: @@ -30923,7 +31000,7 @@ class IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { /// The IfcPermit may have assignments of its own using the IfcRelAssignsToControl relationship where RelatingControl refers to the IfcPermit and RelatedObjects contains one or more objects of the following types: /// IfcActor: Organization(s) bound to the permit, typically a single contractor. /// -/// Figure 160 — Permit assignment +/// Figure 160 — Permit assignment /// /// Approval Use Definition /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcPermit. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. @@ -31086,7 +31163,7 @@ class IfcPipeSegmentType : public IfcFlowSegmentType { /// IfcMaterialLayerSet; otherwise they are represented by /// instances of IfcPlate. /// -/// HISTORY New +/// HISTORY  New /// entity in Release IFC2x2. /// /// Informal proposition: @@ -31146,20 +31223,39 @@ class IfcPlateType : public IfcBuildingElementType { IfcPlateType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPlateTypeEnum::IfcPlateTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcPlateType > list; }; + +class IfcPolygonalFaceSet : public IfcTessellatedFaceSet { +public: + /// Whether the optional attribute Closed is defined for this IfcPolygonalFaceSet + bool hasClosed() const; + bool Closed() const; + void setClosed(bool v); + IfcTemplatedEntityList< IfcIndexedPolygonalFace >::ptr Faces() const; + void setFaces(IfcTemplatedEntityList< IfcIndexedPolygonalFace >::ptr v); + /// Whether the optional attribute PnIndex is defined for this IfcPolygonalFaceSet + bool hasPnIndex() const; + std::vector< int > /*[1:?]*/ PnIndex() const; + void setPnIndex(std::vector< int > /*[1:?]*/ v); + virtual const IfcParse::entity& declaration() const; + static Type::Enum Class(); + IfcPolygonalFaceSet (IfcAbstractEntity* e); + IfcPolygonalFaceSet (IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, IfcTemplatedEntityList< IfcIndexedPolygonalFace >::ptr v3_Faces, boost::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex); + typedef IfcTemplatedEntityList< IfcPolygonalFaceSet > list; +}; /// Definition from ISO/CD 10303-42:1992: A polyline /// is a bounded curve of n - 1 linear segments, defined by a /// list of n points, P1, P2 ... Pn. /// The ith segment of the curve is parameterized as follows: /// +///     +/// for 1 ≤ i ≤ n - 1 /// -/// for 1 ≤ i ≤ n - 1 +/// where i - 1 ≤ u ≤ i and +/// with parametric range of 0 <≤ u ≤ n - 1. /// -/// where i - 1 ≤ u ≤ i and -/// with parametric range of 0 <≤ u ≤ n - 1. +/// NOTE  Corresponding ISO 10303 entity: polyline. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// -/// NOTE Corresponding ISO 10303 entity: polyline. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. -/// -/// HISTORY New class in IFC Release 1.0 +/// HISTORY  New class in IFC Release 1.0 class IfcPolyline : public IfcBoundedCurve { public: /// The points defining the polyline. @@ -31239,9 +31335,9 @@ class IfcPort : public IfcProduct { /// logical set of actions to be taken in response to an event /// or to cause an event to occur. /// -/// HISTORY New entity in IFC2x2 +/// HISTORY  New entity in IFC2x2 /// -/// IFC2x4 CHANGE ProcedureType renamed to PredefinedType and made optional (upward compatible). Where rules WR1 and WR2 have been removed. +/// IFC2x4 CHANGE  ProcedureType renamed to PredefinedType and made optional (upward compatible). Where rules WR1 and WR2 have been removed. /// /// Use definitions /// @@ -31338,7 +31434,7 @@ class IfcPort : public IfcProduct { /// be assembled". Consequently, it doesn't restrict the outer /// item as a whole but provides inner detail of the item. /// -/// Figure 12 — Procedure relationships +/// Figure 12 — Procedure relationships class IfcProcedure : public IfcProcess { public: /// Whether the optional attribute PredefinedType is defined for this IfcProcedure @@ -31382,7 +31478,7 @@ class IfcProcedure : public IfcProcess { /// /// WORKORDER: May contain IfcProjectOrder sub-items having PredefinedType CHANGEORDER. A work order may be nested into change orders to indicate contract ammendment, in order of issue. /// -/// Figure 161 — Project order composition +/// Figure 161 — Project order composition /// /// Assignment Use Definition /// As shown in Figure 161, an IfcProjectOrder may be assigned to the following entities using relationships as indicated: @@ -31392,7 +31488,7 @@ class IfcProcedure : public IfcProcess { /// The IfcProjectOrder may have assignments of its own using the IfcRelAssignsToControl relationship where RelatingControl refers to the IfcProjectOrder and RelatedObjects contains one or more objects of the following types: /// IfcActor: Organization(s) contracted to fulfill the order, typically a single contractor, subcontractor, or supplier. /// -/// Figure 162 — Project order assignment +/// Figure 162 — Project order assignment /// /// Approval Use Definition /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcProjectOrder. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. @@ -31520,11 +31616,11 @@ class IfcProjectOrder : public IfcControl { /// IfcExtrudedAreaSolid.Depth is interpreted as projection /// depth /// -/// NOTE Rectangles are now defined centric, the placement location has to be set: +/// NOTE  Rectangles are now defined centric, the placement location has to be set: /// IfcCartesianPoint(XDim/2,YDim/2) -/// NOTE The local placement directions for the IfcProjectionElement are only given as an example, other directions are valid as well. +/// NOTE  The local placement directions for the IfcProjectionElement are only given as an example, other directions are valid as well. /// -/// Figure 38 — Projection representation +/// Figure 38 — Projection representation /// /// Brep Representation /// The general b-rep geometric representation of @@ -31746,9 +31842,9 @@ class IfcRampType : public IfcBuildingElementType { /// /// The surface is to be interpreted as follows: /// -/// σ +/// σ /// -/// NOTE: The IfcRationalBSplineSurfaceWithKnots is an entity that had been adopted from ISO 10303, Industrial automation systems and integration — Product data representation and exchange, Part 42: Integrated generic resource: Geometric and topological representation. +/// NOTE: The IfcRationalBSplineSurfaceWithKnots is an entity that had been adopted from ISO 10303, Industrial automation systems and integration — Product data representation and exchange, Part 42: Integrated generic resource: Geometric and topological representation. /// /// NOTE: The specific subtype IfcRationalBSplineSurfaceWithKnots has been introduced to avoid the complexity of ANDOR subtype relationships in the ISO 10303-42 specification /// @@ -31962,12 +32058,12 @@ class IfcRelAggregates : public IfcRelDecomposes { public: /// The object definition, either an object type or an object occurrence, that represents the aggregation. It is the whole within the whole/part relationship. /// - /// IFC2x4 CHANGE The attribute has been demoted from the supertype IfcRelDecomposes and defines the non-ordered aggregation relationship. + /// IFC2x4 CHANGE  The attribute has been demoted from the supertype IfcRelDecomposes and defines the non-ordered aggregation relationship. IfcObjectDefinition* RelatingObject() const; void setRelatingObject(IfcObjectDefinition* v); /// The object definitions, either object occurrences or object types, that are being aggregated. They are defined as the parts in the whole/part relationship. No order is implied between the parts. /// - /// IFC2x4 CHANGE The attribute has been demoted from the supertype IfcRelDecomposes and defines the non-ordered set of parts within the aggregation. + /// IFC2x4 CHANGE  The attribute has been demoted from the supertype IfcRelDecomposes and defines the non-ordered set of parts within the aggregation. IfcTemplatedEntityList< IfcObjectDefinition >::ptr RelatedObjects() const; void setRelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v); virtual const IfcParse::entity& declaration() const; @@ -32067,6 +32163,15 @@ class IfcSanitaryTerminalType : public IfcFlowTerminalType { IfcSanitaryTerminalType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcSanitaryTerminalType > list; }; + +class IfcSeamCurve : public IfcSurfaceCurve { +public: + virtual const IfcParse::entity& declaration() const; + static Type::Enum Class(); + IfcSeamCurve (IfcAbstractEntity* e); + IfcSeamCurve (IfcCurve* v1_Curve3D, IfcTemplatedEntityList< IfcPcurve >::ptr v2_AssociatedGeometry, IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation v3_MasterRepresentation); + typedef IfcTemplatedEntityList< IfcSeamCurve > list; +}; /// Definition from IAI: The IfcShadingDeviceType /// defines a list of commonly shared property set definitions of a /// shading device element and an optional set of product @@ -32136,7 +32241,7 @@ class IfcShadingDeviceType : public IfcBuildingElementType { /// ELEMENT = site /// PARTIAL = site section /// -/// HISTORY New entity in IFC Release 1.0. +/// HISTORY  New entity in IFC Release 1.0. /// /// Property Set Use Definition /// The property sets relating to the IfcSite are defined by @@ -32201,7 +32306,7 @@ class IfcShadingDeviceType : public IfcBuildingElementType { /// Figure 51 shows the IfcSite as part of the spatial structure. In addition to the logical spatial structure, also the placement hierarchy is shown. In this example the spatial structure hierarchy and the placement hierarchy are identical. /// NOTE Detailed requirements on mandatory element containment and placement structure relationships are given in view definitions and implementer agreements. /// -/// Figure 51 — Site composition +/// Figure 51 — Site composition /// /// Attribute Use Definition /// Figure 52 describes the heights and elevations of the IfcSite. It is used to provide the geographic longitude, latitude, and height above sea level for the origin of the site. The origin of the site is the local placement. @@ -32212,8 +32317,8 @@ class IfcShadingDeviceType : public IfcBuildingElementType { /// the reference height of each building situated at the site is given againt the same height datum used at this location. /// the elevations of each storey belonging to each building are given as local height relative to the reference height of the building. /// -/// -/// Figure 52 — Site elevations +///   +/// Figure 52 — Site elevations /// /// Geometry Use Definitions /// The geometric representation of IfcSite is given by the @@ -32264,16 +32369,16 @@ class IfcShadingDeviceType : public IfcBuildingElementType { /// Figure 53 shows a set of survey points, given as 3D Cartesian points within the object coordinate system of the site. Figure 54 shows the result after facetation. /// The set of IfcCartesianPoint is included in the set of IfcGeometricCurveSet.Elements. /// -/// Figure 53 — Site survey points -/// Figure 54 — Site survey points facetation +/// Figure 53 — Site survey points +/// Figure 54 — Site survey points facetation /// /// Figure 55 shows A set of survey points, given as 3D Cartesian points, and a set of break points, given as a set of lines, connecting some survey points, within the object coordinate system of the site. Figure 56 shows the result after facetation. /// The set of IfcCartesianPoint and the set of IfcPolyline are included in the set of IfcGeometricCurveSet.Elements. /// -/// Figure 55 — Site breaklines -/// Figure 56 — Site breaklines facetation +/// Figure 55 — Site breaklines +/// Figure 56 — Site breaklines facetation /// -/// NOTE The geometric representation of the site has been based on the ARM level description of the site_shape_representation given within the ISO 10303-225 "Building Elements using explicit shape representation". +/// NOTE  The geometric representation of the site has been based on the ARM level description of the site_shape_representation given within the ISO 10303-225 "Building Elements using explicit shape representation". /// /// Body Representation /// The body representation of IfcSite is defined using a @@ -32352,7 +32457,7 @@ class IfcSite : public IfcSpatialStructureElement { /// IfcMaterialLayerSet; otherwise they are represented by /// instances of IfcSlab, or IfcSlabElementedCase. /// -/// HISTORY New +/// HISTORY  New /// entity in Release IFC2x2. /// /// Informal proposition: @@ -32512,7 +32617,7 @@ class IfcSolarDeviceType : public IfcEnergyConversionDeviceType { /// set for all types of spaces to capture the thermal /// requirements /// Pset_SpaceThermalDesign: common property set -/// for allall types of spaces to capture building service design +/// for all all types of spaces to capture building service design /// values /// /// Quantity Use Definition @@ -32541,7 +32646,7 @@ class IfcSolarDeviceType : public IfcEnergyConversionDeviceType { /// IfcSpace.Decomposes -- referencing (IfcSite || /// IfcBuildingStorey || IfcSpace) by /// IfcRelAggregates.RelatingObject, If it refers to another -/// instance ofIfcSpace, the referenced IfcSpace +/// instance of IfcSpace, the referenced IfcSpace /// needs to have a different and higher CompositionType, i.e. /// COMPLEX (if the other IfcSpace has ELEMENT), or ELEMENT (if /// the other IfcSpace has PARTIAL). @@ -32553,7 +32658,7 @@ class IfcSolarDeviceType : public IfcEnergyConversionDeviceType { /// other IfcSpace has ELEMENT). /// /// If there are building elements and/or other elements directly -/// related to the IfcSpace(like most furniture and +/// related to the IfcSpace (like most furniture and /// distribution elements), they are associated with the /// IfcSpace by using the objectified relationship /// IfcRelContainedInSpatialStructure. The IfcSpace @@ -32567,7 +32672,7 @@ class IfcSolarDeviceType : public IfcEnergyConversionDeviceType { /// Figure 57 shows the IfcSpace as part of the spatial structure. It also serves as the spatial container for space related elements. /// NOTE Detailed requirements on mandatory element containment and placement structure relationships are given in view definitions and implementer agreements. /// -/// Figure 57 — Space composition +/// Figure 57 — Space composition /// /// Attribute Use Definition /// @@ -32579,7 +32684,7 @@ class IfcSolarDeviceType : public IfcEnergyConversionDeviceType { /// floor height of space (top of slab below to top of flooring): provided by BaseQuantity with Name="FinishFloorHeight" /// net height of space (top of flooring to bottom of suspended ceiling): provided by BaseQuantity with Name="FinishCeilingHeight" /// -/// Figure 58 — Space elevations +/// Figure 58 — Space elevations /// /// Geometry Use Definition /// The geometric representation of IfcSpace is given by the @@ -32632,7 +32737,7 @@ class IfcSolarDeviceType : public IfcEnergyConversionDeviceType { /// Figure 59 shows a two-dimensional bounded curve representing the /// foot print of IfcSpace. /// -/// Figure 59 — Space footprint +/// Figure 59 — Space footprint /// /// 'Swept Solid' Representation /// The standard geometric representation of IfcSpace is @@ -32657,7 +32762,7 @@ class IfcSolarDeviceType : public IfcEnergyConversionDeviceType { /// /// Figure 60 shows an extrusion of an arbitrary profile definition with voids into the swept area solid of IfcSpace. /// -/// Figure 60 — Space body swept solid +/// Figure 60 — Space body swept solid /// /// 'Clipping' representation /// The advanced geometric representation of IfcSpace is @@ -32682,11 +32787,11 @@ class IfcSolarDeviceType : public IfcEnergyConversionDeviceType { /// /// Figure 61 shows an extrusion of an arbitrary profile definition into the swept area solid. The solid and an half space solid are operands of the Boolean result of IfcSpace. /// -/// Figure 61 — Space body clipping +/// Figure 61 — Space body clipping /// /// 'Brep' representation /// The fallback advanced geometric representation of -/// IfcSpace is defined using the Brep solid geometry.may +/// IfcSpace is defined using the Brep solid geometry. may /// be represented as a single or multiple instances of /// IfcFacetedBrep or IfcFacetedBrepWithVoids. The Brep /// representation allows for the representation of complex element @@ -32706,7 +32811,7 @@ class IfcSpace : public IfcSpatialStructureElement { /// /// Previous use, prior to IFC2x4, had been to indicates whether the IfcSpace is an interior space by value INTERNAL, or an exterior space by value EXTERNAL. This use is now deprecated, the property 'IsExternal' at 'Pset_SpaceCommon' should be used instead. /// - /// IFC2x4 CHANGE The attribute has been renamed from ExteriorOrInteriorSpace with upward compatibility for file based exchange. + /// IFC2x4 CHANGE  The attribute has been renamed from ExteriorOrInteriorSpace with upward compatibility for file based exchange. IfcSpaceTypeEnum::IfcSpaceTypeEnum PredefinedType() const; void setPredefinedType(IfcSpaceTypeEnum::IfcSpaceTypeEnum v); /// Whether the optional attribute ElevationWithFlooring is defined for this IfcSpace @@ -32974,7 +33079,7 @@ class IfcStairType : public IfcBuildingElementType { /// Definition from IAI: A structural action is a structural activity that acts upon /// a structural item or building element. /// -/// HISTORY New entity in IFC 2x2. +/// HISTORY  New entity in IFC 2x2. /// IFC 2x4 change: Attribute DestabilizingLoad made optional. Attribute CausedBy deleted; use IfcRelAssignsToProduct via ReferencedBy instead. /// /// Structural actions are grouped into either an IfcStructuralLoadGroup of predefined @@ -33113,7 +33218,7 @@ class IfcStructuralCurveConnection : public IfcStructuralConnection { public: /// Direction which is used in the definition of the local z axis. Axis is specified relative to the so-called global coordinate system, i.e. the SELF\IfcProduct.ObjectPlacement. /// - /// NOTE It is desirable and usually possible that many instances of IfcStructuralCurveConnection and IfcStructuralCurveMember share a common instance of IfcDirection as their Axis attribute. + /// NOTE  It is desirable and usually possible that many instances of IfcStructuralCurveConnection and IfcStructuralCurveMember share a common instance of IfcDirection as their Axis attribute. IfcDirection* Axis() const; void setAxis(IfcDirection* v); virtual const IfcParse::entity& declaration() const; @@ -33142,7 +33247,7 @@ class IfcStructuralCurveConnection : public IfcStructuralConnection { /// /// An IfcProfileDef is a two-dimensional geometric object with a xp,yp coordinate system. The profile is inserted into the curve member model thus that the origin of xp,yp is located at the member's reference curve and that xp,yp are parallel with and directed like the local y,z. /// -/// NOTE Due to convention in structural mechanics, axis names of IfcStructuralCurveMember differ from axis names of building elements like IfcBeamStandardCase: The extrusion axis of IfcStructuralCurveMember is called x while the extrusion axis of IfcBeamStandardCase is called z. Hence x,y,z of IfcStructuralCurveMember correspond with z,x,y of IfcBeamStandardCase. +/// NOTE  Due to convention in structural mechanics, axis names of IfcStructuralCurveMember differ from axis names of building elements like IfcBeamStandardCase: The extrusion axis of IfcStructuralCurveMember is called x while the extrusion axis of IfcBeamStandardCase is called z. Hence x,y,z of IfcStructuralCurveMember correspond with z,x,y of IfcBeamStandardCase. /// /// If the profile is meant to be inserted centrically in terms of structural section properties, it is necessary that the origin of xp,yp is identical with the geometric centroid of the profile (commonly also called centre of gravity). If subtypes of IfcParameterizedProfileDef are used which are only singly symmetric or are asymmetric, an explicit translation by IfcParameterizedProfileDef.Position.Location is required then. /// @@ -33150,7 +33255,7 @@ class IfcStructuralCurveConnection : public IfcStructuralConnection { /// /// Otherwise, the profile is inserted eccentrically and a different cardinal point should be set accordingly. /// -/// NOTE Another eccentricity model is available independently of eccentric profile specification: The reference curve of the member may be located eccentrically relative to the reference points of the connected IfcStructuralPointConnections. The connection relationship is then established by IfcRelConnectsWithEccentricity. Whether one or the other or both eccentricity models may be used is subject to information requirements and local agreements. +/// NOTE  Another eccentricity model is available independently of eccentric profile specification: The reference curve of the member may be located eccentrically relative to the reference points of the connected IfcStructuralPointConnections. The connection relationship is then established by IfcRelConnectsWithEccentricity. Whether one or the other or both eccentricity models may be used is subject to information requirements and local agreements. /// /// Topology Use Definitions: /// @@ -33166,7 +33271,7 @@ class IfcStructuralCurveMember : public IfcStructuralMember { void setPredefinedType(IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v); /// Direction which is used in the definition of the local z axis. Axis is specified relative to the so-called global coordinate system, i.e. the SELF\IfcProduct.ObjectPlacement. /// - /// NOTE It is desirable and usually possible that many instances of IfcStructuralCurveConnection and IfcStructuralCurveMember share a common instance of IfcDirection as their Axis attribute. + /// NOTE  It is desirable and usually possible that many instances of IfcStructuralCurveConnection and IfcStructuralCurveMember share a common instance of IfcDirection as their Axis attribute. IfcDirection* Axis() const; void setAxis(IfcDirection* v); virtual const IfcParse::entity& declaration() const; @@ -33177,9 +33282,9 @@ class IfcStructuralCurveMember : public IfcStructuralMember { }; /// Definition from IAI: Describes edge members with varying profile properties. Each instance of IfcStructuralCurveMemberVarying is composed of two or more instances of IfcStructuralCurveMember with differing profile properties. These subordinate members relate to the instance of IfcStructuralCurveMemberVarying by IfcRelAggregates. /// -/// NOTE A curve member whose variation of profile properties can be sufficiently described by a start profile and an end profile (e.g. tapers) shall be modeled as a single direct instance of the supertype IfcStructuralCurveMember. +/// NOTE  A curve member whose variation of profile properties can be sufficiently described by a start profile and an end profile (e.g. tapers) shall be modeled as a single direct instance of the supertype IfcStructuralCurveMember. /// -/// NOTE It is recommended that structural activities (actions or reactions) are not connected with aggregated IfcStructuralCurveMemberVarying but only with the IfcStructuralCurveMembers in the aggregation. That way, difficulties in interpretation of local coordinates are avoided. +/// NOTE  It is recommended that structural activities (actions or reactions) are not connected with aggregated IfcStructuralCurveMemberVarying but only with the IfcStructuralCurveMembers in the aggregation. That way, difficulties in interpretation of local coordinates are avoided. /// /// HISTORY: New entity in IFC 2x2. /// Use definition changed in IFC 2x4. @@ -33270,7 +33375,7 @@ class IfcStructuralCurveReaction : public IfcStructuralReaction { /// /// IFC 2x4 change: Intermediate supertype IfcStructuralCurveAction inserted. Derived attribute PredefinedType added. /// -/// NOTE Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. +/// NOTE  Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. class IfcStructuralLinearAction : public IfcStructuralCurveAction { public: virtual const IfcParse::entity& declaration() const; @@ -33293,7 +33398,7 @@ class IfcStructuralLinearAction : public IfcStructuralCurveAction { /// used to group load cases into load combinations. The factor provided in this assignment relationship /// is to applied together with the optional IfcStructuralLoadGroup.Coefficient. Unlike this /// coefficient which always affects the load group, the IfcRelAssignsToGroupByFactor.Factor is -/// specific for a load case—load combination pair. As many instances of +/// specific for a load case—load combination pair. As many instances of /// IfcRelAssignsToGroupByFactor are used within one load combination as there are different /// Factors to be applied to load cases in the load combination. /// @@ -33606,7 +33711,7 @@ class IfcStructuralSurfaceConnection : public IfcStructuralConnection { /// Assignment use definition /// In addition to assignments specified at the base class IfcConstructionResource, a subcontract resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcSubContractResource and RelatedObjects contains one or more IfcActor, IfcCostSchedule, and/or IfcWorkOrder objects as shown in Figure 195. An IfcActor indicates a specific organization to be considered to fulfill the resource or invited to bid on the resource. An IfcCostSchedule indicates a bid or price quote made on behalf of an organization. An IfcProjectOrder indicates a specific work order committed to fulfill the resource. /// -/// Figure 195 — Subcontract assignment use +/// Figure 195 — Subcontract assignment use class IfcSubContractResource : public IfcConstructionResource { public: /// Whether the optional attribute PredefinedType is defined for this IfcSubContractResource @@ -33623,7 +33728,7 @@ class IfcSubContractResource : public IfcConstructionResource { }; /// Definition from IAI: A surface feature is a modification at (onto, or into) of the surface of an element. Parts of the surface of the entire surface may be affected. The volume and mass of the element may be increased, remain unchanged, or be decreased by the surface feature, depending on manufacturing technology. /// -/// The standard use of instances of IfcSurfaceFeature is as a part of element type objects (instances of subtypes of IfcElementType). The part–whole relationship is established by an aggregation relationship object, expressing the decomposition of an element type into one or more additive elements (element parts) and zero or more feature elements. +/// The standard use of instances of IfcSurfaceFeature is as a part of element type objects (instances of subtypes of IfcElementType). The part–whole relationship is established by an aggregation relationship object, expressing the decomposition of an element type into one or more additive elements (element parts) and zero or more feature elements. /// /// HISTORY New type in IFC 2x4. /// @@ -33900,14 +34005,14 @@ class IfcTendonType : public IfcReinforcingElementType { bool hasCrossSectionArea() const; double CrossSectionArea() const; void setCrossSectionArea(double v); - /// Whether the optional attribute SheethDiameter is defined for this IfcTendonType - bool hasSheethDiameter() const; - double SheethDiameter() const; - void setSheethDiameter(double v); + /// Whether the optional attribute SheathDiameter is defined for this IfcTendonType + bool hasSheathDiameter() const; + double SheathDiameter() const; + void setSheathDiameter(double v); virtual const IfcParse::entity& declaration() const; static Type::Enum Class(); IfcTendonType (IfcAbstractEntity* e); - IfcTendonType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheethDiameter); + IfcTendonType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter); typedef IfcTemplatedEntityList< IfcTendonType > list; }; /// The energy conversion device type IfcTransformerType defines commonly shared information for occurrences of transformers. The set of shared information may include: @@ -34070,7 +34175,7 @@ class IfcTransportElement : public IfcElement { bool hasPredefinedType() const; /// Predefined generic types for a transportation element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// - /// IFC2x4 CHANGE The attribute has been changed to be optional. + /// IFC2x4 CHANGE  The attribute has been changed to be optional. IfcTransportElementTypeEnum::IfcTransportElementTypeEnum PredefinedType() const; void setPredefinedType(IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v); virtual const IfcParse::entity& declaration() const; @@ -34310,7 +34415,7 @@ class IfcValveType : public IfcFlowControllerType { }; /// A vibration isolator is a device used to minimize the effects of vibration transmissibility in a building. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcVibrationIsolator defines the occurrence of any vibration isolator; common information about vibration isolator types is handled by IfcVibrationIsolatorType. @@ -34397,7 +34502,7 @@ class IfcVibrationIsolatorType : public IfcElementComponentType { /// Space Boundary Use Definition /// The IfcVirtualElement is mainly used to define a virtual boundary between two spaces. Figure 63 describes how to use IfcRelSpaceBoundary in conjunction with IfcVirtualElement to define space boundaries. /// -/// Figure 63 — Virtual element space boundaries +/// Figure 63 — Virtual element space boundaries /// /// Geometry Use Definition /// The geometric representation of any IfcVirtualElement @@ -34483,7 +34588,7 @@ class IfcVirtualElement : public IfcElement { }; /// Definition from IAI: A voiding feature is a modification of an element which reduces its volume. Such a feature may be manufactured in different ways, for example by cutting, drilling, or milling of members made of various materials, or by inlays into the formwork of cast members made of materials such as concrete. /// -/// The standard use of instances of IfcVoidingFeature is as a part of element type objects (instances of subtypes of IfcElementType). The part–whole relationship is established by an aggregation relationship object, expressing the decomposition of an element type into one or more additive elements (element parts) and zero or more feature elements. +/// The standard use of instances of IfcVoidingFeature is as a part of element type objects (instances of subtypes of IfcElementType). The part–whole relationship is established by an aggregation relationship object, expressing the decomposition of an element type into one or more additive elements (element parts) and zero or more feature elements. /// /// HISTORY New type in IFC 2x4. /// @@ -34813,7 +34918,7 @@ class IfcWindowType : public IfcBuildingElementType { }; /// An IfcWorkCalendar defines working and non-working time periods for tasks and resources. It enables to define both specific time periods, such as from 7:00 till 12:00 on 25th August 2009, as well as repetitive time periods based on frequently used recurrence patterns, such as each Monday from 7:00 till 12:00 between 1st March 2009 and 31st December 2009. /// -/// HISTORY New entity in IFC2x4. +/// HISTORY  New entity in IFC2x4. /// /// A work calendar is a subtype of IfcControl and thus inherits the feature for controlling other objects through IfcRelAssignsToControl, which is used to define a work calendar for tasks (IfcTask) and resources (IfcResource). It also inherits a name and description attribute, whereas a name shall be given and a description may be given as an indication of its content and usage. /// @@ -34823,7 +34928,7 @@ class IfcWindowType : public IfcBuildingElementType { /// /// Figure 17 shows the definition of a work calendar, which is defined by a set of work times and exception times. The work times are defined as recurring patterns with optional boundaries (applying from and/or to a specific date). The shown example defines a simple work calendar with working times Monday to Thursday 8:00 to 12:00 and 13:00 to 17:00, Friday 8:00 to 14:00 and as exception every 1st Monday in a month the work starts one hour later - i.e. the working time on every 1st Monday in a month is overriden to be 9:00 to 12:00 and 13:00 to 17:00. Both the working time and the exception time is valid for the period of 01.09.2010 till 30.08.2011. /// -/// Figure 17 — Work calendar instantiation +/// Figure 17 — Work calendar instantiation class IfcWorkCalendar : public IfcControl { public: /// Whether the optional attribute WorkingTimes is defined for this IfcWorkCalendar @@ -34856,9 +34961,9 @@ class IfcWorkCalendar : public IfcControl { }; /// An IfcWorkControl is an abstract supertype which captures information that is common to both IfcWorkPlan and IfcWorkSchedule. /// -/// HISTORY New class in IFC 2x +/// HISTORY  New class in IFC 2x /// -/// CHANGE IFC2x4 Corrected assignment of resources to work control in documentation. Assignment of tasks to work control updated based on changes of task time definitions and the introduction of a summary task. Identifier has been renamed (now Identification) and promoted to supertype IfcControl +/// CHANGE IFC2x4  Corrected assignment of resources to work control in documentation. Assignment of tasks to work control updated based on changes of task time definitions and the introduction of a summary task. Identifier has been renamed (now Identification) and promoted to supertype IfcControl /// /// A work control may have resources assigned to it, this is /// handled by the IfcRelAssignsToControl relationship. @@ -34961,7 +35066,7 @@ class IfcWorkControl : public IfcControl { /// to contained work schedules, assigned tasks and resources /// through IfcRelAssignsToControl. /// -/// Figure 18 — Work plan relationships +/// Figure 18 — Work plan relationships class IfcWorkPlan : public IfcWorkControl { public: /// Whether the optional attribute PredefinedType is defined for this IfcWorkPlan @@ -35015,7 +35120,7 @@ class IfcWorkPlan : public IfcWorkControl { /// note that a work calendar shall be assigned to the summary /// task and not the work schedule. /// -/// Figure 19 — Work schedule relationships +/// Figure 19 — Work schedule relationships class IfcWorkSchedule : public IfcWorkControl { public: /// Whether the optional attribute PredefinedType is defined for this IfcWorkSchedule @@ -35156,7 +35261,7 @@ class IfcZone : public IfcSystem { /// /// (All Types): May contain IfcActionRequest sub-items. A request may be nested into follow-up requests, in order of issue. /// -/// Figure 155 — Action request composition +/// Figure 155 — Action request composition /// /// Assignment Use Definition /// As shown in Figure 156, an IfcActionRequest may be assigned to the following entities using relationships as indicated: @@ -35166,7 +35271,7 @@ class IfcZone : public IfcSystem { /// The IfcActionRequest may have assignments of its own using the IfcRelAssignsToControl relationship where RelatingControl refers to the IfcActionRequest and RelatedObjects contains one or more objects of the following types: /// IfcActor: Person or organization(s) fulfilling the request such as a facilities manager or contractor. /// -/// Figure 156 — Action request assignment +/// Figure 156 — Action request assignment /// /// Approval Use Definition /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcActionRequest. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. @@ -35492,11 +35597,11 @@ class IfcAudioVisualApplianceType : public IfcFlowTerminalType { /// /// Figure 277 (from ISO 10303-42) illustrates a B-spline curve. /// -/// Figure 277 — B-spline curve +/// Figure 277 — B-spline curve /// -/// NOTE Corresponding ISO 10303 entity: b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// -/// HISTORY New entity in Release IFC2x2. +/// HISTORY  New entity in Release IFC2x2. class IfcBSplineCurve : public IfcBoundedCurve { public: /// The algebraic degree of the basis functions. @@ -35524,7 +35629,7 @@ class IfcBSplineCurve : public IfcBoundedCurve { /// /// Let L denote the number of distinct values amongst the /// d+k+2 knots in the knot list; L will be -/// referred to as the ‘upper index on knots’. Let +/// referred to as the ‘upper index on knots’. Let /// mj denote the multiplicity (i.e., number of /// repetitions) of the jth distinct knot. Then: /// @@ -35968,7 +36073,7 @@ class IfcBoundaryCurve : public IfcCompositeCurveOnSurface { /// IfcShapeRepresentation that includes a single item, an /// IfcBoundingBox. /// -/// Figure 22 — Building element box representation +/// Figure 22 — Building element box representation /// /// Axis Representation /// Some IfcBuildingElement may be represented by an axis @@ -36026,7 +36131,7 @@ class IfcBoundaryCurve : public IfcCompositeCurveOnSurface { /// IfcShellBasedSurfaceModel, or /// IfcFaceBasedSurfaceModel. /// -/// Figure 23 — Building element surface model representation +/// Figure 23 — Building element surface model representation /// /// Brep Representation Type /// Any IfcBuildingElement (so far no further constraints @@ -36046,7 +36151,7 @@ class IfcBoundaryCurve : public IfcCompositeCurveOnSurface { /// complex shape. /// As shown in Figure 24, the Brep representation is given by an IfcShapeRepresentation, which includes one or more items, all of type IfcFacetedBrep. /// -/// Figure 24 — Building element body boundary representation +/// Figure 24 — Building element body boundary representation /// /// AdvancedBrep Representation Type /// An IfcBuildingElement (so far no further constraints @@ -36157,9 +36262,9 @@ class IfcBuildingElementPartType : public IfcElementComponentType { /// applications can not provide additional semantic /// classification. /// -/// HISTORY New entity +/// HISTORY  New entity /// in IFC Release 2x. -/// IFC2x4 CHANGE The attribute +/// IFC2x4 CHANGE  The attribute /// CompositionType has been replaced by PredefinedType, /// being a superset of the enumerators. /// Type Use Definition @@ -36193,7 +36298,7 @@ class IfcBuildingElementPartType : public IfcElementComponentType { /// PredefinedType = ProvisionForVoid. /// Material information can also be given at the /// IfcBuildingElementProxyType, defining the common attribute -/// data for all occurrences of the same type.It is then +/// data for all occurrences of the same type. It is then /// accessible by the inverse IsTypedBy relationship pointing to /// IfcBuildingElementProxyType.HasAssociations and via /// IfcRelAssociatesMaterial.RelatingMaterial to @@ -36216,7 +36321,7 @@ class IfcBuildingElementPartType : public IfcElementComponentType { /// /// Property sets can also be given at the /// IfcBuildingElementProxyType, defining the common property -/// data for all occurrences of the same type.It is then +/// data for all occurrences of the same type. It is then /// accessible by the inverse IsTypedBy relationship pointing to /// IfcBuildingElementProxyType.HasPropertySets. If both are /// given, then the properties directly assigned to @@ -36228,13 +36333,13 @@ class IfcBuildingElementPartType : public IfcElementComponentType { /// containment relationships. The first (and in most implementation /// scenarios mandatory) relationship is the hierachical spatial /// containment, the second (optional) relationship is the aggregation -/// within anelement assembly. +/// within an element assembly. /// /// The IfcBuildingElementProxy is places within the project /// spatial hierarchy using the objectified relationship /// IfcRelContainedInSpatialStructure, refering to it by its /// inverse attribute SELF\IfcElement.ContainedInStructure. -/// Subtypes ofIfcSpatialStructureElement are valid +/// Subtypes of IfcSpatialStructureElement are valid /// spatial containers, with IfcBuildingStorey being the default /// container. /// The IfcBuildingElementProxy may be aggregated into an @@ -36244,7 +36349,7 @@ class IfcBuildingElementPartType : public IfcElementComponentType { /// IfcElement can be an element assembly, with /// IfcElementAssembly as a special focus subtype. In this case /// it should not be additionally contained in the project spatial -/// hierarchy, i.e.SELF\IfcElement.ContainedInStructure +/// hierarchy, i.e. SELF\IfcElement.ContainedInStructure /// should be NIL. /// /// Geometry Use Definition @@ -36750,23 +36855,23 @@ class IfcChimney : public IfcBuildingElement { /// /// and the circle is parameterized as /// -/// The parameterization range is 0 -/// u 2p (or 0 -/// u +/// The parameterization range is 0 £ +/// u £2p (or 0 +/// £u £ /// 360 degree). In the placement coordinate system defined above, the circle is /// the equation C = 0, where /// /// The positive sense of the circle at any point is in the tangent direction, T, to the curve at the point, where /// -/// NOTE A circular arc is defined by using the trimmed curve (IfcTrimmedCurve) entity in conjunction with the circle (IfcCircle) entity as the BasisCurve. +/// NOTE  A circular arc is defined by using the trimmed curve (IfcTrimmedCurve) entity in conjunction with the circle (IfcCircle) entity as the BasisCurve. /// -/// NOTE Corresponding ISO 10303 entity: circle, please refer to ISO/IS 10303-42:1994, p. 38 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: circle, please refer to ISO/IS 10303-42:1994, p. 38 for the final definition of the formal standard. /// -/// HISTORY New class in IFC Release 1.0 +/// HISTORY  New class in IFC Release 1.0 /// /// Figure 278 illustrates the definition of the IfcCircle within the (in this case three-dimensional) position coordinate system. /// -/// Figure 278 — Circle geometry +/// Figure 278 — Circle geometry class IfcCircle : public IfcConic { public: /// The radius of the circle, which shall be greater than zero. @@ -37026,11 +37131,11 @@ class IfcCoilType : public IfcEnergyConversionDeviceType { /// Figure 81 illustrates a 'SweptSolid' geometric representation. There are no restrictions or conventions on /// how to use the local placement (black), solid of extrusion placement (red) and profile placement (green). /// -/// Figure 81 — Column swept solid +/// Figure 81 — Column swept solid /// /// Figure 82 illustrates use of a special profile type (here IfcIShapeProfileDef) for the definition of the IfcExtrudedAreaSolid. /// -/// Figure 82 — Column extrusion of I-Shape +/// Figure 82 — Column extrusion of I-Shape /// /// Clipping Representation Type /// The following attribute values for the @@ -37056,7 +37161,7 @@ class IfcCoilType : public IfcEnergyConversionDeviceType { /// Figure 83 illustrates a 'Clipping' geometric representation with use of IfcBooleanClippingResult between /// an IfcExtrudedAreaSolid and an IfcHalfSpaceSolid to create a clipped body. /// -/// Figure 83 — Column clipping +/// Figure 83 — Column clipping /// /// AdvancedSweptSolid Representation Type /// The following attribute values for the @@ -37164,7 +37269,7 @@ class IfcColumn : public IfcBuildingElement { /// /// Figure 84 illustrates assignment of IfcMaterialProfileSetUsage and IfcMaterialProfileSet to the IfcColumnStandardCase as the column occurrence and to the IfcColumnType. The same IfcMaterialProfileSet shall be shared by many occurrences of IfcMaterialProfileSetUsage. This relationship shall be consistent to the relationship between the IfcColumnType and the IfcColumnStandardCase. /// -/// Figure 84 — Column profile usage +/// Figure 84 — Column profile usage /// /// Figure 85 illustrates cardinal point alignment. /// NOTE It has to be guaranteed that the use of IfcCardinalPointEnum is consistent to the placement of the @@ -37172,11 +37277,11 @@ class IfcColumn : public IfcBuildingElement { /// NOTE The cardinal points 7 (top left), and 6 (mid-depth right) are assigned according to the /// definition at IfcCardinalPointReference /// -/// Figure 85 — Column cardinal points +/// Figure 85 — Column cardinal points /// /// Figure 86 illustrates assignment of a composite profile by using IfcCompositeProfile for geometric representation and several IfcMaterialProfile's within the IfcMaterialProfileSet. The number of IfcMaterialProfile's within the IfcMaterialProfileSet is restricted to maximal 2 and requires the use of IfcExtrudedAreaSolidTapered, or IfcRevolvedAreaSolidTapered for the correct 'Body' shape representation. /// -/// Figure 86 — Column composite profiles +/// Figure 86 — Column composite profiles /// /// Material Use Definition /// The material of the IfcColumnStandardCase is defined by @@ -37252,11 +37357,11 @@ class IfcColumn : public IfcBuildingElement { /// represent the system length of a column that may extent the body /// length of the column. /// -/// Figure 87 — Column axis representation +/// Figure 87 — Column axis representation /// /// As shown in Figure 88, the axis representation shall be used to represent the cardinal point as the offset between the 'Axis' and the extrusion path of the column. The extrusion path is provided as IfcExtrudedAreaSolid.ExtrudedDirection and should be parallel to the 'Axis'. It has to be guaranteed that the value provided by IfcMaterialProfileSetUsage.CardinalPoint is consistent to the IfcExtrudedAreaSolid.Position. /// -/// Figure 88 — Column axis cardinal point +/// Figure 88 — Column axis cardinal point /// /// Body Representation /// The body representation of IfcColumnStandardCase can be @@ -37286,7 +37391,7 @@ class IfcColumn : public IfcBuildingElement { /// [0.,0.,1.]. /// Orientation: The y-axis of the profile, as determined /// by IfcSweptAreaSolid.Position.P[2] shall point to the -/// Y-Axis. It indicates the "role" of the column, a role=0 +/// Y-Axis. It indicates the "role" of the column, a role=0° /// means y-axis of profile = Y-axis of reference coordinate /// system. /// @@ -37300,7 +37405,7 @@ class IfcColumn : public IfcBuildingElement { /// /// IfcCircleProfileDef.Radius interpreted as column radius. /// -/// Figure 89 — Column body extrusion +/// Figure 89 — Column body extrusion /// /// Clipping Representation Type /// The following attribute values for the @@ -37330,7 +37435,7 @@ class IfcColumn : public IfcBuildingElement { /// Figure 90 illustrates a 'Clipping' geometric representation with use of IfcBooleanClippingResult between /// an IfcExtrudedAreaSolid and an IfcHalfSpaceSolid to create a clipped body, with cardinal point applied as 2 (bottom centre). /// -/// Figure 90 — Column body clipping +/// Figure 90 — Column body clipping /// /// AdvancedSweptSolid Representation Type /// The 'AdvancedSweptSolid' representation type is a valid body @@ -37505,7 +37610,7 @@ class IfcCondenserType : public IfcEnergyConversionDeviceType { /// Assignment use definition /// In addition to assignments specified at the base class IfcConstructionResource, a construction equipment resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 183. Such relationship indicates the equipment used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned equipment may have their own task and resource assignments for assembling such equipment. /// -/// Figure 183 — Construction equipment resource assignment +/// Figure 183 — Construction equipment resource assignment class IfcConstructionEquipmentResource : public IfcConstructionResource { public: /// Whether the optional attribute PredefinedType is defined for this IfcConstructionEquipmentResource @@ -37545,7 +37650,7 @@ class IfcConstructionEquipmentResource : public IfcConstructionResource { /// Assignment use definition /// In addition to assignments specified at the base class IfcConstructionResource, a construction material resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 184. Such relationship indicates the physical material used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. The IfcGeographicElement object is used to represent the physical material occurrence, which may optionally have placement and representation indicating intended storage on the construction site. There may be multiple chains of production such that the assigned product material(s) may have their own task and resource assignments for transporting or extracting such material. /// -/// Figure 184 — Construction material resource assignment +/// Figure 184 — Construction material resource assignment class IfcConstructionMaterialResource : public IfcConstructionResource { public: /// Whether the optional attribute PredefinedType is defined for this IfcConstructionMaterialResource @@ -37574,7 +37679,7 @@ class IfcConstructionMaterialResource : public IfcConstructionResource { /// Assignment use definition /// In addition to assignments specified at the base class IfcConstructionResource, a construction product resource may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResource and RelatedObjects contains one or more IfcProduct subtypes as shown in Figure 185. Such relationship indicates the products used as input for the resource. Such products are not contained within a building structure but are referenced within a construction spatial zone, specifically IfcSpatialZone with PredefinedType=CONSTRUCTION, which is aggregated within the IfcProject. There may be multiple chains of production such that the assigned products may have their own task and resource assignments. /// -/// Figure 185 — Construction product resource assignment +/// Figure 185 — Construction product resource assignment class IfcConstructionProductResource : public IfcConstructionResource { public: /// Whether the optional attribute PredefinedType is defined for this IfcConstructionProductResource @@ -37760,7 +37865,7 @@ class IfcCoolingTowerType : public IfcEnergyConversionDeviceType { /// /// Figure 91 illustrates assignment of IfcMaterialLayerSetUsage and IfcMaterialLayerSet to the covering type and the covering occurrence. /// -/// Figure 91 — Covering material usage +/// Figure 91 — Covering material usage /// /// If an IfcCoveringType is assigned to the /// IfcCovering, the attribute PredefinedType shall not @@ -37862,14 +37967,14 @@ class IfcCoolingTowerType : public IfcEnergyConversionDeviceType { /// /// The implicit planar surface of the IfcPolyLoop shall be identical with the planar surface defined by the IfcRelSpaceBoundary. /// -/// Figure 92 — Covering surface planar +/// Figure 92 — Covering surface planar /// /// Figure 93 illustrates a cylindrical surface representation where the area of the IfcCovering is given by an IfcSurfaceOfLinearExtrusion for cylindrical base surfaces (here given by the IfcRelSpaceBoundary - such as caused by a round wall). /// /// The geometry representation of the IfcCovering is given by the IfcTrimmedCurved (the Curve parameter of the /// IfcArbitraryOpenProfileDef - in cases of faceted representation also an IfcPolyline). It is extruded within the plane of the base surface using the Depth parameter of the IfcSurfaceOfLinearExtrusion. /// -/// Figure 93 — Covering surface cylindrical +/// Figure 93 — Covering surface cylindrical /// /// SweptSolid Representation /// The 'SweptSolid' geometric representation of @@ -37889,14 +37994,14 @@ class IfcCoolingTowerType : public IfcEnergyConversionDeviceType { /// /// The extruded area (IfcArbitraryClosedProfileDef) shall be coplanar to the surface defined by the IfcRelSpaceBoundary. /// -/// Figure 94 — Covering body planar +/// Figure 94 — Covering body planar /// /// Figure 95 illustrates a body representation where the volume of the IfcCovering is given by an IfcExtrudedAreaSolid for cylindrical base surfaces (here given by the IfcRelSpaceBoundary - such as caused by a round wall). /// /// The geometry representation of the IfcCovering is given by the IfcCompositeCurve (the OuterCurve parameter of the /// IfcArbitraryClosedProfileDef - in cases of faceted representation also a closed IfcPolyline). It is extruded along the plane of the base surface using the Depth parameter of the IfcSurfaceOfLinearExtrusion. /// -/// Figure 95 — Covering body circular +/// Figure 95 — Covering body circular class IfcCovering : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcCovering @@ -38919,7 +39024,7 @@ class IfcDistributionFlowElement : public IfcDistributionElement { /// /// Figure 149 illustrates distribution port connectivity. /// -/// Figure 149 — Distribution port connectivity +/// Figure 149 — Distribution port connectivity /// /// Assignment Use Definition /// The IfcDistributionPort may be assigned to the following entities using relationships as indicated: @@ -38997,7 +39102,7 @@ class IfcDistributionPort : public IfcPort { /// /// Figure 150 illustrates a distribution system for an electrical circuit. /// -/// Figure 150 — Distribution system assignment +/// Figure 150 — Distribution system assignment class IfcDistributionSystem : public IfcSystem { public: /// Whether the optional attribute LongName is defined for this IfcDistributionSystem @@ -39177,7 +39282,7 @@ class IfcDistributionSystem : public IfcSystem { /// it is also contained in the spatial structure by an /// IfcRelContainedInSpatialStructure. /// -/// Figure 96 — Door containment +/// Figure 96 — Door containment /// /// Geometry Use Definitions: /// The geometric representation of IfcDoor is given by the @@ -39373,21 +39478,21 @@ class IfcDistributionSystem : public IfcSystem { /// the 'outside/public/secondary' space is below (bottom in the /// pictures). /// -/// Figure 97 — Door swing +/// Figure 97 — Door swing class IfcDoor : public IfcBuildingElement { public: /// Whether the optional attribute OverallHeight is defined for this IfcDoor bool hasOverallHeight() const; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// - /// NOTE The body of the door might be taller then the door opening (e.g. in cases where the door lining includes a casing). In these cases the OverallHeight shall still be given as the door opening height, and not as the total height of the door lining. + /// NOTE  The body of the door might be taller then the door opening (e.g. in cases where the door lining includes a casing). In these cases the OverallHeight shall still be given as the door opening height, and not as the total height of the door lining. double OverallHeight() const; void setOverallHeight(double v); /// Whether the optional attribute OverallWidth is defined for this IfcDoor bool hasOverallWidth() const; /// Overall measure of the width, it reflects the X Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallWidth should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// - /// NOTE The body of the door might be wider then the door opening (e.g. in cases where the door lining includes a casing). In these cases the OverallWidth shall still be given as the door opening width, and not as the total width of the door lining. + /// NOTE  The body of the door might be wider then the door opening (e.g. in cases where the door lining includes a casing). In these cases the OverallWidth shall still be given as the door opening width, and not as the total width of the door lining. double OverallWidth() const; void setOverallWidth(double v); /// Whether the optional attribute PredefinedType is defined for this IfcDoor @@ -39493,7 +39598,7 @@ class IfcDoor : public IfcBuildingElement { /// The door profile is represented by a three-dimensional closed /// curve within a particular shape representation. The profile is used /// to apply the parameter of the parametric door -/// representation.The following attribute values for the +/// representation. The following attribute values for the /// IfcShapeRepresentation holding this geometric representation /// shall be used: /// @@ -39520,7 +39625,7 @@ class IfcDoor : public IfcBuildingElement { /// IfcDoorLiningProperties.ThresholdDepth starting at distance defined by LiningOffset going into the positive y direction. /// IfcDoorLiningProperties.TransomOffset starting at the bottom edge of the rectangle (along local x axis) into the inner side of the rectangle, distance provided as percentage of overall height. Distance to the centre line of the transom. /// -/// Figure 98 — Door profile +/// Figure 98 — Door profile class IfcDoorStandardCase : public IfcDoor { public: virtual const IfcParse::entity& declaration() const; @@ -39900,7 +40005,7 @@ class IfcEnergyConversionDevice : public IfcDistributionFlowElement { }; /// An engine is a device that converts fuel into mechanical energy through combustion. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcEngine defines the occurrence of any engine; common information about engine types is handled by IfcEngineType. @@ -39953,7 +40058,7 @@ class IfcEngine : public IfcEnergyConversionDevice { }; /// An evaporative cooler is a device that cools air by saturating it with water vapor. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcEvaporativeCooler defines the occurrence of any evaporative cooler; common information about evaporative cooler types is handled by IfcEvaporativeCoolerType. @@ -40009,7 +40114,7 @@ class IfcEvaporativeCooler : public IfcEnergyConversionDevice { }; /// An evaporator is a device in which a liquid refrigerent is vaporized and absorbs heat from the surrounding fluid. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcEvaporator defines the occurrence of any evaporator; common information about evaporator types is handled by IfcEvaporatorType. @@ -40070,7 +40175,7 @@ class IfcEvaporativeCooler : public IfcEnergyConversionDevice { /// RefrigerantOut (REFRIGERATION, SOURCE): Vapor refrigerant leaving the evaporator. /// /// Figure 223 illustrates evaporator port use. -/// Figure 223 — Evaporator port use +/// Figure 223 — Evaporator port use class IfcEvaporator : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcEvaporator @@ -40308,7 +40413,7 @@ class IfcFlowInstrumentType : public IfcDistributionControlElementType { }; /// A flow meter is a device that is used to measure the flow rate in a system. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcFlowMeter defines the occurrence of any flow meter; common information about flow meter types is handled by IfcFlowMeterType. @@ -40385,7 +40490,7 @@ class IfcFlowInstrumentType : public IfcDistributionControlElementType { /// Outlet (DOMESTICCOLDWATER, SOURCE): Measured use. /// /// Figure 226 illustrates flow meter port use. -/// Figure 226 — Flow meter port use +/// Figure 226 — Flow meter port use class IfcFlowMeter : public IfcFlowController { public: /// Whether the optional attribute PredefinedType is defined for this IfcFlowMeter @@ -40520,7 +40625,7 @@ class IfcFooting : public IfcBuildingElement { bool hasPredefinedType() const; /// The generic type of the footing. /// - /// IFC 2x4 change: Attribute made optional. Type information can be provided by IfcRelDefinesByType and IfcFootingType. + /// IFC 2x4 change:  Attribute made optional. Type information can be provided by IfcRelDefinesByType and IfcFootingType. IfcFootingTypeEnum::IfcFootingTypeEnum PredefinedType() const; void setPredefinedType(IfcFootingTypeEnum::IfcFootingTypeEnum v); virtual const IfcParse::entity& declaration() const; @@ -40532,7 +40637,7 @@ class IfcFooting : public IfcBuildingElement { /// A heat exchanger is a device used to provide heat transfer between non-mixing media such as plate and shell and tube heat exchangers. /// IfcHeatExchanger is commonly used on water-side distribution systems to recover energy from a liquid to another liquid (typically water-based), whereas IfcAirToAirHeatRecovery is commonly used on air-side distribution systems to recover energy from a gas to a gas (usually air). /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcHeatExchanger defines the occurrence of any heat exchanger; common information about heat exchanger types is handled by IfcHeatExchangerType. @@ -40593,7 +40698,7 @@ class IfcHeatExchanger : public IfcEnergyConversionDevice { }; /// A humidifier is a device that adds moisture into the air. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcHumidifier defines the occurrence of any humidifier; common information about humidifier types is handled by IfcHumidifierType. @@ -40648,7 +40753,7 @@ class IfcHumidifier : public IfcEnergyConversionDevice { }; /// An interceptor is a device designed and installed in order to separate and retain deleterious, hazardous or undesirable matter while permitting normal sewage or liquids to discharge into a collection system by gravity. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcInterceptor defines the occurrence of any interceptor; common information about interceptor types is handled by IfcInterceptorType. @@ -40718,7 +40823,7 @@ class IfcInterceptor : public IfcFlowTreatmentDevice { /// A junction box is an enclosure within which cables are connected. /// Cables may be members of an electrical circuit (for electrical power systems) or be information carriers (in a telecommunications system). A junction box is typically intended to conceal a cable junction from sight, eliminate tampering or provide a safe place for electrical connection. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcJunctionBox defines the occurrence of any junction box; common information about junction box types is handled by IfcJunctionBoxType. @@ -40726,7 +40831,7 @@ class IfcInterceptor : public IfcFlowTreatmentDevice { /// The IfcJunctionBoxType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. /// If the IfcJunctionBoxType has ports or aggregated elements, such objects are reflected at the IfcJunctionBox occurrence using the IfcRelDefinesByObject relationship. /// Figure 200 illustrates junction box type use. -/// Figure 200 — Junction box type use +/// Figure 200 — Junction box type use /// /// Property Use Definition /// The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. @@ -40780,7 +40885,7 @@ class IfcInterceptor : public IfcFlowTreatmentDevice { /// Gang#4 (ELECTRICAL, SOURCE): A slot to house a switch or outlet, ordered from left-to-right. /// /// Figure 201 illustrates junction box port use. -/// Figure 201 — Junction box port use +/// Figure 201 — Junction box port use class IfcJunctionBox : public IfcFlowFitting { public: /// Whether the optional attribute PredefinedType is defined for this IfcJunctionBox @@ -40795,7 +40900,7 @@ class IfcJunctionBox : public IfcFlowFitting { }; /// A lamp is an artificial light source such as a light bulb or tube. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcLamp defines the occurrence of any lamp; common information about lamp types is handled by IfcLampType. @@ -40803,7 +40908,7 @@ class IfcJunctionBox : public IfcFlowFitting { /// The IfcLampType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. /// If the IfcLampType has ports or aggregated elements, such objects are reflected at the IfcLamp occurrence using the IfcRelDefinesByObject relationship. /// Figure 202 illustrates lamp type use. -/// Figure 202 — Lamp type use +/// Figure 202 — Lamp type use /// /// Property Use Definition /// The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. @@ -40839,7 +40944,7 @@ class IfcJunctionBox : public IfcFlowFitting { /// Socket (LIGHTING, SINK): The socket providing electricity. /// /// Figure 203 illustrates lamp port use. -/// Figure 203 — Lamp port use +/// Figure 203 — Lamp port use class IfcLamp : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcLamp @@ -40854,7 +40959,7 @@ class IfcLamp : public IfcFlowTerminal { }; /// A light fixture is a container that is designed for the purpose of housing one or more lamps and optionally devices that control, restrict or vary their emission. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcLightFixture defines the occurrence of any light fixture; common information about light fixture types is handled by IfcLightFixtureType. @@ -40862,7 +40967,7 @@ class IfcLamp : public IfcFlowTerminal { /// The IfcLightFixtureType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. /// If the IfcLightFixtureType has ports or aggregated elements, such objects are reflected at the IfcLightFixture occurrence using the IfcRelDefinesByObject relationship. /// Figure 204 illustrates light fixture type use. -/// Figure 204 — Light fixture type use +/// Figure 204 — Light fixture type use /// /// Property Use Definition /// The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. @@ -40917,7 +41022,7 @@ class IfcLamp : public IfcFlowTerminal { /// Socket#8 (LIGHTING, SOURCE): A lamp socket within the light fixture. /// /// Figure 205 illustrates light fixture port use. -/// Figure 205 — Light fixture port use +/// Figure 205 — Light fixture port use class IfcLightFixture : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcLightFixture @@ -40933,7 +41038,7 @@ class IfcLightFixture : public IfcFlowTerminal { /// A medical device is attached to a medical piping system and operates upon medical gases to perform a specific function. Medical gases include medical air, medical vacuum, oxygen, carbon dioxide, nitrogen, and nitrous oxide. /// Outlets for medical gasses should use IfcValve with PredefinedType equal to GASTAP, containing an IfcDistributionPort with FlowDirection=SINK and PredefinedType equal to COMPRESSEDAIR, VACUUM, or CHEMICAL, and having property sets on the port further indicating the gas type and pressure. Tanks for medical gasses should use IfcTank with PredefinedType equal to PRESSUREVESSEL, containing an IfcDistributionPort with FlowDirection=SOURCE and PredefinedType=CHEMICAL, and having property sets on the port further indicating the gas type and pressure range. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcMedicalDevice defines the occurrence of any medical device; common information about medical device types is handled by IfcMedicalDeviceType. @@ -41171,7 +41276,7 @@ class IfcMedicalDevice : public IfcFlowTerminal { /// Figure 99 illustrates a 'SweptSolid' geometric representation. There are no restrictions or conventions on /// how to use the local placement (black), solid of extrusion placement (red) and profile placement (green). /// -/// Figure 99 — Member swept solid +/// Figure 99 — Member swept solid /// /// Clipping Representation Type /// The following attribute values for the @@ -41196,7 +41301,7 @@ class IfcMedicalDevice : public IfcFlowTerminal { /// /// Figure 100 illustrates a 'Clipping' geometric representation with use of IfcBooleanClippingResult between an IfcExtrudedAreaSolid and an IfcHalfSpaceSolid to create a clipped body. /// -/// Figure 100 — Member clipping +/// Figure 100 — Member clipping /// /// AdvancedSweptSolid Representation Type /// The following attribute values for the @@ -41304,12 +41409,12 @@ class IfcMember : public IfcBuildingElement { /// /// Figure 101 illustrates assignment of IfcMaterialProfileSetUsage and IfcMaterialProfileSet to the IfcMemberStandardCase as the member occurrence and to the IfcMemberType. The same IfcMaterialProfileSet shall be shared by many occurrences of IfcMaterialProfileSetUsage. This relationship shall be consistent to the relationship between the IfcMemberType and the IfcMemberStandardCase. /// -/// Figure 101 — Member profile usage +/// Figure 101 — Member profile usage /// /// Figure 102 illustrates assignment of a composite profile by using IfcCompositeProfile for geometric representation and several IfcMaterialProfile's within the IfcMaterialProfileSet. The number of IfcMaterialProfile's within the IfcMaterialProfileSet is restricted to maximal 2 and /// requires the use of IfcExtrudedAreaSolidTapered, or IfcRevolvedAreaSolidTapered for the correct 'Body' shape representation. /// -/// Figure 102 — Member composite profiles +/// Figure 102 — Member composite profiles /// /// Material Use Definition /// The material of the IfcMemberStandardCase is defined by @@ -41379,11 +41484,11 @@ class IfcMember : public IfcBuildingElement { /// /// As shown in Figure 103, the axis representation can be used to represent the system length of a member that may extent the body length of the member. /// -/// Figure 103 — Member axis representation +/// Figure 103 — Member axis representation /// /// As shown in Figure 104, the axis representation shall be used to represent the cardinal point as the offset between the 'Axis' and the extrusion path of the member. The extrusion path is provided as IfcExtrudedAreaSolid.ExtrudedDirection and should be parallel to the 'Axis'. It has to be guaranteed that the value provided by IfcMaterialProfileSetUsage.CardinalPoint is consistent to the IfcExtrudedAreaSolid.Position. /// -/// Figure 104 — Member axis cardinal point +/// Figure 104 — Member axis cardinal point /// /// Body Representation /// The body representation of IfcMemberStandardCase can be @@ -41414,7 +41519,7 @@ class IfcMember : public IfcBuildingElement { /// direction. /// Orientation: The y-axis of the profile, as determined /// by IfcSweptAreaSolid.Position.P[2] shall point to the -/// Z-Axis. It indicates the "role" of the column, a role=0 +/// Z-Axis. It indicates the "role" of the column, a role=0° /// means y-axis of profile = Z-axis of reference coordinate system. /// In the exception of a vertical member, the y-axis shall point to /// the Y-axis. @@ -41429,7 +41534,7 @@ class IfcMember : public IfcBuildingElement { /// /// IfcCircleProfileDef.Radius interpreted as beam radius. /// -/// Figure 105 — Member body extrusion +/// Figure 105 — Member body extrusion /// /// Clipping Representation Type /// The advanced geometric representation of @@ -41459,7 +41564,7 @@ class IfcMember : public IfcBuildingElement { /// Figure 106 illustrates an advanced geometric representation with use of IfcBooleanClippingResult between /// an IfcExtrudedAreaSolid and an IfcHalfSpaceSolid to create a clipped body, with cardinal point applied as 4 (mid-depth left). /// -/// Figure 06 — Member body clipping +/// Figure 06 — Member body clipping /// /// AdvancedSweptSolid Representation Type /// The 'AdvancedSweptSolid' representation type is a valid body @@ -41501,7 +41606,7 @@ class IfcMemberStandardCase : public IfcMember { }; /// A motor connection provides the means for connecting a motor as the driving device to the driven device. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcMotorConnection defines the occurrence of any motor connection; common information about motor connection types is handled by IfcMotorConnectionType. @@ -41568,7 +41673,7 @@ class IfcOuterBoundaryCurve : public IfcBoundaryCurve { /// An outlet is a device installed at a point to receive one or more inserted plugs for electrical power or communications. /// Power outlets are commonly connected within a junction box; data outlets may be directly connected to a wall. For power outlets sharing the same circuit within a junction box, the ports should indicate the logical wiring relationship to the enclosing junction box, even though they may be physically connected to a cable going to another outlet, switch, or fixture. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcOutlet defines the occurrence of any outlet; common information about outlet types is handled by IfcOutletType. @@ -41576,7 +41681,7 @@ class IfcOuterBoundaryCurve : public IfcBoundaryCurve { /// The IfcOutletType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. /// If the IfcOutletType has ports or aggregated elements, such objects are reflected at the IfcOutlet occurrence using the IfcRelDefinesByObject relationship. /// Figure 206 illustrates outlet type use. -/// Figure 206 — Outlet type use +/// Figure 206 — Outlet type use /// /// Property Use Definition /// The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. @@ -41630,7 +41735,7 @@ class IfcOuterBoundaryCurve : public IfcBoundaryCurve { /// Jack#2 (DATA, SOURCE): Jacks in order of layout, going to the right and then down, which may accept a cable. /// /// Figure 207 illustrates outlet port use. -/// Figure 207 — Outlet port use +/// Figure 207 — Outlet port use class IfcOutlet : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcOutlet @@ -41667,14 +41772,14 @@ class IfcPile : public IfcBuildingElement { bool hasPredefinedType() const; /// The predefined generic type of the pile according to function. /// - /// IFC 2x4 change: Attribute made optional. Type information can be provided by IfcRelDefinesByType and IfcPileType. + /// IFC 2x4 change:  Attribute made optional. Type information can be provided by IfcRelDefinesByType and IfcPileType. IfcPileTypeEnum::IfcPileTypeEnum PredefinedType() const; void setPredefinedType(IfcPileTypeEnum::IfcPileTypeEnum v); /// Whether the optional attribute ConstructionType is defined for this IfcPile bool hasConstructionType() const; /// General designator for how the pile is constructed. /// - /// IFC 2x4 change: Material profile association capability by means of IfcRelAssociatesMaterial has been added. The attribute ConstructionType should not be used whenever its information can be provided by a material profile set, either associated with the IfcPile object or, if present, with a corresponding instance of IfcPileType. + /// IFC 2x4 change:  Material profile association capability by means of IfcRelAssociatesMaterial has been added. The attribute ConstructionType should not be used whenever its information can be provided by a material profile set, either associated with the IfcPile object or, if present, with a corresponding instance of IfcPileType. IfcPileConstructionEnum::IfcPileConstructionEnum ConstructionType() const; void setConstructionType(IfcPileConstructionEnum::IfcPileConstructionEnum v); virtual const IfcParse::entity& declaration() const; @@ -41685,7 +41790,7 @@ class IfcPile : public IfcBuildingElement { }; /// A pipe fitting is a junction or transition in a piping flow distribution system or used to connect pipe segments, resulting changes in flow characteristics to the fluid such as direction or flow rate. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcPipeFitting defines the occurrence of any pipe fitting; common information about pipe fitting types is handled by IfcPipeFittingType. @@ -41767,7 +41872,7 @@ class IfcPile : public IfcBuildingElement { /// Outlet (NOTDEFINED, SOURCE): The flow outlet. /// /// Figure 227 illustrates pipe fitting port use. -/// Figure 227 — Pipe fitting port use +/// Figure 227 — Pipe fitting port use class IfcPipeFitting : public IfcFlowFitting { public: /// Whether the optional attribute PredefinedType is defined for this IfcPipeFitting @@ -41782,7 +41887,7 @@ class IfcPipeFitting : public IfcFlowFitting { }; /// A pipe segment is used to typically join two sections of a piping network. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcPipeSegment defines the occurrence of any pipe segment; common information about pipe segment types is handled by IfcPipeSegmentType. @@ -41839,7 +41944,7 @@ class IfcPipeFitting : public IfcFlowFitting { /// Outlet (NOTDEFINED, SOURCE): The flow outlet. /// /// Figure 228 illustrates pipe segment port use. -/// Figure 228 — Pipe segment port use +/// Figure 228 — Pipe segment port use class IfcPipeSegment : public IfcFlowSegment { public: /// Whether the optional attribute PredefinedType is defined for this IfcPipeSegment @@ -42122,7 +42227,7 @@ class IfcPlate : public IfcBuildingElement { /// The IfcPlateStandardCase defines the occuurence of any /// plate, common information about plate types (or styles) is handled /// by IfcPlateType. The IfcPlateType (if present) may -/// establish the commontype name, usage (or predefined) type, +/// establish the common type name, usage (or predefined) type, /// common set of properties, common material layer set, and common /// shape representations (using IfcRepresentationMap). The /// IfcPlateType is attached using the @@ -42131,13 +42236,13 @@ class IfcPlate : public IfcBuildingElement { /// The IfcPlateStandardCase defines in addition that the /// IfcPlateType should have a unique /// IfcMaterialLayerSet, that is referenced by -/// theIfcMaterialLayerSetUsage assigned to all +/// the IfcMaterialLayerSetUsage assigned to all /// occurrences of this plate type. /// /// Figure 107 illustrates assignment of IfcMaterialLayerSetUsage and IfcMaterialLayerSet to the IfcPlateStandardCase as the plate occurrence and to the IfcPlateType. The same IfcMaterialLayerSet shall be shared by many occurrences of IfcMaterialLayerSetUsage. This relationship shall be consistent to the relationship between the IfcPlateType and the IfcPlateStandardCase. /// -/// -/// Figure 107 — Plate type definition +///   +/// Figure 107 — Plate type definition /// /// Material Use Definition /// The material of the IfcPlateStandardCase is defined by @@ -42147,10 +42252,10 @@ class IfcPlate : public IfcBuildingElement { /// Multi-layer plates can be represented by refering to several /// IfcMaterialLayer's within the IfcMaterialLayerSet /// that is referenced from the -/// IfcMaterialLayerSetUsage. +/// IfcMaterialLayerSetUsage.  /// Material information can also be given at the /// IfcPlateType, defining the common attribute data for all -/// occurrences of the same type.It is then accessible by the +/// occurrences of the same type. It is then accessible by the /// inverse IsDefinedBy relationship pointing to /// IfcPlateType.HasAssociations and via /// IfcRelAssociatesMaterial.RelatingMaterial. See Type Use @@ -42165,7 +42270,7 @@ class IfcPlate : public IfcBuildingElement { /// The Thickness of each IfcMaterialLayer shall be the parallel distance (measured perpendicular to the base plane). The TotalThickness of the IfcMaterialLayerSet is the sum of all layer thicknesses and in case of a perpendicular extrusion identical with IfcExtrudedAreaSolid.Depth /// The IfcMaterialLayerSetUsage.LayerSetDirection i always AXIS3. /// -/// Figure 108 — Plate material layers +/// Figure 108 — Plate material layers /// /// Property Set Use Definition: /// The property sets relating to the IfcPlateStandardCase @@ -42219,7 +42324,7 @@ class IfcPlate : public IfcBuildingElement { /// /// IfcArbitraryClosedProfileDef.OuterCurve: closed bounded curve interpreted as area (or foot print) of the plate. /// -/// Figure 109 — Plate body extrusion +/// Figure 109 — Plate body extrusion /// /// Clipping representation /// The 'Clipping' geometric representation of @@ -42235,11 +42340,11 @@ class IfcPlate : public IfcBuildingElement { /// representation: /// /// Solid: see 'SweptSolid' shape representation, -/// Profile:see 'SweptSolid' shape +/// Profile: see 'SweptSolid' shape /// representation, -/// Extrusion:see 'SweptSolid' shape +/// Extrusion: see 'SweptSolid' shape /// representation, -/// Material:see 'SweptSolid' shape +/// Material: see 'SweptSolid' shape /// representation, /// Boolean result: The IfcBooleanClippingResult /// shall be supported, allowing for Boolean differences between the @@ -42248,7 +42353,7 @@ class IfcPlate : public IfcBuildingElement { /// /// Figure 110 illustrates a 'Clipping' geometric representation with definition of a plate using advanced geometric representation. The profile is extruded non-perpendicular and the plate body is clipped at the eave. /// -/// Figure 110 — Plate body clipping +/// Figure 110 — Plate body clipping class IfcPlateStandardCase : public IfcPlate { public: virtual const IfcParse::entity& declaration() const; @@ -42260,7 +42365,7 @@ class IfcPlateStandardCase : public IfcPlate { /// A protective device breaks an electrical circuit when a stated electric current that passes through it is exceeded. /// A protective device provides protection against electrical current only (not as a general protective device). It may be used to represent the complete set of elements including both the tripping unit and the breaking unit that provide the protection. This may be particularly useful at earlier stages of design where the approach to breaking the electrical supply may be determined but the method of tripping may not. Alternatively, this entity may be used to specifically represent the breaking unit alone (in which case the tripping unit will also be specifically identified). This entity is specific to dedicated protective devices and excludes electrical outlets that may have circuit protection. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcProtectiveDevice defines the occurrence of any protective device; common information about protective device types is handled by IfcProtectiveDeviceType. @@ -42398,7 +42503,7 @@ class IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElement }; /// A pump is a device which imparts mechanical work on fluids or slurries to move them through a channel or pipeline. A typical use of a pump is to circulate chilled water or heating hot water in a building services distribution system. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcPump defines the occurrence of any pump; common information about pump types is handled by IfcPumpType. @@ -42444,7 +42549,7 @@ class IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElement /// Out (NOTDEFINED, SOURCE): Fluid leaving pump. /// /// Figure 229 illustrates pump port use. -/// Figure 229 — Pump port use +/// Figure 229 — Pump port use class IfcPump : public IfcFlowMovingDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcPump @@ -42736,7 +42841,7 @@ class IfcRailing : public IfcBuildingElement { /// /// Figure 111 illustrates IfcRamp defining the local placement for all components. /// -/// Figure 111 — Ramp placement +/// Figure 111 — Ramp placement class IfcRamp : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcRamp @@ -42772,7 +42877,7 @@ class IfcRamp : public IfcBuildingElement { /// IfcRampFlight defines the occurrence of any ramp flight, /// common information about ramp flight types (or styles) is handled /// by IfcRampFlightType. The IfcRampFlightType (if -/// present) may establish the commontype name, usage (or +/// present) may establish the common type name, usage (or /// predefined) type, common material layer set, common set of /// properties and common shape representations (using /// IfcRepresentationMap). The IfcRampFlightType is @@ -42815,13 +42920,13 @@ class IfcRamp : public IfcBuildingElement { /// IfcBuildingElement, may participate in two different /// containment relationships. The first relationship is the /// hierachical spatial containment, the second relationship is the -/// aggregation within anelement assembly. +/// aggregation within an element assembly. /// /// The IfcRampFlight is placed within the project spatial /// hierarchy using the objectified relationship /// IfcRelContainedInSpatialStructure, refering to it by its /// inverse attribute SELF\IfcElement.ContainedInStructure. -/// Subtypes ofIfcSpatialStructureElement are valid +/// Subtypes of IfcSpatialStructureElement are valid /// spatial containers, with IfcBuildingStorey being the default /// container. /// The IfcRampFlight may be aggregated into an element @@ -42831,7 +42936,7 @@ class IfcRamp : public IfcBuildingElement { /// IfcElement can be an element assembly, with IfcRamp /// as a special focus subtype. In this case it should not be /// additionally contained in the project spatial hierarchy, -/// i.e.SELF\IfcElement.ContainedInStructure should be +/// i.e. SELF\IfcElement.ContainedInStructure should be /// NIL. /// /// Geometry Use Definition @@ -42886,7 +42991,7 @@ class IfcRamp : public IfcBuildingElement { /// In case of winding flights the curve shall be a single item of type IfcCompositeCurve. /// In case of a curved flight or a spiral flight the curve shall be a single item of type IfcTrimmedCurve. /// -/// Figure 112 — Ramp flight axis +/// Figure 112 — Ramp flight axis /// /// FootPrint Representation /// The flight foot print, including the flight boundary is represented by a two-dimensional geometric curve set. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used: @@ -42902,7 +43007,7 @@ class IfcRamp : public IfcBuildingElement { /// In case of a spiral flight the curve set shall consists of a single item of type IfcConic or /// IfcPolyline. /// -/// Figure 113 — Ramp flight footprint +/// Figure 113 — Ramp flight footprint /// /// Body Representation /// The body representation of IfcRampFlight can be @@ -42941,7 +43046,7 @@ class IfcRamp : public IfcBuildingElement { /// /// Figure 114 illustrates the body representation. /// -/// Figure 114 — Ramp flight body +/// Figure 114 — Ramp flight body class IfcRampFlight : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcRampFlight @@ -42966,7 +43071,7 @@ class IfcRampFlight : public IfcBuildingElement { /// NOTE: The /// IfcRationalBSplineCurveWithKnots is an entity that had been /// adopted from ISO 10303, Industrial automation systems and -/// integration — Product data representation and exchange, Part +/// integration — Product data representation and exchange, Part /// 42: Integrated generic resource: Geometric and topological /// representation. /// @@ -42991,9 +43096,9 @@ class IfcRampFlight : public IfcBuildingElement { /// d /// degree /// -/// NOTE Corresponding ISO 10303 entity: rational_b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. +/// NOTE  Corresponding ISO 10303 entity: rational_b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard. /// -/// HISTORY New entity in IFC2x4. +/// HISTORY  New entity in IFC2x4. class IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { public: /// The supplied values of the weights. @@ -43194,7 +43299,7 @@ class IfcReinforcingBarType : public IfcReinforcingElementType { /// Figure 118 illustrates roof containment, where only the IfcRoof as the aggregate /// is included in the spatial structure. /// -/// Figure 118 — Roof containment +/// Figure 118 — Roof containment /// /// Geometry Use Definitions: /// The geometric representation of IfcRoof is given by the @@ -43261,7 +43366,7 @@ class IfcReinforcingBarType : public IfcReinforcingElementType { /// /// Figure 119 illustrates roof placement, with an IfcRoof defining the local placement for all aggregated elements. /// -/// Figure 119 — Roof placement +/// Figure 119 — Roof placement class IfcRoof : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcRoof @@ -43279,7 +43384,7 @@ class IfcRoof : public IfcBuildingElement { }; /// A sanitary terminal is a fixed appliance or terminal usually supplied with water and used for drinking, cleaning or foul water disposal or that is an item of equipment directly used with such an appliance or terminal. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcSanitaryTerminal defines the occurrence of any sanitary terminal; common information about sanitary terminal types is handled by IfcSanitaryTerminalType. @@ -43737,7 +43842,7 @@ class IfcShadingDevice : public IfcBuildingElement { /// /// IfcArbitraryClosedProfileDef.OuterCurve: closed bounded curve interpreted as area (or foot print) of the slab. /// -/// Figure 120 — Slab body extrusion +/// Figure 120 — Slab body extrusion /// /// Clipping Representation Type /// The following attribute values for the @@ -43761,7 +43866,7 @@ class IfcShadingDevice : public IfcBuildingElement { /// Figure 121 illustrates a 'Clipping' geometric representation with definition of a roof slab using advanced /// geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave. /// -/// Figure 121 — Slab body clipping +/// Figure 121 — Slab body clipping class IfcSlab : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcSlab @@ -43811,7 +43916,7 @@ class IfcSlab : public IfcBuildingElement { /// /// As shown in Figure 122, openings within the composite slab are directly assigned to IfcSlabElementedCase using IfcRelVoidsElement pointing to IfcOpeningElement and apply to all aggregated parts. If individual parts have cutting and other voiding features, then the decomposed parts have a separate voiding relationship IfcRelVoidsElement pointing to IfcVoidingFeature. /// -/// Figure 122 — Slab elemented voiding +/// Figure 122 — Slab elemented voiding /// /// Decomposition Use Definition: /// The following guidance is provided for the components of the @@ -43896,7 +44001,7 @@ class IfcSlabElementedCase : public IfcSlab { /// The IfcSlabStandardCase defines the occuurence of any /// slab, common information about slab types (or styles) is handled by /// IfcSlabType. The IfcSlabType (if present) may -/// establish the commontype name, usage (or predefined) type, +/// establish the common type name, usage (or predefined) type, /// common set of properties, common material layer set, and common /// shape representations (using IfcRepresentationMap). The /// IfcSlabType is attached using the @@ -43904,12 +44009,12 @@ class IfcSlabElementedCase : public IfcSlab { /// and is accessible by the inverse IsDefinedBy attribute. /// The IfcSlabStandardCase defines in addition that the /// IfcSlabType should have a unique IfcMaterialLayerSet, -/// that is referenced by theIfcMaterialLayerSetUsage +/// that is referenced by the IfcMaterialLayerSetUsage /// assigned to all occurrences of this slab type. /// /// Figure 123 illustrates assignment of IfcMaterialLayerSetUsage and IfcMaterialLayerSet to the IfcSlabStandardCase as the slab occurrence and to the IfcSlabType. The same IfcMaterialLayerSet shall be shared by many occurrences of IfcMaterialLayerSetUsage. This relationship shall be consistent to the relationship between the IfcSlabType and the IfcSlabStandardCase. /// -/// Figure 123 — Slab type definition +/// Figure 123 — Slab type definition /// /// Material Use Definition /// The material of the IfcSlabStandardCase is defined by @@ -43919,10 +44024,10 @@ class IfcSlabElementedCase : public IfcSlab { /// Multi-layer slabs can be represented by refering to several /// IfcMaterialLayer's within the IfcMaterialLayerSet /// that is referenced from the -/// IfcMaterialLayerSetUsage. +/// IfcMaterialLayerSetUsage.  /// Material information can also be given at the /// IfcSlabType, defining the common attribute data for all -/// occurrences of the same type.It is then accessible by the +/// occurrences of the same type. It is then accessible by the /// inverse IsDefinedBy relationship pointing to /// IfcSlabType.HasAssociations and via /// IfcRelAssociatesMaterial.RelatingMaterial. See Type Use @@ -43937,7 +44042,7 @@ class IfcSlabElementedCase : public IfcSlab { /// The Thickness of each IfcMaterialLayer shall be the parallel distance (measured perpendicular to the base plane). The TotalThickness of the IfcMaterialLayerSet is the sum of all layer thicknesses and in case of a perpendicular extrusion identical with IfcExtrudedAreaSolid.Depth /// The IfcMaterialLayerSetUsage.LayerSetDirection is always AXIS3. /// -/// Figure 124 — Slab material layers +/// Figure 124 — Slab material layers /// /// Property Set Use Definition: /// The property sets relating to the IfcSlabStandardCase are @@ -43998,7 +44103,7 @@ class IfcSlabElementedCase : public IfcSlab { /// /// IfcArbitraryClosedProfileDef.OuterCurve: closed bounded curve interpreted as area (or foot print) of the slab. /// -/// Figure 125 — Slab body extrusion +/// Figure 125 — Slab body extrusion /// /// Clipping representation /// The 'Clipping' geometric representation of @@ -44014,11 +44119,11 @@ class IfcSlabElementedCase : public IfcSlab { /// representation: /// /// Solid: see 'SweptSolid' shape representation, -/// Profile:see 'SweptSolid' shape +/// Profile: see 'SweptSolid' shape /// representation, -/// Extrusion:see 'SweptSolid' shape +/// Extrusion: see 'SweptSolid' shape /// representation, -/// Material:see 'SweptSolid' shape +/// Material: see 'SweptSolid' shape /// representation, /// Boolean result: The IfcBooleanClippingResult /// shall be supported, allowing for Boolean differences between the @@ -44027,7 +44132,7 @@ class IfcSlabElementedCase : public IfcSlab { /// /// Figure 126 illustrates a 'Clipping' geometric representation with definition of a roof slab using advanced geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave. /// -/// Figure 126 — Slab body clipping +/// Figure 126 — Slab body clipping class IfcSlabStandardCase : public IfcSlab { public: virtual const IfcParse::entity& declaration() const; @@ -44038,7 +44143,7 @@ class IfcSlabStandardCase : public IfcSlab { }; /// A solar device converts solar radiation into other energy such as electric current or thermal energy. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcSolarDevice defines the occurrence of any solar device; common information about solar device types is handled by IfcSolarDeviceType. @@ -44098,7 +44203,7 @@ class IfcSolarDevice : public IfcEnergyConversionDevice { /// Space heaters utilize a combination of radiation and/or natural convection using a heating source such as electricity, steam or hot water to heat a limited space or area. Examples of space heaters include radiators, convectors, baseboard and finned-tube heaters. /// IfcUnitaryEquipment should be used for packaged units supporting a combination of heating, cooling, and/or dehumidification; IfcCoil should be used for coil-based floor heating. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcSpaceHeater defines the occurrence of any space heater; common information about space heater types is handled by IfcSpaceHeaterType. @@ -44156,7 +44261,7 @@ class IfcSolarDevice : public IfcEnergyConversionDevice { /// Outlet (HEATING, SOURCE): Water or steam return. /// /// Figure 230 illustrates space heater port use. -/// Figure 230 — Space heater port use +/// Figure 230 — Space heater port use class IfcSpaceHeater : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcSpaceHeater @@ -44171,7 +44276,7 @@ class IfcSpaceHeater : public IfcFlowTerminal { }; /// A stack terminal is placed at the top of a ventilating stack (such as to prevent ingress by birds or rainwater) or rainwater pipe (to act as a collector or hopper for discharge from guttering). /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcStackTerminal defines the occurrence of any stack terminal; common information about stack terminal types is handled by IfcStackTerminalType. @@ -44300,7 +44405,7 @@ class IfcStackTerminal : public IfcFlowTerminal { /// Figure 127 shows the use of property sets Pset_StairCommon and /// Pset_StairFlightCommon for the various stair properties. /// -/// Figure 127 — Stair properties +/// Figure 127 — Stair properties /// /// Geometry Use Definitions: /// The geometric representation of IfcStair is given by the @@ -44351,7 +44456,7 @@ class IfcStackTerminal : public IfcFlowTerminal { /// RepresentationIdentifier : 'Axis' /// RepresentationType : 'Curve2D' /// -/// NOTE The 'Axis' representation of IfcStair +/// NOTE  The 'Axis' representation of IfcStair /// may be provided even if the IfcStair has components with own /// shape representations. /// @@ -44364,7 +44469,7 @@ class IfcStackTerminal : public IfcFlowTerminal { /// RepresentationIdentifier : 'FootPrint' /// RepresentationType : 'GeometricCurveSet' /// -/// NOTE The 'Footprint' representation of +/// NOTE  The 'Footprint' representation of /// IfcStair may be provided even if the IfcStair has /// components with own shape representations. /// @@ -44395,7 +44500,7 @@ class IfcStackTerminal : public IfcFlowTerminal { /// /// Figure 128 illustrates stair placement, where the IfcStair defines the local placement for all components and the common 'Axis' representation, and each component has its own 'Body' representation. /// -/// Figure 128 — Stair placement +/// Figure 128 — Stair placement class IfcStair : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcStair @@ -44548,7 +44653,7 @@ class IfcStair : public IfcBuildingElement { /// In case of winding flights the curve shall be a single item of type IfcCompositeCurve. /// In case of a curved flight or a spiral flight the curve shall be a single item of type IfcTrimmedCurve. /// -/// Figure 129 — Stair flight axis +/// Figure 129 — Stair flight axis /// /// FootPrint Representation /// The flight foot print, including the flight boundary is @@ -44565,7 +44670,7 @@ class IfcStair : public IfcBuildingElement { /// In case of winding flights or curved flights the curve set shall consists of a single item of type IfcCompositeCurve. /// In case of a spiral flight the curve set shall consists of a single item of type IfcConic or IfcPolyline. /// -/// Figure 130 — Stair flight footprint +/// Figure 130 — Stair flight footprint /// /// Body Representation /// The body representation of IfcStairFlight can be represented using the representation types 'SweptSolid', 'SurfaceModel', 'Brep', and 'MappedRepresentation'. The general usage of representation is are explained at @@ -44577,7 +44682,7 @@ class IfcStair : public IfcBuildingElement { /// /// Figure 131 illustrates the body representation. /// -/// Figure 131 — Stair flight body +/// Figure 131 — Stair flight body class IfcStairFlight : public IfcBuildingElement { public: /// Whether the optional attribute NumberOfRisers is defined for this IfcStairFlight @@ -44639,9 +44744,9 @@ class IfcStairFlight : public IfcBuildingElement { /// If one or more structural item (instance of a subtype of IfcStructuralItem) is grouped into an IfcStructuralAnalysisModel, the attribute SharedPlacement shall be provided with a value. /// The ObjectPlacements of all structural items which are grouped into the same instance of IfcStructuralAnalysisModel shall refer to the same instance of IfcObjectPlacement as IfcStructuralAnalysisModel.SharedPlacement. /// -/// NOTE This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. +/// NOTE  This rule is necessary to achieve consistent topology representations. The topology representations of structural items in an analysis model are meant to share vertices and edges und must therefore have the same object placement. /// -/// NOTE A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. +/// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IfcStructuralAnalysisModel : public IfcSystem { public: /// Defines the type of the structural analysis model. @@ -44675,9 +44780,9 @@ class IfcStructuralAnalysisModel : public IfcSystem { bool hasSharedPlacement() const; /// Object placement which shall be common to all items and activities which are grouped into this instance of IfcStructuralAnalysisModel. This placement establishes a coordinate system which is referred to as 'global coordinate system' in use definitions of various classes of structural items and activities. /// - /// NOTE Most commonly, but not necessarily, the SharedPlacement is an IfcLocalPlacement whose z axis is parallel with the z axis of the IfcProject's world coordinate system and directed like the WCS z axis (i.e. pointing "upwards") or directed against the WCS z axis (i.e. points "downwards"). + /// NOTE  Most commonly, but not necessarily, the SharedPlacement is an IfcLocalPlacement whose z axis is parallel with the z axis of the IfcProject's world coordinate system and directed like the WCS z axis (i.e. pointing "upwards") or directed against the WCS z axis (i.e. points "downwards"). /// - /// NOTE Per informal proposition, this attribute is not optional as soon as at least one IfcStructuralItem is grouped into the instance of IfcStructuralAnalysisModel. + /// NOTE  Per informal proposition, this attribute is not optional as soon as at least one IfcStructuralItem is grouped into the instance of IfcStructuralAnalysisModel. IfcObjectPlacement* SharedPlacement() const; void setSharedPlacement(IfcObjectPlacement* v); virtual const IfcParse::entity& declaration() const; @@ -44712,7 +44817,7 @@ class IfcStructuralLoadCase : public IfcStructuralLoadGroup { /// /// IFC 2x4 change: Intermediate supertype IfcStructuralSurfaceAction inserted. Derived attribute PredefinedType added. /// -/// NOTE Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. +/// NOTE  Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. class IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { public: virtual const IfcParse::entity& declaration() const; @@ -44724,7 +44829,7 @@ class IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { /// A switch is used in a cable distribution system (electrical circuit) to control or modulate the flow of electricity. /// Switches include those used for electrical power, communications, audio-visual, or other distribution system types as determined by the available ports. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcSwitchingDevice defines the occurrence of any switching device; common information about switching device types is handled by IfcSwitchingDeviceType. @@ -44732,7 +44837,7 @@ class IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { /// The IfcSwitchingDeviceType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. /// If the IfcSwitchingDeviceType has ports or aggregated elements, such objects are reflected at the IfcSwitchingDevice occurrence using the IfcRelDefinesByObject relationship. /// Figure 208 illustrates switching device type use. -/// Figure 208 — Switching device type use +/// Figure 208 — Switching device type use /// /// Property Use Definition /// The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. @@ -44808,7 +44913,7 @@ class IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { /// Load (ELECTRICAL, SOURCE): The load controlled by the switch. /// /// Figure 209 illustrates switching device port use. -/// Figure 209 — Switching device port use +/// Figure 209 — Switching device port use class IfcSwitchingDevice : public IfcFlowController { public: /// Whether the optional attribute PredefinedType is defined for this IfcSwitchingDevice @@ -44823,7 +44928,7 @@ class IfcSwitchingDevice : public IfcFlowController { }; /// A tank is a vessel or container in which a fluid or gas is stored for later use. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcTank defines the occurrence of any tank; common information about tank types is handled by IfcTankType. @@ -44896,7 +45001,7 @@ class IfcTank : public IfcFlowStorageDevice { /// A transformer is an inductive stationary device that transfers electrical energy from one circuit to another. /// IfcTransformer is used to transform electric power; conversion of electric signals for other purposes is handled at other entities: IfcController converts arbitrary signals, IfcAudioVisualAppliance converts signals for audio or video streams, and IfcCommunicationsAppliance converts signals for data or other communications usage. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcTransformer defines the occurrence of any transformer; common information about transformer types is handled by IfcTransformerType. @@ -44949,7 +45054,7 @@ class IfcTransformer : public IfcEnergyConversionDevice { }; /// A tube bundle is a device consisting of tubes and bundles of tubes used for heat transfer and contained typically within other energy conversion devices, such as a chiller or coil. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcTubeBundle defines the occurrence of any tube bundle; common information about tube bundle types is handled by IfcTubeBundleType. @@ -45045,7 +45150,7 @@ class IfcUnitaryControlElementType : public IfcDistributionControlElementType { }; /// Unitary equipment typically combine a number of components into a single product, such as air handlers, pre-packaged rooftop air-conditioning units, and split systems. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcUnitaryEquipment defines the occurrence of any unitary equipment; common information about unitary equipment types is handled by IfcUnitaryEquipmentType. @@ -45093,7 +45198,7 @@ class IfcUnitaryControlElementType : public IfcDistributionControlElementType { /// May contain IfcDistributionElement components. Unitary equipment (air handlers in particular) may elaborate contained elements such as dampers, fans, coils, sensors, actuators, and controllers. Such breakdown provides access to component information and tracking of performance history for embedded elements. /// /// Figure 231 illustrates unitary equipment composition use. -/// Figure 231 — Unitary equipment composition use +/// Figure 231 — Unitary equipment composition use /// /// Port Use Definition /// The distribution ports relating to the IfcUnitaryEquipment are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. @@ -45114,7 +45219,7 @@ class IfcUnitaryControlElementType : public IfcDistributionControlElementType { /// Control (CONTROL, SINK): Control system communication. /// /// Figure 232 illustrates unitary equipment port use. -/// Figure 232 — Unitary equipment port use +/// Figure 232 — Unitary equipment port use class IfcUnitaryEquipment : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcUnitaryEquipment @@ -45129,7 +45234,7 @@ class IfcUnitaryEquipment : public IfcEnergyConversionDevice { }; /// A valve is used in a building services piping distribution system to control or modulate the flow of the fluid. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcValve defines the occurrence of any valve; common information about valve types is handled by IfcValveType. @@ -45312,7 +45417,7 @@ class IfcUnitaryEquipment : public IfcEnergyConversionDevice { /// Inlet (DOMESTICCOLDWATER, SINK): Incoming fluid. /// /// Figure 233 illustrates valve port use. -/// Figure 233 — Valve port use +/// Figure 233 — Valve port use class IfcValve : public IfcFlowController { public: /// Whether the optional attribute PredefinedType is defined for this IfcValve @@ -45616,7 +45721,7 @@ class IfcWall : public IfcBuildingElement { /// /// As shown in Figure 132, openings within the composite wall are directly assigned to IfcWallElementedCase using IfcRelVoidsElement pointing to IfcOpeningElement and apply to all aggregated parts. If individual parts have cutting and other voiding features, then the decomposed parts have a separate voiding relationship IfcRelVoidsElement pointing to IfcVoidingFeature. /// -/// Figure 132 — Wall elemented voiding +/// Figure 132 — Wall elemented voiding /// /// Decomposition Use Definition: /// The following guidance is provided for the components of the @@ -45742,7 +45847,7 @@ class IfcWallElementedCase : public IfcWall { /// IfcWall. As an additional use agreement for standard /// walls, the IfcWallType should have a unique /// IfcMaterialLayerSet, that is referenced by -/// theIfcMaterialLayerSetUsage assigned to all +/// the IfcMaterialLayerSetUsage assigned to all /// occurrences of this IfcWallType. /// /// Figure 134 illustrates assignment of IfcMaterialLayerSetUsage and IfcMaterialLayerSet to the wall type and the wall occurrence. @@ -45757,10 +45862,10 @@ class IfcWallElementedCase : public IfcWall { /// Multi-layer walls can be represented by refering to several /// IfcMaterialLayer's within the IfcMaterialLayerSet /// that is referenced from the -/// IfcMaterialLayerSetUsage. +/// IfcMaterialLayerSetUsage.  /// Material information can also be given at the /// IfcWallType, defining the common attribute data for all -/// occurrences of the same type.It is then accessible by the +/// occurrences of the same type. It is then accessible by the /// inverse IsDefinedBy relationship pointing to /// IfcSlabType.HasAssociations and via /// IfcRelAssociatesMaterial.RelatingMaterial. See Type Use @@ -45779,7 +45884,7 @@ class IfcWallElementedCase : public IfcWall { /// The Thickness of each IfcMaterialLayer is provided starting from the OffsetFromReferenceLine and in the direction given by DirectionSense. It is applied without any gap or overlap between two consecutive layers. The TotalThickness of the IfcMaterialLayerSet is the sum of all layer thicknesses. /// The IfcMaterialLayerSetUsage.LayerSetDirection is always AXIS2. /// -/// Figure 134 — Wall material layers +/// Figure 134 — Wall material layers /// /// Property Set Use Definition: /// The property sets relating to the IfcWallStandardCase @@ -45805,7 +45910,7 @@ class IfcWallElementedCase : public IfcWall { /// Body: A Swept Solid Representation or a CSG /// representation defining the 3D shape of the standard wall /// -/// NOTE It is invalid to exhange a +/// NOTE  It is invalid to exhange a /// 'SurfaceModel', or 'Brep' or 'MappedRepresentation' representation /// for the 'Body' shape representation of an /// IfcWallStandardCase. @@ -45825,8 +45930,8 @@ class IfcWallElementedCase : public IfcWall { /// Figure 136 illustrates an axis representation for a curved wall. In case of a curved wall, the set of items shall include /// a single geometric representation item of type IfcTrimmedCurve. The curve shall have a BasisCurve of type IfcCircle. The tangent of the IfcTrimmedCurve shall be parallel at start to the x-axis of the object coordinate system. The direction shall be identical to the direction of the x-axis. /// -/// Figure 135 — Wall axis straight -/// Figure 136 — Wall axis curved +/// Figure 135 — Wall axis straight +/// Figure 136 — Wall axis curved /// /// Body Representation /// The body representation of IfcWallStandardCase is @@ -45861,8 +45966,8 @@ class IfcWallElementedCase : public IfcWall { /// /// Figure 138 illustrates a body representation for a curved wall. In case of a curved wall, the two sides of the profile shall be parallel (with defined offset) to the wall axis, that is, the wall has a single unchanged thickness. /// -/// Figure 137 — Wall body extrusion straight -/// Figure 138 — Wall body extrusion curved +/// Figure 137 — Wall body extrusion straight +/// Figure 138 — Wall body extrusion curved /// /// Clipping Representation Type /// The following attribute values for the @@ -45889,8 +45994,8 @@ class IfcWallElementedCase : public IfcWall { /// Figure 140 illustrates a clipping for a curved wall using an IfcHalfSpaceSolid as SecondOperand in the /// IfcBooleanClippingResult. /// -/// Figure 139 — Wall body clipping straight -/// Figure 140 — Wall body clipping curved +/// Figure 139 — Wall body clipping straight +/// Figure 140 — Wall body clipping curved class IfcWallStandardCase : public IfcWall { public: virtual const IfcParse::entity& declaration() const; @@ -45902,7 +46007,7 @@ class IfcWallStandardCase : public IfcWall { /// A waste terminal has the purpose of collecting or intercepting waste from one or more sanitary terminals or other fluid waste generating equipment and discharging it into a single waste/drainage system. /// A waste terminal provides for all forms of trap and waste point that collects discharge from a sanitary terminal and discharges it into a waste/drainage subsystem or that collects waste from several terminals and passes it into a single waste/drainage subsystem. This includes the P and S traps from soil sanitary terminals, sinks, and basins as well as floor wastes and gully traps that provide collection points. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcWasteTerminal defines the occurrence of any waste terminal; common information about waste terminal types is handled by IfcWasteTerminalType. @@ -46178,7 +46283,7 @@ class IfcWasteTerminal : public IfcFlowTerminal { /// Figure 141 illustrates window containment. /// NOTE The containment shall be defined independently of the filling relationship, that is, even if the IfcWindow is a filling of an opening established by IfcRelFillsElement, it is also contained in the spatial structure by an IfcRelContainedInSpatialStructure. /// -/// Figure 141 — Window containment +/// Figure 141 — Window containment /// /// Geometry Use Definitions: /// The geometric representation of IfcWindow is given by @@ -46318,11 +46423,11 @@ class IfcWasteTerminal : public IfcFlowTerminal { /// Figure 142 illustrates the insertion of a window into the IfcOpeningElement by creating an instance of /// IfcWindow with PartitioningType = DoublePanelHorizontal. The parameters OverallHeight and OverallWidth show the extent of the window in the positive Z and X axis of the local placement of the window. The lining and the transom are created by the given parameters. /// -/// Figure 142 — Window placement +/// Figure 142 — Window placement /// /// Figure 143 illustrates the final window (DoublePanelHorizontal) with first panel having PanelPosition = TOP, OperationType = BOTTOMHUNG and second panel having PanelPosition = BOTTOM and OperationType = TILTANDTURNLEFTHAND. /// -/// Figure 143 — Window planes +/// Figure 143 — Window planes /// /// Window opening operation by window type /// The parameters that defines the shape of the IfcWindow, @@ -46372,21 +46477,21 @@ class IfcWasteTerminal : public IfcFlowTerminal { /// =SideHungRightHand. /// . /// -/// Figure 144 — Window operations +/// Figure 144 — Window operations class IfcWindow : public IfcBuildingElement { public: /// Whether the optional attribute OverallHeight is defined for this IfcWindow bool hasOverallHeight() const; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// - /// NOTE The body of the window might be taller then the window opening (e.g. in cases where the window lining includes a casing). In these cases the OverallHeight shall still be given as the window opening height, and not as the total height of the window lining. + /// NOTE  The body of the window might be taller then the window opening (e.g. in cases where the window lining includes a casing). In these cases the OverallHeight shall still be given as the window opening height, and not as the total height of the window lining. double OverallHeight() const; void setOverallHeight(double v); /// Whether the optional attribute OverallWidth is defined for this IfcWindow bool hasOverallWidth() const; /// Overall measure of the width, it reflects the X Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallWidth should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// - /// NOTE The body of the window might be wider then the window opening (e.g. in cases where the window lining includes a casing). In these cases the OverallWidth shall still be given as the window opening width, and not as the total width of the window lining. + /// NOTE  The body of the window might be wider then the window opening (e.g. in cases where the window lining includes a casing). In these cases the OverallWidth shall still be given as the window opening width, and not as the total width of the window lining. double OverallWidth() const; void setOverallWidth(double v); /// Whether the optional attribute PredefinedType is defined for this IfcWindow @@ -46529,7 +46634,7 @@ class IfcWindow : public IfcBuildingElement { /// overall width. Distance to the centre line of the mullion. /// SecondMullionOffset defined accordingly. /// -/// Figure 145 — Window profile +/// Figure 145 — Window profile class IfcWindowStandardCase : public IfcWindow { public: virtual const IfcParse::entity& declaration() const; @@ -46582,7 +46687,7 @@ class IfcActuatorType : public IfcDistributionControlElementType { }; /// An air terminal is a terminating or origination point for the transfer of air between distribution system(s) and one or more spaces. It can also be used for the transfer of air between adjacent spaces. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcAirTerminal defines the occurrence of any air terminal; common information about air terminal types is handled by IfcAirTerminalType. @@ -46590,7 +46695,7 @@ class IfcActuatorType : public IfcDistributionControlElementType { /// The IfcAirTerminalType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. /// If the IfcAirTerminalType has ports or aggregated elements, such objects are reflected at the IfcAirTerminal occurrence using the IfcRelDefinesByObject relationship. /// Figure 210 illustrates air terminal type use. -/// Figure 210 — Air terminal type use +/// Figure 210 — Air terminal type use /// /// Property Use Definition /// The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. @@ -46636,7 +46741,7 @@ class IfcActuatorType : public IfcDistributionControlElementType { /// Air (AIRCONDITIONING, SINK): Supply air, typically connected from a duct segment or fitting. /// /// Figure 211 illustrates air terminal port use. -/// Figure 211 — Air terminal port use +/// Figure 211 — Air terminal port use class IfcAirTerminal : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcAirTerminal @@ -46651,7 +46756,7 @@ class IfcAirTerminal : public IfcFlowTerminal { }; /// An air terminal box typically participates in an HVAC duct distribution system and is used to control or modulate the amount of air delivered to its downstream ductwork. An air terminal box type is often referred to as an "air flow regulator". /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcAirTerminalBox defines the occurrence of any air terminal box; common information about air terminal box types is handled by IfcAirTerminalBoxType. @@ -46705,7 +46810,7 @@ class IfcAirTerminalBox : public IfcFlowController { }; /// An air-to-air heat recovery device employs a counter-flow heat exchanger between inbound and outbound air flow. It is typically used to transfer heat from warmer air in one chamber to cooler air in the second chamber (i.e., typically used to recover heat from the conditioned air being exhausted and the outside air being supplied to a building), resulting in energy savings from reduced heating (or cooling) requirements. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcAirToAirHeatRecovery defines the occurrence of any air to air heat recovery; common information about air to air heat recovery types is handled by IfcAirToAirHeatRecoveryType. @@ -46800,7 +46905,7 @@ class IfcAlarmType : public IfcDistributionControlElementType { /// An audio-visual appliance is a device that displays, captures, transmits, or receives audio or video. /// Audio-visual appliances may be fixed in place or may be able to be moved from one space to another. They may require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. Audio-visual appliances may be connected to data circuits including specialist circuits for audio visual purposes only. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcAudioVisualAppliance defines the occurrence of any audio visual appliance; common information about audio visual appliance types is handled by IfcAudioVisualApplianceType. @@ -46991,15 +47096,15 @@ class IfcAudioVisualAppliance : public IfcFlowTerminal { /// /// An IfcBeam is a horizontal, or nearly horizontal, structural member that is capable of withstanding load primarily by resisting bending. It represents such a member from an architectural point of view. It is not required to be load bearing. /// -/// NOTE The representation of a beam in a structural analysis model is provided by +/// NOTE  The representation of a beam in a structural analysis model is provided by /// IfcStructuralCurveMember being part of an IfcStructuralAnalysisModel. /// -/// NOTE For any longitudial structural member, not constrained to be predominately horizontal nor vertical, or where this semantic information is irrelevant, the entity IfcMember should be used. +/// NOTE  For any longitudial structural member, not constrained to be predominately horizontal nor vertical, or where this semantic information is irrelevant, the entity IfcMember should be used. /// /// The IFC specification provides two entities for beam occurrences: /// /// IfcBeamStandardCase used for all occurrences of beams, that have a profile defined that is swept along a directrix. The profile might be changed uniformly by a taper definition along the directrix. The profile parameter and its cardinal point of insertion can be fully described by the IfcMaterialProfileSetUsage. These beams are always represented geometricly by an 'Axis' and a 'SweptSolid' or 'AdvancedSweptSolid' shape representation (or by a 'Clipping' geometry based on the swept solid), if a 3D geometric representation is assigned. In addition they have to have a corresponding IfcMaterialProfileSetUsage assigned. -/// NOTE View definitions and implementer agreements may further constrain the applicable geometry types, for example, by excluding tapering from an IfcBeamStandardCase implementation. +/// NOTE  View definitions and implementer agreements may further constrain the applicable geometry types, for example, by excluding tapering from an IfcBeamStandardCase implementation. /// /// IfcBeam used for all other occurrences of beams, particularly for beams with changing profile sizes along the extrusion, or beams defined by non-linear extrusion, or beams having only 'Brep', or 'SurfaceModel' geometry. /// @@ -47009,7 +47114,7 @@ class IfcAudioVisualAppliance : public IfcFlowTerminal { /// IfcBeam defines the occuurence of any beam, common /// information about beam types (or styles) is handled by /// IfcBeamType. The IfcBeamType (if present) may -/// establish the commontype name, usage (or predefined) type, +/// establish the common type name, usage (or predefined) type, /// common material layer set, common set of properties and common /// shape representations (using IfcRepresentationMap). The /// IfcBeamType is attached using the @@ -47153,16 +47258,16 @@ class IfcAudioVisualAppliance : public IfcFlowTerminal { /// IfcRevolvedAreaSolid shall be supported /// Profile: all subtypes of IfcProfileDef (with /// exception of IfcArbitraryOpenProfileDef) -/// Extrusion: All extrusion directions shall be +/// Extrusion:  All extrusion directions shall be /// supported. /// /// Figure 71 illustrates the 'SweptSolid' geometric representation. There are no restrictions or conventions on how to use the local placement (black), solid of extrusion placement (red) and profile placement (green). /// -/// Figure 71 — Beam swept solid +/// Figure 71 — Beam swept solid /// /// Figure 72 illustrates the use of non-perpendicular extrusion to create the IfcExtrudedAreaSolid. /// -/// Figure 72 — Beam non-perpendicular extrusion +/// Figure 72 — Beam non-perpendicular extrusion /// /// Clipping Representation Type /// The following attribute values for the @@ -47186,7 +47291,7 @@ class IfcAudioVisualAppliance : public IfcFlowTerminal { /// /// Figure 73 illustrates use of IfcBooleanClippingResult between an IfcExtrudedAreaSolid and an IfcHalfSpaceSolid to create a clipped body. /// -/// Figure 73 — Beam clipping +/// Figure 73 — Beam clipping /// /// AdvancedSweptSolid Representation Type /// The following attribute values for the @@ -47267,7 +47372,7 @@ class IfcBeam : public IfcBuildingElement { /// the start profile, or set of profiles can be swept unchanged, /// or might be changed uniformly by a taper definition /// -/// NOTE View definitions and implementer +/// NOTE  View definitions and implementer /// agreements may further constrain the applicable geometry types, /// e.g. by excluding tapering from an IfcBeamStandardCase /// implementation. @@ -47292,17 +47397,17 @@ class IfcBeam : public IfcBuildingElement { /// /// Figure 74 illustrates assignment of IfcMaterialProfileSetUsage and IfcMaterialProfileSet to the IfcBeamStandardCase as the beam occurrence and to the IfcBeamType. The same IfcMaterialProfileSet shall be shared by many occurrences of IfcMaterialProfileSetUsage. This relationship shall be consistent to the relationship between the IfcBeamType and the IfcBeamStandardCase. /// -/// Figure 74 — Beam profile usage +/// Figure 74 — Beam profile usage /// /// Figure 75 illustrates alignment of cardinal points. -/// NOTE It has to be guaranteed that the use of IfcCardinalPointEnum is consistent to the placement of the extrusion body provided by IfcExtrudedAreaSolid.Position -/// NOTE The cardinal points 8 (top centre) and 6 (mid-depth right) are assigned according to the definition at IfcCardinalPointReference +/// NOTE  It has to be guaranteed that the use of IfcCardinalPointEnum is consistent to the placement of the extrusion body provided by IfcExtrudedAreaSolid.Position +/// NOTE  The cardinal points 8 (top centre) and 6 (mid-depth right) are assigned according to the definition at IfcCardinalPointReference /// -/// Figure 75 — Beam cardinal points +/// Figure 75 — Beam cardinal points /// /// Figure 76 illustrates assignment of a composite profile by using IfcCompositeProfile for geometric representation and several IfcMaterialProfile's within the IfcMaterialProfileSet. /// -/// Figure 76 — Beam composite profiles +/// Figure 76 — Beam composite profiles /// /// Material Use Definition /// The material of the IfcBeamStandardCase is defined by @@ -47381,12 +47486,12 @@ class IfcBeam : public IfcBuildingElement { /// /// As shown in Figure 77, the axis shall be defined along the z axis of the object coordinate system. The axis representation can be used to represent the system length of a beam that may extent the body length of the beam. /// -/// Figure 77 — Beam axis representation +/// Figure 77 — Beam axis representation /// /// As shown in Figure 78, the axis representation shall be used to represent the cardinal point as the offset between the 'Axis' and the extrusion path of the beam. The extrusion path is provided as IfcExtrudedAreaSolid.ExtrudedDirection and should be parallel to the 'Axis' and the z axis. It has to be guaranteed that the value provided by /// IfcMaterialProfileSetUsage.CardinalPoint is consistent to the IfcExtrudedAreaSolid.Position. /// -/// Figure 78 — Beam axis cardinal point +/// Figure 78 — Beam axis cardinal point /// /// Body Representation /// The body representation of IfcBeamStandardCase can be @@ -47415,12 +47520,12 @@ class IfcBeam : public IfcBuildingElement { /// Profile Position : For all single profiles, the /// IfcParameterizedProfileDef.Position shall be NIL, or having /// Location = 0.,0. and RefDirection = 1.,0. -/// Extrusion:Perpendicular to the profile direction. +/// Extrusion: Perpendicular to the profile direction. /// The IfcExtrudedAreaSolid.ExtrudedDirection shall be /// [0.,0.,1.]. /// Orientation: The y-axis of the profile, as determined by /// IfcSweptAreaSolid.Position.P[2] shall point upwards. It -/// indicates the "role" of the beam, a role=0 means y-axis of +/// indicates the "role" of the beam, a role=0° means y-axis of /// profile pointing upwards. /// /// Figure 79 illustrates a standard geometric representation with cardinal point applied as 1 (bottom left). @@ -47433,7 +47538,7 @@ class IfcBeam : public IfcBuildingElement { /// /// IfcCircleProfileDef.Radius interpreted as beam radius. /// -/// Figure 79 — Beam body extrusion +/// Figure 79 — Beam body extrusion /// /// Clipping Representation Type /// The following attribute values for the @@ -47463,7 +47568,7 @@ class IfcBeam : public IfcBuildingElement { /// /// Figure 80 illustrates a 'Clipping' geometric representation with use of IfcBooleanClippingResult between an IfcExtrudedAreaSolid and an IfcHalfSpaceSolid to create a clipped body, with cardinal point applied as 4 (mid-depth left) /// -/// Figure 80 — Beam body clipping +/// Figure 80 — Beam body clipping /// /// AdvancedSweptSolid Representation Type /// The 'AdvancedSweptSolid' representation type is a valid body @@ -47490,7 +47595,7 @@ class IfcBeam : public IfcBuildingElement { /// Profile: see 'SweptSolid' geometric representation /// Profile Position : see 'SweptSolid' geometric /// representation -/// Extrusion:not applicable +/// Extrusion: not applicable class IfcBeamStandardCase : public IfcBeam { public: virtual const IfcParse::entity& declaration() const; @@ -47502,7 +47607,7 @@ class IfcBeamStandardCase : public IfcBeam { /// A boiler is a closed, pressure-rated vessel in which water or other fluid is heated using an energy source such as natural gas, heating oil, or electricity. The fluid in the vessel is then circulated out of the boiler for use in various processes or heating applications. /// IfcBoiler is a vessel solely used for heating of water or other fluids. Storage vessels, such as for drinking water storage are considered as tanks and use the IfcTank entity. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcBoiler defines the occurrence of any boiler; common information about boiler types is handled by IfcBoilerType. @@ -47510,7 +47615,7 @@ class IfcBeamStandardCase : public IfcBeam { /// The IfcBoilerType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. /// If the IfcBoilerType has ports or aggregated elements, such objects are reflected at the IfcBoiler occurrence using the IfcRelDefinesByObject relationship. /// Figure 212 illustrates boiler type use. -/// Figure 212 — Boiler type use +/// Figure 212 — Boiler type use /// /// Property Use Definition /// The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. @@ -47567,7 +47672,7 @@ class IfcBeamStandardCase : public IfcBeam { /// HotWater (DOMESTICHOTWATER, SOURCE): Hot water heated. /// /// Figure 213 illustrates boiler port use. -/// Figure 213 — Boiler port use +/// Figure 213 — Boiler port use class IfcBoiler : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcBoiler @@ -47582,7 +47687,7 @@ class IfcBoiler : public IfcEnergyConversionDevice { }; /// A burner is a device that converts fuel into heat through combustion. It includes gas, oil, and wood burners. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcBurner defines the occurrence of any burner; common information about burner types is handled by IfcBurnerType. @@ -47635,7 +47740,7 @@ class IfcBurner : public IfcEnergyConversionDevice { }; /// A cable carrier fitting is a fitting that is placed at junction or transition in a cable carrier system. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcCableCarrierFitting defines the occurrence of any cable carrier fitting; common information about cable carrier fitting types is handled by IfcCableCarrierFittingType. @@ -47709,7 +47814,7 @@ class IfcCableCarrierFitting : public IfcFlowFitting { }; /// A cable carrier segment is a flow segment that is specifically used to carry and support cabling. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcCableCarrierSegment defines the occurrence of any cable carrier segment; common information about cable carrier segment types is handled by IfcCableCarrierSegmentType. @@ -47781,7 +47886,7 @@ class IfcCableCarrierSegment : public IfcFlowSegment { }; /// A cable fitting is a fitting that is placed at a junction, transition or termination in a cable system. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcCableFitting defines the occurrence of any cable fitting; common information about cable fitting types is handled by IfcCableFittingType. @@ -47869,7 +47974,7 @@ class IfcCableFitting : public IfcFlowFitting { /// A cable segment is a flow segment used to carry electrical power, data, or telecommunications signals. /// A cable segment is used to typically join two sections of an electrical network or a network of components carrying the electrical service. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcCableSegment defines the occurrence of any cable segment; common information about cable segment types is handled by IfcCableSegmentType. @@ -47968,7 +48073,7 @@ class IfcCableSegment : public IfcFlowSegment { }; /// A chiller is a device used to remove heat from a liquid via a vapor-compression or absorption refrigeration cycle to cool a fluid, typically water or a mixture of water and glycol. The chilled fluid is then used to cool and dehumidify air in a building. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcChiller defines the occurrence of any chiller; common information about chiller types is handled by IfcChillerType. @@ -48008,7 +48113,7 @@ class IfcCableSegment : public IfcFlowSegment { /// May contain IfcDistributionElement components. Chillers may aggregate distribution flow elements forming a refrigeration cycle (compressor, condenser, valve, evaporator), as well as control elements. /// /// Figure 214 illustrates chiller composition use. -/// Figure 214 — Chiller composition use +/// Figure 214 — Chiller composition use /// /// Port Use Definition /// The distribution ports relating to the IfcChiller are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. @@ -48034,7 +48139,7 @@ class IfcCableSegment : public IfcFlowSegment { /// CondenserWaterOut (CONDENSERWATER, SOURCE): Outgoing heated condenser water. /// /// Figure 215 illustrates chiller port use. -/// Figure 215 — Chiller port use +/// Figure 215 — Chiller port use class IfcChiller : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcChiller @@ -48050,7 +48155,7 @@ class IfcChiller : public IfcEnergyConversionDevice { /// A coil is a device used to provide heat transfer between non-mixing media. A common example is a cooling coil, which utilizes a finned coil in which circulates chilled water, antifreeze, or refrigerant that is used to remove heat from air moving across the surface of the coil. A coil may be used either for heating or cooling purposes by placing a series of tubes (the coil) carrying a heating or cooling fluid into an airstream. The coil may be constructed from tubes bundled in a serpentine form or from finned tubes that give a extended heat transfer surface. /// Coils may also be used for non-airflow cases such as embedded in a floor slab. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcCoil defines the occurrence of any coil; common information about coil types is handled by IfcCoilType. @@ -48112,7 +48217,7 @@ class IfcChiller : public IfcEnergyConversionDevice { /// AirOut (AIRCONDITIONING, SOURCE): Air leaving the surface of the coil. /// /// Figure 216 illustrates coil port use. -/// Figure 216 — Coil port use +/// Figure 216 — Coil port use class IfcCoil : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcCoil @@ -48128,7 +48233,7 @@ class IfcCoil : public IfcEnergyConversionDevice { /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcCommunicationsAppliance defines the occurrence of any communications appliance; common information about communications appliance types is handled by IfcCommunicationsApplianceType. @@ -48241,7 +48346,7 @@ class IfcCommunicationsAppliance : public IfcFlowTerminal { }; /// A compressor is a device that compresses a fluid typically used in a refrigeration circuit. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcCompressor defines the occurrence of any compressor; common information about compressor types is handled by IfcCompressorType. @@ -48284,7 +48389,7 @@ class IfcCommunicationsAppliance : public IfcFlowTerminal { /// RefrigerantOut (REFRIGERATION, SOURCE): Compressed vapor refrigerant leaving the compressor. /// /// Figure 217 illustrates compressor port use. -/// Figure 217 — Compressor port use +/// Figure 217 — Compressor port use class IfcCompressor : public IfcFlowMovingDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcCompressor @@ -48299,7 +48404,7 @@ class IfcCompressor : public IfcFlowMovingDevice { }; /// A condenser is a device that is used to dissipate heat, typically by condensing a substance such as a refrigerant from its gaseous to its liquid state. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcCondenser defines the occurrence of any condenser; common information about condenser types is handled by IfcCondenserType. @@ -48362,7 +48467,7 @@ class IfcCompressor : public IfcFlowMovingDevice { /// CondenserWaterOut (CONDENSERWATER, SOURCE): Warmer water leaving the condenser, optionally to cooling tower. /// /// Figure 218 illustrates condenser port use. -/// Figure 218 — Condenser port use +/// Figure 218 — Condenser port use class IfcCondenser : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcCondenser @@ -48424,7 +48529,7 @@ class IfcControllerType : public IfcDistributionControlElementType { }; /// A cooled beam (or chilled beam) is a device typically used to cool air by circulating a fluid such as chilled water through exposed finned tubes above a space. Typically mounted overhead near or within a ceiling, the cooled beam uses convection to cool the space below it by acting as a heat sink for the naturally rising warm air of the space. Once cooled, the air naturally drops back to the floor where the cycle begins again. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcCooledBeam defines the occurrence of any cooled beam; common information about cooled beam types is handled by IfcCooledBeamType. @@ -48485,7 +48590,7 @@ class IfcCooledBeam : public IfcEnergyConversionDevice { }; /// A cooling tower is a device which rejects heat to ambient air by circulating a fluid such as water through it to reduce its temperature by partial evaporation. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcCoolingTower defines the occurrence of any cooling tower; common information about cooling tower types is handled by IfcCoolingTowerType. @@ -48539,7 +48644,7 @@ class IfcCooledBeam : public IfcEnergyConversionDevice { /// CondenserWaterOut (CONDENSERWATER, SOURCE): Cooler water leaving the cooling tower. /// /// Figure 219 illustrates cooling tower port use. -/// Figure 219 — Cooling tower port use +/// Figure 219 — Cooling tower port use class IfcCoolingTower : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcCoolingTower @@ -48554,7 +48659,7 @@ class IfcCoolingTower : public IfcEnergyConversionDevice { }; /// A damper typically participates in an HVAC duct distribution system and is used to control or modulate the flow of air. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcDamper defines the occurrence of any damper; common information about damper types is handled by IfcDamperType. @@ -48622,7 +48727,7 @@ class IfcCoolingTower : public IfcEnergyConversionDevice { /// AirOut (AIRCONDITIONING, SOURCE): Air leaving damper, with flow regulated according to position of damper. /// /// Figure 220 illustrates damper port use. -/// Figure 220 — Damper port use +/// Figure 220 — Damper port use class IfcDamper : public IfcFlowController { public: /// Whether the optional attribute PredefinedType is defined for this IfcDamper @@ -48719,7 +48824,7 @@ class IfcDistributionCircuit : public IfcDistributionSystem { /// /// Figure 147 illustrates classification usage. /// -/// Figure 147 — Distribution control classification +/// Figure 147 — Distribution control classification /// /// Composition Use Definition /// The IfcDistributionControlElement may be decomposed into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcDistributionControlElement and RelatedObjects contains one or more components. Likewise, a control element may be aggregated within another element. For example, a thermostat may contain temperature sensors, and a programmable logic controller may contain virtual (software-based) control elements. Standard types for composition are defined at subtypes. @@ -48776,7 +48881,7 @@ class IfcDistributionControlElement : public IfcDistributionElement { }; /// A duct fitting is a junction or transition in a ducted flow distribution system or used to connect duct segments, resulting changes in flow characteristics to the fluid such as direction and flow rate. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcDuctFitting defines the occurrence of any duct fitting; common information about duct fitting types is handled by IfcDuctFittingType. @@ -48848,7 +48953,7 @@ class IfcDistributionControlElement : public IfcDistributionElement { /// Outlet (NOTDEFINED, SOURCE): The flow outlet. /// /// Figure 221 illustrates duct fitting port use. -/// Figure 221 — Duct fitting port use +/// Figure 221 — Duct fitting port use class IfcDuctFitting : public IfcFlowFitting { public: /// Whether the optional attribute PredefinedType is defined for this IfcDuctFitting @@ -48863,7 +48968,7 @@ class IfcDuctFitting : public IfcFlowFitting { }; /// A duct segment is used to typically join two sections of duct network. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcDuctSegment defines the occurrence of any duct segment; common information about duct segment types is handled by IfcDuctSegmentType. @@ -48909,7 +49014,7 @@ class IfcDuctFitting : public IfcFlowFitting { /// Outlet (NOTDEFINED, SOURCE): The flow outlet. /// /// Figure 222 illustrates duct segment port use. -/// Figure 222 — Duct segment port use +/// Figure 222 — Duct segment port use class IfcDuctSegment : public IfcFlowSegment { public: /// Whether the optional attribute PredefinedType is defined for this IfcDuctSegment @@ -48924,7 +49029,7 @@ class IfcDuctSegment : public IfcFlowSegment { }; /// A duct silencer is a device that is typically installed inside a duct distribution system for the purpose of reducing the noise levels from air movement, fan noise, etc. in the adjacent space or downstream of the duct silencer device. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcDuctSilencer defines the occurrence of any duct silencer; common information about duct silencer types is handled by IfcDuctSilencerType. @@ -48979,7 +49084,7 @@ class IfcDuctSilencer : public IfcFlowTreatmentDevice { /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcElectricAppliance defines the occurrence of any electric appliance; common information about electric appliance types is handled by IfcElectricApplianceType. @@ -48987,7 +49092,7 @@ class IfcDuctSilencer : public IfcFlowTreatmentDevice { /// The IfcElectricApplianceType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. /// If the IfcElectricApplianceType has ports or aggregated elements, such objects are reflected at the IfcElectricAppliance occurrence using the IfcRelDefinesByObject relationship. /// Figure 196 illustrates electric appliance type use. -/// Figure 196 — Electric appliance type use +/// Figure 196 — Electric appliance type use /// /// Property Use Definition /// The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. @@ -49073,7 +49178,7 @@ class IfcDuctSilencer : public IfcFlowTreatmentDevice { /// Drain (DRAINAGE, SOURCE): Drainage for water. /// /// Figure 197 illustrates electric appliance port use. -/// Figure 197 — Electric appliance port use +/// Figure 197 — Electric appliance port use class IfcElectricAppliance : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcElectricAppliance @@ -49089,7 +49194,7 @@ class IfcElectricAppliance : public IfcFlowTerminal { /// A distribution board is a flow controller in which instances of electrical devices are brought together at a single place for a particular purpose. /// A distribution provides a housing for connected electrical distribution elements so that they can be viewed, operated or acted upon from a single place. Each connected item may have its own geometric representation and location. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcElectricDistributionBoard defines the occurrence of any electric distribution board; common information about electric distribution board types is handled by IfcElectricDistributionBoardType. @@ -49097,7 +49202,7 @@ class IfcElectricAppliance : public IfcFlowTerminal { /// The IfcElectricDistributionBoardType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. /// If the IfcElectricDistributionBoardType has ports or aggregated elements, such objects are reflected at the IfcElectricDistributionBoard occurrence using the IfcRelDefinesByObject relationship. /// Figure 198 illustrates electric distribution board type use. -/// Figure 198 — Electric distribution board type use +/// Figure 198 — Electric distribution board type use /// /// Property Use Definition /// The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. @@ -49142,7 +49247,7 @@ class IfcElectricAppliance : public IfcFlowTerminal { /// Circuit#8 (ELECTRICAL, SOURCE): A downstream circuit, typically a circuit breaker protective device. /// /// Figure 199 illustrates electric distribution board port use. -/// Figure 199 — Electric distribution board port use +/// Figure 199 — Electric distribution board port use class IfcElectricDistributionBoard : public IfcFlowController { public: /// Whether the optional attribute PredefinedType is defined for this IfcElectricDistributionBoard @@ -49157,7 +49262,7 @@ class IfcElectricDistributionBoard : public IfcFlowController { }; /// An electric flow storage device is a device in which electrical energy is stored and from which energy may be progressively released. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcElectricFlowStorageDevice defines the occurrence of any electric flow storage device; common information about electric flow storage device types is handled by IfcElectricFlowStorageDeviceType. @@ -49210,7 +49315,7 @@ class IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { }; /// An electric generator is an engine that is a machine for converting mechanical energy into electrical energy. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcElectricGenerator defines the occurrence of any electric generator; common information about electric generator types is handled by IfcElectricGeneratorType. @@ -49269,7 +49374,7 @@ class IfcElectricGenerator : public IfcEnergyConversionDevice { }; /// An electric motor is an engine that is a machine for converting electrical energy into mechanical energy. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcElectricMotor defines the occurrence of any electric motor; common information about electric motor types is handled by IfcElectricMotorType. @@ -49322,7 +49427,7 @@ class IfcElectricMotor : public IfcEnergyConversionDevice { }; /// An electric time control is a device that applies control to the provision or flow of electrical energy over time. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcElectricTimeControl defines the occurrence of any electric time control; common information about electric time control types is handled by IfcElectricTimeControlType. @@ -49375,7 +49480,7 @@ class IfcElectricTimeControl : public IfcFlowController { }; /// A fan is a device which imparts mechanical work on a gas. A typical usage of a fan is to induce airflow in a building services air distribution system. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcFan defines the occurrence of any fan; common information about fan types is handled by IfcFanType. @@ -49426,7 +49531,7 @@ class IfcElectricTimeControl : public IfcFlowController { /// Out (NOTDEFINED, SOURCE): Outgoing air. /// /// Figure 224 illustrates fan port use. -/// Figure 224 — Fan port use +/// Figure 224 — Fan port use class IfcFan : public IfcFlowMovingDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcFan @@ -49441,7 +49546,7 @@ class IfcFan : public IfcFlowMovingDevice { }; /// A filter is an apparatus used to remove particulate or gaseous matter from fluids and gases. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcFilter defines the occurrence of any filter; common information about filter types is handled by IfcFilterType. @@ -49525,7 +49630,7 @@ class IfcFan : public IfcFlowMovingDevice { /// Out (DOMESTICCOLDWATER, SOURCE): Outgoing fluid. /// /// Figure 225 illustrates filter port use. -/// Figure 225 — Filter port use +/// Figure 225 — Filter port use class IfcFilter : public IfcFlowTreatmentDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcFilter @@ -49541,7 +49646,7 @@ class IfcFilter : public IfcFlowTreatmentDevice { /// A fire suppression terminal has the purpose of delivering a fluid (gas or liquid) that will suppress a fire. /// A fire suppression terminal provides for all forms of sprinkler, spreader and other form of terminal that is connected to a pipework system and intended to act in the role of suppressing a fire. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcFireSuppressionTerminal defines the occurrence of any fire suppression terminal; common information about fire suppression terminal types is handled by IfcFireSuppressionTerminalType. @@ -49619,7 +49724,7 @@ class IfcFireSuppressionTerminal : public IfcFlowTerminal { /// A flow instrument reads and displays the value of a particular property of a system at a point, or displays the difference in the value of a property between two points. /// Instrumentation is typically for the purpose of determining the value of the property at a point in time. It is not the purpose of an instrument to record or integrate the values over time (although they may be connected to recording devices that do perform such a function). This entity provides for all forms of mechanical flow instrument (thermometers, pressure gauges etc.) and electrical flow instruments (ammeters, voltmeters etc.) /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcFlowInstrument defines the occurrence of any flow instrument; common information about flow instrument types is handled by IfcFlowInstrumentType. @@ -49682,7 +49787,7 @@ class IfcFlowInstrument : public IfcDistributionControlElement { }; /// Entity Definition /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcProtectiveDeviceTrippingUnit defines the occurrence of any protective device tripping unit; common information about protective device tripping unit types is handled by IfcProtectiveDeviceTrippingUnitType. @@ -49746,7 +49851,7 @@ class IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { }; /// A sensor is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcSensor defines the occurrence of any sensor; common information about sensor types is handled by IfcSensorType. @@ -49754,7 +49859,7 @@ class IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { /// The IfcSensorType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. /// If the IfcSensorType has ports or aggregated elements, such objects are reflected at the IfcSensor occurrence using the IfcRelDefinesByObject relationship. /// Figure 179 illustrates sensor type use. -/// Figure 179 — Sensor type use +/// Figure 179 — Sensor type use /// /// Property Use Definition /// The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. @@ -49877,7 +49982,7 @@ class IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { /// Output (SIGNAL, SOURCE): Transmits signal. /// /// Figure 180 illustrates sensor port use. -/// Figure 180 — Sensor port use +/// Figure 180 — Sensor port use class IfcSensor : public IfcDistributionControlElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcSensor @@ -49893,7 +49998,7 @@ class IfcSensor : public IfcDistributionControlElement { /// A unitary control element combines a number of control components into a single product, such as a thermostat or humidistat. /// A unitary control element provides a housing for an aggregation of control or electrical distribution elements that, in combination, perform a singular (unitary) purpose. Each item in the aggregation may have its own geometric representation and location. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcUnitaryControlElement defines the occurrence of any unitary control element; common information about unitary control element types is handled by IfcUnitaryControlElementType. @@ -49901,7 +50006,7 @@ class IfcSensor : public IfcDistributionControlElement { /// The IfcUnitaryControlElementType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. /// If the IfcUnitaryControlElementType has ports or aggregated elements, such objects are reflected at the IfcUnitaryControlElement occurrence using the IfcRelDefinesByObject relationship. /// Figure 181 illustrates unitary control element type use. -/// Figure 181 — Unitary control element type use +/// Figure 181 — Unitary control element type use /// /// Property Use Definition /// The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. @@ -49944,7 +50049,7 @@ class IfcSensor : public IfcDistributionControlElement { /// Control (CONTROL, SOURCE): Receives power (typically 24V), and closes the circuit for Fan, Heat, and Cool. Port may be aggregated into sub-ports: 'Fan'(SIGNAL,SOURCE), 'Heat'(SIGNAL,SOURCE), and 'Cool'(SIGNAL,SOURCE) /// /// Figure 182 illustrates unitary control element port use. -/// Figure 182 — Unitary control element port use +/// Figure 182 — Unitary control element port use class IfcUnitaryControlElement : public IfcDistributionControlElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcUnitaryControlElement @@ -49959,7 +50064,7 @@ class IfcUnitaryControlElement : public IfcDistributionControlElement { }; /// An actuator is a mechanical device for moving or controlling a mechanism or system. An actuator takes energy, usually created by air, electricity, or liquid, and converts that into some kind of motion. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcActuator defines the occurrence of any actuator; common information about actuator types is handled by IfcActuatorType. @@ -50034,7 +50139,7 @@ class IfcActuator : public IfcDistributionControlElement { /// An alarm is a device that signals the existence of a condition or situation that is outside the boundaries of normal expectation or that activates such a device. /// Alarms include the provision of break glass buttons and manual pull boxes that are used to activate alarms. /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcAlarm defines the occurrence of any alarm; common information about alarm types is handled by IfcAlarmType. @@ -50088,7 +50193,7 @@ class IfcAlarm : public IfcDistributionControlElement { /// A controller is a device that monitors inputs and controls outputs within a building automation system. /// A controller may be physical (having placement within a spatial structure) or logical (a software interface or aggregated within a programmable physical controller). /// -/// HISTORY New entity in IFC2x4 +/// HISTORY  New entity in IFC2x4 /// /// Type Use Definition /// IfcController defines the occurrence of any controller; common information about controller types is handled by IfcControllerType. @@ -50096,7 +50201,7 @@ class IfcAlarm : public IfcDistributionControlElement { /// The IfcControllerType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. /// If the IfcControllerType has ports or aggregated elements, such objects are reflected at the IfcController occurrence using the IfcRelDefinesByObject relationship. /// Figure 177 illustrates controller type use. -/// Figure 177 — Controller type use +/// Figure 177 — Controller type use /// /// Property Use Definition /// The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. @@ -50190,7 +50295,7 @@ class IfcAlarm : public IfcDistributionControlElement { /// Output (SIGNAL, SOURCE): Sets the output value. /// /// Figure 178 illustrates controller port use. -/// Figure 178 — Controller port use +/// Figure 178 — Controller port use class IfcController : public IfcDistributionControlElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcController diff --git a/src/ifcparse/Ifc4enum.h b/src/ifcparse/Ifc4enum.h index 6109716d45c..0de222147d9 100644 --- a/src/ifcparse/Ifc4enum.h +++ b/src/ifcparse/Ifc4enum.h @@ -35,7 +35,7 @@ namespace Ifc4 { namespace Type { typedef enum { - IfcAbsorbedDoseMeasure, IfcAccelerationMeasure, IfcActionRequest, IfcActionRequestTypeEnum, IfcActionSourceTypeEnum, IfcActionTypeEnum, IfcActor, IfcActorRole, IfcActorSelect, IfcActuator, IfcActuatorType, IfcActuatorTypeEnum, IfcAddress, IfcAddressTypeEnum, IfcAdvancedBrep, IfcAdvancedBrepWithVoids, IfcAdvancedFace, IfcAirTerminal, IfcAirTerminalBox, IfcAirTerminalBoxType, IfcAirTerminalBoxTypeEnum, IfcAirTerminalType, IfcAirTerminalTypeEnum, IfcAirToAirHeatRecovery, IfcAirToAirHeatRecoveryType, IfcAirToAirHeatRecoveryTypeEnum, IfcAlarm, IfcAlarmType, IfcAlarmTypeEnum, IfcAmountOfSubstanceMeasure, IfcAnalysisModelTypeEnum, IfcAnalysisTheoryTypeEnum, IfcAngularVelocityMeasure, IfcAnnotation, IfcAnnotationFillArea, IfcApplication, IfcAppliedValue, IfcAppliedValueSelect, IfcApproval, IfcApprovalRelationship, IfcArbitraryClosedProfileDef, IfcArbitraryOpenProfileDef, IfcArbitraryProfileDefWithVoids, IfcArcIndex, IfcAreaDensityMeasure, IfcAreaMeasure, IfcArithmeticOperatorEnum, IfcAssemblyPlaceEnum, IfcAsset, IfcAsymmetricIShapeProfileDef, IfcAudioVisualAppliance, IfcAudioVisualApplianceType, IfcAudioVisualApplianceTypeEnum, IfcAxis1Placement, IfcAxis2Placement, IfcAxis2Placement2D, IfcAxis2Placement3D, IfcBeam, IfcBeamStandardCase, IfcBeamType, IfcBeamTypeEnum, IfcBenchmarkEnum, IfcBendingParameterSelect, IfcBinary, IfcBlobTexture, IfcBlock, IfcBoiler, IfcBoilerType, IfcBoilerTypeEnum, IfcBoolean, IfcBooleanClippingResult, IfcBooleanOperand, IfcBooleanOperator, IfcBooleanResult, IfcBoundaryCondition, IfcBoundaryCurve, IfcBoundaryEdgeCondition, IfcBoundaryFaceCondition, IfcBoundaryNodeCondition, IfcBoundaryNodeConditionWarping, IfcBoundedCurve, IfcBoundedSurface, IfcBoundingBox, IfcBoxAlignment, IfcBoxedHalfSpace, IfcBSplineCurve, IfcBSplineCurveForm, IfcBSplineCurveWithKnots, IfcBSplineSurface, IfcBSplineSurfaceForm, IfcBSplineSurfaceWithKnots, IfcBuilding, IfcBuildingElement, IfcBuildingElementPart, IfcBuildingElementPartType, IfcBuildingElementPartTypeEnum, IfcBuildingElementProxy, IfcBuildingElementProxyType, IfcBuildingElementProxyTypeEnum, IfcBuildingElementType, IfcBuildingStorey, IfcBuildingSystem, IfcBuildingSystemTypeEnum, IfcBurner, IfcBurnerType, IfcBurnerTypeEnum, IfcCableCarrierFitting, IfcCableCarrierFittingType, IfcCableCarrierFittingTypeEnum, IfcCableCarrierSegment, IfcCableCarrierSegmentType, IfcCableCarrierSegmentTypeEnum, IfcCableFitting, IfcCableFittingType, IfcCableFittingTypeEnum, IfcCableSegment, IfcCableSegmentType, IfcCableSegmentTypeEnum, IfcCardinalPointReference, IfcCartesianPoint, IfcCartesianPointList, IfcCartesianPointList2D, IfcCartesianPointList3D, IfcCartesianTransformationOperator, IfcCartesianTransformationOperator2D, IfcCartesianTransformationOperator2DnonUniform, IfcCartesianTransformationOperator3D, IfcCartesianTransformationOperator3DnonUniform, IfcCenterLineProfileDef, IfcChangeActionEnum, IfcChiller, IfcChillerType, IfcChillerTypeEnum, IfcChimney, IfcChimneyType, IfcChimneyTypeEnum, IfcCircle, IfcCircleHollowProfileDef, IfcCircleProfileDef, IfcCivilElement, IfcCivilElementType, IfcClassification, IfcClassificationReference, IfcClassificationReferenceSelect, IfcClassificationSelect, IfcClosedShell, IfcCoil, IfcCoilType, IfcCoilTypeEnum, IfcColour, IfcColourOrFactor, IfcColourRgb, IfcColourRgbList, IfcColourSpecification, IfcColumn, IfcColumnStandardCase, IfcColumnType, IfcColumnTypeEnum, IfcCommunicationsAppliance, IfcCommunicationsApplianceType, IfcCommunicationsApplianceTypeEnum, IfcComplexNumber, IfcComplexProperty, IfcComplexPropertyTemplate, IfcComplexPropertyTemplateTypeEnum, IfcCompositeCurve, IfcCompositeCurveOnSurface, IfcCompositeCurveSegment, IfcCompositeProfileDef, IfcCompoundPlaneAngleMeasure, IfcCompressor, IfcCompressorType, IfcCompressorTypeEnum, IfcCondenser, IfcCondenserType, IfcCondenserTypeEnum, IfcConic, IfcConnectedFaceSet, IfcConnectionCurveGeometry, IfcConnectionGeometry, IfcConnectionPointEccentricity, IfcConnectionPointGeometry, IfcConnectionSurfaceGeometry, IfcConnectionTypeEnum, IfcConnectionVolumeGeometry, IfcConstraint, IfcConstraintEnum, IfcConstructionEquipmentResource, IfcConstructionEquipmentResourceType, IfcConstructionEquipmentResourceTypeEnum, IfcConstructionMaterialResource, IfcConstructionMaterialResourceType, IfcConstructionMaterialResourceTypeEnum, IfcConstructionProductResource, IfcConstructionProductResourceType, IfcConstructionProductResourceTypeEnum, IfcConstructionResource, IfcConstructionResourceType, IfcContext, IfcContextDependentMeasure, IfcContextDependentUnit, IfcControl, IfcController, IfcControllerType, IfcControllerTypeEnum, IfcConversionBasedUnit, IfcConversionBasedUnitWithOffset, IfcCooledBeam, IfcCooledBeamType, IfcCooledBeamTypeEnum, IfcCoolingTower, IfcCoolingTowerType, IfcCoolingTowerTypeEnum, IfcCoordinateOperation, IfcCoordinateReferenceSystem, IfcCoordinateReferenceSystemSelect, IfcCostItem, IfcCostItemTypeEnum, IfcCostSchedule, IfcCostScheduleTypeEnum, IfcCostValue, IfcCountMeasure, IfcCovering, IfcCoveringType, IfcCoveringTypeEnum, IfcCrewResource, IfcCrewResourceType, IfcCrewResourceTypeEnum, IfcCsgPrimitive3D, IfcCsgSelect, IfcCsgSolid, IfcCShapeProfileDef, IfcCurrencyRelationship, IfcCurtainWall, IfcCurtainWallType, IfcCurtainWallTypeEnum, IfcCurvatureMeasure, IfcCurve, IfcCurveBoundedPlane, IfcCurveBoundedSurface, IfcCurveFontOrScaledCurveFontSelect, IfcCurveInterpolationEnum, IfcCurveOnSurface, IfcCurveOrEdgeCurve, IfcCurveStyle, IfcCurveStyleFont, IfcCurveStyleFontAndScaling, IfcCurveStyleFontPattern, IfcCurveStyleFontSelect, IfcCylindricalSurface, IfcDamper, IfcDamperType, IfcDamperTypeEnum, IfcDataOriginEnum, IfcDate, IfcDateTime, IfcDayInMonthNumber, IfcDayInWeekNumber, IfcDefinitionSelect, IfcDerivedMeasureValue, IfcDerivedProfileDef, IfcDerivedUnit, IfcDerivedUnitElement, IfcDerivedUnitEnum, IfcDescriptiveMeasure, IfcDimensionalExponents, IfcDimensionCount, IfcDirection, IfcDirectionSenseEnum, IfcDiscreteAccessory, IfcDiscreteAccessoryType, IfcDiscreteAccessoryTypeEnum, IfcDistributionChamberElement, IfcDistributionChamberElementType, IfcDistributionChamberElementTypeEnum, IfcDistributionCircuit, IfcDistributionControlElement, IfcDistributionControlElementType, IfcDistributionElement, IfcDistributionElementType, IfcDistributionFlowElement, IfcDistributionFlowElementType, IfcDistributionPort, IfcDistributionPortTypeEnum, IfcDistributionSystem, IfcDistributionSystemEnum, IfcDocumentConfidentialityEnum, IfcDocumentInformation, IfcDocumentInformationRelationship, IfcDocumentReference, IfcDocumentSelect, IfcDocumentStatusEnum, IfcDoor, IfcDoorLiningProperties, IfcDoorPanelOperationEnum, IfcDoorPanelPositionEnum, IfcDoorPanelProperties, IfcDoorStandardCase, IfcDoorStyle, IfcDoorStyleConstructionEnum, IfcDoorStyleOperationEnum, IfcDoorType, IfcDoorTypeEnum, IfcDoorTypeOperationEnum, IfcDoseEquivalentMeasure, IfcDraughtingPreDefinedColour, IfcDraughtingPreDefinedCurveFont, IfcDuctFitting, IfcDuctFittingType, IfcDuctFittingTypeEnum, IfcDuctSegment, IfcDuctSegmentType, IfcDuctSegmentTypeEnum, IfcDuctSilencer, IfcDuctSilencerType, IfcDuctSilencerTypeEnum, IfcDuration, IfcDynamicViscosityMeasure, IfcEdge, IfcEdgeCurve, IfcEdgeLoop, IfcElectricAppliance, IfcElectricApplianceType, IfcElectricApplianceTypeEnum, IfcElectricCapacitanceMeasure, IfcElectricChargeMeasure, IfcElectricConductanceMeasure, IfcElectricCurrentMeasure, IfcElectricDistributionBoard, IfcElectricDistributionBoardType, IfcElectricDistributionBoardTypeEnum, IfcElectricFlowStorageDevice, IfcElectricFlowStorageDeviceType, IfcElectricFlowStorageDeviceTypeEnum, IfcElectricGenerator, IfcElectricGeneratorType, IfcElectricGeneratorTypeEnum, IfcElectricMotor, IfcElectricMotorType, IfcElectricMotorTypeEnum, IfcElectricResistanceMeasure, IfcElectricTimeControl, IfcElectricTimeControlType, IfcElectricTimeControlTypeEnum, IfcElectricVoltageMeasure, IfcElement, IfcElementarySurface, IfcElementAssembly, IfcElementAssemblyType, IfcElementAssemblyTypeEnum, IfcElementComponent, IfcElementComponentType, IfcElementCompositionEnum, IfcElementQuantity, IfcElementType, IfcEllipse, IfcEllipseProfileDef, IfcEnergyConversionDevice, IfcEnergyConversionDeviceType, IfcEnergyMeasure, IfcEngine, IfcEngineType, IfcEngineTypeEnum, IfcEvaporativeCooler, IfcEvaporativeCoolerType, IfcEvaporativeCoolerTypeEnum, IfcEvaporator, IfcEvaporatorType, IfcEvaporatorTypeEnum, IfcEvent, IfcEventTime, IfcEventTriggerTypeEnum, IfcEventType, IfcEventTypeEnum, IfcExtendedProperties, IfcExternalInformation, IfcExternallyDefinedHatchStyle, IfcExternallyDefinedSurfaceStyle, IfcExternallyDefinedTextFont, IfcExternalReference, IfcExternalReferenceRelationship, IfcExternalSpatialElement, IfcExternalSpatialElementTypeEnum, IfcExternalSpatialStructureElement, IfcExtrudedAreaSolid, IfcExtrudedAreaSolidTapered, IfcFace, IfcFaceBasedSurfaceModel, IfcFaceBound, IfcFaceOuterBound, IfcFaceSurface, IfcFacetedBrep, IfcFacetedBrepWithVoids, IfcFailureConnectionCondition, IfcFan, IfcFanType, IfcFanTypeEnum, IfcFastener, IfcFastenerType, IfcFastenerTypeEnum, IfcFeatureElement, IfcFeatureElementAddition, IfcFeatureElementSubtraction, IfcFillAreaStyle, IfcFillAreaStyleHatching, IfcFillAreaStyleTiles, IfcFillStyleSelect, IfcFilter, IfcFilterType, IfcFilterTypeEnum, IfcFireSuppressionTerminal, IfcFireSuppressionTerminalType, IfcFireSuppressionTerminalTypeEnum, IfcFixedReferenceSweptAreaSolid, IfcFlowController, IfcFlowControllerType, IfcFlowDirectionEnum, IfcFlowFitting, IfcFlowFittingType, IfcFlowInstrument, IfcFlowInstrumentType, IfcFlowInstrumentTypeEnum, IfcFlowMeter, IfcFlowMeterType, IfcFlowMeterTypeEnum, IfcFlowMovingDevice, IfcFlowMovingDeviceType, IfcFlowSegment, IfcFlowSegmentType, IfcFlowStorageDevice, IfcFlowStorageDeviceType, IfcFlowTerminal, IfcFlowTerminalType, IfcFlowTreatmentDevice, IfcFlowTreatmentDeviceType, IfcFontStyle, IfcFontVariant, IfcFontWeight, IfcFooting, IfcFootingType, IfcFootingTypeEnum, IfcForceMeasure, IfcFrequencyMeasure, IfcFurnishingElement, IfcFurnishingElementType, IfcFurniture, IfcFurnitureType, IfcFurnitureTypeEnum, IfcGeographicElement, IfcGeographicElementType, IfcGeographicElementTypeEnum, IfcGeometricCurveSet, IfcGeometricProjectionEnum, IfcGeometricRepresentationContext, IfcGeometricRepresentationItem, IfcGeometricRepresentationSubContext, IfcGeometricSet, IfcGeometricSetSelect, IfcGloballyUniqueId, IfcGlobalOrLocalEnum, IfcGrid, IfcGridAxis, IfcGridPlacement, IfcGridPlacementDirectionSelect, IfcGridTypeEnum, IfcGroup, IfcHalfSpaceSolid, IfcHatchLineDistanceSelect, IfcHeatExchanger, IfcHeatExchangerType, IfcHeatExchangerTypeEnum, IfcHeatFluxDensityMeasure, IfcHeatingValueMeasure, IfcHumidifier, IfcHumidifierType, IfcHumidifierTypeEnum, IfcIdentifier, IfcIlluminanceMeasure, IfcImageTexture, IfcIndexedColourMap, IfcIndexedPolyCurve, IfcIndexedTextureMap, IfcIndexedTriangleTextureMap, IfcInductanceMeasure, IfcInteger, IfcIntegerCountRateMeasure, IfcInterceptor, IfcInterceptorType, IfcInterceptorTypeEnum, IfcInternalOrExternalEnum, IfcInventory, IfcInventoryTypeEnum, IfcIonConcentrationMeasure, IfcIrregularTimeSeries, IfcIrregularTimeSeriesValue, IfcIShapeProfileDef, IfcIsothermalMoistureCapacityMeasure, IfcJunctionBox, IfcJunctionBoxType, IfcJunctionBoxTypeEnum, IfcKinematicViscosityMeasure, IfcKnotType, IfcLabel, IfcLaborResource, IfcLaborResourceType, IfcLaborResourceTypeEnum, IfcLagTime, IfcLamp, IfcLampType, IfcLampTypeEnum, IfcLanguageId, IfcLayeredItem, IfcLayerSetDirectionEnum, IfcLengthMeasure, IfcLibraryInformation, IfcLibraryReference, IfcLibrarySelect, IfcLightDistributionCurveEnum, IfcLightDistributionData, IfcLightDistributionDataSourceSelect, IfcLightEmissionSourceEnum, IfcLightFixture, IfcLightFixtureType, IfcLightFixtureTypeEnum, IfcLightIntensityDistribution, IfcLightSource, IfcLightSourceAmbient, IfcLightSourceDirectional, IfcLightSourceGoniometric, IfcLightSourcePositional, IfcLightSourceSpot, IfcLine, IfcLinearForceMeasure, IfcLinearMomentMeasure, IfcLinearStiffnessMeasure, IfcLinearVelocityMeasure, IfcLineIndex, IfcLoadGroupTypeEnum, IfcLocalPlacement, IfcLogical, IfcLogicalOperatorEnum, IfcLoop, IfcLShapeProfileDef, IfcLuminousFluxMeasure, IfcLuminousIntensityDistributionMeasure, IfcLuminousIntensityMeasure, IfcMagneticFluxDensityMeasure, IfcMagneticFluxMeasure, IfcManifoldSolidBrep, IfcMapConversion, IfcMappedItem, IfcMassDensityMeasure, IfcMassFlowRateMeasure, IfcMassMeasure, IfcMassPerLengthMeasure, IfcMaterial, IfcMaterialClassificationRelationship, IfcMaterialConstituent, IfcMaterialConstituentSet, IfcMaterialDefinition, IfcMaterialDefinitionRepresentation, IfcMaterialLayer, IfcMaterialLayerSet, IfcMaterialLayerSetUsage, IfcMaterialLayerWithOffsets, IfcMaterialList, IfcMaterialProfile, IfcMaterialProfileSet, IfcMaterialProfileSetUsage, IfcMaterialProfileSetUsageTapering, IfcMaterialProfileWithOffsets, IfcMaterialProperties, IfcMaterialRelationship, IfcMaterialSelect, IfcMaterialUsageDefinition, IfcMeasureValue, IfcMeasureWithUnit, IfcMechanicalFastener, IfcMechanicalFastenerType, IfcMechanicalFastenerTypeEnum, IfcMedicalDevice, IfcMedicalDeviceType, IfcMedicalDeviceTypeEnum, IfcMember, IfcMemberStandardCase, IfcMemberType, IfcMemberTypeEnum, IfcMetric, IfcMetricValueSelect, IfcMirroredProfileDef, IfcModulusOfElasticityMeasure, IfcModulusOfLinearSubgradeReactionMeasure, IfcModulusOfRotationalSubgradeReactionMeasure, IfcModulusOfRotationalSubgradeReactionSelect, IfcModulusOfSubgradeReactionMeasure, IfcModulusOfSubgradeReactionSelect, IfcModulusOfTranslationalSubgradeReactionSelect, IfcMoistureDiffusivityMeasure, IfcMolecularWeightMeasure, IfcMomentOfInertiaMeasure, IfcMonetaryMeasure, IfcMonetaryUnit, IfcMonthInYearNumber, IfcMotorConnection, IfcMotorConnectionType, IfcMotorConnectionTypeEnum, IfcNamedUnit, IfcNonNegativeLengthMeasure, IfcNormalisedRatioMeasure, IfcNullStyle, IfcNumericMeasure, IfcObject, IfcObjectDefinition, IfcObjective, IfcObjectiveEnum, IfcObjectPlacement, IfcObjectReferenceSelect, IfcObjectTypeEnum, IfcOccupant, IfcOccupantTypeEnum, IfcOffsetCurve2D, IfcOffsetCurve3D, IfcOpeningElement, IfcOpeningElementTypeEnum, IfcOpeningStandardCase, IfcOpenShell, IfcOrganization, IfcOrganizationRelationship, IfcOrientedEdge, IfcOuterBoundaryCurve, IfcOutlet, IfcOutletType, IfcOutletTypeEnum, IfcOwnerHistory, IfcParameterizedProfileDef, IfcParameterValue, IfcPath, IfcPcurve, IfcPerformanceHistory, IfcPerformanceHistoryTypeEnum, IfcPermeableCoveringOperationEnum, IfcPermeableCoveringProperties, IfcPermit, IfcPermitTypeEnum, IfcPerson, IfcPersonAndOrganization, IfcPHMeasure, IfcPhysicalComplexQuantity, IfcPhysicalOrVirtualEnum, IfcPhysicalQuantity, IfcPhysicalSimpleQuantity, IfcPile, IfcPileConstructionEnum, IfcPileType, IfcPileTypeEnum, IfcPipeFitting, IfcPipeFittingType, IfcPipeFittingTypeEnum, IfcPipeSegment, IfcPipeSegmentType, IfcPipeSegmentTypeEnum, IfcPixelTexture, IfcPlacement, IfcPlanarBox, IfcPlanarExtent, IfcPlanarForceMeasure, IfcPlane, IfcPlaneAngleMeasure, IfcPlate, IfcPlateStandardCase, IfcPlateType, IfcPlateTypeEnum, IfcPoint, IfcPointOnCurve, IfcPointOnSurface, IfcPointOrVertexPoint, IfcPolygonalBoundedHalfSpace, IfcPolyline, IfcPolyLoop, IfcPort, IfcPositiveInteger, IfcPositiveLengthMeasure, IfcPositivePlaneAngleMeasure, IfcPositiveRatioMeasure, IfcPostalAddress, IfcPowerMeasure, IfcPreDefinedColour, IfcPreDefinedCurveFont, IfcPreDefinedItem, IfcPreDefinedProperties, IfcPreDefinedPropertySet, IfcPreDefinedTextFont, IfcPresentableText, IfcPresentationItem, IfcPresentationLayerAssignment, IfcPresentationLayerWithStyle, IfcPresentationStyle, IfcPresentationStyleAssignment, IfcPresentationStyleSelect, IfcPressureMeasure, IfcProcedure, IfcProcedureType, IfcProcedureTypeEnum, IfcProcess, IfcProcessSelect, IfcProduct, IfcProductDefinitionShape, IfcProductRepresentation, IfcProductRepresentationSelect, IfcProductSelect, IfcProfileDef, IfcProfileProperties, IfcProfileTypeEnum, IfcProject, IfcProjectedCRS, IfcProjectedOrTrueLengthEnum, IfcProjectionElement, IfcProjectionElementTypeEnum, IfcProjectLibrary, IfcProjectOrder, IfcProjectOrderTypeEnum, IfcProperty, IfcPropertyAbstraction, IfcPropertyBoundedValue, IfcPropertyDefinition, IfcPropertyDependencyRelationship, IfcPropertyEnumeratedValue, IfcPropertyEnumeration, IfcPropertyListValue, IfcPropertyReferenceValue, IfcPropertySet, IfcPropertySetDefinition, IfcPropertySetDefinitionSelect, IfcPropertySetDefinitionSet, IfcPropertySetTemplate, IfcPropertySetTemplateTypeEnum, IfcPropertySingleValue, IfcPropertyTableValue, IfcPropertyTemplate, IfcPropertyTemplateDefinition, IfcProtectiveDevice, IfcProtectiveDeviceTrippingUnit, IfcProtectiveDeviceTrippingUnitType, IfcProtectiveDeviceTrippingUnitTypeEnum, IfcProtectiveDeviceType, IfcProtectiveDeviceTypeEnum, IfcProxy, IfcPump, IfcPumpType, IfcPumpTypeEnum, IfcQuantityArea, IfcQuantityCount, IfcQuantityLength, IfcQuantitySet, IfcQuantityTime, IfcQuantityVolume, IfcQuantityWeight, IfcRadioActivityMeasure, IfcRailing, IfcRailingType, IfcRailingTypeEnum, IfcRamp, IfcRampFlight, IfcRampFlightType, IfcRampFlightTypeEnum, IfcRampType, IfcRampTypeEnum, IfcRatioMeasure, IfcRationalBSplineCurveWithKnots, IfcRationalBSplineSurfaceWithKnots, IfcReal, IfcRectangleHollowProfileDef, IfcRectangleProfileDef, IfcRectangularPyramid, IfcRectangularTrimmedSurface, IfcRecurrencePattern, IfcRecurrenceTypeEnum, IfcReference, IfcReflectanceMethodEnum, IfcRegularTimeSeries, IfcReinforcementBarProperties, IfcReinforcementDefinitionProperties, IfcReinforcingBar, IfcReinforcingBarRoleEnum, IfcReinforcingBarSurfaceEnum, IfcReinforcingBarType, IfcReinforcingBarTypeEnum, IfcReinforcingElement, IfcReinforcingElementType, IfcReinforcingMesh, IfcReinforcingMeshType, IfcReinforcingMeshTypeEnum, IfcRelAggregates, IfcRelAssigns, IfcRelAssignsToActor, IfcRelAssignsToControl, IfcRelAssignsToGroup, IfcRelAssignsToGroupByFactor, IfcRelAssignsToProcess, IfcRelAssignsToProduct, IfcRelAssignsToResource, IfcRelAssociates, IfcRelAssociatesApproval, IfcRelAssociatesClassification, IfcRelAssociatesConstraint, IfcRelAssociatesDocument, IfcRelAssociatesLibrary, IfcRelAssociatesMaterial, IfcRelationship, IfcRelConnects, IfcRelConnectsElements, IfcRelConnectsPathElements, IfcRelConnectsPorts, IfcRelConnectsPortToElement, IfcRelConnectsStructuralActivity, IfcRelConnectsStructuralMember, IfcRelConnectsWithEccentricity, IfcRelConnectsWithRealizingElements, IfcRelContainedInSpatialStructure, IfcRelCoversBldgElements, IfcRelCoversSpaces, IfcRelDeclares, IfcRelDecomposes, IfcRelDefines, IfcRelDefinesByObject, IfcRelDefinesByProperties, IfcRelDefinesByTemplate, IfcRelDefinesByType, IfcRelFillsElement, IfcRelFlowControlElements, IfcRelInterferesElements, IfcRelNests, IfcRelProjectsElement, IfcRelReferencedInSpatialStructure, IfcRelSequence, IfcRelServicesBuildings, IfcRelSpaceBoundary, IfcRelSpaceBoundary1stLevel, IfcRelSpaceBoundary2ndLevel, IfcRelVoidsElement, IfcReparametrisedCompositeCurveSegment, IfcRepresentation, IfcRepresentationContext, IfcRepresentationItem, IfcRepresentationMap, IfcResource, IfcResourceApprovalRelationship, IfcResourceConstraintRelationship, IfcResourceLevelRelationship, IfcResourceObjectSelect, IfcResourceSelect, IfcResourceTime, IfcRevolvedAreaSolid, IfcRevolvedAreaSolidTapered, IfcRightCircularCone, IfcRightCircularCylinder, IfcRoleEnum, IfcRoof, IfcRoofType, IfcRoofTypeEnum, IfcRoot, IfcRotationalFrequencyMeasure, IfcRotationalMassMeasure, IfcRotationalStiffnessMeasure, IfcRotationalStiffnessSelect, IfcRoundedRectangleProfileDef, IfcSanitaryTerminal, IfcSanitaryTerminalType, IfcSanitaryTerminalTypeEnum, IfcSchedulingTime, IfcSectionalAreaIntegralMeasure, IfcSectionedSpine, IfcSectionModulusMeasure, IfcSectionProperties, IfcSectionReinforcementProperties, IfcSectionTypeEnum, IfcSegmentIndexSelect, IfcSensor, IfcSensorType, IfcSensorTypeEnum, IfcSequenceEnum, IfcShadingDevice, IfcShadingDeviceType, IfcShadingDeviceTypeEnum, IfcShapeAspect, IfcShapeModel, IfcShapeRepresentation, IfcShearModulusMeasure, IfcShell, IfcShellBasedSurfaceModel, IfcSimpleProperty, IfcSimplePropertyTemplate, IfcSimplePropertyTemplateTypeEnum, IfcSimpleValue, IfcSIPrefix, IfcSite, IfcSIUnit, IfcSIUnitName, IfcSizeSelect, IfcSlab, IfcSlabElementedCase, IfcSlabStandardCase, IfcSlabType, IfcSlabTypeEnum, IfcSlippageConnectionCondition, IfcSolarDevice, IfcSolarDeviceType, IfcSolarDeviceTypeEnum, IfcSolidAngleMeasure, IfcSolidModel, IfcSolidOrShell, IfcSoundPowerLevelMeasure, IfcSoundPowerMeasure, IfcSoundPressureLevelMeasure, IfcSoundPressureMeasure, IfcSpace, IfcSpaceBoundarySelect, IfcSpaceHeater, IfcSpaceHeaterType, IfcSpaceHeaterTypeEnum, IfcSpaceType, IfcSpaceTypeEnum, IfcSpatialElement, IfcSpatialElementType, IfcSpatialStructureElement, IfcSpatialStructureElementType, IfcSpatialZone, IfcSpatialZoneType, IfcSpatialZoneTypeEnum, IfcSpecificHeatCapacityMeasure, IfcSpecularExponent, IfcSpecularHighlightSelect, IfcSpecularRoughness, IfcSphere, IfcStackTerminal, IfcStackTerminalType, IfcStackTerminalTypeEnum, IfcStair, IfcStairFlight, IfcStairFlightType, IfcStairFlightTypeEnum, IfcStairType, IfcStairTypeEnum, IfcStateEnum, IfcStrippedOptional, IfcStructuralAction, IfcStructuralActivity, IfcStructuralActivityAssignmentSelect, IfcStructuralAnalysisModel, IfcStructuralConnection, IfcStructuralConnectionCondition, IfcStructuralCurveAction, IfcStructuralCurveActivityTypeEnum, IfcStructuralCurveConnection, IfcStructuralCurveMember, IfcStructuralCurveMemberTypeEnum, IfcStructuralCurveMemberVarying, IfcStructuralCurveReaction, IfcStructuralItem, IfcStructuralLinearAction, IfcStructuralLoad, IfcStructuralLoadCase, IfcStructuralLoadConfiguration, IfcStructuralLoadGroup, IfcStructuralLoadLinearForce, IfcStructuralLoadOrResult, IfcStructuralLoadPlanarForce, IfcStructuralLoadSingleDisplacement, IfcStructuralLoadSingleDisplacementDistortion, IfcStructuralLoadSingleForce, IfcStructuralLoadSingleForceWarping, IfcStructuralLoadStatic, IfcStructuralLoadTemperature, IfcStructuralMember, IfcStructuralPlanarAction, IfcStructuralPointAction, IfcStructuralPointConnection, IfcStructuralPointReaction, IfcStructuralReaction, IfcStructuralResultGroup, IfcStructuralSurfaceAction, IfcStructuralSurfaceActivityTypeEnum, IfcStructuralSurfaceConnection, IfcStructuralSurfaceMember, IfcStructuralSurfaceMemberTypeEnum, IfcStructuralSurfaceMemberVarying, IfcStructuralSurfaceReaction, IfcStyleAssignmentSelect, IfcStyledItem, IfcStyledRepresentation, IfcStyleModel, IfcSubContractResource, IfcSubContractResourceType, IfcSubContractResourceTypeEnum, IfcSubedge, IfcSurface, IfcSurfaceCurveSweptAreaSolid, IfcSurfaceFeature, IfcSurfaceFeatureTypeEnum, IfcSurfaceOfLinearExtrusion, IfcSurfaceOfRevolution, IfcSurfaceOrFaceSurface, IfcSurfaceReinforcementArea, IfcSurfaceSide, IfcSurfaceStyle, IfcSurfaceStyleElementSelect, IfcSurfaceStyleLighting, IfcSurfaceStyleRefraction, IfcSurfaceStyleRendering, IfcSurfaceStyleShading, IfcSurfaceStyleWithTextures, IfcSurfaceTexture, IfcSweptAreaSolid, IfcSweptDiskSolid, IfcSweptDiskSolidPolygonal, IfcSweptSurface, IfcSwitchingDevice, IfcSwitchingDeviceType, IfcSwitchingDeviceTypeEnum, IfcSystem, IfcSystemFurnitureElement, IfcSystemFurnitureElementType, IfcSystemFurnitureElementTypeEnum, IfcTable, IfcTableColumn, IfcTableRow, IfcTank, IfcTankType, IfcTankTypeEnum, IfcTask, IfcTaskDurationEnum, IfcTaskTime, IfcTaskTimeRecurring, IfcTaskType, IfcTaskTypeEnum, IfcTelecomAddress, IfcTemperatureGradientMeasure, IfcTemperatureRateOfChangeMeasure, IfcTendon, IfcTendonAnchor, IfcTendonAnchorType, IfcTendonAnchorTypeEnum, IfcTendonType, IfcTendonTypeEnum, IfcTessellatedFaceSet, IfcTessellatedItem, IfcText, IfcTextAlignment, IfcTextDecoration, IfcTextFontName, IfcTextFontSelect, IfcTextLiteral, IfcTextLiteralWithExtent, IfcTextPath, IfcTextStyle, IfcTextStyleFontModel, IfcTextStyleForDefinedFont, IfcTextStyleTextModel, IfcTextTransformation, IfcTextureCoordinate, IfcTextureCoordinateGenerator, IfcTextureMap, IfcTextureVertex, IfcTextureVertexList, IfcThermalAdmittanceMeasure, IfcThermalConductivityMeasure, IfcThermalExpansionCoefficientMeasure, IfcThermalResistanceMeasure, IfcThermalTransmittanceMeasure, IfcThermodynamicTemperatureMeasure, IfcTime, IfcTimeMeasure, IfcTimeOrRatioSelect, IfcTimePeriod, IfcTimeSeries, IfcTimeSeriesDataTypeEnum, IfcTimeSeriesValue, IfcTimeStamp, IfcTopologicalRepresentationItem, IfcTopologyRepresentation, IfcTorqueMeasure, IfcTransformer, IfcTransformerType, IfcTransformerTypeEnum, IfcTransitionCode, IfcTranslationalStiffnessSelect, IfcTransportElement, IfcTransportElementType, IfcTransportElementTypeEnum, IfcTrapeziumProfileDef, IfcTriangulatedFaceSet, IfcTrimmedCurve, IfcTrimmingPreference, IfcTrimmingSelect, IfcTShapeProfileDef, IfcTubeBundle, IfcTubeBundleType, IfcTubeBundleTypeEnum, IfcTypeObject, IfcTypeProcess, IfcTypeProduct, IfcTypeResource, IfcUnit, IfcUnitaryControlElement, IfcUnitaryControlElementType, IfcUnitaryControlElementTypeEnum, IfcUnitaryEquipment, IfcUnitaryEquipmentType, IfcUnitaryEquipmentTypeEnum, IfcUnitAssignment, IfcUnitEnum, IfcURIReference, IfcUShapeProfileDef, IfcValue, IfcValve, IfcValveType, IfcValveTypeEnum, IfcVaporPermeabilityMeasure, IfcVector, IfcVectorOrDirection, IfcVertex, IfcVertexLoop, IfcVertexPoint, IfcVibrationIsolator, IfcVibrationIsolatorType, IfcVibrationIsolatorTypeEnum, IfcVirtualElement, IfcVirtualGridIntersection, IfcVoidingFeature, IfcVoidingFeatureTypeEnum, IfcVolumeMeasure, IfcVolumetricFlowRateMeasure, IfcWall, IfcWallElementedCase, IfcWallStandardCase, IfcWallType, IfcWallTypeEnum, IfcWarpingConstantMeasure, IfcWarpingMomentMeasure, IfcWarpingStiffnessSelect, IfcWasteTerminal, IfcWasteTerminalType, IfcWasteTerminalTypeEnum, IfcWindow, IfcWindowLiningProperties, IfcWindowPanelOperationEnum, IfcWindowPanelPositionEnum, IfcWindowPanelProperties, IfcWindowStandardCase, IfcWindowStyle, IfcWindowStyleConstructionEnum, IfcWindowStyleOperationEnum, IfcWindowType, IfcWindowTypeEnum, IfcWindowTypePartitioningEnum, IfcWorkCalendar, IfcWorkCalendarTypeEnum, IfcWorkControl, IfcWorkPlan, IfcWorkPlanTypeEnum, IfcWorkSchedule, IfcWorkScheduleTypeEnum, IfcWorkTime, IfcZone, IfcZShapeProfileDef, UNDEFINED + IfcAbsorbedDoseMeasure, IfcAccelerationMeasure, IfcActionRequest, IfcActionRequestTypeEnum, IfcActionSourceTypeEnum, IfcActionTypeEnum, IfcActor, IfcActorRole, IfcActorSelect, IfcActuator, IfcActuatorType, IfcActuatorTypeEnum, IfcAddress, IfcAddressTypeEnum, IfcAdvancedBrep, IfcAdvancedBrepWithVoids, IfcAdvancedFace, IfcAirTerminal, IfcAirTerminalBox, IfcAirTerminalBoxType, IfcAirTerminalBoxTypeEnum, IfcAirTerminalType, IfcAirTerminalTypeEnum, IfcAirToAirHeatRecovery, IfcAirToAirHeatRecoveryType, IfcAirToAirHeatRecoveryTypeEnum, IfcAlarm, IfcAlarmType, IfcAlarmTypeEnum, IfcAmountOfSubstanceMeasure, IfcAnalysisModelTypeEnum, IfcAnalysisTheoryTypeEnum, IfcAngularVelocityMeasure, IfcAnnotation, IfcAnnotationFillArea, IfcApplication, IfcAppliedValue, IfcAppliedValueSelect, IfcApproval, IfcApprovalRelationship, IfcArbitraryClosedProfileDef, IfcArbitraryOpenProfileDef, IfcArbitraryProfileDefWithVoids, IfcArcIndex, IfcAreaDensityMeasure, IfcAreaMeasure, IfcArithmeticOperatorEnum, IfcAssemblyPlaceEnum, IfcAsset, IfcAsymmetricIShapeProfileDef, IfcAudioVisualAppliance, IfcAudioVisualApplianceType, IfcAudioVisualApplianceTypeEnum, IfcAxis1Placement, IfcAxis2Placement, IfcAxis2Placement2D, IfcAxis2Placement3D, IfcBeam, IfcBeamStandardCase, IfcBeamType, IfcBeamTypeEnum, IfcBenchmarkEnum, IfcBendingParameterSelect, IfcBinary, IfcBlobTexture, IfcBlock, IfcBoiler, IfcBoilerType, IfcBoilerTypeEnum, IfcBoolean, IfcBooleanClippingResult, IfcBooleanOperand, IfcBooleanOperator, IfcBooleanResult, IfcBoundaryCondition, IfcBoundaryCurve, IfcBoundaryEdgeCondition, IfcBoundaryFaceCondition, IfcBoundaryNodeCondition, IfcBoundaryNodeConditionWarping, IfcBoundedCurve, IfcBoundedSurface, IfcBoundingBox, IfcBoxAlignment, IfcBoxedHalfSpace, IfcBSplineCurve, IfcBSplineCurveForm, IfcBSplineCurveWithKnots, IfcBSplineSurface, IfcBSplineSurfaceForm, IfcBSplineSurfaceWithKnots, IfcBuilding, IfcBuildingElement, IfcBuildingElementPart, IfcBuildingElementPartType, IfcBuildingElementPartTypeEnum, IfcBuildingElementProxy, IfcBuildingElementProxyType, IfcBuildingElementProxyTypeEnum, IfcBuildingElementType, IfcBuildingStorey, IfcBuildingSystem, IfcBuildingSystemTypeEnum, IfcBurner, IfcBurnerType, IfcBurnerTypeEnum, IfcCableCarrierFitting, IfcCableCarrierFittingType, IfcCableCarrierFittingTypeEnum, IfcCableCarrierSegment, IfcCableCarrierSegmentType, IfcCableCarrierSegmentTypeEnum, IfcCableFitting, IfcCableFittingType, IfcCableFittingTypeEnum, IfcCableSegment, IfcCableSegmentType, IfcCableSegmentTypeEnum, IfcCardinalPointReference, IfcCartesianPoint, IfcCartesianPointList, IfcCartesianPointList2D, IfcCartesianPointList3D, IfcCartesianTransformationOperator, IfcCartesianTransformationOperator2D, IfcCartesianTransformationOperator2DnonUniform, IfcCartesianTransformationOperator3D, IfcCartesianTransformationOperator3DnonUniform, IfcCenterLineProfileDef, IfcChangeActionEnum, IfcChiller, IfcChillerType, IfcChillerTypeEnum, IfcChimney, IfcChimneyType, IfcChimneyTypeEnum, IfcCircle, IfcCircleHollowProfileDef, IfcCircleProfileDef, IfcCivilElement, IfcCivilElementType, IfcClassification, IfcClassificationReference, IfcClassificationReferenceSelect, IfcClassificationSelect, IfcClosedShell, IfcCoil, IfcCoilType, IfcCoilTypeEnum, IfcColour, IfcColourOrFactor, IfcColourRgb, IfcColourRgbList, IfcColourSpecification, IfcColumn, IfcColumnStandardCase, IfcColumnType, IfcColumnTypeEnum, IfcCommunicationsAppliance, IfcCommunicationsApplianceType, IfcCommunicationsApplianceTypeEnum, IfcComplexNumber, IfcComplexProperty, IfcComplexPropertyTemplate, IfcComplexPropertyTemplateTypeEnum, IfcCompositeCurve, IfcCompositeCurveOnSurface, IfcCompositeCurveSegment, IfcCompositeProfileDef, IfcCompoundPlaneAngleMeasure, IfcCompressor, IfcCompressorType, IfcCompressorTypeEnum, IfcCondenser, IfcCondenserType, IfcCondenserTypeEnum, IfcConic, IfcConnectedFaceSet, IfcConnectionCurveGeometry, IfcConnectionGeometry, IfcConnectionPointEccentricity, IfcConnectionPointGeometry, IfcConnectionSurfaceGeometry, IfcConnectionTypeEnum, IfcConnectionVolumeGeometry, IfcConstraint, IfcConstraintEnum, IfcConstructionEquipmentResource, IfcConstructionEquipmentResourceType, IfcConstructionEquipmentResourceTypeEnum, IfcConstructionMaterialResource, IfcConstructionMaterialResourceType, IfcConstructionMaterialResourceTypeEnum, IfcConstructionProductResource, IfcConstructionProductResourceType, IfcConstructionProductResourceTypeEnum, IfcConstructionResource, IfcConstructionResourceType, IfcContext, IfcContextDependentMeasure, IfcContextDependentUnit, IfcControl, IfcController, IfcControllerType, IfcControllerTypeEnum, IfcConversionBasedUnit, IfcConversionBasedUnitWithOffset, IfcCooledBeam, IfcCooledBeamType, IfcCooledBeamTypeEnum, IfcCoolingTower, IfcCoolingTowerType, IfcCoolingTowerTypeEnum, IfcCoordinateOperation, IfcCoordinateReferenceSystem, IfcCoordinateReferenceSystemSelect, IfcCostItem, IfcCostItemTypeEnum, IfcCostSchedule, IfcCostScheduleTypeEnum, IfcCostValue, IfcCountMeasure, IfcCovering, IfcCoveringType, IfcCoveringTypeEnum, IfcCrewResource, IfcCrewResourceType, IfcCrewResourceTypeEnum, IfcCsgPrimitive3D, IfcCsgSelect, IfcCsgSolid, IfcCShapeProfileDef, IfcCurrencyRelationship, IfcCurtainWall, IfcCurtainWallType, IfcCurtainWallTypeEnum, IfcCurvatureMeasure, IfcCurve, IfcCurveBoundedPlane, IfcCurveBoundedSurface, IfcCurveFontOrScaledCurveFontSelect, IfcCurveInterpolationEnum, IfcCurveOnSurface, IfcCurveOrEdgeCurve, IfcCurveStyle, IfcCurveStyleFont, IfcCurveStyleFontAndScaling, IfcCurveStyleFontPattern, IfcCurveStyleFontSelect, IfcCylindricalSurface, IfcDamper, IfcDamperType, IfcDamperTypeEnum, IfcDataOriginEnum, IfcDate, IfcDateTime, IfcDayInMonthNumber, IfcDayInWeekNumber, IfcDefinitionSelect, IfcDerivedMeasureValue, IfcDerivedProfileDef, IfcDerivedUnit, IfcDerivedUnitElement, IfcDerivedUnitEnum, IfcDescriptiveMeasure, IfcDimensionalExponents, IfcDimensionCount, IfcDirection, IfcDirectionSenseEnum, IfcDiscreteAccessory, IfcDiscreteAccessoryType, IfcDiscreteAccessoryTypeEnum, IfcDistributionChamberElement, IfcDistributionChamberElementType, IfcDistributionChamberElementTypeEnum, IfcDistributionCircuit, IfcDistributionControlElement, IfcDistributionControlElementType, IfcDistributionElement, IfcDistributionElementType, IfcDistributionFlowElement, IfcDistributionFlowElementType, IfcDistributionPort, IfcDistributionPortTypeEnum, IfcDistributionSystem, IfcDistributionSystemEnum, IfcDocumentConfidentialityEnum, IfcDocumentInformation, IfcDocumentInformationRelationship, IfcDocumentReference, IfcDocumentSelect, IfcDocumentStatusEnum, IfcDoor, IfcDoorLiningProperties, IfcDoorPanelOperationEnum, IfcDoorPanelPositionEnum, IfcDoorPanelProperties, IfcDoorStandardCase, IfcDoorStyle, IfcDoorStyleConstructionEnum, IfcDoorStyleOperationEnum, IfcDoorType, IfcDoorTypeEnum, IfcDoorTypeOperationEnum, IfcDoseEquivalentMeasure, IfcDraughtingPreDefinedColour, IfcDraughtingPreDefinedCurveFont, IfcDuctFitting, IfcDuctFittingType, IfcDuctFittingTypeEnum, IfcDuctSegment, IfcDuctSegmentType, IfcDuctSegmentTypeEnum, IfcDuctSilencer, IfcDuctSilencerType, IfcDuctSilencerTypeEnum, IfcDuration, IfcDynamicViscosityMeasure, IfcEdge, IfcEdgeCurve, IfcEdgeLoop, IfcElectricAppliance, IfcElectricApplianceType, IfcElectricApplianceTypeEnum, IfcElectricCapacitanceMeasure, IfcElectricChargeMeasure, IfcElectricConductanceMeasure, IfcElectricCurrentMeasure, IfcElectricDistributionBoard, IfcElectricDistributionBoardType, IfcElectricDistributionBoardTypeEnum, IfcElectricFlowStorageDevice, IfcElectricFlowStorageDeviceType, IfcElectricFlowStorageDeviceTypeEnum, IfcElectricGenerator, IfcElectricGeneratorType, IfcElectricGeneratorTypeEnum, IfcElectricMotor, IfcElectricMotorType, IfcElectricMotorTypeEnum, IfcElectricResistanceMeasure, IfcElectricTimeControl, IfcElectricTimeControlType, IfcElectricTimeControlTypeEnum, IfcElectricVoltageMeasure, IfcElement, IfcElementarySurface, IfcElementAssembly, IfcElementAssemblyType, IfcElementAssemblyTypeEnum, IfcElementComponent, IfcElementComponentType, IfcElementCompositionEnum, IfcElementQuantity, IfcElementType, IfcEllipse, IfcEllipseProfileDef, IfcEnergyConversionDevice, IfcEnergyConversionDeviceType, IfcEnergyMeasure, IfcEngine, IfcEngineType, IfcEngineTypeEnum, IfcEvaporativeCooler, IfcEvaporativeCoolerType, IfcEvaporativeCoolerTypeEnum, IfcEvaporator, IfcEvaporatorType, IfcEvaporatorTypeEnum, IfcEvent, IfcEventTime, IfcEventTriggerTypeEnum, IfcEventType, IfcEventTypeEnum, IfcExtendedProperties, IfcExternalInformation, IfcExternallyDefinedHatchStyle, IfcExternallyDefinedSurfaceStyle, IfcExternallyDefinedTextFont, IfcExternalReference, IfcExternalReferenceRelationship, IfcExternalSpatialElement, IfcExternalSpatialElementTypeEnum, IfcExternalSpatialStructureElement, IfcExtrudedAreaSolid, IfcExtrudedAreaSolidTapered, IfcFace, IfcFaceBasedSurfaceModel, IfcFaceBound, IfcFaceOuterBound, IfcFaceSurface, IfcFacetedBrep, IfcFacetedBrepWithVoids, IfcFailureConnectionCondition, IfcFan, IfcFanType, IfcFanTypeEnum, IfcFastener, IfcFastenerType, IfcFastenerTypeEnum, IfcFeatureElement, IfcFeatureElementAddition, IfcFeatureElementSubtraction, IfcFillAreaStyle, IfcFillAreaStyleHatching, IfcFillAreaStyleTiles, IfcFillStyleSelect, IfcFilter, IfcFilterType, IfcFilterTypeEnum, IfcFireSuppressionTerminal, IfcFireSuppressionTerminalType, IfcFireSuppressionTerminalTypeEnum, IfcFixedReferenceSweptAreaSolid, IfcFlowController, IfcFlowControllerType, IfcFlowDirectionEnum, IfcFlowFitting, IfcFlowFittingType, IfcFlowInstrument, IfcFlowInstrumentType, IfcFlowInstrumentTypeEnum, IfcFlowMeter, IfcFlowMeterType, IfcFlowMeterTypeEnum, IfcFlowMovingDevice, IfcFlowMovingDeviceType, IfcFlowSegment, IfcFlowSegmentType, IfcFlowStorageDevice, IfcFlowStorageDeviceType, IfcFlowTerminal, IfcFlowTerminalType, IfcFlowTreatmentDevice, IfcFlowTreatmentDeviceType, IfcFontStyle, IfcFontVariant, IfcFontWeight, IfcFooting, IfcFootingType, IfcFootingTypeEnum, IfcForceMeasure, IfcFrequencyMeasure, IfcFurnishingElement, IfcFurnishingElementType, IfcFurniture, IfcFurnitureType, IfcFurnitureTypeEnum, IfcGeographicElement, IfcGeographicElementType, IfcGeographicElementTypeEnum, IfcGeometricCurveSet, IfcGeometricProjectionEnum, IfcGeometricRepresentationContext, IfcGeometricRepresentationItem, IfcGeometricRepresentationSubContext, IfcGeometricSet, IfcGeometricSetSelect, IfcGloballyUniqueId, IfcGlobalOrLocalEnum, IfcGrid, IfcGridAxis, IfcGridPlacement, IfcGridPlacementDirectionSelect, IfcGridTypeEnum, IfcGroup, IfcHalfSpaceSolid, IfcHatchLineDistanceSelect, IfcHeatExchanger, IfcHeatExchangerType, IfcHeatExchangerTypeEnum, IfcHeatFluxDensityMeasure, IfcHeatingValueMeasure, IfcHumidifier, IfcHumidifierType, IfcHumidifierTypeEnum, IfcIdentifier, IfcIlluminanceMeasure, IfcImageTexture, IfcIndexedColourMap, IfcIndexedPolyCurve, IfcIndexedPolygonalFace, IfcIndexedPolygonalFaceWithVoids, IfcIndexedTextureMap, IfcIndexedTriangleTextureMap, IfcInductanceMeasure, IfcInteger, IfcIntegerCountRateMeasure, IfcInterceptor, IfcInterceptorType, IfcInterceptorTypeEnum, IfcInternalOrExternalEnum, IfcIntersectionCurve, IfcInventory, IfcInventoryTypeEnum, IfcIonConcentrationMeasure, IfcIrregularTimeSeries, IfcIrregularTimeSeriesValue, IfcIShapeProfileDef, IfcIsothermalMoistureCapacityMeasure, IfcJunctionBox, IfcJunctionBoxType, IfcJunctionBoxTypeEnum, IfcKinematicViscosityMeasure, IfcKnotType, IfcLabel, IfcLaborResource, IfcLaborResourceType, IfcLaborResourceTypeEnum, IfcLagTime, IfcLamp, IfcLampType, IfcLampTypeEnum, IfcLanguageId, IfcLayeredItem, IfcLayerSetDirectionEnum, IfcLengthMeasure, IfcLibraryInformation, IfcLibraryReference, IfcLibrarySelect, IfcLightDistributionCurveEnum, IfcLightDistributionData, IfcLightDistributionDataSourceSelect, IfcLightEmissionSourceEnum, IfcLightFixture, IfcLightFixtureType, IfcLightFixtureTypeEnum, IfcLightIntensityDistribution, IfcLightSource, IfcLightSourceAmbient, IfcLightSourceDirectional, IfcLightSourceGoniometric, IfcLightSourcePositional, IfcLightSourceSpot, IfcLine, IfcLinearForceMeasure, IfcLinearMomentMeasure, IfcLinearStiffnessMeasure, IfcLinearVelocityMeasure, IfcLineIndex, IfcLoadGroupTypeEnum, IfcLocalPlacement, IfcLogical, IfcLogicalOperatorEnum, IfcLoop, IfcLShapeProfileDef, IfcLuminousFluxMeasure, IfcLuminousIntensityDistributionMeasure, IfcLuminousIntensityMeasure, IfcMagneticFluxDensityMeasure, IfcMagneticFluxMeasure, IfcManifoldSolidBrep, IfcMapConversion, IfcMappedItem, IfcMassDensityMeasure, IfcMassFlowRateMeasure, IfcMassMeasure, IfcMassPerLengthMeasure, IfcMaterial, IfcMaterialClassificationRelationship, IfcMaterialConstituent, IfcMaterialConstituentSet, IfcMaterialDefinition, IfcMaterialDefinitionRepresentation, IfcMaterialLayer, IfcMaterialLayerSet, IfcMaterialLayerSetUsage, IfcMaterialLayerWithOffsets, IfcMaterialList, IfcMaterialProfile, IfcMaterialProfileSet, IfcMaterialProfileSetUsage, IfcMaterialProfileSetUsageTapering, IfcMaterialProfileWithOffsets, IfcMaterialProperties, IfcMaterialRelationship, IfcMaterialSelect, IfcMaterialUsageDefinition, IfcMeasureValue, IfcMeasureWithUnit, IfcMechanicalFastener, IfcMechanicalFastenerType, IfcMechanicalFastenerTypeEnum, IfcMedicalDevice, IfcMedicalDeviceType, IfcMedicalDeviceTypeEnum, IfcMember, IfcMemberStandardCase, IfcMemberType, IfcMemberTypeEnum, IfcMetric, IfcMetricValueSelect, IfcMirroredProfileDef, IfcModulusOfElasticityMeasure, IfcModulusOfLinearSubgradeReactionMeasure, IfcModulusOfRotationalSubgradeReactionMeasure, IfcModulusOfRotationalSubgradeReactionSelect, IfcModulusOfSubgradeReactionMeasure, IfcModulusOfSubgradeReactionSelect, IfcModulusOfTranslationalSubgradeReactionSelect, IfcMoistureDiffusivityMeasure, IfcMolecularWeightMeasure, IfcMomentOfInertiaMeasure, IfcMonetaryMeasure, IfcMonetaryUnit, IfcMonthInYearNumber, IfcMotorConnection, IfcMotorConnectionType, IfcMotorConnectionTypeEnum, IfcNamedUnit, IfcNonNegativeLengthMeasure, IfcNormalisedRatioMeasure, IfcNullStyle, IfcNumericMeasure, IfcObject, IfcObjectDefinition, IfcObjective, IfcObjectiveEnum, IfcObjectPlacement, IfcObjectReferenceSelect, IfcObjectTypeEnum, IfcOccupant, IfcOccupantTypeEnum, IfcOffsetCurve2D, IfcOffsetCurve3D, IfcOpeningElement, IfcOpeningElementTypeEnum, IfcOpeningStandardCase, IfcOpenShell, IfcOrganization, IfcOrganizationRelationship, IfcOrientedEdge, IfcOuterBoundaryCurve, IfcOutlet, IfcOutletType, IfcOutletTypeEnum, IfcOwnerHistory, IfcParameterizedProfileDef, IfcParameterValue, IfcPath, IfcPcurve, IfcPerformanceHistory, IfcPerformanceHistoryTypeEnum, IfcPermeableCoveringOperationEnum, IfcPermeableCoveringProperties, IfcPermit, IfcPermitTypeEnum, IfcPerson, IfcPersonAndOrganization, IfcPHMeasure, IfcPhysicalComplexQuantity, IfcPhysicalOrVirtualEnum, IfcPhysicalQuantity, IfcPhysicalSimpleQuantity, IfcPile, IfcPileConstructionEnum, IfcPileType, IfcPileTypeEnum, IfcPipeFitting, IfcPipeFittingType, IfcPipeFittingTypeEnum, IfcPipeSegment, IfcPipeSegmentType, IfcPipeSegmentTypeEnum, IfcPixelTexture, IfcPlacement, IfcPlanarBox, IfcPlanarExtent, IfcPlanarForceMeasure, IfcPlane, IfcPlaneAngleMeasure, IfcPlate, IfcPlateStandardCase, IfcPlateType, IfcPlateTypeEnum, IfcPoint, IfcPointOnCurve, IfcPointOnSurface, IfcPointOrVertexPoint, IfcPolygonalBoundedHalfSpace, IfcPolygonalFaceSet, IfcPolyline, IfcPolyLoop, IfcPort, IfcPositiveInteger, IfcPositiveLengthMeasure, IfcPositivePlaneAngleMeasure, IfcPositiveRatioMeasure, IfcPostalAddress, IfcPowerMeasure, IfcPreDefinedColour, IfcPreDefinedCurveFont, IfcPreDefinedItem, IfcPreDefinedProperties, IfcPreDefinedPropertySet, IfcPreDefinedTextFont, IfcPreferredSurfaceCurveRepresentation, IfcPresentableText, IfcPresentationItem, IfcPresentationLayerAssignment, IfcPresentationLayerWithStyle, IfcPresentationStyle, IfcPresentationStyleAssignment, IfcPresentationStyleSelect, IfcPressureMeasure, IfcProcedure, IfcProcedureType, IfcProcedureTypeEnum, IfcProcess, IfcProcessSelect, IfcProduct, IfcProductDefinitionShape, IfcProductRepresentation, IfcProductRepresentationSelect, IfcProductSelect, IfcProfileDef, IfcProfileProperties, IfcProfileTypeEnum, IfcProject, IfcProjectedCRS, IfcProjectedOrTrueLengthEnum, IfcProjectionElement, IfcProjectionElementTypeEnum, IfcProjectLibrary, IfcProjectOrder, IfcProjectOrderTypeEnum, IfcProperty, IfcPropertyAbstraction, IfcPropertyBoundedValue, IfcPropertyDefinition, IfcPropertyDependencyRelationship, IfcPropertyEnumeratedValue, IfcPropertyEnumeration, IfcPropertyListValue, IfcPropertyReferenceValue, IfcPropertySet, IfcPropertySetDefinition, IfcPropertySetDefinitionSelect, IfcPropertySetDefinitionSet, IfcPropertySetTemplate, IfcPropertySetTemplateTypeEnum, IfcPropertySingleValue, IfcPropertyTableValue, IfcPropertyTemplate, IfcPropertyTemplateDefinition, IfcProtectiveDevice, IfcProtectiveDeviceTrippingUnit, IfcProtectiveDeviceTrippingUnitType, IfcProtectiveDeviceTrippingUnitTypeEnum, IfcProtectiveDeviceType, IfcProtectiveDeviceTypeEnum, IfcProxy, IfcPump, IfcPumpType, IfcPumpTypeEnum, IfcQuantityArea, IfcQuantityCount, IfcQuantityLength, IfcQuantitySet, IfcQuantityTime, IfcQuantityVolume, IfcQuantityWeight, IfcRadioActivityMeasure, IfcRailing, IfcRailingType, IfcRailingTypeEnum, IfcRamp, IfcRampFlight, IfcRampFlightType, IfcRampFlightTypeEnum, IfcRampType, IfcRampTypeEnum, IfcRatioMeasure, IfcRationalBSplineCurveWithKnots, IfcRationalBSplineSurfaceWithKnots, IfcReal, IfcRectangleHollowProfileDef, IfcRectangleProfileDef, IfcRectangularPyramid, IfcRectangularTrimmedSurface, IfcRecurrencePattern, IfcRecurrenceTypeEnum, IfcReference, IfcReflectanceMethodEnum, IfcRegularTimeSeries, IfcReinforcementBarProperties, IfcReinforcementDefinitionProperties, IfcReinforcingBar, IfcReinforcingBarRoleEnum, IfcReinforcingBarSurfaceEnum, IfcReinforcingBarType, IfcReinforcingBarTypeEnum, IfcReinforcingElement, IfcReinforcingElementType, IfcReinforcingMesh, IfcReinforcingMeshType, IfcReinforcingMeshTypeEnum, IfcRelAggregates, IfcRelAssigns, IfcRelAssignsToActor, IfcRelAssignsToControl, IfcRelAssignsToGroup, IfcRelAssignsToGroupByFactor, IfcRelAssignsToProcess, IfcRelAssignsToProduct, IfcRelAssignsToResource, IfcRelAssociates, IfcRelAssociatesApproval, IfcRelAssociatesClassification, IfcRelAssociatesConstraint, IfcRelAssociatesDocument, IfcRelAssociatesLibrary, IfcRelAssociatesMaterial, IfcRelationship, IfcRelConnects, IfcRelConnectsElements, IfcRelConnectsPathElements, IfcRelConnectsPorts, IfcRelConnectsPortToElement, IfcRelConnectsStructuralActivity, IfcRelConnectsStructuralMember, IfcRelConnectsWithEccentricity, IfcRelConnectsWithRealizingElements, IfcRelContainedInSpatialStructure, IfcRelCoversBldgElements, IfcRelCoversSpaces, IfcRelDeclares, IfcRelDecomposes, IfcRelDefines, IfcRelDefinesByObject, IfcRelDefinesByProperties, IfcRelDefinesByTemplate, IfcRelDefinesByType, IfcRelFillsElement, IfcRelFlowControlElements, IfcRelInterferesElements, IfcRelNests, IfcRelProjectsElement, IfcRelReferencedInSpatialStructure, IfcRelSequence, IfcRelServicesBuildings, IfcRelSpaceBoundary, IfcRelSpaceBoundary1stLevel, IfcRelSpaceBoundary2ndLevel, IfcRelVoidsElement, IfcReparametrisedCompositeCurveSegment, IfcRepresentation, IfcRepresentationContext, IfcRepresentationItem, IfcRepresentationMap, IfcResource, IfcResourceApprovalRelationship, IfcResourceConstraintRelationship, IfcResourceLevelRelationship, IfcResourceObjectSelect, IfcResourceSelect, IfcResourceTime, IfcRevolvedAreaSolid, IfcRevolvedAreaSolidTapered, IfcRightCircularCone, IfcRightCircularCylinder, IfcRoleEnum, IfcRoof, IfcRoofType, IfcRoofTypeEnum, IfcRoot, IfcRotationalFrequencyMeasure, IfcRotationalMassMeasure, IfcRotationalStiffnessMeasure, IfcRotationalStiffnessSelect, IfcRoundedRectangleProfileDef, IfcSanitaryTerminal, IfcSanitaryTerminalType, IfcSanitaryTerminalTypeEnum, IfcSchedulingTime, IfcSeamCurve, IfcSectionalAreaIntegralMeasure, IfcSectionedSpine, IfcSectionModulusMeasure, IfcSectionProperties, IfcSectionReinforcementProperties, IfcSectionTypeEnum, IfcSegmentIndexSelect, IfcSensor, IfcSensorType, IfcSensorTypeEnum, IfcSequenceEnum, IfcShadingDevice, IfcShadingDeviceType, IfcShadingDeviceTypeEnum, IfcShapeAspect, IfcShapeModel, IfcShapeRepresentation, IfcShearModulusMeasure, IfcShell, IfcShellBasedSurfaceModel, IfcSimpleProperty, IfcSimplePropertyTemplate, IfcSimplePropertyTemplateTypeEnum, IfcSimpleValue, IfcSIPrefix, IfcSite, IfcSIUnit, IfcSIUnitName, IfcSizeSelect, IfcSlab, IfcSlabElementedCase, IfcSlabStandardCase, IfcSlabType, IfcSlabTypeEnum, IfcSlippageConnectionCondition, IfcSolarDevice, IfcSolarDeviceType, IfcSolarDeviceTypeEnum, IfcSolidAngleMeasure, IfcSolidModel, IfcSolidOrShell, IfcSoundPowerLevelMeasure, IfcSoundPowerMeasure, IfcSoundPressureLevelMeasure, IfcSoundPressureMeasure, IfcSpace, IfcSpaceBoundarySelect, IfcSpaceHeater, IfcSpaceHeaterType, IfcSpaceHeaterTypeEnum, IfcSpaceType, IfcSpaceTypeEnum, IfcSpatialElement, IfcSpatialElementType, IfcSpatialStructureElement, IfcSpatialStructureElementType, IfcSpatialZone, IfcSpatialZoneType, IfcSpatialZoneTypeEnum, IfcSpecificHeatCapacityMeasure, IfcSpecularExponent, IfcSpecularHighlightSelect, IfcSpecularRoughness, IfcSphere, IfcSphericalSurface, IfcStackTerminal, IfcStackTerminalType, IfcStackTerminalTypeEnum, IfcStair, IfcStairFlight, IfcStairFlightType, IfcStairFlightTypeEnum, IfcStairType, IfcStairTypeEnum, IfcStateEnum, IfcStrippedOptional, IfcStructuralAction, IfcStructuralActivity, IfcStructuralActivityAssignmentSelect, IfcStructuralAnalysisModel, IfcStructuralConnection, IfcStructuralConnectionCondition, IfcStructuralCurveAction, IfcStructuralCurveActivityTypeEnum, IfcStructuralCurveConnection, IfcStructuralCurveMember, IfcStructuralCurveMemberTypeEnum, IfcStructuralCurveMemberVarying, IfcStructuralCurveReaction, IfcStructuralItem, IfcStructuralLinearAction, IfcStructuralLoad, IfcStructuralLoadCase, IfcStructuralLoadConfiguration, IfcStructuralLoadGroup, IfcStructuralLoadLinearForce, IfcStructuralLoadOrResult, IfcStructuralLoadPlanarForce, IfcStructuralLoadSingleDisplacement, IfcStructuralLoadSingleDisplacementDistortion, IfcStructuralLoadSingleForce, IfcStructuralLoadSingleForceWarping, IfcStructuralLoadStatic, IfcStructuralLoadTemperature, IfcStructuralMember, IfcStructuralPlanarAction, IfcStructuralPointAction, IfcStructuralPointConnection, IfcStructuralPointReaction, IfcStructuralReaction, IfcStructuralResultGroup, IfcStructuralSurfaceAction, IfcStructuralSurfaceActivityTypeEnum, IfcStructuralSurfaceConnection, IfcStructuralSurfaceMember, IfcStructuralSurfaceMemberTypeEnum, IfcStructuralSurfaceMemberVarying, IfcStructuralSurfaceReaction, IfcStyleAssignmentSelect, IfcStyledItem, IfcStyledRepresentation, IfcStyleModel, IfcSubContractResource, IfcSubContractResourceType, IfcSubContractResourceTypeEnum, IfcSubedge, IfcSurface, IfcSurfaceCurve, IfcSurfaceCurveSweptAreaSolid, IfcSurfaceFeature, IfcSurfaceFeatureTypeEnum, IfcSurfaceOfLinearExtrusion, IfcSurfaceOfRevolution, IfcSurfaceOrFaceSurface, IfcSurfaceReinforcementArea, IfcSurfaceSide, IfcSurfaceStyle, IfcSurfaceStyleElementSelect, IfcSurfaceStyleLighting, IfcSurfaceStyleRefraction, IfcSurfaceStyleRendering, IfcSurfaceStyleShading, IfcSurfaceStyleWithTextures, IfcSurfaceTexture, IfcSweptAreaSolid, IfcSweptDiskSolid, IfcSweptDiskSolidPolygonal, IfcSweptSurface, IfcSwitchingDevice, IfcSwitchingDeviceType, IfcSwitchingDeviceTypeEnum, IfcSystem, IfcSystemFurnitureElement, IfcSystemFurnitureElementType, IfcSystemFurnitureElementTypeEnum, IfcTable, IfcTableColumn, IfcTableRow, IfcTank, IfcTankType, IfcTankTypeEnum, IfcTask, IfcTaskDurationEnum, IfcTaskTime, IfcTaskTimeRecurring, IfcTaskType, IfcTaskTypeEnum, IfcTelecomAddress, IfcTemperatureGradientMeasure, IfcTemperatureRateOfChangeMeasure, IfcTendon, IfcTendonAnchor, IfcTendonAnchorType, IfcTendonAnchorTypeEnum, IfcTendonType, IfcTendonTypeEnum, IfcTessellatedFaceSet, IfcTessellatedItem, IfcText, IfcTextAlignment, IfcTextDecoration, IfcTextFontName, IfcTextFontSelect, IfcTextLiteral, IfcTextLiteralWithExtent, IfcTextPath, IfcTextStyle, IfcTextStyleFontModel, IfcTextStyleForDefinedFont, IfcTextStyleTextModel, IfcTextTransformation, IfcTextureCoordinate, IfcTextureCoordinateGenerator, IfcTextureMap, IfcTextureVertex, IfcTextureVertexList, IfcThermalAdmittanceMeasure, IfcThermalConductivityMeasure, IfcThermalExpansionCoefficientMeasure, IfcThermalResistanceMeasure, IfcThermalTransmittanceMeasure, IfcThermodynamicTemperatureMeasure, IfcTime, IfcTimeMeasure, IfcTimeOrRatioSelect, IfcTimePeriod, IfcTimeSeries, IfcTimeSeriesDataTypeEnum, IfcTimeSeriesValue, IfcTimeStamp, IfcTopologicalRepresentationItem, IfcTopologyRepresentation, IfcToroidalSurface, IfcTorqueMeasure, IfcTransformer, IfcTransformerType, IfcTransformerTypeEnum, IfcTransitionCode, IfcTranslationalStiffnessSelect, IfcTransportElement, IfcTransportElementType, IfcTransportElementTypeEnum, IfcTrapeziumProfileDef, IfcTriangulatedFaceSet, IfcTrimmedCurve, IfcTrimmingPreference, IfcTrimmingSelect, IfcTShapeProfileDef, IfcTubeBundle, IfcTubeBundleType, IfcTubeBundleTypeEnum, IfcTypeObject, IfcTypeProcess, IfcTypeProduct, IfcTypeResource, IfcUnit, IfcUnitaryControlElement, IfcUnitaryControlElementType, IfcUnitaryControlElementTypeEnum, IfcUnitaryEquipment, IfcUnitaryEquipmentType, IfcUnitaryEquipmentTypeEnum, IfcUnitAssignment, IfcUnitEnum, IfcURIReference, IfcUShapeProfileDef, IfcValue, IfcValve, IfcValveType, IfcValveTypeEnum, IfcVaporPermeabilityMeasure, IfcVector, IfcVectorOrDirection, IfcVertex, IfcVertexLoop, IfcVertexPoint, IfcVibrationIsolator, IfcVibrationIsolatorType, IfcVibrationIsolatorTypeEnum, IfcVirtualElement, IfcVirtualGridIntersection, IfcVoidingFeature, IfcVoidingFeatureTypeEnum, IfcVolumeMeasure, IfcVolumetricFlowRateMeasure, IfcWall, IfcWallElementedCase, IfcWallStandardCase, IfcWallType, IfcWallTypeEnum, IfcWarpingConstantMeasure, IfcWarpingMomentMeasure, IfcWarpingStiffnessSelect, IfcWasteTerminal, IfcWasteTerminalType, IfcWasteTerminalTypeEnum, IfcWindow, IfcWindowLiningProperties, IfcWindowPanelOperationEnum, IfcWindowPanelPositionEnum, IfcWindowPanelProperties, IfcWindowStandardCase, IfcWindowStyle, IfcWindowStyleConstructionEnum, IfcWindowStyleOperationEnum, IfcWindowType, IfcWindowTypeEnum, IfcWindowTypePartitioningEnum, IfcWorkCalendar, IfcWorkCalendarTypeEnum, IfcWorkControl, IfcWorkPlan, IfcWorkPlanTypeEnum, IfcWorkSchedule, IfcWorkScheduleTypeEnum, IfcWorkTime, IfcZone, IfcZShapeProfileDef, UNDEFINED } Enum; Enum Parent(Enum v); Enum FromString(const std::string& s);