CFx SDK Documentation  2020SP3
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_
OdIfc::OdIfcModelerGeometry::boolean
virtual OdResult boolean(OdIfcModelerGeometryPtr tool, IfcBooleanOperator op, IfcModelerKeep keep=kBoth)=0
OdIfc::OdIfcModelerGeometry::transform
virtual void transform(const OdGeMatrix3d &m)=0
OdResult
OdResult
Definition: OdResult.h:29
OdGeVector3d
Definition: GeVector3d.h:54
OdIfc::OdIfcModelerGeometry::draw
virtual bool draw(OdGiWorldDraw *pWd) const =0
OdIfc::kNeither
@ kNeither
Definition: IfcModelerGeometry.h:67
OdIfc::OdIfcModelerGeometry::setDeviationParams
virtual void setDeviationParams(const OdIfcDeviationParams &params)=0
OdIfc::OdIfcModelerGeometry::getBoundingBox
virtual OdResult getBoundingBox(OdGeExtents3d &box) const =0
OdIfc::OdIfcModelerGeometry::extrude
virtual OdResult extrude(OdIfcProfileDefPtr profile, OdGeVector3d dir)=0
OdRxObject
Definition: RxObject.h:564
OdIfc::OdIfcModelerGeometryPtr
OdSmartPtr< OdIfcModelerGeometry > OdIfcModelerGeometryPtr
Definition: IfcModelerGeometry.h:91
IfcCommon.h
OdGeMatrix3d
Definition: GeMatrix3d.h:73
OdIfc::OdIfcModelerGeometry::brep
virtual OdIBrFile * brep() const =0
OdIfc::OdIfcAdvancedBrepPtr
OdSmartPtr< OdIfcAdvancedBrep > OdIfcAdvancedBrepPtr
Definition: IfcModelerGeometry.h:88
OdIfc::OdIfcModelerGeometry::copyBody
virtual OdResult copyBody(OdIfcModelerGeometryPtr b)=0
OdSmartPtr
Definition: SmartPtr.h:58
OdGePoint3d
Definition: GePoint3d.h:55
OdIfc
Definition: FxBIMDatabase.h:24
OdIfc::OdIfcModelerGeometry::boolean
virtual OdResult boolean(OdIfcModelerGeometryPtr tool, OdIfcModelerGeometryPtr blank, IfcBooleanOperator op, IfcModelerKeep keep=kBoth)=0
OdIfc::OdIfcHalfSpaceSolidPtr
OdSmartPtr< OdIfcHalfSpaceSolid > OdIfcHalfSpaceSolidPtr
Definition: IfcModelerGeometry.h:82
OdIfc::IfcBooleanOperator
IfcBooleanOperator
Definition: IfcModelerGeometry.h:44
OdIfc::kIfcBooleanOperator_DIFFERENCE
@ kIfcBooleanOperator_DIFFERENCE
Definition: IfcModelerGeometry.h:56
OdIfc::OdIfcModelerGeometry
Definition: IfcModelerGeometry.h:95
IfcDeviationParams.h
GeVector3d.h
OdIfc::OdIfcModelerGeometry::copyFrom
void copyFrom(const OdRxObject *)=0
OdIfc::OdIfcModelerGeometry::boolean
virtual OdResult boolean(OdIfcHalfSpaceSolidPtr tool)=0
params
GLenum GLint * params
Definition: gles2_ext.h:184
ODRX_ABSTRACT
#define ODRX_ABSTRACT
Definition: OdPlatformSettings.h:117
OdGiWorldDraw
Definition: GiWorldDraw.h:44
OdIfc::OdIfcModelerGeometry::createFacetedBrep
virtual OdResult createFacetedBrep(OdIfcConnectedFaceSetPtr pFaceSet)=0
OdGeExtents3d
Definition: GeExtents3d.h:45
OdIfc::kTool
@ kTool
Definition: IfcModelerGeometry.h:71
OdIfc::OdIfcModelerGeometry::revolve
virtual OdResult revolve(OdIfcProfileDefPtr profile, const OdGeVector3d &axisOfRevolution, const OdGePoint3d &axisPosition, double startAng, double endAng)=0
OdIfc::OdIfcModelerGeometry::box
virtual OdResult box(const OdGePoint3d &ptOrigin, const OdGeVector3d &vSizes)=0
OdIfc::kBlank
@ kBlank
Definition: IfcModelerGeometry.h:75
OdIfc::OdIfcModelerGeometry::body
virtual void * body()=0
OdIfc::OdIfcDeviationParams
Definition: IfcDeviationParams.h:45
OdIfc::kIfcBooleanOperator_INTERSECTION
@ kIfcBooleanOperator_INTERSECTION
Definition: IfcModelerGeometry.h:52
OdIfc::OdIfcConnectedFaceSetPtr
OdSmartPtr< OdIfcConnectedFaceSet > OdIfcConnectedFaceSetPtr
Definition: IfcModelerGeometry.h:85
OdIfc::kBoth
@ kBoth
Definition: IfcModelerGeometry.h:79
IfcBuildOptions.h
OdIfc::kIfcBooleanOperator_UNION
@ kIfcBooleanOperator_UNION
Definition: IfcModelerGeometry.h:48
OdIfc::OdIfcModelerGeometry::createAdvancedBrep
virtual OdResult createAdvancedBrep(OdIfcAdvancedBrepPtr pBrep)=0
OdIfc::IfcModelerKeep
IfcModelerKeep
Definition: IfcModelerGeometry.h:63