#include <nurbs_sp.h>
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.
Definition at line 47 of file nurbs_sp.h.
|
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.
Definition at line 104 of file nurbs_sp.cpp. |
|
The assignment operator for a NURBS curve.
Reimplemented from PLib::NurbsCurve. Definition at line 138 of file nurbs_sp.h. References updateMaxU. |
|
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. Definition at line 159 of file nurbs_sp.h. References updateMaxU. |
|
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. Definition at line 165 of file nurbs_sp.h. References updateMaxU. |
|
Resets a NURBS curve to new values.
Reimplemented from PLib::NurbsCurve. Definition at line 132 of file nurbs_sp.h. References PLib::NurbsCurve::degree, and updateMaxU. |
|
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.
Definition at line 49 of file nurbs_sp.cpp. References PLib::NurbsCurve::basisFun. Referenced by operator=, removeKnot, removeKnotsBound, and reset. |