#include <NURBSPrimitive.h>
Inheritance diagram for Fluxus::NURBSPrimitive:
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 |
Definition at line 27 of file NURBSPrimitive.h.
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.
NURBSPrimitive * NURBSPrimitive::Clone | ( | ) | const [virtual] |
void NURBSPrimitive::Render | ( | ) | [virtual] |
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] |
void NURBSPrimitive::ApplyTransform | ( | bool | ScaleRotOnly = false |
) | [virtual] |
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.
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.