CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
DbRegion.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2024, 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-2024 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#include "DwgDeclareMembers.h"
35
36class OdBrBrep;
38namespace GeMesh { class OdGeTrMesh; }
40
50{
51public:
52 //DOM-IGNORE-BEGIN
54 //DOM-IGNORE-END
55
60
70 OdStreamBuf* pStreamBuf,
71 AfTypeVer typeVer = kAfTypeVerAny) const;
72
86 OdStreamBuf* pStreamBuf,
87 AfTypeVer *typeVer = 0);
88
94 void brep(
95 OdBrBrep& brep);
96
97 bool getFaceMesh(GeMesh::OdGeTrMesh& mesh, OdGsMarker iFace, const wrTriangulationParams& triangulationParams) const;
98
106 bool isNull() const;
107
126 const OdRxObjectPtrArray& curveSegments,
127 OdRxObjectPtrArray& regions );
128
137 OdGeVector3d& normal) const;
138
144 virtual bool isPlanar() const;
145
165 OdGePlane& plane,
166 OdDb::Planarity& planarity) const;
167
169
171 OdDbDwgFiler* pFiler);
172
173 virtual void dwgOutFields(
174 OdDbDwgFiler* pFiler) const;
175
177 OdDbDxfFiler* pFiler);
178
179 virtual void dxfOutFields(
180 OdDbDxfFiler* pFiler) const;
181
182 virtual bool subWorldDraw(
183 OdGiWorldDraw* pWd) const;
184
186 void* pClsid) const;
187
190 OdDbObjectId& replaceId,
191 bool& exchangeXData);
192
200 virtual OdResult setBody(const void* pGeometry);
201
205 virtual void* body() const;
206
208 OdRxObjectPtrArray& entitySet) const;
209
211 const OdGeMatrix3d& xfm );
212
223 virtual void saveAs(
224 OdGiWorldDraw* pWd,
225 OdDb::DwgVersion ver ) const;
226
246 virtual OdResult booleanOper(OdDb::BoolOperType operation, OdDbRegion* otherRegion);
247
260 virtual OdResult getArea(double& regionArea) const;
261
274 virtual OdResult getPerimeter(double&) const;
275
306 virtual OdResult getAreaProp( const OdGePoint3d& origin, const OdGeVector3d& xAxis,
307 const OdGeVector3d& yAxis, double& perimeter,
308 double& area, OdGePoint2d& centroid,
309 double momInertia[2], double& prodInertia,
310 double prinMoments[2], OdGeVector2d prinAxes[2],
311 double radiiGyration[2], OdGePoint2d& extentsLow,
312 OdGePoint2d& extentsHigh ) const;
313
353 OdGePoint3dArray& points, OdGsMarker thisGsMarker = 0,
354 OdGsMarker otherGsMarker = 0) const;
355
391 const OdGePlane& projPlane, OdGePoint3dArray& points,
392 OdGsMarker thisGsMarker = 0, OdGsMarker otherGsMarker = 0) const;
393
395
397
399 OdGsMarker gsMark,
400 const OdGePoint3d& pickPoint,
401 const OdGeMatrix3d& viewXform,
402 OdDbFullSubentPathArray& subentPaths,
403 const OdDbObjectIdArray* pEntAndInsertStack = 0) const;
404
410 virtual OdUInt32 numChanges() const;
411
412 virtual OdDbSubentId internalSubentId(void* ent) const;
413 virtual void* internalSubentPtr(const OdDbSubentId& id) const;
414
416
417 virtual OdResult subGetGeomExtents( OdGeExtents3d& extents) const;
418
423 virtual void subClose();
424
425 //DOM-IGNORE-BEGIN
426 virtual void copyFrom(const OdRxObject* pSource) ODRX_OVERRIDE;
427 //DOM-IGNORE-END
428};
429
435
436#include "TD_PackPop.h"
437
438#endif
439
OdArray< OdGePoint3d, OdMemoryAllocator< OdGePoint3d > > OdGePoint3dArray
OdSmartPtr< OdDbEntity > OdDbEntityPtr
Definition DbEntity.h:51
#define DBENT_EXPORT
Definition DbExport.h:67
OdSmartPtr< OdDbObject > OdDbObjectPtr
Definition DbObject.h:1750
OdSmartPtr< OdDbRegion > OdDbRegionPtr
Definition DbRegion.h:434
OdArray< OdDbFullSubentPath > OdDbFullSubentPathArray
Definition DbSubentId.h:169
OdArray< OdGsMarker, OdMemoryAllocator< OdGsMarker > > OdGsMarkerArray
OdArray< OdDbObjectId, OdClrMemAllocator< OdDbObjectId > > OdDbObjectIdArray
Definition IdArrays.h:53
@ kAfTypeVerAny
Definition ModelerDefs.h:80
int AfTypeVer
Definition ModelerDefs.h:29
ptrdiff_t OdGsMarker
unsigned int OdUInt32
#define ODRX_OVERRIDE
OdResult
Definition OdResult.h:29
OdArray< OdRxObjectPtr > OdRxObjectPtrArray
Definition RxObject.h:1196
virtual OdResult getPlane(OdGePlane &plane, OdDb::Planarity &planarity) const
virtual OdResult subGetClassID(void *pClsid) const
virtual void subClose()
virtual OdResult subIntersectWith(const OdDbEntity *pEnt, OdDb::Intersect intType, OdGePoint3dArray &points, OdGsMarker thisGsMarker=0, OdGsMarker otherGsMarker=0) const
TD_USING(OdDbEntity::getPlane)
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 void copyFrom(const OdRxObject *pSource) ODRX_OVERRIDE
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 void * body() 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
bool getFaceMesh(GeMesh::OdGeTrMesh &mesh, OdGsMarker iFace, const wrTriangulationParams &triangulationParams) 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 OdResult getArea(double &regionArea) const
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
virtual void * internalSubentPtr(const OdDbSubentId &id) const
DWGMAP_DECLARE_MEMBERS(OdDbRegion)
virtual OdResult subExplode(OdRxObjectPtrArray &entitySet) const
virtual OdUInt32 subSetAttributes(OdGiDrawableTraits *pTraits) const
OdResult acisOut(OdStreamBuf *pStreamBuf, AfTypeVer typeVer=kAfTypeVerAny) 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
DwgVersion
Definition OdaDefs.h:47
Intersect
Definition OdaDefs.h:481
Planarity
Definition DbEntity.h:74