CFx SDK Documentation
2020SP3
|
#include <GeKnotVector.h>
Public Member Functions | |
OdGeKnotVector (double tol=1.e-9) | |
OdGeKnotVector (int size, int growSize, double tol=1.e-9) | |
OdGeKnotVector (int size, const double source[], double tol=1.e-9) | |
OdGeKnotVector (int plusMult, const OdGeKnotVector &source) | |
OdGeKnotVector (const OdGeKnotVector &source) | |
OdGeKnotVector (const OdGeDoubleArray &source, double tol=1.e-9) | |
~OdGeKnotVector () | |
OdGeKnotVector & | operator= (const OdGeKnotVector &knotVector) |
OdGeKnotVector & | operator= (const OdGeDoubleArray &dblArray) |
double & | operator[] (int i) |
double | operator[] (int i) const |
bool | isEqualTo (const OdGeKnotVector &knotVector) const |
double | startParam () const |
double | endParam () const |
int | multiplicityAt (int knotIndex) const |
int | numIntervals () const |
int | getInterval (int order, double param, OdGeInterval &interval) const |
void | getDistinctKnots (OdGeDoubleArray &knots, OdGeIntArray *multiplicity=NULL) const |
bool | contains (double param) const |
bool | isOn (double knot) const |
OdGeKnotVector & | reverse () |
OdGeKnotVector & | removeAt (int knotIndex) |
OdGeKnotVector & | removeSubVector (int startIndex, int endIndex) |
OdGeKnotVector & | insertAt (int knotIndex, double knot, int multiplicity=1) |
OdGeKnotVector & | insert (double param) |
int | append (double knot) |
OdGeKnotVector & | append (OdGeKnotVector &tail, double knotRatio=0.0) |
int | split (double param, OdGeKnotVector *pKnotHead, int multLast, OdGeKnotVector *pKnotTail, int multFirst) const |
OdGeKnotVector & | setRange (double lower, double upper) |
double | tolerance () const |
OdGeKnotVector & | setTolerance (double tol) |
int | length () const |
bool | isEmpty () const |
int | logicalLength () const |
OdGeKnotVector & | setLogicalLength (int size) |
int | physicalLength () const |
OdGeKnotVector & | setPhysicalLength (int) |
int | growLength () const |
OdGeKnotVector & | setGrowLength (int rowLength) |
const double * | getPtr () const |
const double * | asArrayPtr () const |
double * | asArrayPtr () |
OdGeKnotVector & | set (int size, const double source[], double tol=1.e-9) |
int | multiplicityAt (double param) const |
Protected Member Functions | |
bool | isValid (OdUInt32 knotIndex) const |
Protected Attributes | |
OdGeDoubleArray | m_Data |
double | m_Tolerance |
Friends | |
GE_TOOLKIT_EXPORT OdGeDoubleArray & | getArray (OdGeKnotVector *p) |
GE_TOOLKIT_EXPORT const OdGeDoubleArray & | getArray (const OdGeKnotVector *p) |
This class represents an ordered series of monotonically increasing doubles used by spline entities.
Corresponding C++ library: TD_Ge
<group OdGe_Classes>
Definition at line 43 of file GeKnotVector.h.
OdGeKnotVector::OdGeKnotVector | ( | double | tol = 1.e-9 | ) |
tol | [in] Knot equality tolerance. |
size | [in] Length of vector. |
growSize | [in] Length of future vector size increments. |
plusMult | [in] Multiplicity increment for each knot. |
source | [in] Object to be cloned. |
OdGeKnotVector::OdGeKnotVector | ( | int | size, |
int | growSize, | ||
double | tol = 1.e-9 |
||
) |
OdGeKnotVector::OdGeKnotVector | ( | int | size, |
const double | source[], | ||
double | tol = 1.e-9 |
||
) |
OdGeKnotVector::OdGeKnotVector | ( | int | plusMult, |
const OdGeKnotVector & | source | ||
) |
OdGeKnotVector::OdGeKnotVector | ( | const OdGeKnotVector & | source | ) |
OdGeKnotVector::OdGeKnotVector | ( | const OdGeDoubleArray & | source, |
double | tol = 1.e-9 |
||
) |
OdGeKnotVector::~OdGeKnotVector | ( | ) |
int OdGeKnotVector::append | ( | double | knot | ) |
Appends a single knot to this vector, and returns the value of the single knot.
knot | [in] New last knot value. |
OdGeKnotVector& OdGeKnotVector::append | ( | OdGeKnotVector & | tail, |
double | knotRatio = 0.0 |
||
) |
Appends a vector to this vector, and returns a reference to this vector.
tail | [in] Knot vector to be appended. |
knotRatio | [in] Knot ratio. |
double* OdGeKnotVector::asArrayPtr | ( | ) |
Returns this vector as an array of doubles.
const double* OdGeKnotVector::asArrayPtr | ( | ) | const |
Returns this vector as an array of doubles.
bool OdGeKnotVector::contains | ( | double | param | ) | const |
Returns true if an only if the specified parameter is between the first and last knots.
param | [in] Parameter to be tested. |
double OdGeKnotVector::endParam | ( | ) | const |
Returns the last knot value of this vector.
void OdGeKnotVector::getDistinctKnots | ( | OdGeDoubleArray & | knots, |
OdGeIntArray * | multiplicity = NULL |
||
) | const |
Returns the number of distinct knots.
knots | [in] Array of knots. |
multiplicity | [out] Receives an array of multiplicities (repetitions) of each knot. |
int OdGeKnotVector::getInterval | ( | int | order, |
double | param, | ||
OdGeInterval & | interval | ||
) | const |
Returns the knot interval, and the index of the knot interval, containing the point specified by param.
order | [in] The order of the spline. |
param | [in] Parameter to specify a point on the vector. |
interval | [out] Receives the interval containing the point specified by param. |
const double* OdGeKnotVector::getPtr | ( | ) | const |
Returns this vector as an array of doubles.
int OdGeKnotVector::growLength | ( | ) | const |
Returns the length by which the array is set to grow automatically.
OdGeKnotVector& OdGeKnotVector::insert | ( | double | param | ) |
Inserts a knot in the appropriate knot interval as specified by param, and returns a reference to this vector.
param | [in] Parameter to specify a point on the vector. |
OdGeKnotVector& OdGeKnotVector::insertAt | ( | int | knotIndex, |
double | knot, | ||
int | multiplicity = 1 |
||
) |
Inserts the specified knot the specified number of times at the specified index, and returns a reference to this vector.
knotIndex | [in] Knot index. |
knot | [in] Value to be inserted |
multiplicity | [in] Number ot times to insert the knot. |
bool OdGeKnotVector::isEmpty | ( | ) | const |
Returns true if and only if length() == 0.
bool OdGeKnotVector::isEqualTo | ( | const OdGeKnotVector & | knotVector | ) | const |
Returns true if and only if knotVector is identical to this one.
knotVector | [in] Knot vector. |
bool OdGeKnotVector::isOn | ( | double | knot | ) | const |
Returns true if and only if knot is a member of this vector within the knot equality tolerance.
|
protected |
Returns true if and only if index < length()
knotIndex | [in] Knot index. |
int OdGeKnotVector::length | ( | ) | const |
Returns the length of this vector.
int OdGeKnotVector::logicalLength | ( | ) | const |
Returns the logical length of this vector.
int OdGeKnotVector::multiplicityAt | ( | double | param | ) | const |
int OdGeKnotVector::multiplicityAt | ( | int | knotIndex | ) | const |
Returns knot multiplicity (repetitions) of the knot value at the specified index.
knotIndex | [in] Knot index. |
int OdGeKnotVector::numIntervals | ( | ) | const |
Returns the number of intervals between distinct knots.
OdGeKnotVector& OdGeKnotVector::operator= | ( | const OdGeDoubleArray & | dblArray | ) |
OdGeKnotVector& OdGeKnotVector::operator= | ( | const OdGeKnotVector & | knotVector | ) |
double& OdGeKnotVector::operator[] | ( | int | i | ) |
i | [in] Index of knot. |
double OdGeKnotVector::operator[] | ( | int | i | ) | const |
int OdGeKnotVector::physicalLength | ( | ) | const |
OdGeKnotVector& OdGeKnotVector::removeAt | ( | int | knotIndex | ) |
Removes the specified knot from this vector, and returns a reference to this vector.
knotIndex | [in] Knot index. |
OdGeKnotVector& OdGeKnotVector::removeSubVector | ( | int | startIndex, |
int | endIndex | ||
) |
Removes the specified range of knots from this vector, and returns a reference to this vector.
startIndex | [in] Index of the first knot to be removed. |
endIndex | [in] Index of the last knot to be removed. |
OdGeKnotVector& OdGeKnotVector::reverse | ( | ) |
Reverses the order of this vector, and returns a reference to this vector.
OdGeKnotVector& OdGeKnotVector::set | ( | int | size, |
const double | source[], | ||
double | tol = 1.e-9 |
||
) |
Sets the parameters for this vector according to the arguments, and returns a reference to this vector.
tol | [in] Knot equality tolerance. |
size | [in] Length of vector. |
OdGeKnotVector& OdGeKnotVector::setGrowLength | ( | int | rowLength | ) |
Set the length by which the array will grow automatically.
rowLength | [in] The length for the array automatic resizing. |
OdGeKnotVector& OdGeKnotVector::setLogicalLength | ( | int | size | ) |
Sets the logical length of this vector, and returns a reference to this vector.
size | [in] Logical length of vector. |
OdGeKnotVector& OdGeKnotVector::setPhysicalLength | ( | int | ) |
OdGeKnotVector& OdGeKnotVector::setRange | ( | double | lower, |
double | upper | ||
) |
Transforms this vector such that the first knot has a value of lower, and the last knot has a value of upper, and returns a reference to this vector.
lower | [in] New lower knot. |
upper | [in] New upper knot. |
OdGeKnotVector& OdGeKnotVector::setTolerance | ( | double | tol | ) |
Sets the knot equality tolerance for this vector, and returns a reference to this vector.
tol | [in] Knot equality tolerance. |
int OdGeKnotVector::split | ( | double | param, |
OdGeKnotVector * | pKnotHead, | ||
int | multLast, | ||
OdGeKnotVector * | pKnotTail, | ||
int | multFirst | ||
) | const |
Splits this vector at the point corresponding to param.
param | [in] Parameter to specify a point on the vector. |
pKnotHead | [out] Receives the head portion of the split. |
multLast | [in] Multiplicity of the last knot in the head portion. |
pKnotTail | [out] Receives the tail portion of the split. |
multFirst | [in] Multiplicity of the first knot in the tail portion. |
double OdGeKnotVector::startParam | ( | ) | const |
Returns the first knot value of this vector.
double OdGeKnotVector::tolerance | ( | ) | const |
Returns the knot equality tolerance.
|
friend |
|
friend |
|
protected |
Definition at line 383 of file GeKnotVector.h.
|
protected |
Definition at line 384 of file GeKnotVector.h.