#include <xsi_knot.h>
An array of knot values representing the NURBS curve or surface knots.
using namespace XSI; using namespace MATH; Application app; Model root = app.GetActiveSceneRoot(); X3DObject circle; root.AddGeometry(L"Circle",L"NurbsCurve",L"",circle); NurbsCurveList curveList = circle.GetActivePrimitive().GetGeometry(); NurbsCurve curve = curveList.GetCurves().GetItem(0); CControlPointRefArray cpArray = curve.GetControlPoints(); CKnotArray knotArray = curve.GetKnots(); CNurbsCurveData curveData; cpArray.GetArray(curveData.m_aControlPoints); knotArray.GetClosed(curveData.m_bClosed); X3DObject circleCopyWithoutKnots; root.AddNurbsCurve(curveData,siSINurbs,L"",circleCopyWithoutKnots);
Public Member Functions |
|
CKnotArray () | |
~CKnotArray () | |
CKnotArray (const CKnotArray &in_array) | |
CKnotArray (const CRef &in_ref) | |
CKnotArray & | operator= (const CKnotArray &in_obj) |
CKnotArray & | operator= (const CRef &in_ref) |
bool | IsA (siClassID in_classID) const |
siClassID | GetClassID () const |
double | GetItem (LONG in_index) const |
CDoubleArray & | GetArray () const |
LONG | GetCount () const |
CStatus | GetClosed (bool &out_bClosed) const |
CStatus | GetDegree (LONG &out_lDegree) const |
CStatus | GetParameterization (siKnotParameterization &out_siParameterization) const |
CStatus | GetMultiplicity (double in_dKnotValue, LONG &out_lMultiplicity) const |
CKnotArray | ( | ) |
Default constructor.
~CKnotArray | ( | ) |
Default destructor.
CKnotArray | ( | const CKnotArray & | in_array | ) |
Copy constructor.
in_array | constant CKnotArray reference object. |
CKnotArray | ( | const CRef & | in_ref | ) |
Copy constructor.
in_ref | constant CKnotArray reference object. |
CKnotArray& operator= | ( | const CKnotArray & | in_obj | ) |
Creates an object from another object. The newly created object is set to empty if the input object is not compatible.
in_obj | constant class object. |
CKnotArray& operator= | ( | const CRef & | in_ref | ) |
Creates an object from a reference object. The newly created object is set to empty if the input reference object is not compatible.
in_ref | constant class object. |
Reimplemented from SIObject.
bool IsA | ( | siClassID | in_classID | ) | const [virtual] |
Returns true if a given class type is compatible with the underlying reference object.
in_classID | Class type. |
Reimplemented from SIObject.
siClassID GetClassID | ( | ) | const [virtual] |
Returns the class type of this array
Reimplemented from SIObject.
double GetItem | ( | LONG | in_index | ) | const |
Returns the value of a knot at a given index, if the index is invalid or the CKnotArray is invalid it will return DBL_MAX instead.
in_index | The index of the Knot. |
CDoubleArray& GetArray | ( | ) | const |
Returns an array object containing the knot values.
LONG GetCount | ( | ) | const |
Returns the number of Knot objects in the array.
CStatus GetClosed | ( | bool & | out_bClosed | ) | const |
Returns true if the parametric domain is closed.
out_bClosed | Return value. |
CStatus GetDegree | ( | LONG & | out_lDegree | ) | const |
Returns the degree.
out_lDegree | returns the degree. |
CStatus GetParameterization | ( | siKnotParameterization & | out_siParameterization | ) | const |
Returns the parameterization.
out_siParameterization | The parameterization. |
CStatus GetMultiplicity | ( | double | in_dKnotValue, |
LONG & | out_lMultiplicity | ||
) | const |
Returns the multiplicity at a certain knot value.
in_dKnotValue | The knot value for which we want to know the multiplicity. |
out_lMultiplicity | The multiplicity for the given knot value. |