CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
Db2dPolyline.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_2DPOLYLINE_
28#define _OD_DB_2DPOLYLINE_
29
30#include "TD_PackPush.h"
31
32#include "DbCurve.h"
33#include "DbObjectIterator.h"
34#include "Db2dVertex.h"
35#include "DwgDeclareMembers.h"
36
37class OdGePoint3d;
38class OdDbSequenceEnd;
39template <class T> class OdSmartPtr;
40
45
50namespace OdDb
51{
53 {
54 k2dSimplePoly = 0, // Simple polyline.
55 k2dFitCurvePoly = 1, // Curve fit (DXF 70, bit 0x04).
56 k2dQuadSplinePoly = 2, // Quadratic B-spline fit (DXF 80, bit 0x08; DXF 75 == 5).
57 k2dCubicSplinePoly = 3 // Cubic B-spline-fit (DXF 80, bit 0x08; DXF 75 == 6).
58 };
59}
66{
67public:
68
70
72
88
106 OdDb::Poly2dType polyType);
107
112
116 void makeOpen();
117
121 virtual double defaultStartWidth() const;
122
128 double defaultStartWidth);
129
133 virtual double defaultEndWidth() const;
134
140 double defaultEndWidth);
141
148 double thickness() const;
149
157 double thickness);
158
163
169 const OdGeVector3d& normal);
170
177 double elevation() const;
178
188 double elevation);
189
198
207
216
224
243 OdDb2dVertex* pVertex);
244
266 const OdDbObjectId& indexVertId,
267 OdDb2dVertex* pVertex);
268
290 const OdDb2dVertex* pIndexVert,
291 OdDb2dVertex* pVertex);
292
304 OdDbObjectId vertId,
305 OdDb::OpenMode mode,
306 bool openErasedOne = false);
307
321 OdDb::OpenMode mode);
322
328
335 const OdDb2dVertex& vertex) const;
336
337 virtual bool subWorldDraw(
338 OdGiWorldDraw* pWd) const;
339
340 //FELIX_CHANGE_BEGIN
342 OdGeExtents3d& extents) const;
343 //FELIX_CHANGE_END
344
346 OdDbDwgFiler* pFiler);
347
348 virtual void dwgOutFields(
349 OdDbDwgFiler* pFiler) const;
350
352 OdDbDxfFiler* pFiler);
353
354 virtual void dxfOutFields(
355 OdDbDxfFiler* pFiler) const;
356
358 OdDbDxfFiler* pFiler);
359
360 virtual void dxfOutFields_R12(
361 OdDbDxfFiler* pFiler) const;
362
363 virtual void dxfOut(
364 OdDbDxfFiler* pFiler) const;
365
367 OdDbDxfFiler* pFiler);
368
369 virtual void subClose();
370
372 OdRxObjectPtrArray& entitySet) const ODRX_OVERRIDE;
373
375 OdRxObjectPtrArray& entitySet) const ODRX_OVERRIDE;
376
378 const OdGeMatrix3d& xfm) ODRX_OVERRIDE;
379
381 void* pClsid) const ODRX_OVERRIDE;
382
383 virtual bool isPlanar() const;
384
386 double& area) const;
387
389 OdGePlane& plane,
390 OdDb::Planarity& planarity) const;
391
392
393 // OdDbCurveMethods
394
398 virtual bool isClosed() const;
399
400 virtual bool isPeriodic() const;
401
403 double& startParam) const;
404
406 double& endParam) const;
407
409 OdGePoint3d& startPoint) const;
410
412 OdGePoint3d& endPoint) const;
413
415 double param,
416 OdGePoint3d& pointOnCurve) const;
417
419 const OdGePoint3d& pointOnCurve,
420 double& param) const;
421
422 virtual OdResult getDistAtParam( double param, double& dist ) const;
423
424 virtual OdResult getParamAtDist( double dist, double& param ) const;
425
427 double param,
428 OdGeVector3d& firstDeriv) const;
429
431 double param,
432 OdGeVector3d& secondDeriv) const;
433
436
454
461
469
481
483 OdGsMarker gsMark,
484 const OdGePoint3d& ,
485 const OdGeMatrix3d& ,
486 OdDbFullSubentPathArray& subentPaths,
487 const OdDbObjectIdArray* pEntAndInsertStack ) const;
489 OdGsMarkerArray& gsMarkers) const;
490
492
497
498 virtual OdResult getOdGeCurve(OdGeCurve3d*& pGeCurve, const OdGeTol& tol = OdGeContext::gTol) const;
499 virtual OdResult setFromOdGeCurve(const OdGeCurve3d& geCurve, OdGeVector3d *normal = NULL, const OdGeTol& tol = OdGeContext::gTol);
500
508
509 virtual OdInt32 findVertexIndex(const OdDbVertex* vert) const;
510};
515
516
517/*
518
519inline void OdDb2dPolyline::extend(double)
520{
521 return OdeNotApplicable;
522}
523*/
524#include "TD_PackPop.h"
525
526#endif
527
OdSmartPtr< OdDbSequenceEnd > OdDbSequenceEndPtr
Definition: Db2dPolyline.h:44
OdSmartPtr< OdDb2dPolyline > OdDb2dPolylinePtr
Definition: Db2dPolyline.h:514
#define DBENT_EXPORT
Definition: DbExport.h:67
tol
Definition: DimVarDefs.h:2287
ptrdiff_t OdGsMarker
short OdInt16
int OdInt32
#define ODRX_OVERRIDE
OdResult
Definition: OdResult.h:29
virtual OdResult getEndParam(double &endParam) const
virtual OdResult getDistAtParam(double param, double &dist) const
OdDb2dVertexPtr openVertex(OdDbObjectId vertId, OdDb::OpenMode mode, bool openErasedOne=false)
double thickness() const
void setPolyType(OdDb::Poly2dType polyType)
virtual void dwgOutFields(OdDbDwgFiler *pFiler) const
virtual OdResult dxfInFields(OdDbDxfFiler *pFiler)
virtual bool isPeriodic() const
virtual OdResult getFirstDeriv(double param, OdGeVector3d &firstDeriv) const
void setElevation(double elevation)
TD_USING(OdDbCurve::getSecondDeriv)
OdResult splineFit(OdDb::Poly2dType splineType, OdInt16 splineSegs)
virtual void dxfOut(OdDbDxfFiler *pFiler) const
virtual OdResult subTransformBy(const OdGeMatrix3d &xfm) ODRX_OVERRIDE
virtual void subClose()
TD_USING(OdDbCurve::getFirstDeriv)
virtual OdResult getSecondDeriv(double param, OdGeVector3d &secondDeriv) const
virtual OdResult getStartParam(double &startParam) const
OdResult splineFit()
virtual OdResult setFromOdGeCurve(const OdGeCurve3d &geCurve, OdGeVector3d *normal=NULL, const OdGeTol &tol=OdGeContext::gTol)
virtual bool isClosed() const
void setDefaultStartWidth(double defaultStartWidth)
OdDbEntityPtr subSubentPtr(const OdDbFullSubentPath &path) const
virtual OdResult getOdGeCurve(OdGeCurve3d *&pGeCurve, const OdGeTol &tol=OdGeContext::gTol) const
DWGMAP_DECLARE_MEMBERS(OdDb2dPolyline)
OdGeMatrix3d getEcs() const
virtual OdResult getStartPoint(OdGePoint3d &startPoint) const
virtual OdResult getArea(double &area) const
double elevation() const
OdResult subGetSubentPathsAtGsMarker(OdDb::SubentType type, OdGsMarker gsMark, const OdGePoint3d &, const OdGeMatrix3d &, OdDbFullSubentPathArray &subentPaths, const OdDbObjectIdArray *pEntAndInsertStack) const
virtual double defaultStartWidth() const
virtual OdResult subGetGeomExtents(OdGeExtents3d &extents) const
virtual OdResult getPointAtParam(double param, OdGePoint3d &pointOnCurve) const
virtual double defaultEndWidth() const
OdResult convertToPolyType(OdDb::Poly2dType newVal)
virtual OdResult getParamAtPoint(const OdGePoint3d &pointOnCurve, double &param) const
OdDbObjectIteratorPtr vertexIterator() const
OdDbObjectId appendVertex(OdDb2dVertex *pVertex)
virtual void dxfOutFields(OdDbDxfFiler *pFiler) const
OdDbObjectId insertVertexAt(const OdDb2dVertex *pIndexVert, OdDb2dVertex *pVertex)
virtual bool isPlanar() const
virtual OdResult dwgInFields(OdDbDwgFiler *pFiler)
bool isLinetypeGenerationOn() const
void setLinetypeGenerationOn()
void setLinetypeGenerationOff()
virtual bool subWorldDraw(OdGiWorldDraw *pWd) const
OdGePoint3d vertexPosition(const OdDb2dVertex &vertex) const
virtual OdResult reverseCurve()
OdDbObjectId insertVertexAt(const OdDbObjectId &indexVertId, OdDb2dVertex *pVertex)
void setDefaultEndWidth(double defaultEndWidth)
OdDb::Poly2dType polyType() const
virtual OdResult subGetClassID(void *pClsid) const ODRX_OVERRIDE
OdDbSequenceEndPtr openSequenceEnd(OdDb::OpenMode mode)
OdResult curveFit()
virtual OdResult subExplode(OdRxObjectPtrArray &entitySet) const ODRX_OVERRIDE
virtual OdResult getPlane(OdGePlane &plane, OdDb::Planarity &planarity) const
virtual OdResult getEndPoint(OdGePoint3d &endPoint) const
virtual void dxfOutFields_R12(OdDbDxfFiler *pFiler) const
virtual OdResult explodeGeometry(OdRxObjectPtrArray &entitySet) const ODRX_OVERRIDE
void setThickness(double thickness)
OdGeVector3d normal() const
virtual OdInt32 findVertexIndex(const OdDbVertex *vert) const
void setNormal(const OdGeVector3d &normal)
OdResult subGetGsMarkersAtSubentPath(const OdDbFullSubentPath &subPath, OdGsMarkerArray &gsMarkers) const
virtual OdResult dxfIn(OdDbDxfFiler *pFiler)
virtual OdResult dxfInFields_R12(OdDbDxfFiler *pFiler)
virtual OdResult getParamAtDist(double dist, double &param) 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
Poly2dType
Definition: Db2dPolyline.h:53
@ k2dQuadSplinePoly
Definition: Db2dPolyline.h:56
@ k2dSimplePoly
Definition: Db2dPolyline.h:54
@ k2dFitCurvePoly
Definition: Db2dPolyline.h:55
@ k2dCubicSplinePoly
Definition: Db2dPolyline.h:57
Planarity
Definition: DbEntity.h:74
OpenMode
Definition: DbObjectId.h:54
static GE_STATIC_EXPORT OdGeTol gTol
Definition: GeGbl.h:65