NURBS Class Reference

#include <nurbs.h>

Inheritance diagram for NURBS:
Shape ReferenceCounted

List of all members.

Public Member Functions

 NURBS (const Transform *o2w, const Transform *w2o, 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 ()
BBox ObjectBound () const
BBox WorldBound () const
bool CanIntersect () const
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

Detailed Description

Definition at line 38 of file nurbs.h.


Constructor & Destructor Documentation

NURBS::NURBS ( const Transform o2w,
const Transform w2o,
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 146 of file nurbs.cpp.

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

NURBS::~NURBS (  ) 

Definition at line 170 of file nurbs.cpp.

References P, uknot, and vknot.


Member Function Documentation

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

Reimplemented from Shape.

Definition at line 49 of file nurbs.h.

BBox NURBS::ObjectBound (  )  const [virtual]

Implements Shape.

Definition at line 177 of file nurbs.cpp.

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

void NURBS::Refine ( vector< Reference< Shape > > &  refined  )  const [virtual]
BBox NURBS::WorldBound (  )  const [virtual]

Reimplemented from Shape.

Definition at line 196 of file nurbs.cpp.

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


Member Data Documentation

bool NURBS::isHomogeneous [private]

Definition at line 56 of file nurbs.h.

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

int NURBS::nu [private]

Definition at line 53 of file nurbs.h.

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

int NURBS::nv [private]

Definition at line 53 of file nurbs.h.

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

float* NURBS::P [private]

Definition at line 57 of file nurbs.h.

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

float* NURBS::uknot [private]

Definition at line 55 of file nurbs.h.

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

float NURBS::umax [private]

Definition at line 54 of file nurbs.h.

Referenced by NURBS(), and Refine().

float NURBS::umin [private]

Definition at line 54 of file nurbs.h.

Referenced by NURBS(), and Refine().

int NURBS::uorder [private]

Definition at line 53 of file nurbs.h.

Referenced by NURBS(), and Refine().

float * NURBS::vknot [private]

Definition at line 55 of file nurbs.h.

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

float NURBS::vmax [private]

Definition at line 54 of file nurbs.h.

Referenced by NURBS(), and Refine().

float NURBS::vmin [private]

Definition at line 54 of file nurbs.h.

Referenced by NURBS(), and Refine().

int NURBS::vorder [private]

Definition at line 53 of file nurbs.h.

Referenced by NURBS(), and Refine().


The documentation for this class was generated from the following files:
Generated on Sat Aug 28 20:00:14 2010 for pbrt by  doxygen 1.6.3