.. _program_listing_file_src_ifcgeom_IfcRegister.h: Program Listing for File IfcRegister.h ====================================== |exhale_lsh| :ref:`Return to documentation for file ` (``src/ifcgeom/IfcRegister.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp /******************************************************************************** * * * This file is part of IfcOpenShell. * * * * IfcOpenShell is free software: you can redistribute it and/or modify * * it under the terms of the Lesser GNU General Public License as published by * * the Free Software Foundation, either version 3.0 of the License, or * * (at your option) any later version. * * * * IfcOpenShell is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * Lesser GNU General Public License for more details. * * * * You should have received a copy of the Lesser GNU General Public License * * along with this program. If not, see . * * * ********************************************************************************/ /******************************************************************************** * * * This file registers function prototypes for all supported IFC geometrical * * entities. For entities of type CLASS an std::map is also created to cache * * the output of the conversion functions * * * ********************************************************************************/ #include #include #include #include #include #include #include #include #include #include #include #include #include "../ifcparse/IfcBaseClass.h" #include "../ifcparse/IfcParse.h" SHAPES(IfcShellBasedSurfaceModel); SHAPES(IfcFaceBasedSurfaceModel); SHAPES(IfcRepresentation); SHAPES(IfcMappedItem); // IfcFacetedBrep included // IfcAdvancedBrep included // IfcFacetedBrepWithVoids included // IfcAdvancedBrepWithVoids included SHAPES(IfcManifoldSolidBrep); SHAPES(IfcGeometricSet); #ifdef SCHEMA_HAS_IfcCylindricalSurface SHAPE(IfcCylindricalSurface); #endif #ifdef SCHEMA_HAS_IfcAdvancedBrep SHAPE(IfcAdvancedBrep); #endif #ifdef SCHEMA_HAS_IfcToroidalSurface SHAPE(IfcToroidalSurface); #endif #ifdef SCHEMA_HAS_IfcSphericalSurface SHAPE(IfcSphericalSurface); #endif // FIXME: Surfaces should have a shape type of their own #ifdef SCHEMA_HAS_IfcBSplineSurfaceWithKnots SHAPE(IfcBSplineSurfaceWithKnots); #endif #ifdef SCHEMA_HAS_IfcTriangulatedFaceSet SHAPE(IfcTriangulatedFaceSet); #endif #ifdef SCHEMA_HAS_IfcPolygonalFaceSet SHAPE(IfcPolygonalFaceSet); #endif #ifdef SCHEMA_HAS_IfcExtrudedAreaSolidTapered SHAPE(IfcExtrudedAreaSolidTapered); #endif SHAPE(IfcPlane); SHAPE(IfcExtrudedAreaSolid); SHAPE(IfcRevolvedAreaSolid); SHAPE(IfcConnectedFaceSet); SHAPE(IfcBooleanResult); SHAPE(IfcPolygonalBoundedHalfSpace); SHAPE(IfcHalfSpaceSolid); // FIXME: Surfaces should have a shape type of their own SHAPE(IfcSurfaceOfLinearExtrusion); SHAPE(IfcSurfaceOfRevolution); SHAPE(IfcBlock); SHAPE(IfcRectangularPyramid); SHAPE(IfcRightCircularCylinder); SHAPE(IfcRightCircularCone); SHAPE(IfcSphere); SHAPE(IfcCsgSolid); SHAPE(IfcCurveBoundedPlane); SHAPE(IfcRectangularTrimmedSurface); SHAPE(IfcSurfaceCurveSweptAreaSolid); SHAPE(IfcSweptDiskSolid); FACE(IfcArbitraryProfileDefWithVoids); FACE(IfcArbitraryClosedProfileDef); FACE(IfcRoundedRectangleProfileDef); FACE(IfcRectangleHollowProfileDef); FACE(IfcRectangleProfileDef); FACE(IfcTrapeziumProfileDef) FACE(IfcCShapeProfileDef); // IfcAsymmetricIShapeProfileDef included FACE(IfcIShapeProfileDef); FACE(IfcLShapeProfileDef); FACE(IfcTShapeProfileDef); FACE(IfcUShapeProfileDef); FACE(IfcZShapeProfileDef); FACE(IfcCircleHollowProfileDef); FACE(IfcCircleProfileDef); FACE(IfcEllipseProfileDef); FACE(IfcCenterLineProfileDef); FACE(IfcCompositeProfileDef); FACE(IfcDerivedProfileDef); // IfcFaceSurface included // IfcAdvancedFace included in case of IFC4 FACE(IfcFace); #ifdef SCHEMA_HAS_IfcCraneRailAShapeProfileDef FACE(IfcCraneRailAShapeProfileDef); #endif WIRE(IfcEdgeCurve); WIRE(IfcSubedge); WIRE(IfcOrientedEdge); WIRE(IfcEdge); WIRE(IfcEdgeLoop); WIRE(IfcPolyline); WIRE(IfcPolyLoop); WIRE(IfcCompositeCurve); WIRE(IfcTrimmedCurve); WIRE(IfcArbitraryOpenProfileDef); #ifdef SCHEMA_HAS_IfcIndexedPolyCurve WIRE(IfcIndexedPolyCurve) #endif CURVE(IfcCircle); CURVE(IfcEllipse); CURVE(IfcLine); #ifdef SCHEMA_HAS_IfcBSplineCurveWithKnots // IfcRationalBSplineCurveWithKnots included CURVE(IfcBSplineCurveWithKnots); #endif #ifdef SCHEMA_HAS_IfcSurfaceCurve CURVE(IfcSurfaceCurve); #endif CLASS(IfcCartesianPoint,gp_Pnt); CLASS(IfcDirection,gp_Dir); CLASS(IfcAxis2Placement2D,gp_Trsf2d); CLASS(IfcAxis2Placement3D,gp_Trsf); CLASS(IfcAxis1Placement,gp_Ax1); CLASS(IfcCartesianTransformationOperator2DnonUniform,gp_GTrsf2d); CLASS(IfcCartesianTransformationOperator3DnonUniform,gp_GTrsf); CLASS(IfcCartesianTransformationOperator2D,gp_Trsf2d); CLASS(IfcCartesianTransformationOperator3D,gp_Trsf); CLASS(IfcObjectPlacement,gp_Trsf); CLASS(IfcVector,gp_Vec); CLASS(IfcPlane,gp_Pln);