Mondschein Engine
0.3.0
|
This class represents a NURBS curve. More...
#include <nurbscurve.h>
Public Member Functions | |
virtual Eigen::Vector3d | operator() (float64 _t) const |
Curve point access operator. More... | |
virtual void | set_degree (uint32 _d) |
Set the curve degree. More... | |
virtual uint32 | get_degree () const |
Get the curve degree. More... | |
virtual void | set_points (const std::vector< Eigen::Vector4d > &_p) |
Set the interpolation points. More... | |
virtual std::vector < Eigen::Vector4d > | get_points () const |
Get the interpolation points. More... | |
virtual void | calc_knots (bool _cl) |
Calculate the knot vector. More... | |
virtual Eigen::Vector3d | get_point (float64 _t) const |
Get a curve point. More... | |
This class represents a NURBS curve.
The NURBScurve class contains the parametric representation of a NURBS curve. Since NURBS curves are the most generalized of B-Spline curves it also covers any B-Spline curve available.
Any NURBS curve is defined by a set of n control points and its degree.
Definition at line 41 of file nurbscurve.h.
|
virtual |
Calculate the knot vector.
_cl | if TRUE the knot vector is calculated in chord length, uniform length otherwise |
mondschein::exception | first known exception called during knot vector calculation |
NOTE: The knot vector must always be recalculated after changing the curve degree or interpolation points. Otherwise the interpolation may be incorrect.
Definition at line 160 of file nurbscurve.cpp.
|
virtual |
|
virtual |
Get a curve point.
_t | the location between [0,1] of the curve point |
mondschein::exception | if a known exception has been thrown during execution or if the knot vector is empty |
NOTE: Before a curve point can be interpolated it must be made sure that the knot vector has been calculated.
Definition at line 177 of file nurbscurve.cpp.
|
virtual |
Get the interpolation points.
Definition at line 155 of file nurbscurve.cpp.
|
virtual |
Curve point access operator.
_t | the location between [0,1] of the curve point |
mondschein::exception | if a known exception has ben thrown during execution |
NOTE: Before a curve point can be interpolated it must be made sure that the knot vector has been calculated.
Definition at line 122 of file nurbscurve.cpp.
|
virtual |
Set the curve degree.
_d | the curve degree |
mondschein::exception | if _d is not smaller than the number of interpolation points |
NOTE: If the knot vector is not recalculated after changing the curve degree the interpolation may be incorrect.
Definition at line 137 of file nurbscurve.cpp.
|
virtual |
Set the interpolation points.
_p | the interpolation points |
mondschein::exception | if _p.size() <= curve degree |
NOTE: If the knot vector is not recalculated after changing the interpolation points the interpolation may be incorrect.
Definition at line 149 of file nurbscurve.cpp.