Home Hierarchy Members Alphabetical Related Pages

TransformatorHierarchy Class Reference
[Tools]

#include <transformator.h>

List of all members.

Public Member Functions

 TransformatorHierarchy ()
void push (const Transformator &t)
void pop ()
void transform (const float *src, float *dst) const
void transformByInverseTranspose (const float *src, float *dst) const

Friends

bool operator== (const TransformatorHierarchy &th0, const TransformatorHierarchy &th1)
bool operator!= (const TransformatorHierarchy &th0, const TransformatorHierarchy &th1)
bool operator< (const TransformatorHierarchy &th0, const TransformatorHierarchy &th1)
std::ostream & operator<< (std::ostream &s, const wrl::TransformatorHierarchy &t)


Detailed Description

A class to represent a hierarchy of tranform. It is designed for efficiency, that is when using transform(), the full hierarchy is not re-evaluated . Instead the resulting transformation is maintained by push() and pop(), using a stack to guarantee exactness when pushing/popping.


Constructor & Destructor Documentation

TransformatorHierarchy (  ) 

Create an empty hierarchy equivalent to identity transform.


Member Function Documentation

void push ( const Transformator t  )  [inline]

void pop (  ) 

void transform ( const float *  src,
float *  dst 
) const [inline]

Apply the sequence of Transformator pushed in the hierarchy by applying it in reverse order, that is last pushed first. The src and dst vectors can be the same (temporary values are used).

void transformByInverseTranspose ( const float *  src,
float *  dst 
) const [inline]

Apply the sequence of Transformator pushed in the hierarchy by applying it in reverse order, that is last pushed first. Inverse transpose are used. This function should be used when transforming normals.


Friends And Related Function Documentation

bool operator== ( const TransformatorHierarchy th0,
const TransformatorHierarchy th1 
) [friend]

Return true iff the resulting transformations of the 2 hierarchies are the same.

bool operator!= ( const TransformatorHierarchy th0,
const TransformatorHierarchy th1 
) [friend]

Return true iff the resulting transformations of the 2 hierarchies are different.

bool operator< ( const TransformatorHierarchy th0,
const TransformatorHierarchy th1 
) [friend]

Provide strict ordering.

std::ostream& operator<< ( std::ostream &  s,
const wrl::TransformatorHierarchy t 
) [friend]


Generated on 5 Jan 2007 with doxygen version 1.5.1. Valid HTML 4.0! Valid CSS!