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 ()
bool Hidden ()
void Hide (bool 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

Protected Attributes

State m_State

Detailed Description

The base primitive class.

Definition at line 31 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::LinePrimitive, Fluxus::LocatorPrimitive, Fluxus::NURBSPrimitive, Fluxus::ParticlePrimitive, Fluxus::PixelPrimitive, Fluxus::PolyPrimitive, and Fluxus::TextPrimitive.

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

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

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

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

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

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

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

This needs to be set appropriately for all derived types.

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

Definition at line 48 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 51 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 59 of file Primitive.h.

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

The primitives state stores everything general to all primitives

Definition at line 63 of file Primitive.h.

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

Definition at line 64 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 67 of file Primitive.h.

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

Definition at line 68 of file Primitive.h.

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

Todo:
would this be better in the scenegraph node? Hidden status - prevents rendering

Definition at line 72 of file Primitive.h.

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

Definition at line 73 of file Primitive.h.

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

Whether we should be included in the selection pass.

Definition at line 76 of file Primitive.h.

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

Definition at line 77 of file Primitive.h.


Field Documentation

State Fluxus::Primitive::m_State [protected]

Definition at line 81 of file Primitive.h.


The documentation for this class was generated from the following files:
Generated on Tue Sep 4 23:22:43 2007 for The Fluxus Renderer (libfluxus) by  doxygen 1.5.1