CFx SDK Documentation  2023 SP0
IfcModelerGeometry.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2019, Open Design Alliance (the "Alliance").
3 // All rights reserved.
4 //
5 // This software and its documentation and related materials are owned by
6 // the Alliance. The software may only be incorporated into application
7 // programs owned by members of the Alliance, subject to a signed
8 // Membership Agreement and Supplemental Software License Agreement with the
9 // Alliance. The structure and organization of this software are the valuable
10 // trade secrets of the Alliance and its suppliers. The software is also
11 // protected by copyright law and international treaty provisions. Application
12 // programs incorporating this software must include the following statement
13 // with their copyright notices:
14 //
15 // This application incorporates Open Design Alliance software pursuant to a license
16 // agreement with Open Design Alliance.
17 // Open Design Alliance Copyright (C) 2002-2019 by Open Design Alliance.
18 // All rights reserved.
19 //
20 // By use of this software, its documentation or related materials, you
21 // acknowledge and accept the above terms.
23 
24 #ifndef _IFC_MODELERGEOMETRY_H_
25 #define _IFC_MODELERGEOMETRY_H_
26 
27 #include "IfcBuildOptions.h"
28 #include "Ge/GeVector3d.h"
29 
30 #include "IfcCommon.h"
31 #include "IfcProfileDef.h"
32 #include "IfcDeviationParams.h"
33 #include "../IBr/IBrFile.h"
34 
38 namespace OdIfc {
39 
44  {
57  };
58 
63  {
79  kBoth
80  };
81 
82  class OdIfcHalfSpaceSolid;
84 
85  class OdIfcConnectedFaceSet;
87 
88  class OdIfcAdvancedBrep;
90 
93 
95  {
96  protected:
97 
98  //DOM-IGNORE-BEGIN
99  virtual void* body() = 0;
100  void copyFrom(const OdRxObject*) = 0;
101  //DOM-IGNORE-END
102 
103  public:
110  virtual bool draw(OdGiWorldDraw* pWd) const = 0;
111 
118  virtual void transform(const OdGeMatrix3d &m) = 0;
119 
128  virtual OdResult getBoundingBox(OdGeExtents3d &box) const = 0;
129 
140 
152 
166 
180 
191  virtual OdResult extrude(OdIfcProfileDefPtr profile, OdGeVector3d dir) = 0;
192 
205  virtual OdResult revolve(OdIfcProfileDefPtr profile, const OdGeVector3d& axisOfRevolution, const OdGePoint3d& axisPosition, double startAng, double endAng) = 0;
206 
216 
231 
241  virtual OdResult box(const OdGePoint3d& ptOrigin, const OdGeVector3d& vSizes) = 0;
242 
249 
256  virtual OdIBrFile* brep() const = 0;
257  };
258 
259 }
260 
261 #endif // _IFC_MODELERGEOMETRY_H_
#define ODRX_ABSTRACT
OdResult
Definition: OdResult.h:29
virtual OdResult boolean(OdIfcModelerGeometryPtr tool, OdIfcModelerGeometryPtr blank, IfcBooleanOperator op, IfcModelerKeep keep=kBoth)=0
virtual OdResult boolean(OdIfcHalfSpaceSolidPtr tool)=0
virtual OdResult getBoundingBox(OdGeExtents3d &box) const =0
void copyFrom(const OdRxObject *)=0
virtual OdIBrFile * brep() const =0
virtual void transform(const OdGeMatrix3d &m)=0
virtual OdResult copyBody(OdIfcModelerGeometryPtr b)=0
virtual OdResult createAdvancedBrep(OdIfcAdvancedBrepPtr pBrep)=0
virtual OdResult createFacetedBrep(OdIfcConnectedFaceSetPtr pFaceSet)=0
virtual OdResult extrude(OdIfcProfileDefPtr profile, OdGeVector3d dir)=0
virtual OdResult boolean(OdIfcModelerGeometryPtr tool, IfcBooleanOperator op, IfcModelerKeep keep=kBoth)=0
virtual bool draw(OdGiWorldDraw *pWd) const =0
virtual void setDeviationParams(const OdIfcDeviationParams &params)=0
virtual void * body()=0
virtual OdResult box(const OdGePoint3d &ptOrigin, const OdGeVector3d &vSizes)=0
virtual OdResult revolve(OdIfcProfileDefPtr profile, const OdGeVector3d &axisOfRevolution, const OdGePoint3d &axisPosition, double startAng, double endAng)=0
GLenum GLint * params
Definition: gles2_ext.h:184
OdSmartPtr< OdIfcHalfSpaceSolid > OdIfcHalfSpaceSolidPtr
OdSmartPtr< OdIfcModelerGeometry > OdIfcModelerGeometryPtr
OdSmartPtr< OdIfcAdvancedBrep > OdIfcAdvancedBrepPtr
OdSmartPtr< OdIfcConnectedFaceSet > OdIfcConnectedFaceSetPtr
@ kIfcBooleanOperator_INTERSECTION
@ kIfcBooleanOperator_UNION
@ kIfcBooleanOperator_DIFFERENCE