CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
Db3dPolyline.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2022, 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-2022 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_3D_POLYLINE_
28#define _OD_DB_3D_POLYLINE_
29
30#include "TD_PackPush.h"
31
32#include "DbCurve.h"
33#include "DbObjectIterator.h"
34#include "DwgDeclareMembers.h"
35
37class OdDbSequenceEnd;
38
47
52namespace OdDb
53{
55 {
56 k3dSimplePoly = 0, // Simple polyline.
57 k3dQuadSplinePoly = 1, // Quadratic B-spline fit (DXF 80, bit 0x08; DXF 75 == 5).
58 k3dCubicSplinePoly = 2 // Cubic B-spline-fit (DXF 80, bit 0x08; DXF 75 == 6).
59 };
60}
61
67{
68public:
69
71
73
77 void makeClosed();
78
82 void makeOpen();
83
98
115 OdDb::Poly3dType polyType);
116
124
143 OdDb3dPolylineVertex* pVertex);
144
166 const OdDbObjectId& indexVertId,
167 OdDb3dPolylineVertex* pVertex);
168
190 const OdDb3dPolylineVertex* pIndexVert,
191 OdDb3dPolylineVertex* pVertex);
192
204 OdDbObjectId vertId,
205 OdDb::OpenMode mode,
206 bool openErasedOne = false);
207
221 OdDb::OpenMode mode);
222
228
229 virtual void dxfOut(
230 OdDbDxfFiler* pFiler) const;
231
233 OdDbDxfFiler* pFiler);
234
236 OdDbDwgFiler* pFiler);
237
238 virtual void dwgOutFields(
239 OdDbDwgFiler* pFiler) const;
240
242 OdDbDxfFiler* pFiler);
243
244 virtual void dxfOutFields(
245 OdDbDxfFiler* pFiler) const;
246
248 OdDbDxfFiler* pFiler);
249
250 virtual void dxfOutFields_R12(
251 OdDbDxfFiler* pFiler) const;
252
254 void* pClsid) const;
255
256 void subClose();
257
259 OdRxObjectPtrArray& entitySet) const;
260
262 OdRxObjectPtrArray& entitySet) const;
263
265 const OdGeMatrix3d& xfm);
266
267 virtual bool subWorldDraw(
268 OdGiWorldDraw* pWd) const;
269
270 //FELIX_CHANGE_BEGIN
272 OdGeExtents3d& extents) const;
273 //FELIX_CHANGE_END
274
275 virtual bool isPlanar() const;
276
278 OdGePlane& plane,
279 OdDb::Planarity& planarity) const;
280
281
282 /* OdDbCurveMethods */
283
287 virtual bool isClosed() const;
288
289 virtual bool isPeriodic() const;
290
292 double& startParam) const;
293
295 double& endParam) const;
296
298 OdGePoint3d& startPoint) const;
299
301 OdGePoint3d& endPoint) const;
302
304 double param,
305 OdGePoint3d& pointOnCurve) const;
306
308 const OdGePoint3d& pointOnCurve,
309 double& param) const;
310
311 virtual OdResult getDistAtParam( double param, double& dist ) const;
312
313 virtual OdResult getParamAtDist( double dist, double& param ) const;
314
316 double param,
317 OdGeVector3d& firstDeriv) const;
318
320 double param,
321 OdGeVector3d& secondDeriv) const;
322
324 double& area) const;
325
328
329
346
354
367 OdGsMarker gsMark,
368 const OdGePoint3d& ,
369 const OdGeMatrix3d& ,
370 OdDbFullSubentPathArray& subentPaths,
371 const OdDbObjectIdArray* pEntAndInsertStack ) const;
373 OdGsMarkerArray& gsMarkers) const;
374
376
377 virtual OdResult getOdGeCurve(OdGeCurve3d*& pGeCurve, const OdGeTol& tol = OdGeContext::gTol) const;
378 virtual OdResult setFromOdGeCurve(const OdGeCurve3d& geCurve, OdGeVector3d *normal = NULL, const OdGeTol& tol = OdGeContext::gTol);
379
387
388 virtual OdInt32 findVertexIndex(const OdDbVertex* vert) const;
389};
390
395
396#include "TD_PackPop.h"
397
398#endif
399
OdSmartPtr< OdDbSequenceEnd > OdDbSequenceEndPtr
Definition: Db3dPolyline.h:46
OdSmartPtr< OdDb3dPolylineVertex > OdDb3dPolylineVertexPtr
Definition: Db3dPolyline.h:42
OdSmartPtr< OdDb3dPolyline > OdDb3dPolylinePtr
Definition: Db3dPolyline.h:394
#define DBENT_EXPORT
Definition: DbExport.h:67
tol
Definition: DimVarDefs.h:2287
ptrdiff_t OdGsMarker
short OdInt16
int OdInt32
OdResult
Definition: OdResult.h:29
virtual bool isClosed() const
virtual OdResult getDistAtParam(double param, double &dist) const
virtual OdResult getEndPoint(OdGePoint3d &endPoint) const
virtual OdResult dwgInFields(OdDbDwgFiler *pFiler)
OdDb3dPolylineVertexPtr openVertex(OdDbObjectId vertId, OdDb::OpenMode mode, bool openErasedOne=false)
OdDbSequenceEndPtr openSequenceEnd(OdDb::OpenMode mode)
virtual bool isPlanar() const
virtual OdResult getStartParam(double &startParam) const
OdResult splineFit(OdDb::Poly3dType splineType, OdInt16 splineSegs)
OdResult subGetSubentPathsAtGsMarker(OdDb::SubentType type, OdGsMarker gsMark, const OdGePoint3d &, const OdGeMatrix3d &, OdDbFullSubentPathArray &subentPaths, const OdDbObjectIdArray *pEntAndInsertStack) const
OdResult subGetGsMarkersAtSubentPath(const OdDbFullSubentPath &subPath, OdGsMarkerArray &gsMarkers) const
OdDbObjectIteratorPtr vertexIterator() const
OdDb::Poly3dType polyType() const
OdDbEntityPtr subSubentPtr(const OdDbFullSubentPath &path) const
void setPolyType(OdDb::Poly3dType polyType)
virtual OdResult getFirstDeriv(double param, OdGeVector3d &firstDeriv) const
DWGMAP_DECLARE_MEMBERS(OdDb3dPolyline)
virtual OdResult getStartPoint(OdGePoint3d &startPoint) const
virtual OdResult dxfIn(OdDbDxfFiler *pFiler)
virtual OdResult getPointAtParam(double param, OdGePoint3d &pointOnCurve) const
OdResult splineFit()
virtual OdResult getEndParam(double &endParam) const
virtual OdResult dxfInFields_R12(OdDbDxfFiler *pFiler)
OdResult convertToPolyType(OdDb::Poly3dType newVal)
OdDbObjectId insertVertexAt(const OdDbObjectId &indexVertId, OdDb3dPolylineVertex *pVertex)
virtual OdResult subGetClassID(void *pClsid) const
virtual OdResult getParamAtPoint(const OdGePoint3d &pointOnCurve, double &param) const
virtual void dxfOutFields_R12(OdDbDxfFiler *pFiler) const
virtual void dwgOutFields(OdDbDwgFiler *pFiler) const
virtual OdResult getSecondDeriv(double param, OdGeVector3d &secondDeriv) const
virtual OdResult subGetGeomExtents(OdGeExtents3d &extents) const
virtual bool isPeriodic() const
virtual OdResult getPlane(OdGePlane &plane, OdDb::Planarity &planarity) const
virtual OdInt32 findVertexIndex(const OdDbVertex *vert) const
virtual OdResult subTransformBy(const OdGeMatrix3d &xfm)
virtual OdResult dxfInFields(OdDbDxfFiler *pFiler)
TD_USING(OdDbCurve::getSecondDeriv)
OdDbObjectId appendVertex(OdDb3dPolylineVertex *pVertex)
virtual OdResult getOdGeCurve(OdGeCurve3d *&pGeCurve, const OdGeTol &tol=OdGeContext::gTol) const
TD_USING(OdDbCurve::getFirstDeriv)
virtual void dxfOutFields(OdDbDxfFiler *pFiler) const
OdDbObjectId insertVertexAt(const OdDb3dPolylineVertex *pIndexVert, OdDb3dPolylineVertex *pVertex)
virtual OdResult getArea(double &area) const
virtual OdResult setFromOdGeCurve(const OdGeCurve3d &geCurve, OdGeVector3d *normal=NULL, const OdGeTol &tol=OdGeContext::gTol)
virtual OdResult reverseCurve()
virtual bool subWorldDraw(OdGiWorldDraw *pWd) const
virtual void dxfOut(OdDbDxfFiler *pFiler) const
virtual OdResult explodeGeometry(OdRxObjectPtrArray &entitySet) const
virtual OdResult getParamAtDist(double dist, double &param) const
virtual OdResult subExplode(OdRxObjectPtrArray &entitySet) const
virtual OdResult getSecondDeriv(double param, OdGeVector3d &secondDeriv) const
virtual OdResult getFirstDeriv(double param, OdGeVector3d &firstDeriv) const =0
Definition: GeTol.h:49
GLuint GLsizei GLsizei GLint GLenum * type
Definition: gles2_ext.h:274
Poly3dType
Definition: Db3dPolyline.h:55
@ k3dQuadSplinePoly
Definition: Db3dPolyline.h:57
@ k3dCubicSplinePoly
Definition: Db3dPolyline.h:58
@ k3dSimplePoly
Definition: Db3dPolyline.h:56
Planarity
Definition: DbEntity.h:74
OpenMode
Definition: DbObjectId.h:54
static GE_STATIC_EXPORT OdGeTol gTol
Definition: GeGbl.h:65