CFx SDK Documentation  2020SP3
DbPolygonMesh.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 _OD_DB_POLYGON_MESH_
28 #define _OD_DB_POLYGON_MESH_
29 
30 #include "TD_PackPush.h"
31 
32 #include "DbEntity.h"
33 #include "DbObjectIterator.h"
34 #include "DbPolygonMeshVertex.h"
35 
36 class OdDbSequenceEnd;
39 
44 namespace OdDb
45 {
47  {
48  kSimpleMesh = 0, // Simple mesh
49  kQuadSurfaceMesh = 5, // Quadratic B-spline fit
50  kCubicSurfaceMesh = 6, // Cubic B-spline fit
51  kBezierSurfaceMesh = 8 // Bezier Surface fit
52  };
53 }
54 
77 {
78 public:
80 
82 
98 
116  OdDb::PolyMeshType polyMeshType);
117 
135  OdDb::PolyMeshType polyMeshType);
136 
140  OdInt16 mSize() const;
141 
146  void setMSize(
147  OdInt16 mSize);
148 
152  OdInt16 nSize() const;
153 
158  void setNSize(OdInt16 nSize);
159 
163  bool isMClosed() const;
164 
168  void makeMClosed();
169 
173  void makeMOpen();
174 
178  bool isNClosed() const;
179 
183  void makeNClosed();
184 
188  void makeNOpen();
189 
199 
210  OdInt16 mSurfaceDensity);
211 
221 
232  OdInt16 nSurfaceDensity);
233 
237  void straighten();
238 
242  void surfaceFit();
243 
263  OdDb::PolyMeshType surfType,
264  OdInt16 surfU,
265  OdInt16 surfV);
266 
286  OdDbPolygonMeshVertex* pVertex,
288 
300  OdDbObjectId vertId,
301  OdDb::OpenMode mode,
302  bool openErasedOne = false);
303 
317  OdDb::OpenMode mode);
318 
324 
326  OdDbDwgFiler* pFiler);
327 
328  virtual void dwgOutFields(
329  OdDbDwgFiler* pFiler) const;
330 
332  OdDbDxfFiler* pFiler);
333 
334  virtual void dxfOutFields(
335  OdDbDxfFiler* pFiler) const;
336 
337  virtual void dxfOut(
338  OdDbDxfFiler* pFiler) const;
339 
340  virtual OdResult dxfIn(
341  OdDbDxfFiler* pFiler);
342 
344  OdDbDxfFiler* pFiler);
345 
346  virtual void dxfOutFields_R12(
347  OdDbDxfFiler* pFiler) const;
348 
350  OdGiWorldDraw* pWd) const;
351 
352  void subClose();
353 
355  void* pClsid) const;
356 
357  virtual bool isPlanar() const;
358 
360  OdGePlane& plane,
361  OdDb::Planarity& planarity) const;
362 
364  const OdGeMatrix3d& xfm);
365 
370  OdRxObjectPtrArray& entitySet) const;
371 
375  virtual OdResult explodeGeometry(OdRxObjectPtrArray& entitySet) const;
376 
378  OdGsMarker gsMark,
379  const OdGePoint3d& ,
380  const OdGeMatrix3d& ,
381  OdDbFullSubentPathArray& subentPaths,
382  const OdDbObjectIdArray* pEntAndInsertStack ) const;
383 
385  OdGsMarkerArray& gsMarkers) const;
386 };
387 
392 
393 #include "TD_PackPop.h"
394 
395 #endif
OdResult
OdResult
Definition: OdResult.h:29
OdGePlane
Definition: GePlane.h:45
OdDbPolygonMesh::setNSize
void setNSize(OdInt16 nSize)
OdDbPolygonMeshVertex
Definition: DbPolygonMeshVertex.h:43
OdDbPolygonMesh::mSize
OdInt16 mSize() const
OdDbPolygonMesh::dxfOutFields
virtual void dxfOutFields(OdDbDxfFiler *pFiler) const
OdDbPolygonMesh::surfaceFit
void surfaceFit()
OdDbPolygonMesh::subWorldDraw
bool subWorldDraw(OdGiWorldDraw *pWd) const
OdDbPolygonMesh::makeMOpen
void makeMOpen()
OdDb::Planarity
Planarity
Definition: DbEntity.h:74
OdDbPolygonMesh::nSurfaceDensity
OdInt16 nSurfaceDensity() const
OdDbPolygonMesh::setMSize
void setMSize(OdInt16 mSize)
OdDbPolygonMesh::polyMeshType
OdDb::PolyMeshType polyMeshType() const
type
GLuint GLsizei GLsizei GLint GLenum * type
Definition: gles2_ext.h:274
OdDbPolygonMesh::convertToPolyMeshType
void convertToPolyMeshType(OdDb::PolyMeshType polyMeshType)
OdDbPolygonMesh::subGetClassID
OdResult subGetClassID(void *pClsid) const
OdDbObjectId
Definition: DbObjectId.h:99
OdDbSequenceEndPtr
OdSmartPtr< OdDbSequenceEnd > OdDbSequenceEndPtr
Definition: DbPolygonMesh.h:38
OdDbPolygonMesh::nSize
OdInt16 nSize() const
OdDbFullSubentPath
Definition: DbSubentId.h:49
OdArray< OdRxObjectPtr >
TD_PackPop.h
OdDbPolygonMesh::dxfInFields
virtual OdResult dxfInFields(OdDbDxfFiler *pFiler)
OdDbPolygonMesh::mSurfaceDensity
OdInt16 mSurfaceDensity() const
OdGsMarker
ptrdiff_t OdGsMarker
Definition: OdPlatformSettings.h:889
OdDbPolygonMesh::makeNClosed
void makeNClosed()
OdDbSequenceEnd
Definition: DbSequenceEnd.h:55
OdGeMatrix3d
Definition: GeMatrix3d.h:73
OdInt16
short OdInt16
Definition: OdPlatformSettings.h:756
OdDbPolygonMesh::dxfOutFields_R12
virtual void dxfOutFields_R12(OdDbDxfFiler *pFiler) const
OdDbPolygonMesh::setPolyMeshType
void setPolyMeshType(OdDb::PolyMeshType polyMeshType)
OdDb::Vertex3dType
Vertex3dType
Definition: DbVertex.h:41
OdDbPolygonMesh::subGetSubentPathsAtGsMarker
OdResult subGetSubentPathsAtGsMarker(OdDb::SubentType type, OdGsMarker gsMark, const OdGePoint3d &, const OdGeMatrix3d &, OdDbFullSubentPathArray &subentPaths, const OdDbObjectIdArray *pEntAndInsertStack) const
OdDbPolygonMesh::OdDbPolygonMesh
OdDbPolygonMesh()
OdDbPolygonMesh::subClose
void subClose()
OdDbPolygonMesh::straighten
void straighten()
OdDbPolygonMesh::dxfOut
virtual void dxfOut(OdDbDxfFiler *pFiler) const
OdSmartPtr
Definition: SmartPtr.h:58
OdGePoint3d
Definition: GePoint3d.h:55
OdDbPolygonMesh::dwgOutFields
virtual void dwgOutFields(OdDbDwgFiler *pFiler) const
DbEntity.h
OdDb::SubentType
SubentType
Definition: DbBaseSubentId.h:38
OdDbPolygonMesh::subGetGsMarkersAtSubentPath
OdResult subGetGsMarkersAtSubentPath(const OdDbFullSubentPath &subPath, OdGsMarkerArray &gsMarkers) const
OdDbPolygonMesh::getPlane
virtual OdResult getPlane(OdGePlane &plane, OdDb::Planarity &planarity) const
OdDb::kQuadSurfaceMesh
@ kQuadSurfaceMesh
Definition: DbPolygonMesh.h:49
OdDbPolygonMesh::isMClosed
bool isMClosed() const
OdDbPolygonMesh::explodeGeometry
virtual OdResult explodeGeometry(OdRxObjectPtrArray &entitySet) const
OdDbPolygonMesh::setNSurfaceDensity
void setNSurfaceDensity(OdInt16 nSurfaceDensity)
OdDbDxfFiler
Definition: DbFiler.h:194
OdDbPolygonMesh::openSequenceEnd
OdDbSequenceEndPtr openSequenceEnd(OdDb::OpenMode mode)
DbPolygonMeshVertex.h
TD_PackPush.h
OdDbPolygonMeshVertexPtr
OdSmartPtr< OdDbPolygonMeshVertex > OdDbPolygonMeshVertexPtr
Definition: DbPolygonMesh.h:36
OdDbPolygonMesh::surfaceFit
void surfaceFit(OdDb::PolyMeshType surfType, OdInt16 surfU, OdInt16 surfV)
OdDb::kBezierSurfaceMesh
@ kBezierSurfaceMesh
Definition: DbPolygonMesh.h:51
OdDbPolygonMesh::subExplode
virtual OdResult subExplode(OdRxObjectPtrArray &entitySet) const
OdGiWorldDraw
Definition: GiWorldDraw.h:44
OdDbPolygonMesh::appendVertex
OdDbObjectId appendVertex(OdDbPolygonMeshVertex *pVertex, OdDb::Vertex3dType vType=OdDb::k3dSimpleVertex)
OdDbEntity
Definition: DbEntity.h:90
OdDb::OpenMode
OpenMode
Definition: DbObjectId.h:54
OdDbPolygonMesh::isNClosed
bool isNClosed() const
OdDbPolygonMesh::ODDB_DECLARE_MEMBERS
ODDB_DECLARE_MEMBERS(OdDbPolygonMesh)
OdDb
Definition: Db2dPolyline.h:50
OdDb::PolyMeshType
PolyMeshType
Definition: DbPolygonMesh.h:47
OdDbPolygonMesh
Definition: DbPolygonMesh.h:77
OdDb::k3dSimpleVertex
@ k3dSimpleVertex
Definition: DbVertex.h:42
OdDbPolygonMesh::makeNOpen
void makeNOpen()
OdDbPolygonMesh::dxfInFields_R12
virtual OdResult dxfInFields_R12(OdDbDxfFiler *pFiler)
DbObjectIterator.h
OdDbPolygonMesh::vertexIterator
OdDbObjectIteratorPtr vertexIterator() const
TOOLKIT_EXPORT
#define TOOLKIT_EXPORT
Definition: DbExport.h:40
OdDbPolygonMesh::openVertex
OdDbPolygonMeshVertexPtr openVertex(OdDbObjectId vertId, OdDb::OpenMode mode, bool openErasedOne=false)
OdDbPolygonMeshPtr
OdSmartPtr< OdDbPolygonMesh > OdDbPolygonMeshPtr
Definition: DbPolygonMesh.h:391
OdDbPolygonMesh::dwgInFields
virtual OdResult dwgInFields(OdDbDwgFiler *pFiler)
OdDbPolygonMesh::isPlanar
virtual bool isPlanar() const
OdDbPolygonMesh::subTransformBy
virtual OdResult subTransformBy(const OdGeMatrix3d &xfm)
OdDbPolygonMesh::setMSurfaceDensity
void setMSurfaceDensity(OdInt16 mSurfaceDensity)
OdDbDwgFiler
Definition: DbFiler.h:1031
OdDb::kCubicSurfaceMesh
@ kCubicSurfaceMesh
Definition: DbPolygonMesh.h:50
OdDbPolygonMesh::dxfIn
virtual OdResult dxfIn(OdDbDxfFiler *pFiler)
OdDb::kSimpleMesh
@ kSimpleMesh
Definition: DbPolygonMesh.h:48
OdDbPolygonMesh::makeMClosed
void makeMClosed()