CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
Db3dSolid.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_DBSOL3D_H
28#define GEOMENT_DBSOL3D_H
29
30#include "TD_PackPush.h"
31#include "ModelerDefs.h"
32#include "DbRegion.h"
33#include "DbSubentId.h"
34
35class OdDbSubentId;
36class OdDbCurve;
37class OdBrBrep;
39class OdDbLoftOptions;
43class OdDbSurface;
44namespace GeMesh { class OdGeTrMesh; }
46
47#include "DbEntity.h"
48#include "OdArray.h"
49#include "DwgDeclareMembers.h"
50
51
52
53class OdDb3dSolid;
54
60
66
67
78{
79public:
80 //DOM-IGNORE-BEGIN
82 //DOM-IGNORE-END
83
88
96 bool isNull() const;
97
107 OdStreamBuf* pStreamBuf,
108 AfTypeVer typeVer = kAfTypeVerAny) const;
109
119 OdStreamBuf* pStreamBuf,
120 AfTypeVer *pTypeVer = 0);
121
127 void brep(
128 OdBrBrep& brep);
129
140 bool getFaceMesh(GeMesh::OdGeTrMesh& mesh, OdGsMarker iFace, const wrTriangulationParams& triangulationParams) const;
141
142 virtual bool subWorldDraw(
143 OdGiWorldDraw* pWd) const;
144
145 virtual void subViewportDraw(
146 OdGiViewportDraw* pVd) const;
147
149 OdDbDwgFiler* pFiler);
150
151 virtual void dwgOutFields(
152 OdDbDwgFiler* pFiler) const;
153
155 OdDbDxfFiler* pFiler);
156
157 virtual void dxfOutFields(
158 OdDbDxfFiler* pFiler) const;
159
161 void* pClsid) const;
162
176 virtual void createBox(
177 double xLen,
178 double yLen,
179 double zLen);
180
210 virtual void createFrustum(
211 double height,
212 double majorRadius,
213 double minorRadius,
214 double topMajorRadius);
215
225 virtual void createSphere(
226 double radius);
227
245 virtual void createTorus(
246 double majorRadius,
247 double minorRadius);
248
271 virtual void createWedge(
272 double xLen,
273 double yLen,
274 double zLen);
275
304 const OdDbRegion* pRegion,
305 double height,
306 double taperAngle = 0.0);
307
332 const OdDbRegion* pRegion,
333 const OdGePoint3d& axisPoint,
334 const OdGeVector3d& axisDir,
335 double angleOfRevolution);
336
355
398 virtual OdResult extrudeAlongPath(const OdDbRegion* region, const OdDbCurve* path, double taperAngle = 0.0);
399
428 virtual OdResult imprintEntity(const OdDbEntity *pEntity);
429
442 virtual OdResult getArea(double& area) const;
443
467 virtual OdResult checkInterference(const OdDb3dSolid* otherSolid,
468 bool createNewSolid,
469 bool& solidsInterfere,
470 OdDb3dSolidPtr& commonVolumeSolid)
471 const;
472
492 virtual OdResult getMassProp(double& volume,
493 OdGePoint3d& centroid,
494 double momInertia[3],
495 double prodInertia[3],
496 double prinMoments[3],
497 OdGeVector3d prinAxes[3],
498 double radiiGyration[3],
499 OdGeExtents3d& extents) const;
500
517 virtual OdResult getSection(const OdGePlane& plane, OdDbRegionPtr &sectionRegion) const;
518
546 virtual OdResult getSlice(const OdGePlane& plane, bool bGetNegHalfToo, OdDb3dSolidPtr& pNegHalfSolid);
547
578 virtual OdResult getSlice(OdDbSurface* pSurface, bool bGetNegHalfToo, OdDb3dSolidPtr& pNegHalfSolid);
579
591
610 virtual OdResult offsetBody(double offsetDistance);
611
633
653 const OdGeVector3d& directionVec,
654 OdDbSweepOptions& sweepOptions );
655
674 const OdDbSubentId& faceSubentId,
675 const OdGeVector3d& directionVec,
676 OdDbSweepOptions& sweepOptions );
677
696 const OdDbSubentId& faceSubentId,
697 double height,
698 OdDbSweepOptions& sweepOptions );
699
716 OdDbEntityPtrArray& crossSectionCurves,
717 OdDbEntityPtrArray& guideCurves,
718 OdDbEntity* pPathCurve, OdDbLoftOptions& loftOptions );
719
743 virtual OdResult createPyramid(double height, int sides,
744 double radius, double topRadius = 0.0 );
745
768 const OdGePoint3d& axisPnt,
769 const OdGeVector3d& axisDir,
770 double revAngle, double startAngle,
771 OdDbRevolveOptions& revolveOptions );
772
793 const OdDbSubentId& faceSubentId,
794 const OdGePoint3d& axisPnt,
795 const OdGeVector3d& axisDir,
796 double revAngle, double startAngle,
797 OdDbRevolveOptions& revolveOptions );
798
819 const OdDbSubentId& faceSubentId,
820 OdDbEntity* pPathEnt,
821 OdDbSweepOptions& sweepOptions );
822
844 OdDbEntity* pPathEnt,
845 OdDbSweepOptions& sweepOptions );
846
866 virtual OdResult stlOut(OdStreamBuf* output, bool asciiFormat, double maxSurfaceDeviation = 0.0) const;
867
887 virtual OdResult stlOut(const OdChar* filename, bool asciiFormat, double maxSurfaceDeviation = 0.0) const;
888
891 OdDbObjectId& replaceId,
892 bool& exchangeXData);
893
895 OdRxObjectPtrArray& entitySet) const;
896
898 const OdGeMatrix3d& xfm );
899
910 virtual void saveAs(
911 OdGiWorldDraw* pWd,
912 OdDb::DwgVersion ver) const;
913
921 virtual OdResult setBody(const void* pGeometry);
922
926 virtual void* body() const;
927
947 virtual OdResult copyEdge(const OdDbSubentId &subentId, OdDbEntityPtr &newEntity);
948
969 virtual OdResult copyFace(const OdDbSubentId &subentId, OdDbEntityPtr &newEntity);
970
972 OdGsMarker gsMark,
973 const OdGePoint3d& pickPoint,
974 const OdGeMatrix3d& viewXform,
975 OdDbFullSubentPathArray& subentPaths,
976 const OdDbObjectIdArray* pEntAndInsertStack = 0) const;
977
978 virtual OdDbSubentId internalSubentId(void* ent) const;
979
980 virtual void* internalSubentPtr(const OdDbSubentId& id) const;
981
983 OdGsMarkerArray& gsMarkers) const;
984
986
1020 virtual OdResult extrudeFaces(const OdArray<OdDbSubentId *> &faceSubentIds,
1021 double height, double taper);
1022
1050 const OdDbCurve* path);
1051
1073 virtual OdResult taperFaces(const OdArray<OdDbSubentId *> &faceSubentIds,
1074 const OdGePoint3d &basePoint,
1075 const OdGeVector3d &draftVector,
1076 double draftAngle);
1077
1092 virtual OdResult transformFaces(const OdArray<OdDbSubentId *> &faceSubentIds, const OdGeMatrix3d &matrix);
1093
1111 virtual OdResult removeFaces(const OdArray<OdDbSubentId *> &faceSubentIds);
1112
1133 virtual OdResult offsetFaces(const OdArray<OdDbSubentId *> &faceSubentIds, double offsetDistance);
1134
1161 virtual OdResult shellBody(const OdArray<OdDbSubentId *> &faceSubentIds, double offsetDistance);
1162
1168 virtual OdUInt32 numChanges() const;
1169
1178 virtual OdResult setSubentColor(const OdDbSubentId &subentId, const OdCmColor &color);
1179
1188 virtual OdResult getSubentColor(const OdDbSubentId &subentId, OdCmColor &color) const;
1189
1202 virtual OdResult setSubentMaterial(const OdDbSubentId &subentId, OdDbObjectId matId);
1203
1212 virtual OdResult getSubentMaterial(const OdDbSubentId &subentId, OdDbObjectId& matId) const;
1213
1226 virtual OdResult setSubentMaterialMapper(const OdDbSubentId &subentId, const OdGiMapper& mapper);
1227
1236 virtual OdResult getSubentMaterialMapper(const OdDbSubentId &subentId, OdGiMapper& mapper) const;
1237
1252 virtual OdResult chamferEdges(const OdArray<OdDbSubentId *> &edgeSubentIds,
1253 const OdDbSubentId& baseFaceSubentId,
1254 double baseDist,
1255 double otherDist);
1256
1271 virtual OdResult filletEdges( const OdArray<OdDbSubentId *> &edgeSubentIds,
1272 const OdGeDoubleArray& radius,
1273 const OdGeDoubleArray& startSetback,
1274 const OdGeDoubleArray& endSetback);
1275
1292 virtual OdResult createFrom(const OdDbEntity* pFromEntity);
1293
1303 virtual bool recordHistory() const;
1304
1315 virtual bool showHistory() const;
1316
1325 virtual OdResult setRecordHistory(bool bRecord);
1326
1335 virtual OdResult setShowHistory(bool bShow);
1336
1349
1351
1371 OdResult projectOnToSolid( const OdDbEntity* pEntityToProject,
1372 const OdGeVector3d& projectionDirection,
1373 OdDbEntityPtrArray& projectedEntities) const;
1374
1388 const OdGeIntArray& limitingFlags);
1389
1394 virtual void subClose();
1395
1397
1428
1442 GeomType determineGeomType(bool byBrep = false, OdDb3dSolidGeomParams** params = nullptr) const;
1443
1455 bool isSphere(bool byBrep = false, double* radius = nullptr, OdGeMatrix3d* matrix = nullptr) const;
1456
1469 bool isTorus(bool byBrep = false, double* majorRadius = nullptr, double* minorRadius = nullptr, OdGeMatrix3d* matrix = nullptr) const;
1470
1484 bool isCylinder(bool byBrep = false,
1485 double* height = nullptr,
1486 double* majorRadius = nullptr,
1487 double* minorRadius = nullptr,
1488 OdGeMatrix3d* matrix = nullptr) const;
1489
1504 bool isCone(bool byBrep = false,
1505 double* height = nullptr,
1506 double* majorRadius = nullptr,
1507 double* minorRadius = nullptr,
1508 double* topMajorRadius = nullptr,
1509 OdGeMatrix3d* matrix = nullptr) const;
1510
1524 bool isBox(bool byBrep = false, double* xLen = nullptr, double* yLen = nullptr, double* zLen = nullptr, OdGeMatrix3d* matrix = nullptr) const;
1525
1539 bool isWedge(bool byBrep = false, double* xLen = nullptr, double* yLen = nullptr, double* zLen = nullptr, OdGeMatrix3d* matrix = nullptr) const;
1540
1555 bool isPyramid(bool byBrep = false,
1556 double* height = nullptr,
1557 int* sides = nullptr,
1558 double* radius = nullptr,
1559 double* topRadius = nullptr,
1560 OdGeMatrix3d* matrix = nullptr) const;
1561
1575 bool isExtrusion(bool byBrep = false,
1576 OdGeVector3d* direction = nullptr,
1577 OdDbEntity** extrusionEntity = nullptr,
1578 OdDbSweepOptions* options = nullptr,
1579 OdGeMatrix3d* matrix = nullptr) const;
1580
1594 bool isSweep(bool byBrep = false,
1595 OdDbEntity** sweepEntity = nullptr,
1596 OdDbEntity** pathEntity = nullptr,
1597 OdDbSweepOptions* options = nullptr,
1598 OdGeMatrix3d* matrix = nullptr) const;
1599
1614 bool isLoft(bool byBrep = false,
1615 OdDbEntityPtrArray* crossSectionCurves = nullptr,
1616 OdDbEntityPtrArray* guideCurves = nullptr,
1617 OdDbEntity** pathCurve = nullptr,
1618 OdDbLoftOptions* options = nullptr,
1619 OdGeMatrix3d* matrix = nullptr) const;
1620
1637 bool isRevolve(bool byBrep = false,
1638 double* revolveAngle = nullptr,
1639 double* startAngle = nullptr,
1640 OdGePoint3d* axisPoint = nullptr,
1641 OdGeVector3d* axisDir = nullptr,
1642 OdDbEntity** revolveEntity = nullptr,
1643 OdDbRevolveOptions* options = nullptr,
1644 OdGeMatrix3d* matrix = nullptr) const;
1645
1646 //DOM-IGNORE-BEGIN
1647 virtual void copyFrom(const OdRxObject* pSource) ODRX_OVERRIDE;
1648 //DOM-IGNORE-END
1649};
1650
1651#include "TD_PackPop.h"
1652
1653#endif
OdSmartPtr< OdDb3dSolid > OdDb3dSolidPtr
Definition Db3dSolid.h:59
OdArray< OdDb3dSolidPtr > OdDb3dSolidPtrArray
Definition Db3dSolid.h:65
OdArray< OdDbEntityPtr > OdDbEntityPtrArray
Definition DbEntity.h:56
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< double, OdMemoryAllocator< double > > OdGeDoubleArray
OdArray< int, OdMemoryAllocator< int > > OdGeIntArray
Definition GeIntArray.h:35
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
wchar_t OdChar
OdResult
Definition OdResult.h:29
OdArray< OdRxObjectPtr > OdRxObjectPtrArray
Definition RxObject.h:1196
virtual OdResult createSweptSolid(OdDbEntity *pSweepEnt, OdDbEntity *pPathEnt, OdDbSweepOptions &sweepOptions)
virtual OdUInt32 subSetAttributes(OdGiDrawableTraits *pTraits) const
virtual void subViewportDraw(OdGiViewportDraw *pVd) const
virtual void createSphere(double radius)
virtual OdResult subGetGeomExtents(OdGeExtents3d &extents) const
OdResult acisOut(OdStreamBuf *pStreamBuf, AfTypeVer typeVer=kAfTypeVerAny) const
virtual OdResult offsetFaces(const OdArray< OdDbSubentId * > &faceSubentIds, double offsetDistance)
virtual void subClose()
bool isCylinder(bool byBrep=false, double *height=nullptr, double *majorRadius=nullptr, double *minorRadius=nullptr, OdGeMatrix3d *matrix=nullptr) const
virtual void * body() const
OdResult createSculptedSolid(OdDbEntityPtrArray &limitingBodies, const OdGeIntArray &limitingFlags)
bool isPyramid(bool byBrep=false, double *height=nullptr, int *sides=nullptr, double *radius=nullptr, double *topRadius=nullptr, OdGeMatrix3d *matrix=nullptr) const
bool getFaceMesh(GeMesh::OdGeTrMesh &mesh, OdGsMarker iFace, const wrTriangulationParams &triangulationParams) const
virtual OdResult filletEdges(const OdArray< OdDbSubentId * > &edgeSubentIds, const OdGeDoubleArray &radius, const OdGeDoubleArray &startSetback, const OdGeDoubleArray &endSetback)
virtual OdResult checkInterference(const OdDb3dSolid *otherSolid, bool createNewSolid, bool &solidsInterfere, OdDb3dSolidPtr &commonVolumeSolid) const
virtual void createBox(double xLen, double yLen, double zLen)
virtual OdResult convertToBrepAtSubentPaths(const OdDbFullSubentPathArray &)
virtual OdResult getSection(const OdGePlane &plane, OdDbRegionPtr &sectionRegion) const
virtual void copyFrom(const OdRxObject *pSource) ODRX_OVERRIDE
bool isLoft(bool byBrep=false, OdDbEntityPtrArray *crossSectionCurves=nullptr, OdDbEntityPtrArray *guideCurves=nullptr, OdDbEntity **pathCurve=nullptr, OdDbLoftOptions *options=nullptr, OdGeMatrix3d *matrix=nullptr) const
virtual OdResult revolve(const OdDbRegion *pRegion, const OdGePoint3d &axisPoint, const OdGeVector3d &axisDir, double angleOfRevolution)
OdResult acisIn(OdStreamBuf *pStreamBuf, AfTypeVer *pTypeVer=0)
virtual OdResult extrudeAlongPath(const OdDbRegion *region, const OdDbCurve *path, double taperAngle=0.0)
virtual OdResult subGetGsMarkersAtSubentPath(const OdDbFullSubentPath &subPath, OdGsMarkerArray &gsMarkers) const
virtual OdResult transformFaces(const OdArray< OdDbSubentId * > &faceSubentIds, const OdGeMatrix3d &matrix)
bool isSweep(bool byBrep=false, OdDbEntity **sweepEntity=nullptr, OdDbEntity **pathEntity=nullptr, OdDbSweepOptions *options=nullptr, OdGeMatrix3d *matrix=nullptr) const
virtual OdResult extrudeFacesAlongPath(const OdArray< OdDbSubentId * > &faceSubentIds, const OdDbCurve *path)
virtual OdResult imprintEntity(const OdDbEntity *pEntity)
OdResult projectOnToSolid(const OdDbEntity *pEntityToProject, const OdGeVector3d &projectionDirection, OdDbEntityPtrArray &projectedEntities) const
virtual OdResult createRevolvedSolid(OdDbEntity *pRevEnt, const OdDbSubentId &faceSubentId, const OdGePoint3d &axisPnt, const OdGeVector3d &axisDir, double revAngle, double startAngle, OdDbRevolveOptions &revolveOptions)
DWGMAP_DECLARE_MEMBERS(OdDb3dSolid)
virtual OdResult dxfInFields(OdDbDxfFiler *pFiler)
virtual void createTorus(double majorRadius, double minorRadius)
bool isRevolve(bool byBrep=false, double *revolveAngle=nullptr, double *startAngle=nullptr, OdGePoint3d *axisPoint=nullptr, OdGeVector3d *axisDir=nullptr, OdDbEntity **revolveEntity=nullptr, OdDbRevolveOptions *options=nullptr, OdGeMatrix3d *matrix=nullptr) const
virtual OdResult createSweptSolid(OdDbEntity *pSweepEnt, const OdDbSubentId &faceSubentId, OdDbEntity *pPathEnt, OdDbSweepOptions &sweepOptions)
virtual OdResult createPyramid(double height, int sides, double radius, double topRadius=0.0)
bool isWedge(bool byBrep=false, double *xLen=nullptr, double *yLen=nullptr, double *zLen=nullptr, OdGeMatrix3d *matrix=nullptr) const
virtual OdResult getMassProp(double &volume, OdGePoint3d &centroid, double momInertia[3], double prodInertia[3], double prinMoments[3], OdGeVector3d prinAxes[3], double radiiGyration[3], OdGeExtents3d &extents) const
virtual OdResult createFrom(const OdDbEntity *pFromEntity)
virtual OdResult stlOut(const OdChar *filename, bool asciiFormat, double maxSurfaceDeviation=0.0) const
virtual OdResult getArea(double &area) const
virtual OdResult getSlice(const OdGePlane &plane, bool bGetNegHalfToo, OdDb3dSolidPtr &pNegHalfSolid)
bool isTorus(bool byBrep=false, double *majorRadius=nullptr, double *minorRadius=nullptr, OdGeMatrix3d *matrix=nullptr) const
virtual OdResult chamferEdges(const OdArray< OdDbSubentId * > &edgeSubentIds, const OdDbSubentId &baseFaceSubentId, double baseDist, double otherDist)
virtual OdUInt32 numChanges() const
virtual OdResult createExtrudedSolid(OdDbEntity *pSweepEnt, const OdDbSubentId &faceSubentId, double height, OdDbSweepOptions &sweepOptions)
virtual OdResult subExplode(OdRxObjectPtrArray &entitySet) const
virtual OdResult stlOut(OdStreamBuf *output, bool asciiFormat, double maxSurfaceDeviation=0.0) const
virtual OdResult getSubentColor(const OdDbSubentId &subentId, OdCmColor &color) const
virtual OdResult createRevolvedSolid(OdDbEntity *pRevEnt, const OdGePoint3d &axisPnt, const OdGeVector3d &axisDir, double revAngle, double startAngle, OdDbRevolveOptions &revolveOptions)
virtual OdResult createExtrudedSolid(OdDbEntity *pSweepEnt, const OdGeVector3d &directionVec, OdDbSweepOptions &sweepOptions)
virtual OdResult setBody(const void *pGeometry)
bool isBox(bool byBrep=false, double *xLen=nullptr, double *yLen=nullptr, double *zLen=nullptr, OdGeMatrix3d *matrix=nullptr) const
virtual OdResult extrudeFaces(const OdArray< OdDbSubentId * > &faceSubentIds, double height, double taper)
virtual OdResult setSubentMaterial(const OdDbSubentId &subentId, OdDbObjectId matId)
virtual OdResult subGetClassID(void *pClsid) const
virtual OdResult createLoftedSolid(OdDbEntityPtrArray &crossSectionCurves, OdDbEntityPtrArray &guideCurves, OdDbEntity *pPathCurve, OdDbLoftOptions &loftOptions)
virtual OdResult setShowHistory(bool bShow)
virtual OdResult dwgInFields(OdDbDwgFiler *pFiler)
virtual OdResult taperFaces(const OdArray< OdDbSubentId * > &faceSubentIds, const OdGePoint3d &basePoint, const OdGeVector3d &draftVector, double draftAngle)
bool isCone(bool byBrep=false, double *height=nullptr, double *majorRadius=nullptr, double *minorRadius=nullptr, double *topMajorRadius=nullptr, OdGeMatrix3d *matrix=nullptr) const
virtual bool recordHistory() const
virtual OdResult copyFace(const OdDbSubentId &subentId, OdDbEntityPtr &newEntity)
virtual OdResult shellBody(const OdArray< OdDbSubentId * > &faceSubentIds, double offsetDistance)
GeomType determineGeomType(bool byBrep=false, OdDb3dSolidGeomParams **params=nullptr) const
virtual OdResult copyEdge(const OdDbSubentId &subentId, OdDbEntityPtr &newEntity)
virtual OdDbEntityPtr subSubentPtr(const OdDbFullSubentPath &id) const
virtual OdResult removeFaces(const OdArray< OdDbSubentId * > &faceSubentIds)
virtual void saveAs(OdGiWorldDraw *pWd, OdDb::DwgVersion ver) const
virtual OdResult subGetSubentPathsAtGsMarker(OdDb::SubentType type, OdGsMarker gsMark, const OdGePoint3d &pickPoint, const OdGeMatrix3d &viewXform, OdDbFullSubentPathArray &subentPaths, const OdDbObjectIdArray *pEntAndInsertStack=0) const
virtual OdResult offsetBody(double offsetDistance)
virtual void createWedge(double xLen, double yLen, double zLen)
virtual OdResult getSubentMaterialMapper(const OdDbSubentId &subentId, OdGiMapper &mapper) const
virtual bool subWorldDraw(OdGiWorldDraw *pWd) const
virtual void dwgOutFields(OdDbDwgFiler *pFiler) const
virtual void * internalSubentPtr(const OdDbSubentId &id) const
void brep(OdBrBrep &brep)
virtual void dxfOutFields(OdDbDxfFiler *pFiler) const
virtual OdDbSubentId internalSubentId(void *ent) const
virtual OdResult getSubentMaterial(const OdDbSubentId &subentId, OdDbObjectId &matId) const
virtual OdResult cleanBody()
bool isExtrusion(bool byBrep=false, OdGeVector3d *direction=nullptr, OdDbEntity **extrusionEntity=nullptr, OdDbSweepOptions *options=nullptr, OdGeMatrix3d *matrix=nullptr) const
virtual OdResult getSlice(OdDbSurface *pSurface, bool bGetNegHalfToo, OdDb3dSolidPtr &pNegHalfSolid)
virtual OdResult setSubentMaterialMapper(const OdDbSubentId &subentId, const OdGiMapper &mapper)
virtual OdDbObjectPtr decomposeForSave(OdDb::DwgVersion ver, OdDbObjectId &replaceId, bool &exchangeXData)
virtual OdResult subTransformBy(const OdGeMatrix3d &xfm)
bool isSphere(bool byBrep=false, double *radius=nullptr, OdGeMatrix3d *matrix=nullptr) const
virtual void createFrustum(double height, double majorRadius, double minorRadius, double topMajorRadius)
virtual OdResult setSubentColor(const OdDbSubentId &subentId, const OdCmColor &color)
virtual OdResult extrude(const OdDbRegion *pRegion, double height, double taperAngle=0.0)
bool isNull() const
virtual OdResult createExtrudedSolid(OdDbEntity *pSweepEnt, const OdDbSubentId &faceSubentId, const OdGeVector3d &directionVec, OdDbSweepOptions &sweepOptions)
virtual OdResult setRecordHistory(bool bRecord)
virtual bool showHistory() const
virtual OdResult booleanOper(OdDb::BoolOperType operation, OdDb3dSolid *solid)
virtual OdResult separateBody(OdDb3dSolidPtrArray &newSolids)
OdCmColor color() const
GLenum GLint * params
Definition gles2_ext.h:184
GLuint GLsizei GLsizei GLint GLenum * type
Definition gles2_ext.h:274
GLint GLenum GLsizei GLsizei height
Definition gles2_ext.h:110
DwgVersion
Definition OdaDefs.h:47