2017-01-31 18:53:00 -06:00
|
|
|
/********************************************************************************
|
2017-01-16 14:04:31 +01:00
|
|
|
* *
|
|
|
|
|
* 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 <http://www.gnu.org/licenses/>. *
|
|
|
|
|
* *
|
|
|
|
|
********************************************************************************/
|
|
|
|
|
|
|
|
|
|
/********************************************************************************
|
|
|
|
|
* *
|
|
|
|
|
* 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 "../../../ifcparse/IfcUtil.h"
|
|
|
|
|
#include "../../../ifcparse/IfcParse.h"
|
|
|
|
|
|
2017-03-20 15:56:31 -06:00
|
|
|
SHAPES(IfcShellBasedSurfaceModel);
|
|
|
|
|
SHAPES(IfcFaceBasedSurfaceModel);
|
2017-01-16 14:04:31 +01:00
|
|
|
SHAPES(IfcRepresentation);
|
2017-03-20 15:56:31 -06:00
|
|
|
SHAPES(IfcMappedItem);
|
2017-01-27 18:40:38 -06:00
|
|
|
// IfcFacetedBrep included
|
|
|
|
|
// IfcAdvancedBrep included
|
|
|
|
|
// IfcFacetedBrepWithVoids included
|
|
|
|
|
// IfcAdvancedBrepWithVoids included
|
|
|
|
|
SHAPES(IfcManifoldSolidBrep);
|
2017-03-20 15:56:31 -06:00
|
|
|
SHAPES(IfcGeometricSet);
|
2017-01-27 18:40:38 -06:00
|
|
|
|
2017-01-31 18:53:00 -06:00
|
|
|
SHAPE(IfcExtrudedAreaSolid);
|
2017-01-27 18:40:38 -06:00
|
|
|
SHAPE(IfcConnectedFaceSet);
|
2017-03-02 15:09:05 -06:00
|
|
|
SHAPE(IfcCsgSolid);
|
|
|
|
|
SHAPE(IfcBlock);
|
2017-03-02 18:11:11 -06:00
|
|
|
SHAPE(IfcBooleanResult);
|
|
|
|
|
SHAPE(IfcSphere);
|
2017-03-02 18:22:34 -06:00
|
|
|
SHAPE(IfcRectangularPyramid);
|
2017-03-02 18:39:18 -06:00
|
|
|
SHAPE(IfcRightCircularCylinder);
|
2017-03-02 18:42:10 -06:00
|
|
|
SHAPE(IfcRightCircularCone);
|
2017-03-09 12:14:00 +01:00
|
|
|
#ifdef USE_IFC4
|
2017-03-06 11:41:58 -06:00
|
|
|
SHAPE(IfcTriangulatedFaceSet);
|
2017-03-09 12:14:00 +01:00
|
|
|
#endif
|
2017-03-07 14:30:48 -06:00
|
|
|
SHAPE(IfcHalfSpaceSolid);
|
2017-01-16 14:04:31 +01:00
|
|
|
|
2017-03-02 17:11:58 -06:00
|
|
|
FACE(IfcArbitraryClosedProfileDef);
|
2017-03-07 13:04:22 -06:00
|
|
|
FACE(IfcCircleHollowProfileDef);
|
2017-03-06 10:52:57 -06:00
|
|
|
FACE(IfcCircleProfileDef);
|
2017-01-31 18:53:00 -06:00
|
|
|
FACE(IfcFace);
|
2017-03-06 11:12:06 -06:00
|
|
|
FACE(IfcRoundedRectangleProfileDef);
|
2017-03-07 13:52:29 -06:00
|
|
|
FACE(IfcRectangleHollowProfileDef);
|
2017-03-07 13:41:04 -06:00
|
|
|
FACE(IfcRectangleProfileDef);
|
2017-03-06 11:23:37 -06:00
|
|
|
FACE(IfcTrapeziumProfileDef);
|
|
|
|
|
FACE(IfcEllipseProfileDef);
|
2017-03-08 19:38:25 -06:00
|
|
|
FACE(IfcCShapeProfileDef);
|
2017-03-08 20:11:45 -06:00
|
|
|
FACE(IfcIShapeProfileDef);
|
2017-03-08 19:55:17 -06:00
|
|
|
FACE(IfcLShapeProfileDef);
|
2017-03-09 16:29:14 -06:00
|
|
|
FACE(IfcTShapeProfileDef);
|
2017-03-09 16:46:09 -06:00
|
|
|
FACE(IfcUShapeProfileDef);
|
2017-03-09 16:55:33 -06:00
|
|
|
FACE(IfcZShapeProfileDef);
|
2017-01-31 18:53:00 -06:00
|
|
|
|
2017-03-06 17:45:55 -06:00
|
|
|
WIRE(IfcEdgeLoop);
|
|
|
|
|
WIRE(IfcOrientedEdge);
|
2017-01-31 18:53:00 -06:00
|
|
|
WIRE(IfcPolyLoop);
|
2017-03-02 17:11:58 -06:00
|
|
|
WIRE(IfcPolyline);
|
2017-03-07 19:39:59 -06:00
|
|
|
WIRE(IfcCompositeCurve);
|
2017-03-13 19:08:50 -06:00
|
|
|
WIRE(IfcTrimmedCurve);
|
2017-01-31 18:53:00 -06:00
|
|
|
|
2017-03-13 19:08:23 -06:00
|
|
|
CURVE(IfcCircle);
|
|
|
|
|
CURVE(IfcEllipse);
|
|
|
|
|
CURVE(IfcLine);
|
|
|
|
|
|
2017-01-16 14:04:31 +01:00
|
|
|
CLASS(IfcCartesianPoint,cgal_point_t);
|
2017-02-07 19:50:51 -06:00
|
|
|
CLASS(IfcDirection,cgal_direction_t);
|
2017-03-13 19:08:23 -06:00
|
|
|
CLASS(IfcVector,cgal_vector_t);
|
2017-03-07 14:30:48 -06:00
|
|
|
CLASS(IfcPlane,cgal_plane_t);
|
2017-02-08 16:56:59 -06:00
|
|
|
CLASS(IfcAxis2Placement2D,cgal_placement_t);
|
2017-02-07 19:51:16 -06:00
|
|
|
CLASS(IfcAxis2Placement3D,cgal_placement_t);
|
|
|
|
|
CLASS(IfcObjectPlacement,cgal_placement_t);
|
2017-03-13 22:32:12 -06:00
|
|
|
CLASS(IfcCartesianTransformationOperator2DnonUniform,cgal_placement_t);
|
2017-03-07 20:00:32 -06:00
|
|
|
CLASS(IfcCartesianTransformationOperator3DnonUniform,cgal_placement_t);
|
2017-03-13 22:32:12 -06:00
|
|
|
CLASS(IfcCartesianTransformationOperator2D,cgal_placement_t);
|
|
|
|
|
CLASS(IfcCartesianTransformationOperator3D,cgal_placement_t);
|