CFx SDK Documentation  2023 SP0
DbRegion.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2017, 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 Teigha(R) software pursuant to a license
16 // agreement with Open Design Alliance.
17 // Teigha(R) Copyright (C) 2002-2017 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 
25 
26 
27 #ifndef GEOMENT_DBREGION_H
28 #define GEOMENT_DBREGION_H
29 
30 #include "TD_PackPush.h"
31 #include "ModelerDefs.h"
32 #include "DbEntity.h"
33 #include "DbSubentId.h"
34 
35 class OdBrBrep;
36 class OdModelerGeometry;
37 
50 {
51 public:
53 
55 
65  OdStreamBuf* pStreamBuf,
66  AfTypeVer typeVer = kAfTypeVerAny);
67 
81  OdStreamBuf* pStreamBuf,
82  AfTypeVer *typeVer = 0);
83 
89  void brep(
90  OdBrBrep& brep);
91 
95  bool isNull() const;
96 
110  const OdRxObjectPtrArray& curveSegments,
111  OdRxObjectPtrArray& regions );
112 
121  OdGeVector3d& normal) const;
122 
126  virtual bool isPlanar() const;
127 
141  OdGePlane& plane,
142  OdDb::Planarity& planarity) const;
143 
145 
147  OdDbDwgFiler* pFiler);
148 
149  virtual void dwgOutFields(
150  OdDbDwgFiler* pFiler) const;
151 
153  OdDbDxfFiler* pFiler);
154 
155  virtual void dxfOutFields(
156  OdDbDxfFiler* pFiler) const;
157 
158  virtual bool subWorldDraw(
159  OdGiWorldDraw* pWd) const;
160 
162  void* pClsid) const;
163 
165  OdDb::DwgVersion ver,
166  OdDbObjectId& replaceId,
167  bool& exchangeXData);
168 
176  virtual OdResult setBody( const void* pGeometry );
177 
181  virtual void *body( ) const;
182 
184  OdRxObjectPtrArray& entitySet) const;
185 
187  const OdGeMatrix3d& xfm );
188 
198  virtual void saveAs(
199  OdGiWorldDraw* pWd,
200  OdDb::DwgVersion ver ) const;
201 
219  virtual OdResult booleanOper(OdDb::BoolOperType operation, OdDbRegion* otherRegion);
220 
233  virtual OdResult getArea(double& regionArea) const;
234 
247  virtual OdResult getPerimeter(double&) const;
248 
279  virtual OdResult getAreaProp( const OdGePoint3d& origin, const OdGeVector3d& xAxis,
280  const OdGeVector3d& yAxis, double& perimeter,
281  double& area, OdGePoint2d& centroid,
282  double momInertia[2], double& prodInertia,
283  double prinMoments[2], OdGeVector2d prinAxes[2],
284  double radiiGyration[2], OdGePoint2d& extentsLow,
285  OdGePoint2d& extentsHigh ) const;
286 
316  virtual OdResult subIntersectWith(const OdDbEntity* pEnt, OdDb::Intersect intType,
317  OdGePoint3dArray& points, OdGsMarker thisGsMarker = 0,
318  OdGsMarker otherGsMarker = 0) const;
319 
346  virtual OdResult subIntersectWith(const OdDbEntity* pEnt, OdDb::Intersect intType,
347  const OdGePlane& projPlane, OdGePoint3dArray& points,
348  OdGsMarker thisGsMarker = 0, OdGsMarker otherGsMarker = 0) const;
349 
351 
352  virtual OdResult subGetGsMarkersAtSubentPath(const OdDbFullSubentPath& subPath, OdGsMarkerArray& gsMarkers) const;
353 
355  OdGsMarker gsMark,
356  const OdGePoint3d& pickPoint,
357  const OdGeMatrix3d& viewXform,
358  OdDbFullSubentPathArray& subentPaths,
359  const OdDbObjectIdArray* pEntAndInsertStack = 0) const;
360 
364  virtual OdUInt32 numChanges() const;
365 
366  virtual OdDbSubentId internalSubentId(void* ent) const;
367  virtual void* internalSubentPtr(const OdDbSubentId& id) const;
368 
370 
371  virtual OdResult subGetGeomExtents( OdGeExtents3d& extents) const;
372 };
373 
378 
379 #include "TD_PackPop.h"
380 
381 #endif
382 
#define TOOLKIT_EXPORT
Definition: DbExport.h:40
OdSmartPtr< OdDbRegion > OdDbRegionPtr
Definition: DbRegion.h:377
@ kAfTypeVerAny
Definition: ModelerDefs.h:80
int AfTypeVer
Definition: ModelerDefs.h:29
ptrdiff_t OdGsMarker
unsigned int OdUInt32
OdResult
Definition: OdResult.h:29
virtual OdResult getPlane(OdGePlane &plane, OdDb::Planarity &planarity) const
virtual OdResult subGetClassID(void *pClsid) const
virtual OdResult subIntersectWith(const OdDbEntity *pEnt, OdDb::Intersect intType, OdGePoint3dArray &points, OdGsMarker thisGsMarker=0, OdGsMarker otherGsMarker=0) const
TD_USING(OdDbEntity::getPlane)
virtual void * body() const
static OdResult createFromCurves(const OdRxObjectPtrArray &curveSegments, OdRxObjectPtrArray &regions)
void brep(OdBrBrep &brep)
virtual OdResult getPlane(OdGePlane &plane, OdDb::Planarity &planarity) const
virtual OdResult booleanOper(OdDb::BoolOperType operation, OdDbRegion *otherRegion)
virtual bool isPlanar() const
virtual OdDbObjectPtr decomposeForSave(OdDb::DwgVersion ver, OdDbObjectId &replaceId, bool &exchangeXData)
virtual OdResult dwgInFields(OdDbDwgFiler *pFiler)
virtual OdResult dxfInFields(OdDbDxfFiler *pFiler)
virtual void dxfOutFields(OdDbDxfFiler *pFiler) const
virtual OdResult getAreaProp(const OdGePoint3d &origin, const OdGeVector3d &xAxis, const OdGeVector3d &yAxis, double &perimeter, double &area, OdGePoint2d &centroid, double momInertia[2], double &prodInertia, double prinMoments[2], OdGeVector2d prinAxes[2], double radiiGyration[2], OdGePoint2d &extentsLow, OdGePoint2d &extentsHigh) const
virtual void dwgOutFields(OdDbDwgFiler *pFiler) const
virtual OdDbEntityPtr subSubentPtr(const OdDbFullSubentPath &id) const
virtual void saveAs(OdGiWorldDraw *pWd, OdDb::DwgVersion ver) const
virtual OdResult setBody(const void *pGeometry)
virtual OdResult subTransformBy(const OdGeMatrix3d &xfm)
bool isNull() const
virtual OdResult subIntersectWith(const OdDbEntity *pEnt, OdDb::Intersect intType, const OdGePlane &projPlane, OdGePoint3dArray &points, OdGsMarker thisGsMarker=0, OdGsMarker otherGsMarker=0) const
virtual OdUInt32 numChanges() const
virtual bool subWorldDraw(OdGiWorldDraw *pWd) const
virtual void * internalSubentPtr(const OdDbSubentId &id) const
virtual OdResult getArea(double &regionArea) const
OdResult acisOut(OdStreamBuf *pStreamBuf, AfTypeVer typeVer=kAfTypeVerAny)
virtual OdDbSubentId internalSubentId(void *ent) const
virtual OdResult getNormal(OdGeVector3d &normal) const
virtual OdResult subGetGeomExtents(OdGeExtents3d &extents) const
virtual OdResult getPerimeter(double &) const
virtual OdResult subGetGsMarkersAtSubentPath(const OdDbFullSubentPath &subPath, OdGsMarkerArray &gsMarkers) const
ODDB_DECLARE_MEMBERS(OdDbRegion)
virtual OdResult subExplode(OdRxObjectPtrArray &entitySet) const
virtual OdUInt32 subSetAttributes(OdGiDrawableTraits *pTraits) const
OdResult acisIn(OdStreamBuf *pStreamBuf, AfTypeVer *typeVer=0)
virtual OdResult subGetSubentPathsAtGsMarker(OdDb::SubentType type, OdGsMarker gsMark, const OdGePoint3d &pickPoint, const OdGeMatrix3d &viewXform, OdDbFullSubentPathArray &subentPaths, const OdDbObjectIdArray *pEntAndInsertStack=0) const
GLuint GLsizei GLsizei GLint GLenum * type
Definition: gles2_ext.h:274
BoolOperType
Definition: ModelerDefs.h:113
DwgVersion
Definition: OdaDefs.h:46
Intersect
Definition: OdaDefs.h:472
Planarity
Definition: DbEntity.h:74