Main Page   Namespace List   Class Hierarchy   Compound List   Namespace Members   Compound Members   Related Pages  

Billboard Class Reference

Billboard node instances. More...

Inheritance diagram for Billboard:

Group AbstractChild AbstractBase ChildNode Node Node List of all members.

Public Methods

 Billboard (const NodeType &nodeType, const ScopePtr &scope)
 Constructor.

virtual ~Billboard () throw ()
 Destructor.

virtual void render (Viewer &viewer, VrmlRenderContext context)
 Render the node.

virtual void accumulateTransform (Node *)
 Cache a pointer to (one of the) parent transforms for proper rendering of bindables.

virtual NodegetParentTransform ()
virtual void inverseTransform (VrmlMatrix &)

Static Public Methods

void billboard_to_matrix (const Billboard *t_arg, const VrmlMatrix &MV, VrmlMatrix &M)
 Calculate bb transformation matrix and store it in M.


Private Methods

void setAxisOfRotation (const FieldValue &sfvec3f) throw (std::bad_cast)
void processSet_axisOfRotation (const FieldValue &sfvec3f, double timestamp) throw (std::bad_cast)
 set_axisOfRotation eventIn handler.


Private Attributes

SFVec3f axisOfRotation
NodeparentTransform
Viewer::Object xformObject

Friends

class BillboardClass

Detailed Description

Billboard node instances.


Constructor & Destructor Documentation

Billboard const NodeType   nodeType,
const ScopePtr   scope
 

Constructor.

Parameters:
nodeType the NodeType associated with the node instance.
scope the Scope to which the node belongs.

~Billboard   throw () [virtual]
 

Destructor.


Member Function Documentation

void accumulateTransform Node   parent [virtual]
 

Cache a pointer to (one of the) parent transforms for proper rendering of bindables.

Reimplemented from Group.

void billboard_to_matrix const Billboard *    t_arg,
const VrmlMatrix   L_MV,
VrmlMatrix   M
[static]
 

Calculate bb transformation matrix and store it in M.

Here we are dealing with VrmlMatrix format (Matrices are stored in row-major order).

Parameters:
t_arg a pointer to a Billboard node.
L_MV input ModelView transformation matrix.
Return values:
M a copy of the resulting transform.

void processSet_axisOfRotation const FieldValue   sfvec3f,
double    timestamp
throw (std::bad_cast) [private]
 

set_axisOfRotation eventIn handler.

Parameters:
sfvec3f an SFVec3f.
timestamp the current time.
Exceptions:
std::bad_cast if sfvec3f is not an SFVec3f.

void render Viewer   viewer,
VrmlRenderContext    context
[virtual]
 

Render the node.

Parameters:
viewer a Viewer.
context the rendering context.

Reimplemented from Group.