lux::NURBS Class Reference

#include <nurbs.h>

Inheritance diagram for lux::NURBS:

lux::Shape

List of all members.

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< boost::shared_ptr< Shape > > &refined) const

Static Public Member Functions

static ShapeCreateShape (const Transform &o2w, bool reverseOrientation, const ParamSet &params)

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


Detailed Description

Definition at line 34 of file nurbs.h.


Constructor & Destructor Documentation

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 
)

Definition at line 133 of file nurbs.cpp.

References isHomogeneous, memcpy(), nu, nv, P, uknot, umax, umin, uorder, vknot, vmax, vmin, and vorder.

Referenced by CreateShape().

NURBS::~NURBS (  ) 

Definition at line 154 of file nurbs.cpp.

References P, uknot, and vknot.


Member Function Documentation

virtual bool lux::NURBS::CanIntersect (  )  const [inline, virtual]

Reimplemented from lux::Shape.

Definition at line 44 of file nurbs.h.

Shape * NURBS::CreateShape ( const Transform o2w,
bool  reverseOrientation,
const ParamSet params 
) [static]

BBox NURBS::ObjectBound (  )  const [virtual]

Implements lux::Shape.

Definition at line 159 of file nurbs.cpp.

References isHomogeneous, nu, nv, P, and lux::Union().

void NURBS::Refine ( vector< boost::shared_ptr< Shape > > &  refined  )  const [virtual]

BBox NURBS::WorldBound (  )  const [virtual]

Reimplemented from lux::Shape.

Definition at line 176 of file nurbs.cpp.

References isHomogeneous, nu, nv, lux::Shape::ObjectToWorld, P, and lux::Union().


Member Data Documentation

bool lux::NURBS::isHomogeneous [private]

Definition at line 53 of file nurbs.h.

Referenced by CreateShape(), NURBS(), ObjectBound(), Refine(), and WorldBound().

int lux::NURBS::nu [private]

Definition at line 50 of file nurbs.h.

Referenced by CreateShape(), NURBS(), ObjectBound(), Refine(), and WorldBound().

int lux::NURBS::nv [private]

Definition at line 50 of file nurbs.h.

Referenced by CreateShape(), NURBS(), ObjectBound(), Refine(), and WorldBound().

float* lux::NURBS::P [private]

Definition at line 54 of file nurbs.h.

Referenced by CreateShape(), NURBS(), ObjectBound(), Refine(), WorldBound(), and ~NURBS().

float* lux::NURBS::uknot [private]

Definition at line 52 of file nurbs.h.

Referenced by NURBS(), Refine(), and ~NURBS().

float lux::NURBS::umax [private]

Definition at line 51 of file nurbs.h.

Referenced by NURBS(), and Refine().

float lux::NURBS::umin [private]

Definition at line 51 of file nurbs.h.

Referenced by NURBS(), and Refine().

int lux::NURBS::uorder [private]

Definition at line 50 of file nurbs.h.

Referenced by CreateShape(), NURBS(), and Refine().

float * lux::NURBS::vknot [private]

Definition at line 52 of file nurbs.h.

Referenced by NURBS(), Refine(), and ~NURBS().

float lux::NURBS::vmax [private]

Definition at line 51 of file nurbs.h.

Referenced by NURBS(), and Refine().

float lux::NURBS::vmin [private]

Definition at line 51 of file nurbs.h.

Referenced by NURBS(), and Refine().

int lux::NURBS::vorder [private]

Definition at line 50 of file nurbs.h.

Referenced by CreateShape(), NURBS(), and Refine().


The documentation for this class was generated from the following files:

Generated on Mon May 18 07:14:54 2009 for lux by  doxygen 1.5.7.1