24 #ifndef _OD_GECURVE3D_H_
25 #define _OD_GECURVE3D_H_
44 class OdGePointOnCurve3dData;
499 double& period)
const;
716 bool forceResampling =
false)
const;
831 bool sameParametrization =
false );
GE_TOOLKIT_EXPORT OdGeCurve2d * convertTo2d(const OdGeCurve3d *source, const OdGeTol &tol=OdGeContext::gTol, bool sameParametrization=false)
#define GE_TOOLKIT_EXPORT
void getLocalClosestPoints(const OdGeCurve3d &curve, OdGePointOnCurve3d &approxPntOnThisCrv, OdGePointOnCurve3d &approxPntOnOtherCrv, const OdGeInterval *pInterval1=NULL, const OdGeInterval *pInterval2=NULL, const OdGeTol &tol=OdGeContext::gTol) const
void getSplitCurves(double param, OdGeCurve3d *&piece1, OdGeCurve3d *&piece2) const
void getInterval(OdGeInterval &interval, OdGePoint3d &start, OdGePoint3d &end) const
void getClosestPointTo(const OdGeCurve3d &curve, OdGePointOnCurve3d &pntOnThisCrv, OdGePointOnCurve3d &pntOnOtherCrv, const OdGeTol &tol=OdGeContext::gTol) const
bool hasStartPoint(OdGePoint3d &startPoint) const
bool isPlanar(OdGePlane &plane, const OdGeTol &tol=OdGeContext::gTol) const
bool isOn(double param, const OdGeTol &tol=OdGeContext::gTol) const
bool isDegenerate(OdGeEntity3d *&pConvertedEntity, const OdGeTol &tol=OdGeContext::gTol) const
double length(double fromParam, double toParam, double tol=OdGeContext::gTol.equalPoint()) const
OdGeEntity3d * orthoProject(const OdGePlane &projectionPlane, const OdGeTol &tol=OdGeContext::gTol) const
void getLocalClosestPoints(const OdGePoint3d &point, OdGePointOnCurve3d &approxPntOnThisCrv, const OdGeInterval *pInterval1=NULL, const OdGeTol &tol=OdGeContext::gTol) const
OdGePoint3d projClosestPointTo(const OdGeCurve3d &curve, const OdGeVector3d &projectDirection, OdGePoint3d &pntOnOtherCrv, const OdGeTol &tol=OdGeContext::gTol) const
OdGeCurve3d & setInterval()
bool isCoplanarWith(const OdGeCurve3d &curve, OdGePlane &plane, const OdGeTol &tol=OdGeContext::gTol) const
bool isOn(const OdGePoint3d &point, double ¶m, const OdGeTol &tol=OdGeContext::gTol) const
void appendSamplePoints(double fromParam, double toParam, double approxEps, OdGePoint3dArray &pointArray, OdGeDoubleArray *pParamArray=NULL) const
OdGeBoundBlock3d boundBlock() const
bool hasEndPoint(OdGePoint3d &endPoint) const
void getSamplePoints(double fromParam, double toParam, double approxEps, OdGePoint3dArray &pointArray, OdGeDoubleArray ¶mArray, bool forceResampling=false) const
void getInterval(OdGeInterval &interval) const
OdGeBoundBlock3d boundBlock(const OdGeInterval &range) const
void appendSamplePoints(int numSample, OdGePoint3dArray &pointArray, OdGeDoubleArray *pParamArray=NULL) const
OdGePoint3d projClosestPointTo(const OdGePoint3d &point, const OdGeVector3d &projectDirection, const OdGeTol &tol=OdGeContext::gTol) const
bool isPeriodic(double &period) const
void getSamplePoints(int numSample, OdGePoint3dArray &pointArray) const
void getSamplePoints(int numSample, OdGePoint3dArray &pointArray, OdGeDoubleArray ¶mArray) const
OdGePoint3d evalPoint(double param) const
void getSamplePoints(double fromParam, double toParam, double approxEps, OdGePoint3dArray &pointArray, OdGeDoubleArray *paramArray=NULL) const
bool getNormalPoint(const OdGePoint3d &point, OdGePointOnCurve3d &pntOnCrv, const OdGeTol &tol=OdGeContext::gTol) const
OdGeEntity3d * project(const OdGePlane &projectionPlane, const OdGeVector3d &projectDirection, const OdGeTol &tol=OdGeContext::gTol) const
double distanceTo(const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
OdGeBoundBlock3d orthoBoundBlock(const OdGeInterval &range) const
OdGeBoundBlock3d orthoBoundBlock() const
OdGePoint3d closestPointTo(const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
OdGeCurve3d & reverseParam()
double distanceTo(const OdGeCurve3d &curve, const OdGeTol &tol=OdGeContext::gTol) const
bool isDegenerate(OdGe::EntityId °enerateType, const OdGeTol &tol=OdGeContext::gTol) const
bool isClosed(const OdGeTol &tol=OdGeContext::gTol) const
void appendSamplePoints(const OdGeInterval *paramInterval, double approxEps, OdGePoint3dArray &pointArray, OdGeDoubleArray *pParamArray=NULL) const
TD_USING(OdGeEntity3d::isOn)
double paramAtLength(double datumParam, double length, bool posParamDir=true, double tol=OdGeContext::gTol.equalPoint()) const
void getClosestPointTo(const OdGePoint3d &point, OdGePointOnCurve3d &pntOnCrv, const OdGeTol &tol=OdGeContext::gTol) const
void getProjClosestPointTo(const OdGeCurve3d &curve, const OdGeVector3d &projectDirection, OdGePointOnCurve3d &pntOnThisCrv, OdGePointOnCurve3d &pntOnOtherCrv, const OdGeTol &tol=OdGeContext::gTol) const
void getProjClosestPointTo(const OdGePoint3d &point, const OdGeVector3d &projectDirection, OdGePointOnCurve3d &pntOnCrv, const OdGeTol &tol=OdGeContext::gTol) const
bool area(double startParam, double endParam, double &value, const OdGeTol &tol=OdGeContext::gTol) const
void getSamplePoints(const OdGeInterval *paramInterval, double approxEps, OdGePoint3dArray &pointArray, OdGeDoubleArray *pParamArray=NULL) const
bool setInterval(const OdGeInterval &interval)
OdGePoint3d evalPoint(double param, int numDeriv, OdGeVector3dArray &derivatives) const
double length(double tol=OdGeContext::gTol.equalPoint()) const
bool explode(OdGeCurve3dPtrArray &explodedCurves, OdGeIntArray &newExplodedCurves, const OdGeInterval *pInterval=NULL) const
bool isLinear(OdGeLine3d &line, const OdGeTol &tol=OdGeContext::gTol) const
OdGeCurve3d(const OdGeCurve3d &source)
void getTrimmedOffset(double distance, const OdGeVector3d &planeNormal, OdGeCurve3dPtrArray &offsetCurveList, OdGe::OffsetCrvExtType extensionType=OdGe::kFillet, const OdGeTol &tol=OdGeContext::gTol) const
OdGePoint3d closestPointTo(const OdGeCurve3d &curve, OdGePoint3d &pntOnOtherCrv, const OdGeTol &tol=OdGeContext::gTol) const
double paramOf(const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
bool isOn(const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
OdGeEntity3d & operator=(const OdGeEntity3d &entity)
GLsizei GLsizei GLchar * source
GLuint GLsizei GLsizei * length
GLsizei const GLfloat * value
static GE_STATIC_EXPORT OdGeTol gTol