Fluxus::NURBSPrimitive Class Reference

#include <NURBSPrimitive.h>

Inheritance diagram for Fluxus::NURBSPrimitive:

Inheritance graph
[legend]
Collaboration diagram for Fluxus::NURBSPrimitive:

Collaboration graph
[legend]

Public Member Functions

 NURBSPrimitive ()
 NURBSPrimitive (const NURBSPrimitive &other)
virtual ~NURBSPrimitive ()
Primitive Interface
virtual NURBSPrimitive * Clone () const
virtual void Render ()
virtual void RecalculateNormals (bool smooth)
 Only makes sense for certain primitive types.
virtual dBoundingBox GetBoundingBox ()
virtual void ApplyTransform (bool ScaleRotOnly=false)
virtual string GetTypeName ()
 This needs to be set appropriately for all derived types.
Piecewise construction
Sets the order of the patches - call this first

void Init (int orderu, int orderv, int ucvs, int vcvs)
void AddCV (const dVector &CV)
void AddN (const dVector &N)
void AddTex (const dVector &ST)
void AddUKnot (float k)
void AddVKnot (float k)

Protected Member Functions

virtual void PDataDirty ()
 Called when a named pdata mapping changes.
void SetupSurface ()

Protected Attributes

vector< dVector > * m_CVVec
vector< dVector > * m_STVec
vector< dVector > * m_NVec
vector< float > m_UKnotVec
vector< float > m_VKnotVec
int m_UOrder
int m_VOrder
int m_UCVCount
int m_VCVCount
int m_Stride
GLUnurbsObj * m_Surface

Detailed Description

A Non Uniform Rational B Spline patch primitive

Definition at line 27 of file NURBSPrimitive.h.


Constructor & Destructor Documentation

NURBSPrimitive::NURBSPrimitive (  ) 

Definition at line 23 of file NURBSPrimitive.cpp.

NURBSPrimitive::NURBSPrimitive ( const NURBSPrimitive &  other  ) 

Definition at line 40 of file NURBSPrimitive.cpp.

NURBSPrimitive::~NURBSPrimitive (  )  [virtual]

Definition at line 54 of file NURBSPrimitive.cpp.


Member Function Documentation

NURBSPrimitive * NURBSPrimitive::Clone (  )  const [virtual]

Implements Fluxus::Primitive.

Definition at line 59 of file NURBSPrimitive.cpp.

void NURBSPrimitive::Render (  )  [virtual]

Implements Fluxus::Primitive.

Definition at line 83 of file NURBSPrimitive.cpp.

void NURBSPrimitive::RecalculateNormals ( bool  smooth  )  [virtual]

Only makes sense for certain primitive types.

Reimplemented from Fluxus::Primitive.

Definition at line 163 of file NURBSPrimitive.cpp.

dBoundingBox NURBSPrimitive::GetBoundingBox (  )  [virtual]

Implements Fluxus::Primitive.

Definition at line 199 of file NURBSPrimitive.cpp.

void NURBSPrimitive::ApplyTransform ( bool  ScaleRotOnly = false  )  [virtual]

Implements Fluxus::Primitive.

Definition at line 209 of file NURBSPrimitive.cpp.

virtual string Fluxus::NURBSPrimitive::GetTypeName (  )  [inline, virtual]

This needs to be set appropriately for all derived types.

Reimplemented from Fluxus::Primitive.

Definition at line 42 of file NURBSPrimitive.h.

void Fluxus::NURBSPrimitive::Init ( int  orderu,
int  orderv,
int  ucvs,
int  vcvs 
) [inline]

Definition at line 49 of file NURBSPrimitive.h.

void Fluxus::NURBSPrimitive::AddCV ( const dVector &  CV  )  [inline]

Definition at line 50 of file NURBSPrimitive.h.

void Fluxus::NURBSPrimitive::AddN ( const dVector &  N  )  [inline]

Definition at line 51 of file NURBSPrimitive.h.

void Fluxus::NURBSPrimitive::AddTex ( const dVector &  ST  )  [inline]

Definition at line 52 of file NURBSPrimitive.h.

void Fluxus::NURBSPrimitive::AddUKnot ( float  k  )  [inline]

Definition at line 53 of file NURBSPrimitive.h.

void Fluxus::NURBSPrimitive::AddVKnot ( float  k  )  [inline]

Definition at line 54 of file NURBSPrimitive.h.

void NURBSPrimitive::PDataDirty (  )  [protected, virtual]

Called when a named pdata mapping changes.

Implements Fluxus::PDataContainer.

Definition at line 64 of file NURBSPrimitive.cpp.

void NURBSPrimitive::SetupSurface (  )  [protected]

Definition at line 72 of file NURBSPrimitive.cpp.


Field Documentation

vector<dVector>* Fluxus::NURBSPrimitive::m_CVVec [protected]

Definition at line 62 of file NURBSPrimitive.h.

vector<dVector>* Fluxus::NURBSPrimitive::m_STVec [protected]

Definition at line 63 of file NURBSPrimitive.h.

vector<dVector>* Fluxus::NURBSPrimitive::m_NVec [protected]

Definition at line 64 of file NURBSPrimitive.h.

vector<float> Fluxus::NURBSPrimitive::m_UKnotVec [protected]

Definition at line 65 of file NURBSPrimitive.h.

vector<float> Fluxus::NURBSPrimitive::m_VKnotVec [protected]

Definition at line 66 of file NURBSPrimitive.h.

int Fluxus::NURBSPrimitive::m_UOrder [protected]

Definition at line 68 of file NURBSPrimitive.h.

int Fluxus::NURBSPrimitive::m_VOrder [protected]

Definition at line 69 of file NURBSPrimitive.h.

int Fluxus::NURBSPrimitive::m_UCVCount [protected]

Definition at line 70 of file NURBSPrimitive.h.

int Fluxus::NURBSPrimitive::m_VCVCount [protected]

Definition at line 71 of file NURBSPrimitive.h.

int Fluxus::NURBSPrimitive::m_Stride [protected]

Definition at line 72 of file NURBSPrimitive.h.

GLUnurbsObj* Fluxus::NURBSPrimitive::m_Surface [protected]

Definition at line 74 of file NURBSPrimitive.h.


The documentation for this class was generated from the following files:
Generated on Mon Feb 11 06:54:48 2008 for The Fluxus Renderer (libfluxus) by  doxygen 1.5.1