Public Member Functions | |
NURBS (const Transform &o2w, bool reverseOrientation, int nu, int uorder, const float *uknot, float umin, float umax, int nv, int vorder, const float *vknot, float vmin, float vmax, const float *P, bool isHomogeneous) | |
~NURBS () | |
virtual BBox | ObjectBound () const |
virtual BBox | WorldBound () const |
virtual bool | CanIntersect () const |
virtual void | Refine (vector< Reference< Shape > > &refined) const |
Private Attributes | |
int | nu |
int | uorder |
int | nv |
int | vorder |
float | umin |
float | umax |
float | vmin |
float | vmax |
float * | uknot |
float * | vknot |
bool | isHomogeneous |
float * | P |
Definition at line 31 of file nurbs.cpp.
NURBS::NURBS | ( | const Transform & | o2w, | |
bool | reverseOrientation, | |||
int | nu, | |||
int | uorder, | |||
const float * | uknot, | |||
float | umin, | |||
float | umax, | |||
int | nv, | |||
int | vorder, | |||
const float * | vknot, | |||
float | vmin, | |||
float | vmax, | |||
const float * | P, | |||
bool | isHomogeneous | |||
) |
BBox NURBS::ObjectBound | ( | ) | const [virtual] |
BBox NURBS::WorldBound | ( | ) | const [virtual] |
Reimplemented from Shape.
Definition at line 198 of file nurbs.cpp.
References isHomogeneous, nu, nv, Shape::ObjectToWorld, P, and Union().
virtual bool NURBS::CanIntersect | ( | ) | const [inline, virtual] |
Reimplemented from Shape.
Definition at line 224 of file nurbs.cpp.
References ParamSet::AddFloat(), ParamSet::AddInt(), ParamSet::AddNormal(), ParamSet::AddPoint(), Cross(), isHomogeneous, Lerp(), MakeShape(), Normalize(), nu, NURBSEvaluateSurface(), nv, Shape::ObjectToWorld, P, Shape::reverseOrientation, uknot, umax, umin, uorder, vknot, vmax, vmin, VN, vorder, Homogeneous3::w, Point::x, Homogeneous3::x, Point::y, Homogeneous3::y, Point::z, and Homogeneous3::z.
int NURBS::nu [private] |
Definition at line 45 of file nurbs.cpp.
Referenced by CreateShape(), NURBS(), ObjectBound(), Refine(), and WorldBound().
int NURBS::uorder [private] |
int NURBS::nv [private] |
Definition at line 45 of file nurbs.cpp.
Referenced by CreateShape(), NURBS(), ObjectBound(), Refine(), and WorldBound().
int NURBS::vorder [private] |
float NURBS::umin [private] |
float NURBS::umax [private] |
float NURBS::vmin [private] |
float NURBS::vmax [private] |
float* NURBS::uknot [private] |
float * NURBS::vknot [private] |
bool NURBS::isHomogeneous [private] |
Definition at line 48 of file nurbs.cpp.
Referenced by CreateShape(), NURBS(), ObjectBound(), Refine(), and WorldBound().
float* NURBS::P [private] |
Definition at line 49 of file nurbs.cpp.
Referenced by CreateShape(), NURBS(), ObjectBound(), Refine(), WorldBound(), and ~NURBS().