lux::NURBS Class Reference

#include <nurbs.h>

Inheritance diagram for lux::NURBS:
[legend]
Collaboration diagram for lux::NURBS:
[legend]

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)
virtual ~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 33 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 134 of file nurbs.cpp.

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

Referenced by CreateShape().

NURBS::~NURBS (  )  [virtual]

Definition at line 155 of file nurbs.cpp.

References P, uknot, and vknot.


Member Function Documentation

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

Returns whether this primitive can be intersected.

Reimplemented from lux::Shape.

Definition at line 43 of file nurbs.h.

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

Reimplemented from lux::Shape.

Definition at line 160 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]

Returns the world bounds of this primitive.

Reimplemented from lux::Shape.

Definition at line 177 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 52 of file nurbs.h.

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

int lux::NURBS::nu [private]

Definition at line 49 of file nurbs.h.

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

int lux::NURBS::nv [private]

Definition at line 49 of file nurbs.h.

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

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

Definition at line 53 of file nurbs.h.

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

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

Definition at line 51 of file nurbs.h.

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

float lux::NURBS::umax [private]

Definition at line 50 of file nurbs.h.

Referenced by NURBS(), and Refine().

float lux::NURBS::umin [private]

Definition at line 50 of file nurbs.h.

Referenced by NURBS(), and Refine().

Definition at line 49 of file nurbs.h.

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

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

Definition at line 51 of file nurbs.h.

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

float lux::NURBS::vmax [private]

Definition at line 50 of file nurbs.h.

Referenced by NURBS(), and Refine().

float lux::NURBS::vmin [private]

Definition at line 50 of file nurbs.h.

Referenced by NURBS(), and Refine().

Definition at line 49 of file nurbs.h.

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


The documentation for this class was generated from the following files:
Generated by  doxygen 1.6.2-20100208