31 class OdGeNurbCurve3dImpl;
86 bool isPeriodic =
false);
92 bool isPeriodic =
false);
99 const double* weights,
101 bool isPeriodic =
false);
106 bool isPeriodic =
false);
111 bool startTangentDefined =
true,
112 bool endTangentDefined =
true,
121 bool isPeriodic =
false);
127 bool startTangentDefined,
128 bool endTangentDefined,
199 bool& startTangentDefined,
200 bool& endTangentDefined)
const;
281 int weightIndex)
const;
412 bool startTangentDefined,
413 bool endTangentDefined);
447 bool isPeriodic =
false);
518 bool evalMode =
false);
536 double newStartParam,
549 double weight = 1.0);
637 bool isPeriodic =
false);
672 ,
bool isStartTangentDefined,
bool isEndTangentDefined,
bool isPeriodic,
const OdGeTol& fitTol);
#define GE_TOOLKIT_EXPORT
GE_TOOLKIT_EXPORT OdGeNurbCurve3d * convertFrom(const OdGeCurve3d *source, const OdGeTol &tol=OdGeContext::gTol, bool sameParametrization=false)
OdGePoint3d evalPoint(double param) const
bool setFitKnotParameterization(OdGeKnotParameterization knotParam)
OdGeNurbCurve3d & makeRational(double weight=1.0)
void setKnotTolerance(double tol)
bool getFitTangents(OdGeVector3d &startTangent, OdGeVector3d &endTangent, bool &startTangentDefined, bool &endTangentDefined) const
OdGeNurbCurve3d & addKnot(double newKnot)
OdGePoint3d evalPoint(double param, int hint) const
OdGeNurbCurve3d & setFitData(const OdGePoint3dArray &fitPoints, const OdGeVector3d &startTangent, const OdGeVector3d &endTangent, const OdGeTol &fitTol=OdGeContext::gTol)
OdGeNurbCurve3d & setFitData(const OdGeKnotVector &fitKnots, const OdGePoint3dArray &fitPoints, const OdGeVector3d &startTangent, const OdGeVector3d &endTangent, const OdGeTol &fitTol=OdGeContext::gTol, bool isPeriodic=false)
void evalPointDivider(double param, OdGePoint3d &point, double ÷r, int hint) const
bool getFitData(OdGePoint3dArray &fitPoints, OdGeTol &fitTolerance, bool &tangentsExist, OdGeVector3d &startTangent, OdGeVector3d &endTangent) const
bool getParamsOfC1Discontinuity(OdGeDoubleArray ¶ms, const OdGeTol &tol=OdGeContext::gTol) const
OdGeNurbCurve3d(const OdGePoint3dArray &fitPoints, const OdGeVector3d &startTangent, const OdGeVector3d &endTangent, bool startTangentDefined, bool endTangentDefined, OdGeKnotParameterization knotParam, const OdGeTol &fitTolerance=OdGeContext::gTol)
void setData(int degree, const OdGePoint3dArray &controlPoints, const OdGeKnotVector &knots, const OdGeDoubleArray &weights, const OdGePoint3dArray &fitPoints, const OdGeVector3d &startTangent, const OdGeVector3d &endTangent, bool isStartTangentDefined, bool isEndTangentDefined, bool isPeriodic, const OdGeTol &fitTol)
bool getFitPointAt(int fitPointIndex, OdGePoint3d &point) const
bool addFitPointAt(int fitPointIndex, const OdGePoint3d &point)
bool buildFitData(OdGeKnotParameterization knotParam=OdGe::kChord)
void set(int degree, const OdGeKnotVector &knots, const OdGePoint3dArray &controlPoints, const OdGeDoubleArray &weights, bool isPeriodic=false)
OdGeNurbCurve3d(const OdGePoint3dArray &fitPoints, const OdGeVector3dArray &fitTangents, const OdGeTol &fitTolerance=OdGeContext::gTol, bool isPeriodic=false)
OdGeNurbCurve3d(const OdGePoint3dArray &fitPoints, const OdGeTol &fitTolerance=OdGeContext::gTol)
double weightAt(int weightIndex) const
bool getParamsOfG1Discontinuity(OdGeDoubleArray ¶ms, const OdGeTol &tol=OdGeContext::gTol) const
bool setFitTangents(const OdGeVector3d &startTangent, const OdGeVector3d &endTangent, bool startTangentDefined, bool endTangentDefined)
OdGeNurbCurve3d(int degree, const OdGeKnotVector &knots, const OdGePoint3dArray &controlPoints, const OdGeDoubleArray &weights, bool isPeriodic=false)
void getDefinitionData(int °ree, bool &rational, bool &periodic, OdGeKnotVector &knots, OdGePoint3dArray &controlPoints, OdGeDoubleArray &weights) const
OdGeNurbCurve3d & makePeriodic()
OdGeNurbCurve3d & setFitData(const OdGePoint3dArray &fitPoints, const OdGeVector3d &startTangent, const OdGeVector3d &endTangent, OdGeKnotParameterization knotParam, const OdGeTol &fitTol=OdGeContext::gTol)
OdGeNurbCurve3d & insertKnot(double newKnot)
OdGeNurbCurve3d & elevateDegree(int plusDegree)
OdGeNurbCurve3d(const OdGeNurbCurve3d &source)
static OdGeNurbCurve3d * convertFrom(const OdGeCurve3d *source, const OdGeTol &tol=OdGeContext::gTol, bool sameParametrization=false)
OdGeNurbCurve3d(int degree, const OdGePolyline3d &fitPolyline, bool isPeriodic=false)
bool getFitKnotParameterization(OdGeKnotParameterization &knotParam) const
OdGeNurbCurve3d & hardTrimByParams(double newStartParam, double newEndParam)
bool setFitTangents(const OdGeVector3d &startTangent, const OdGeVector3d &endTangent)
bool deleteFitPointAt(int fitPointIndex)
TD_USING(OdGeSplineEnt3d::evalPoint)
bool deleteControlPointAt(int index)
bool getFitTolerance(OdGeTol &fitTolerance) const
OdGeNurbCurve3d(int degree, const OdGeKnotVector &knots, const OdGePoint3dArray &controlPoints, bool isPeriodic=false)
OdGeNurbCurve3d(const OdGeEllipArc3d &ellipse, int numSpans=0)
OdGeNurbCurve3d & makeClosed()
OdGeNurbCurve3d(const OdGeLineSeg3d &lineSeg)
OdGeNurbCurve3d & makeOpen()
OdGeNurbCurve3d & joinWith(const OdGeNurbCurve3d &curve)
OdGeSplineEnt3d & setWeightAt(int fitPointIndex, double weight)
bool setFitPointAt(int fitPointIndex, const OdGePoint3d &point)
bool getFitTangents(OdGeVector3d &startTangent, OdGeVector3d &endTangent) const
bool addControlPointAt(double newKnot, const OdGePoint3d &point, double weight=1.0)
bool setFitTolerance(const OdGeTol &fitTol=OdGeContext::gTol)
OdGeNurbCurve3d(const OdGePoint3dArray &fitPoints, const OdGeVector3d &startTangent, const OdGeVector3d &endTangent, bool startTangentDefined=true, bool endTangentDefined=true, const OdGeTol &fitTol=OdGeContext::gTol)
bool getFitData(OdGePoint3dArray &fitPoints, OdGeTol &fitTolerance, bool &tangentsExist, OdGeVector3d &startTangent, OdGeVector3d &endTangent, OdGeKnotParameterization &knotParam) const
OdGeNurbCurve3d & setFitData(int degree, const OdGePoint3dArray &fitPoints, const OdGeTol &fitTol=OdGeContext::gTol)
OdGeNurbCurve3d & setEvalMode(bool evalMode=false)
OdGeNurbCurve3d(int degree, const OdGeKnotVector &knots, const OdGePoint3d *controlPoints, OdUInt32 numControlPoints, const double *weights, OdUInt32 numWeights, bool isPeriodic=false)
OdGeNurbCurve3d & makeNonPeriodic()
bool modifyPositionAndTangent(double param, const OdGePoint3d &point, const OdGeVector3d *deriv)
OdGeSplineEnt3d & operator=(const OdGeSplineEnt3d &spline)
GLsizei GLsizei GLchar * source
static GE_STATIC_EXPORT OdGeTol gTol