Mondschein Engine
0.3.0
|
This class represents a NURBS patch. More...
#include <nurbspatch.h>
Public Member Functions | |
virtual Eigen::Vector3d | operator() (float64 _t, float64 _u) const |
Interpolated patch point access operator. More... | |
virtual void | set_degree (uint32 _d) |
Set the patch degree. More... | |
virtual uint32 | get_degree () const |
Get the patch degree. More... | |
virtual void | set_curves (const std::vector< NURBScurve_p > &_c) |
Set the interpolation curves. More... | |
virtual std::vector< NURBScurve_p > | get_curves () const |
Get the interpolation curves. More... | |
virtual void | calc_knots (bool _cl) |
Calculate the knot vector. More... | |
virtual Eigen::Vector3d | get_point (float64 _t, float64 _u) const |
Get an interpolated patch point. More... | |
This class represents a NURBS patch.
The NURBSpatch class contains the parametric representation of a NURBS patch. Since NURBS patches are the most generalized form of B-Spline patches it also covers any B-Spline patch available.
Any NURBS patch is defined by a set of n interpolation curves and its degree. Like the NURBS curve degree the NURBS surface degree defines how many curves influence the surface point.
The interpolation curves may vary from each other and from the patch structure.
Definition at line 43 of file nurbspatch.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 patch degree or interpolation curves. Otherwise the interpolation may be incorrect.
Definition at line 175 of file nurbspatch.cpp.
|
virtual |
Get the interpolation curves.
Definition at line 170 of file nurbspatch.cpp.
|
virtual |
Get an interpolated patch point.
_t | the location between [0,1] of the interpolated point in X direction |
_u | the location between [0,1] of the interpolated point in Y direction |
mondschein::exception | if a known exception is thrown during execution |
Definition at line 192 of file nurbspatch.cpp.
Interpolated patch point access operator.
_t | the location between [0,1] of the interpolated point in X direction |
_u | the location between [0,1] of the interpolated point in Y direction |
mondschein::exception | if a known exception is thrown during execution |
Definition at line 137 of file nurbspatch.cpp.
|
virtual |
Set the interpolation curves.
_p | the interpolation curves |
mondschein::exception | if _p.size() <= patch degree |
NOTE: If the knot vector is not recalculated after changing the interpolation curves the interpolation may be incorrect.
Definition at line 164 of file nurbspatch.cpp.
|
virtual |
Set the patch degree.
_d | the patch degree |
mondschein::exception | if _d is not smaller than the number of interpolation curves |
NOTE: If the knot vector is not recalculated after changing the patch degree the interpolation may be incorrect.
Definition at line 152 of file nurbspatch.cpp.