Fluxus::Primitive Class Reference

#include <Primitive.h>

Inheritance diagram for Fluxus::Primitive:

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

Collaboration graph
[legend]

Primitive Interface

void RenderBoundingBox ()
void Prerender ()
void ApplyState ()
void SetState (State *s)
StateGetState ()
void SetPhysicalHint (bool s)
 A hint if we are in the physics system or not.
bool IsPhysicalHint ()
unsigned int GetVisibility ()
 Visibility status bitfield - prevents rendering for different cameras.
void SetVisibility (unsigned int s)
bool IsSelectable ()
 Whether we should be included in the selection pass.
void Selectable (bool s)
static void RenderAxes ()

Public Member Functions

 Primitive ()
 Primitive (const Primitive &other)
virtual ~Primitive ()
virtual string GetTypeName ()
 This needs to be set appropriately for all derived types.
virtual void RecalculateNormals (bool smooth)
 Only makes sense for certain primitive types.
Abstract Primitive Interface
virtual PrimitiveClone () const=0
virtual void Render ()=0
virtual dBoundingBox GetBoundingBox ()=0
virtual void ApplyTransform (bool ScaleRotOnly=false)=0
virtual EvaluatorMakeEvaluator ()=0

Protected Attributes

State m_State

Detailed Description

The base primitive class.

Definition at line 32 of file Primitive.h.


Constructor & Destructor Documentation

Primitive::Primitive (  ) 

Definition at line 21 of file Primitive.cpp.

Primitive::Primitive ( const Primitive other  ) 

Definition at line 28 of file Primitive.cpp.

Primitive::~Primitive (  )  [virtual]

Definition at line 37 of file Primitive.cpp.


Member Function Documentation

virtual Primitive* Fluxus::Primitive::Clone (  )  const [pure virtual]

Implements Fluxus::PDataContainer.

Implemented in Fluxus::BlobbyPrimitive, Fluxus::LocatorPrimitive, Fluxus::NURBSPrimitive, Fluxus::ParticlePrimitive, Fluxus::PixelPrimitive, Fluxus::PolyPrimitive, Fluxus::RibbonPrimitive, and Fluxus::TextPrimitive.

virtual void Fluxus::Primitive::Render (  )  [pure virtual]

Implemented in Fluxus::BlobbyPrimitive, Fluxus::LocatorPrimitive, Fluxus::NURBSPrimitive, Fluxus::ParticlePrimitive, Fluxus::PixelPrimitive, Fluxus::PolyPrimitive, Fluxus::RibbonPrimitive, and Fluxus::TextPrimitive.

virtual dBoundingBox Fluxus::Primitive::GetBoundingBox (  )  [pure virtual]

Implemented in Fluxus::BlobbyPrimitive, Fluxus::LocatorPrimitive, Fluxus::NURBSPrimitive, Fluxus::ParticlePrimitive, Fluxus::PixelPrimitive, Fluxus::PolyPrimitive, and Fluxus::RibbonPrimitive.

virtual void Fluxus::Primitive::ApplyTransform ( bool  ScaleRotOnly = false  )  [pure virtual]

Implemented in Fluxus::BlobbyPrimitive, Fluxus::LocatorPrimitive, Fluxus::NURBSPrimitive, Fluxus::ParticlePrimitive, Fluxus::PixelPrimitive, Fluxus::PolyPrimitive, and Fluxus::RibbonPrimitive.

virtual Evaluator* Fluxus::Primitive::MakeEvaluator (  )  [pure virtual]

Implemented in Fluxus::BlobbyPrimitive, Fluxus::LocatorPrimitive, Fluxus::NURBSPrimitive, Fluxus::ParticlePrimitive, Fluxus::PixelPrimitive, Fluxus::PolyPrimitive, Fluxus::RibbonPrimitive, and Fluxus::TextPrimitive.

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

This needs to be set appropriately for all derived types.

Reimplemented in Fluxus::BlobbyPrimitive, Fluxus::LocatorPrimitive, Fluxus::NURBSPrimitive, Fluxus::ParticlePrimitive, Fluxus::PixelPrimitive, Fluxus::PolyPrimitive, Fluxus::RibbonPrimitive, and Fluxus::TextPrimitive.

Definition at line 50 of file Primitive.h.

virtual void Fluxus::Primitive::RecalculateNormals ( bool  smooth  )  [inline, virtual]

Only makes sense for certain primitive types.

Reimplemented in Fluxus::BlobbyPrimitive, Fluxus::NURBSPrimitive, Fluxus::PixelPrimitive, and Fluxus::PolyPrimitive.

Definition at line 53 of file Primitive.h.

void Primitive::RenderBoundingBox (  ) 

Definition at line 103 of file Primitive.cpp.

void Primitive::RenderAxes (  )  [static]

Definition at line 73 of file Primitive.cpp.

void Primitive::Prerender (  ) 

Definition at line 41 of file Primitive.cpp.

void Fluxus::Primitive::ApplyState (  )  [inline]

Definition at line 61 of file Primitive.h.

void Fluxus::Primitive::SetState ( State s  )  [inline]

The primitives state stores everything general to all primitives

Definition at line 65 of file Primitive.h.

State* Fluxus::Primitive::GetState (  )  [inline]

Definition at line 66 of file Primitive.h.

void Fluxus::Primitive::SetPhysicalHint ( bool  s  )  [inline]

A hint if we are in the physics system or not.

Definition at line 69 of file Primitive.h.

bool Fluxus::Primitive::IsPhysicalHint (  )  [inline]

Definition at line 70 of file Primitive.h.

unsigned int Fluxus::Primitive::GetVisibility (  )  [inline]

Visibility status bitfield - prevents rendering for different cameras.

Definition at line 73 of file Primitive.h.

void Fluxus::Primitive::SetVisibility ( unsigned int  s  )  [inline]

Definition at line 74 of file Primitive.h.

bool Fluxus::Primitive::IsSelectable (  )  [inline]

Whether we should be included in the selection pass.

Definition at line 77 of file Primitive.h.

void Fluxus::Primitive::Selectable ( bool  s  )  [inline]

Definition at line 78 of file Primitive.h.


Field Documentation

State Fluxus::Primitive::m_State [protected]

Definition at line 82 of file Primitive.h.


The documentation for this class was generated from the following files:
Generated on Wed Sep 17 21:16:52 2008 for The Fluxus Renderer (libfluxus) by  doxygen 1.5.1