#include <nurbs_sp.hh>
Inheritance diagram for PLib::NurbsCurveSP::
Public Methods | |
NurbsCurveSP () | |
NurbsCurveSP (const NurbsCurve< T, N > &nurb) | |
NurbsCurveSP (const NurbsCurveSP< T, N > &nurb) | |
NurbsCurveSP (const Vector< HPoint_nD< T, N > > &P1, const Vector< T > &U1, int degree=3) | |
NurbsCurveSP (const Vector< Point_nD< T, N > > &P1, const Vector< T > &W, const Vector< T > &U1, int degree=3) | |
virtual void | reset (const Vector< HPoint_nD< T, N > > &P1, const Vector< T > &U1, int degree) |
virtual NurbsCurve< T, N > & | operator= (const NurbsCurve< T, N > &a) |
NurbsCurveSP< T, N > & | operator= (const NurbsCurveSP< T, N > &a) |
virtual void | modKnot (const Vector< T > &knot) |
virtual void | removeKnot (int r, int s, int num) |
virtual void | removeKnotsBound (const Vector< T > &ub, Vector< T > &ek, T E) |
virtual void | refineKnotVector (const Vector< T > &X) |
virtual void | mergeKnotVector (const Vector< T > &Um) |
virtual void | knotInsertion (T u, int r, NurbsCurveSP< T, N > &nc) |
virtual void | degreeElevate (int t) |
int | read (ifstream &fin) |
void | modSurfCPby (int i, const HPoint_nD< T, N > &a) |
void | modSurfCP (int i, const HPoint_nD< T, N > &a) |
void | modOnlySurfCPby (int i, const HPoint_nD< T, N > &a) |
void | modOnlySurfCP (int i, const HPoint_nD< T, N > &a) |
T | maxAt (int i) const |
HPoint_nD< T, N > | surfP (int i) const |
void | updateMaxU () |
int | okMax () |
Protected Attributes | |
Vector< T > | maxU |
Vector< T > | maxAt_ |
A Nurbs curve with surface point manipulators. This allows someone to modify the point on a curve for which a ControlPoint has maximal influence over it. This might provide a more intuitive method to modify a curve.
|
degree elevate a curve a number of times.
For more information, see A5.9 on p 206 of the NURBS book
Reimplemented from PLib::NurbsCurve. |
|
Merges the knot vector of a curve with another knot vector.
Will merge the Knot vector U with the one from the curve and it will refine the curve appropriately.
Reimplemented from PLib::NurbsCurve. |
|
Move the surface point only.
Moves only the specified surface point. The other surface points normally affected by moving this point are {not} moved. The point a is in the 4D homogenous space, but only the x,y,z value are used. The weight is not moved by this function.
|
|
The assignment operator for a NURBS curve.
Reimplemented from PLib::NurbsCurve. |
|
reads a NurbsCurve<T,N> from a file.
Reimplemented from PLib::NurbsCurve. Reimplemented in PLib::NurbsCurveGL. |
|
Refine the curve knot vector.
For more information, see A5.4 on page 164 of the NURBS book
Reimplemented from PLib::NurbsCurve. |
|
Removes an internal knot from a curve. This is A5.8 on p185 from the NURB book modified to not check for tolerance before removing the knot.
Reimplemented from PLib::NurbsCurve. |
|
Remove knots from a curve without exceeding an error bound.
For more information about the algorithm, see A9.9 on p429 of the NURB book.
Reimplemented from PLib::NurbsCurve. |
|
Resets a NURBS curve to new values.
Reimplemented from PLib::NurbsCurve. |
|
Updates the basis value.
Updates the basis value at which a control point has maximal influence. It also finds where the control point has maximal influence.
|