CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
DbCurve.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_DBCURVE_H
28#define OD_DBCURVE_H
29
30#include "TD_PackPush.h"
31
32#include "DbEntity.h"
33#include "DbVertex.h"
34
35class OdDbSpline;
37
38class OdDbCurveImpl;
39class OdDbCurve;
40
53{
54public:
56
58
62 virtual bool isClosed() const;
63
67 virtual bool isPeriodic() const;
68
78 double& startParam) const = 0;
79
89 double& endParam) const = 0;
90
100 OdGePoint3d& startPoint) const = 0;
101
111 OdGePoint3d& endPoint) const = 0;
112
123 double param,
124 OdGePoint3d& pointOnCurve) const = 0;
125
136 const OdGePoint3d& pointOnCurve,
137 double& param) const = 0;
138
149 double param,
150 double& dist) const = 0;
151
163 double dist,
164 double& param) const = 0;
165
175 const OdGePoint3d& pointOnCurve,
176 double& dist)const;
177
188 double dist,
189 OdGePoint3d& pointOnCurve) const;
190
201 double param,
202 OdGeVector3d& firstDeriv) const = 0;
203
214 const OdGePoint3d& pointOnCurve,
215 OdGeVector3d& firstDeriv) const;
216
227 double param,
228 OdGeVector3d& secondDeriv) const;
229
240 const OdGePoint3d& pointOnCurve,
241 OdGeVector3d& secondDeriv) const;
242
254 const OdGePoint3d& givenPoint,
255 OdGePoint3d& pointOnCurve,
256 bool extend = false) const;
257
276 const OdGePoint3d& givenPoint,
277 const OdGeVector3d& normal,
278 OdGePoint3d& pointOnCurve,
279 bool extend = false) const;
280
281
290 OdDbSplinePtr* spline) const;
291
301 double param);
302
312 virtual OdResult
313 extend(bool extendStart,
314 const OdGePoint3d& toPoint);
315
324 double& area) const;
325
335 virtual OdResult getOrthoProjectedCurve(const OdGePlane& projPlane,
336 OdDbCurvePtr* pProjCurve) const;
337
348 virtual OdResult getProjectedCurve(const OdGePlane& projPlane,
349 const OdGeVector3d& projDirection, OdDbCurvePtr* pProjCurve) const;
350
360 virtual OdResult getOffsetCurves(double offsetDistance,
361 OdRxObjectPtrArray& offsetCurves) const;
362
375 const OdGeVector3d& normal, double offsetDistance,
376 OdRxObjectPtrArray& offsetCurves) const;
377
388 OdRxObjectPtrArray& curveSegments) const;
389
401 OdRxObjectPtrArray& curveSegments) const;
402
410
419 virtual OdResult getOdGeCurve ( OdGeCurve3d*& pGeCurve, const OdGeTol& tol = OdGeContext::gTol ) const;
420
421
434 static OdResult createFromOdGeCurve ( const OdGeCurve3d& geCurve, OdDbCurve*& pDbCurve,
435 OdGeVector3d *normal = NULL,
436 const OdGeTol& tol = OdGeContext::gTol );
437
448 virtual OdResult setFromOdGeCurve ( const OdGeCurve3d& geCurve,
449 OdGeVector3d *normal = NULL,
450 const OdGeTol& tol = OdGeContext::gTol );
451
452
453 virtual OdInt32 findVertexIndex(const OdDbVertex* vert) const { return 0; }
454};
455
456#include "TD_PackPop.h"
457
458#endif
459
OdSmartPtr< OdDbCurve > OdDbCurvePtr
Definition: DbCurve.h:44
OdSmartPtr< OdDbSpline > OdDbSplinePtr
Definition: DbCurve.h:36
#define DBENT_EXPORT
Definition: DbExport.h:67
tol
Definition: DimVarDefs.h:2287
int OdInt32
OdResult
Definition: OdResult.h:29
virtual OdResult getClosestPointTo(const OdGePoint3d &givenPoint, const OdGeVector3d &normal, OdGePoint3d &pointOnCurve, bool extend=false) const
virtual OdResult getSecondDeriv(const OdGePoint3d &pointOnCurve, OdGeVector3d &secondDeriv) const
virtual OdResult getOdGeCurve(OdGeCurve3d *&pGeCurve, const OdGeTol &tol=OdGeContext::gTol) const
virtual OdResult getOffsetCurves(double offsetDistance, OdRxObjectPtrArray &offsetCurves) const
virtual OdResult getDistAtPoint(const OdGePoint3d &pointOnCurve, double &dist) const
virtual bool isClosed() const
virtual OdResult getOffsetCurvesGivenPlaneNormal(const OdGeVector3d &normal, double offsetDistance, OdRxObjectPtrArray &offsetCurves) const
virtual OdResult getParamAtDist(double dist, double &param) const =0
virtual OdResult reverseCurve()
virtual OdInt32 findVertexIndex(const OdDbVertex *vert) const
Definition: DbCurve.h:453
virtual OdResult getParamAtPoint(const OdGePoint3d &pointOnCurve, double &param) const =0
virtual OdResult extend(bool extendStart, const OdGePoint3d &toPoint)
virtual OdResult getArea(double &area) const
virtual OdResult getSecondDeriv(double param, OdGeVector3d &secondDeriv) const
virtual OdResult setFromOdGeCurve(const OdGeCurve3d &geCurve, OdGeVector3d *normal=NULL, const OdGeTol &tol=OdGeContext::gTol)
virtual OdResult getPointAtParam(double param, OdGePoint3d &pointOnCurve) const =0
virtual OdResult getStartParam(double &startParam) const =0
static OdResult createFromOdGeCurve(const OdGeCurve3d &geCurve, OdDbCurve *&pDbCurve, OdGeVector3d *normal=NULL, const OdGeTol &tol=OdGeContext::gTol)
virtual bool isPeriodic() const
virtual OdResult getOrthoProjectedCurve(const OdGePlane &projPlane, OdDbCurvePtr *pProjCurve) const
virtual OdResult getSplitCurves(const OdGePoint3dArray &points, OdRxObjectPtrArray &curveSegments) const
virtual OdResult getSplitCurves(const OdGeDoubleArray &params, OdRxObjectPtrArray &curveSegments) const
virtual OdResult getStartPoint(OdGePoint3d &startPoint) const =0
virtual OdResult getEndParam(double &endParam) const =0
virtual OdResult extend(double param)
virtual OdResult getEndPoint(OdGePoint3d &endPoint) const =0
virtual OdResult getFirstDeriv(double param, OdGeVector3d &firstDeriv) const =0
virtual OdResult getPointAtDist(double dist, OdGePoint3d &pointOnCurve) const
virtual OdResult getProjectedCurve(const OdGePlane &projPlane, const OdGeVector3d &projDirection, OdDbCurvePtr *pProjCurve) const
virtual OdResult getSpline(OdDbSplinePtr *spline) const
virtual OdResult getFirstDeriv(const OdGePoint3d &pointOnCurve, OdGeVector3d &firstDeriv) const
ODDB_DECLARE_MEMBERS(OdDbCurve)
virtual OdResult getClosestPointTo(const OdGePoint3d &givenPoint, OdGePoint3d &pointOnCurve, bool extend=false) const
virtual OdResult getDistAtParam(double param, double &dist) const =0
Definition: GeTol.h:49
GLenum GLint * params
Definition: gles2_ext.h:184
static GE_STATIC_EXPORT OdGeTol gTol
Definition: GeGbl.h:65