CFx SDK Documentation  2020SP3
DbCurvePE.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 #ifndef _OD_DB_CURVE_PE_
25 #define _OD_DB_CURVE_PE_
26 
27 
28 #include "DbCurve.h"
29 
39 {
40 public:
42 
53  virtual OdResult getOrthoProjectedCurve(const OdDbCurve* pCurve,
54  const OdGePlane& projPlane,
55  OdDbCurvePtr* pProjCurve) const = 0;
56 
68  virtual OdResult getProjectedCurve(const OdDbCurve* pCurve,
69  const OdGePlane& projPlane,
70  const OdGeVector3d& projDirection,
71  OdDbCurvePtr* pProjCurve) const = 0;
72 
83  virtual OdResult getOffsetCurves(const OdDbCurve* pCurve,
84  double offsetDistance,
85  OdRxObjectPtrArray& offsetCurves) const = 0;
86 
100  const OdGeVector3d& normal,
101  double offsetDistance,
102  OdRxObjectPtrArray& offsetCurves) const = 0;
103 
114  virtual OdResult getSplitCurves (const OdDbCurve* pCurve,
115  const OdGeDoubleArray& params,
116  OdRxObjectPtrArray& curveSegments) const = 0;
117 
128  virtual OdResult getSplitCurves (const OdDbCurve* pCurve,
129  const OdGePoint3dArray& points,
130  OdRxObjectPtrArray& curveSegments) const = 0;
131 
141  virtual OdResult extend(OdDbCurve* pCurve,
142  double param) = 0;
143 
154  virtual OdResult extend(OdDbCurve* pCurve, bool extendStart,
155  const OdGePoint3d& toPoint) = 0;
156 
157 
167  virtual OdResult getSpline (const OdDbCurve* pCurve,
168  OdDbSplinePtr* spline) const = 0;
169 
170 
182  virtual OdResult getClosestPointTo(const OdDbCurve* pCurve,
183  const OdGePoint3d& givenPoint,
184  OdGePoint3d& pointOnCurve,
185  bool extend = false) const = 0;
186 
205  virtual OdResult getClosestPointTo(const OdDbCurve* pCurve,
206  const OdGePoint3d& givenPoint,
207  const OdGeVector3d& normal,
208  OdGePoint3d& pointOnCurve,
209  bool extend = false) const = 0;
210 };
215 
216 #endif //_OD_DB_CURVE_PE_
OdDbCurvePEPtr
OdSmartPtr< OdDbCurvePE > OdDbCurvePEPtr
Definition: DbCurvePE.h:214
OdResult
OdResult
Definition: OdResult.h:29
OdDbCurvePE::getOrthoProjectedCurve
virtual OdResult getOrthoProjectedCurve(const OdDbCurve *pCurve, const OdGePlane &projPlane, OdDbCurvePtr *pProjCurve) const =0
OdGePlane
Definition: GePlane.h:45
OdGeVector3d
Definition: GeVector3d.h:54
OdDbCurvePE::getClosestPointTo
virtual OdResult getClosestPointTo(const OdDbCurve *pCurve, const OdGePoint3d &givenPoint, const OdGeVector3d &normal, OdGePoint3d &pointOnCurve, bool extend=false) const =0
OdDbCurvePE::extend
virtual OdResult extend(OdDbCurve *pCurve, bool extendStart, const OdGePoint3d &toPoint)=0
OdDbCurvePE::getProjectedCurve
virtual OdResult getProjectedCurve(const OdDbCurve *pCurve, const OdGePlane &projPlane, const OdGeVector3d &projDirection, OdDbCurvePtr *pProjCurve) const =0
OdRxObject
Definition: RxObject.h:564
OdDbCurvePE
Definition: DbCurvePE.h:39
OdArray< OdRxObjectPtr >
OdDbCurvePE::getSpline
virtual OdResult getSpline(const OdDbCurve *pCurve, OdDbSplinePtr *spline) const =0
OdDbCurvePE::getClosestPointTo
virtual OdResult getClosestPointTo(const OdDbCurve *pCurve, const OdGePoint3d &givenPoint, OdGePoint3d &pointOnCurve, bool extend=false) const =0
OdDbCurvePE::getSplitCurves
virtual OdResult getSplitCurves(const OdDbCurve *pCurve, const OdGePoint3dArray &points, OdRxObjectPtrArray &curveSegments) const =0
OdSmartPtr
Definition: SmartPtr.h:58
OdGePoint3d
Definition: GePoint3d.h:55
DbCurve.h
OdDbCurvePE::getSplitCurves
virtual OdResult getSplitCurves(const OdDbCurve *pCurve, const OdGeDoubleArray &params, OdRxObjectPtrArray &curveSegments) const =0
params
GLenum GLint * params
Definition: gles2_ext.h:184
OdDbCurve
Definition: DbCurve.h:53
OdDbCurvePE::getOffsetCurves
virtual OdResult getOffsetCurves(const OdDbCurve *pCurve, double offsetDistance, OdRxObjectPtrArray &offsetCurves) const =0
OdDbCurvePE::extend
virtual OdResult extend(OdDbCurve *pCurve, double param)=0
OdDbCurvePE::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdDbCurvePE)
TOOLKIT_EXPORT
#define TOOLKIT_EXPORT
Definition: DbExport.h:40
OdDbCurvePE::getOffsetCurvesGivenPlaneNormal
virtual OdResult getOffsetCurvesGivenPlaneNormal(const OdDbCurve *pCurve, const OdGeVector3d &normal, double offsetDistance, OdRxObjectPtrArray &offsetCurves) const =0