|
| OdGeNurbCurve2d () |
|
| OdGeNurbCurve2d (const OdGeNurbCurve2d &source) |
|
| OdGeNurbCurve2d (int degree, const OdGeKnotVector &knots, const OdGePoint2dArray &controlPoints, bool isPeriodic=false) |
|
| OdGeNurbCurve2d (int degree, const OdGeKnotVector &knots, const OdGePoint2dArray &controlPoints, const OdGeDoubleArray &weights, bool isPeriodic=false) |
|
| OdGeNurbCurve2d (int degree, const OdGePolyline2d &fitPolyline, bool isPeriodic=false) |
|
| OdGeNurbCurve2d (const OdGePoint2dArray &fitPoints, const OdGeVector2d &startTangent, const OdGeVector2d &endTangent, bool startTangentDefined=true, bool endTangentDefined=true, const OdGeTol &fitTolerance=OdGeContext::gTol) |
|
| OdGeNurbCurve2d (const OdGePoint2dArray &fitPoints, const OdGeTol &fitTolerance=OdGeContext::gTol) |
|
| OdGeNurbCurve2d (const OdGePoint2dArray &fitPoints, const OdGeVector2dArray &fitTangents, const OdGeTol &fitTolerance=OdGeContext::gTol, bool isPeriodic=false) |
|
| OdGeNurbCurve2d (const OdGeEllipArc2d &ellipse) |
|
| OdGeNurbCurve2d (const OdGeLineSeg2d &linSeg) |
|
| OdGeNurbCurve2d (const OdGePoint2dArray &fitPoints, const OdGeVector2d &startTangent, const OdGeVector2d &endTangent, bool startTangentDefined, bool endTangentDefined, OdGeKnotParameterization knotParam, const OdGeTol &fitTol=OdGeContext::gTol) |
|
int | numFitPoints () const |
|
bool | getFitKnotParameterization (OdGeKnotParameterization &knotParam) const |
|
bool | getFitPointAt (int fitPointIndex, OdGePoint2d &point) const |
|
bool | getFitTolerance (OdGeTol &fitTolerance) const |
|
bool | getFitTangents (OdGeVector2d &startTangent, OdGeVector2d &endTangent) const |
|
bool | getFitData (OdGePoint2dArray &fitPoints, OdGeTol &fitTolerance, bool &tangentsExist, OdGeVector2d &startTangent, OdGeVector2d &endTangent) const |
|
bool | getFitData (OdGePoint2dArray &fitPoints, OdGeTol &fitTolerance, bool &tangentsExist, OdGeVector2d &startTangent, OdGeVector2d &endTangent, OdGeKnotParameterization &knotParam) const |
|
void | getDefinitionData (int °ree, bool &rational, bool &periodic, OdGeKnotVector &knots, OdGePoint2dArray &controlPoints, OdGeDoubleArray &weights) const |
|
int | numWeights () const |
|
double | weightAt (int weightIndex) const |
|
OdGeNurbCurve2d & | setWeightAt (int weightIndex, double weight) |
|
bool | evalMode () const |
|
bool | getParamsOfC1Discontinuity (OdGeDoubleArray ¶ms, const OdGeTol &tol=OdGeContext::gTol) const |
|
bool | getParamsOfG1Discontinuity (OdGeDoubleArray ¶ms, const OdGeTol &tol=OdGeContext::gTol) const |
|
bool | setFitPointAt (int fitPointIndex, const OdGePoint2d &point) |
|
bool | addFitPointAt (int fitPointIndex, const OdGePoint2d &point) |
|
bool | deleteFitPointAt (int fitPointIndex) |
|
bool | addControlPointAt (double newKnot, const OdGePoint2d &point, double weight=1.0) |
|
bool | deleteControlPointAt (int index) |
|
bool | setFitKnotParameterization (OdGeKnotParameterization knotParam) |
|
bool | setFitTolerance (const OdGeTol &fitTol=OdGeContext::gTol) |
|
bool | setFitTangents (const OdGeVector2d &startTangent, const OdGeVector2d &endTangent) |
|
OdGeNurbCurve2d & | setFitData (const OdGePoint2dArray &fitPoints, const OdGeVector2d &startTangent, const OdGeVector2d &endTangent, const OdGeTol &fitTol=OdGeContext::gTol) |
|
OdGeNurbCurve2d & | setFitData (const OdGeKnotVector &fitKnots, const OdGePoint2dArray &fitPoints, const OdGeVector2d &startTangent, const OdGeVector2d &endTangent, const OdGeTol &fitTol=OdGeContext::gTol, bool isPeriodic=false) |
|
OdGeNurbCurve2d & | setFitData (int degree, const OdGePoint2dArray &fitPoints, const OdGeTol &fitTol=OdGeContext::gTol) |
|
OdGeNurbCurve2d & | setFitData (const OdGePoint2dArray &fitPoints, const OdGeVector2d &startTangent, const OdGeVector2d &endTangent, OdGeKnotParameterization knotParam, const OdGeTol &fitTol=OdGeContext::gTol) |
|
bool | purgeFitData () |
|
OdGeNurbCurve2d & | addKnot (double newKnot) |
|
OdGeNurbCurve2d & | insertKnot (double newKnot) |
|
OdGeNurbCurve2d & | setEvalMode (bool evalMode=false) |
|
OdGeNurbCurve2d & | joinWith (const OdGeNurbCurve2d &curve) |
|
OdGeNurbCurve2d & | hardTrimByParams (double newStartParam, double newEndParam) |
|
OdGeNurbCurve2d & | makeRational (double weight=1.0) |
|
OdGeNurbCurve2d & | makeClosed () |
|
OdGeNurbCurve2d & | makePeriodic () |
|
OdGeNurbCurve2d & | makeNonPeriodic () |
|
OdGeNurbCurve2d & | makeOpen () |
|
OdGeNurbCurve2d & | elevateDegree (int plusDegree) |
|
OdGeNurbCurve2d & | operator= (const OdGeNurbCurve2d &spline) |
|
bool | intersectWith (const OdGeLine2d &line2d, OdGePoint2dArray &pnts2d, const OdGeTol &tol=OdGeContext::gTol, OdGeDoubleArray *params=NULL) const |
|
OdGeNurbCurve2d & | set (int degree, const OdGeKnotVector &knots, const OdGePoint2dArray &controlPoints, const OdGeDoubleArray &weights, bool isPeriodic=false) |
|
bool | isRational () const |
|
int | degree () const |
|
int | order () const |
|
int | numKnots () const |
|
const OdGeKnotVector & | knots () const |
|
int | numControlPoints () const |
|
int | continuityAtKnot (int knotIndex, const OdGeTol &tol=OdGeContext::gTol) const |
|
double | startParam () const |
|
double | endParam () const |
|
OdGePoint2d | startPoint () const |
|
OdGePoint2d | endPoint () const |
|
bool | hasFitData () const |
|
double | knotAt (int knotIndex) const |
|
OdGeSplineEnt2d & | setKnotAt (int knotIndex, double val) |
|
OdGePoint2d | controlPointAt (int controlPointIndex) const |
|
OdGeSplineEnt2d & | setControlPointAt (int controlPointIndex, const OdGePoint2d &point) |
|
OdGeSplineEnt2d & | operator= (const OdGeSplineEnt2d &spline) |
|
OdGeCurve3d * | convertTo3d () const |
|
void | convertTo3d (OdGeCurve3d &curve3d) const |
|
void | getInterval (OdGeInterval &interval) const |
|
void | getInterval (OdGeInterval &interval, OdGePoint2d &start, OdGePoint2d &end) const |
|
OdGeCurve2d & | reverseParam () |
|
OdGeCurve2d & | setInterval () |
|
bool | setInterval (const OdGeInterval &interval) |
|
double | distanceTo (const OdGePoint2d &point, const OdGeTol &tol=OdGeContext::gTol) const |
|
double | distanceTo (const OdGeCurve2d &otherCur, const OdGeTol &tol=OdGeContext::gTol) const |
|
OdGePoint2d | closestPointTo (const OdGePoint2d &point, const OdGeTol &tol=OdGeContext::gTol) const |
|
OdGePoint2d | closestPointTo (const OdGePoint2d &point, double ¶m, const OdGeInterval *range, const OdGeTol &tol=OdGeContext::gTol) const |
|
OdGePoint2d | closestPointTo (const OdGeCurve2d &curve2d, OdGePoint2d &pntOnOtherCrv, const OdGeTol &tol=OdGeContext::gTol) const |
|
void | getClosestPointTo (const OdGePoint2d &point, OdGePointOnCurve2d &pntOnCrv, const OdGeTol &tol=OdGeContext::gTol) const |
|
void | getClosestPointTo (const OdGeCurve2d &curve2d, OdGePointOnCurve2d &pntOnThisCrv, OdGePointOnCurve2d &pntOnOtherCrv, const OdGeTol &tol=OdGeContext::gTol) const |
|
bool | getNormalPoint (const OdGePoint2d &point, OdGePointOnCurve2d &pntOnCrv, const OdGeTol &tol=OdGeContext::gTol) const |
|
| TD_USING (OdGeEntity2d::isOn) |
|
bool | isOn (const OdGePoint2d &point, double ¶m, const OdGeTol &tol=OdGeContext::gTol) const |
|
bool | isOn (double param, const OdGeTol &tol=OdGeContext::gTol) const |
|
double | paramOf (const OdGePoint2d &point, const OdGeTol &tol=OdGeContext::gTol) const |
|
double | paramOf (const OdGePoint2d &point, const OdGeInterval *range, const OdGeTol &tol) const |
|
void | getTrimmedOffset (double distance, OdGeCurve2dPtrArray &offsetCurveList, OdGe::OffsetCrvExtType extensionType=OdGe::kFillet, const OdGeTol &tol=OdGeContext::gTol) const |
|
bool | isClosed (const OdGeTol &tol=OdGeContext::gTol) const |
|
bool | isPeriodic (double &period) const |
|
bool | isLinear (OdGeLine2d &line, const OdGeTol &tol=OdGeContext::gTol) const |
|
double | length (double fromParam, double toParam, double tol=OdGeContext::gTol.equalPoint()) const |
|
double | length (double tol=OdGeContext::gTol.equalPoint()) const |
|
double | paramAtLength (double datumParam, double length, bool posParamDir=true, double tol=OdGeContext::gTol.equalPoint()) const |
|
bool | area (double startParam, double endParam, double &value, const OdGeTol &tol=OdGeContext::gTol) const |
|
bool | isDegenerate (OdGe::EntityId °enerateType, const OdGeTol &tol=OdGeContext::gTol) const |
|
bool | isDegenerate (OdGeEntity2d *&pConvertedEntity, const OdGeTol &tol=OdGeContext::gTol) const |
|
void | getSplitCurves (double param, OdGeCurve2d *&piece1, OdGeCurve2d *&piece2) const |
|
bool | explode (OdGeCurve2dPtrArray &explodedCurves, OdGeIntArray &newExplodedCurve, const OdGeInterval *interval=NULL) const |
|
void | getLocalClosestPoints (const OdGePoint2d &point, OdGePointOnCurve2d &approxPnt, const OdGeInterval *nbhd=NULL, const OdGeTol &tol=OdGeContext::gTol) const |
|
void | getLocalClosestPoints (const OdGeCurve2d &otherCurve, OdGePointOnCurve2d &approxPntOnThisCrv, OdGePointOnCurve2d &approxPntOnOtherCrv, const OdGeInterval *nbhd1=NULL, const OdGeInterval *nbhd2=NULL, const OdGeTol &tol=OdGeContext::gTol) const |
|
OdGeBoundBlock2d | boundBlock () const |
|
OdGeBoundBlock2d | boundBlock (const OdGeInterval &range) const |
|
OdGeBoundBlock2d | orthoBoundBlock () const |
|
OdGeBoundBlock2d | orthoBoundBlock (const OdGeInterval &range) const |
|
OdGeExtents2d | getGeomExtents (const OdGeInterval &range=OdGeInterval(), const OdGeMatrix2d *coordSystem=NULL) const |
|
bool | hasStartPoint (OdGePoint2d &startPoint) const |
|
bool | hasEndPoint (OdGePoint2d &endPoint) const |
|
bool | hasMidPoint (OdGePoint2d &point, double coef=0.5) const |
|
OdGePoint2d | midPoint (double coef=0.5) const |
|
OdGePoint2d | evalPoint (double param) const |
|
OdGePoint2d | evalPoint (double param, int numDeriv, OdGeVector2dArray &derivatives) const |
|
void | getSamplePoints (double fromParam, double toParam, double approxEps, OdGePoint2dArray &pointArray, OdGeDoubleArray ¶mArray) const |
|
void | getSamplePoints (int numSample, OdGePoint2dArray &pointArray) const |
|
OdGeCurve2d & | operator= (const OdGeCurve2d &curve) |
|
void | getSamplePoints (double fromParam, double toParam, double approxEps, OdGePoint2dArray &pointArray, OdGeDoubleArray *pParamArray=NULL) const |
|
void | appendSamplePoints (double fromParam, double toParam, double approxEps, OdGePoint2dArray &pointArray, OdGeDoubleArray *pParamArray=NULL) const |
|
void | appendSamplePoints (int numSample, OdGePoint2dArray &pointArray) const |
|
| ODRX_HEAP_OPERATORS () |
|
| ~OdGeEntity2d () |
|
bool | isKindOf (OdGe::EntityId entType) const |
|
OdGe::EntityId | type () const |
|
OdGeEntity2d * | copy () const |
|
OdGeEntity2d & | operator= (const OdGeEntity2d &entity) |
|
bool | operator== (const OdGeEntity2d &entity) const |
|
bool | operator!= (const OdGeEntity2d &entity) const |
|
bool | isEqualTo (const OdGeEntity2d &other, const OdGeTol &tol=OdGeContext::gTol) const |
|
OdGeEntity2d & | transformBy (const OdGeMatrix2d &xfm) |
|
OdGeEntity2d & | translateBy (const OdGeVector2d &translateVec) |
|
OdGeEntity2d & | rotateBy (double angle, const OdGePoint2d &basePoint=OdGePoint2d::kOrigin) |
|
OdGeEntity2d & | mirror (const OdGeLine2d &line) |
|
OdGeEntity2d & | scaleBy (double scaleFactor, const OdGePoint2d &basePoint=OdGePoint2d::kOrigin) |
|
bool | isOn (const OdGePoint2d &point, const OdGeTol &tol=OdGeContext::gTol) const |
|
This class represents non-uniform rational B-splines (NURBS) in 2D space.
Corresponding C++ library: TD_Ge
<group OdGe_Classes>
- See also
- <link ge_OdGeNurbCurve3d, Working with NURBS curves>
Definition at line 49 of file GeNurbCurve2d.h.
Constructor for objects of the OdGeNurbCurve2d class.
- Parameters
-
degree | [in] Degree of the curve. |
knots | [in] Knot vector. |
controlPoints | [in] Array of 2D control points. |
weights | [in] Array of weight values. |
isPeriodic | [in] true if and only if the curve is periodic. |
A knot vector defines a sequence of parameter values that determine where and how the control points affect the curve. The knot vector is a sequence of parameter values and divides the parametric space into intervals, usually called knot spans. Values of knot vector must be provided in ascending order, for example: (0, 0, 0, 1, 2, 3, 3, 3) can be valid while (0, 0, 2, 0, 3, 1, 3, 3) cannot be valid.
The control points specify the placement of the curve and adjust its shape. The quantity of control points must be at least the degree + 1.
The closer the weight value is to zero, the closer the curve is to a straight line near the corresponding control point. If the weight increases, the curve pulls toward the corresponding control point. If the weight decreases, the curve pushes from the corresponding control point.
If isPeriodic is false, then knots.length() must be equal to controlPoints.length() + degree + 1. If isPeriodic is true, then knots.length() must be equal to controlPoints.length(), the first and last controlPoints must be equal.