mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-05 23:41:44 +00:00
Consistent IFC4 schema
This commit is contained in:
@@ -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()
|
||||
|
||||
+117
-15
@@ -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<std::string> items; items.reserve(6);
|
||||
std::vector<std::string> 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<std::string> 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<std::string> 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<std::string> items; items.reserve(25);
|
||||
std::vector<std::string> 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<const declaration*> items; items.reserve(4);
|
||||
std::vector<const declaration*> 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<const declaration*> items; items.reserve(2);
|
||||
std::vector<const declaration*> 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<const declaration*> items; items.reserve(13);
|
||||
std::vector<const declaration*> 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<const entity::attribute*> 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<bool> derived; derived.reserve(1);
|
||||
derived.push_back(false);
|
||||
IfcIndexedPolygonalFace_type->set_attributes(attributes, derived);
|
||||
}
|
||||
{
|
||||
std::vector<const entity::attribute*> 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<bool> derived; derived.reserve(2);
|
||||
derived.push_back(false); derived.push_back(false);
|
||||
IfcIndexedPolygonalFaceWithVoids_type->set_attributes(attributes, derived);
|
||||
}
|
||||
{
|
||||
std::vector<const entity::attribute*> 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<const entity::attribute*> attributes; attributes.reserve(0);
|
||||
std::vector<bool> derived; derived.reserve(3);
|
||||
derived.push_back(false); derived.push_back(false); derived.push_back(false);
|
||||
IfcIntersectionCurve_type->set_attributes(attributes, derived);
|
||||
}
|
||||
{
|
||||
std::vector<const entity::attribute*> 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<const entity::attribute*> 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<bool> 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<const entity::attribute*> 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<const entity::attribute*> attributes; attributes.reserve(0);
|
||||
std::vector<bool> derived; derived.reserve(3);
|
||||
derived.push_back(false); derived.push_back(false); derived.push_back(false);
|
||||
IfcSeamCurve_type->set_attributes(attributes, derived);
|
||||
}
|
||||
{
|
||||
std::vector<const entity::attribute*> 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<const entity::attribute*> attributes; attributes.reserve(1);
|
||||
attributes.push_back(new entity::attribute("Radius", new named_type(IfcPositiveLengthMeasure_type), false));
|
||||
std::vector<bool> derived; derived.reserve(2);
|
||||
derived.push_back(false); derived.push_back(false);
|
||||
IfcSphericalSurface_type->set_attributes(attributes, derived);
|
||||
}
|
||||
{
|
||||
std::vector<const entity::attribute*> 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<const entity::attribute*> 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<bool> derived; derived.reserve(3);
|
||||
derived.push_back(false); derived.push_back(false); derived.push_back(false);
|
||||
IfcSurfaceCurve_type->set_attributes(attributes, derived);
|
||||
}
|
||||
{
|
||||
std::vector<const entity::attribute*> 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<bool> 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<const entity::attribute*> attributes; attributes.reserve(3);
|
||||
std::vector<const entity::attribute*> 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<bool> derived; derived.reserve(3);
|
||||
derived.push_back(false); derived.push_back(false); derived.push_back(false);
|
||||
std::vector<bool> 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<const entity::attribute*> 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<bool> derived; derived.reserve(3);
|
||||
derived.push_back(false); derived.push_back(false); derived.push_back(false);
|
||||
IfcToroidalSurface_type->set_attributes(attributes, derived);
|
||||
}
|
||||
{
|
||||
std::vector<const entity::attribute*> 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<const entity::attribute*> attributes; attributes.reserve(2);
|
||||
std::vector<const entity::attribute*> 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<bool> 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<const entity::inverse_attribute*> 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<const entity::inverse_attribute*> 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<const declaration*> declarations; declarations.reserve(1164);
|
||||
std::vector<const declaration*> 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);
|
||||
|
||||
+162
-25
File diff suppressed because one or more lines are too long
+1408
-1303
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user