HyperspaceExplorer 0.7.1
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions
Transformation< N, P, NUM > Class Template Reference

Interface for applying a geometrical transformation on a set of vertices. More...

#include <Transformation.h>

Inheritance diagram for Transformation< N, P, NUM >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef FunctionValueGrid< N,
P, NUM >::value_storage_type 
value_storage_type
 Type for the storage of the function values on all grid points.

Public Member Functions

virtual value_storage_type transform (const value_storage_type &operand) const =0
 Execute the transform on a set of vertices.

Static Public Member Functions

static VecMath::Vector< N, NUM > perform (const VecMath::Vector< N, NUM > &x, const VecMath::Matrix< N, NUM > &rot, const VecMath::Vector< N, NUM > &trans, const VecMath::Vector< N, NUM > &scale)

Protected Member Functions

 Transformation (const VecMath::Rotation< N, NUM > &rotation, const VecMath::Vector< N, NUM > &translation, const VecMath::Vector< N, NUM > &scale)
 Initialize a Transformation with a Rotation, a translation Vector and a scaling Vector.

Detailed Description

template<unsigned N, unsigned P, typename NUM = double>
class Transformation< N, P, NUM >

Interface for applying a geometrical transformation on a set of vertices.

This class defines the interface to which all implementations conform. The interface basically consists of the constructor, which should only be used by the TransformationFactory class, and the transform() method.

Template Parameters:
NDimension of the vertices.
PDimension of the parameter space.
NUMThe numeric type of the Vector s.

Constructor & Destructor Documentation

template<unsigned N, unsigned P, typename NUM = double>
Transformation< N, P, NUM >::Transformation ( const VecMath::Rotation< N, NUM > &  rotation,
const VecMath::Vector< N, NUM > &  translation,
const VecMath::Vector< N, NUM > &  scale 
) [protected]

Initialize a Transformation with a Rotation, a translation Vector and a scaling Vector.

Parameters:
rotationThe amount the target is rotated.
translationThe translation Vector to add to all vertices.
scaleScale the target, with independent values for each direction.

Member Function Documentation

template<unsigned N, unsigned P, typename NUM = double>
virtual value_storage_type Transformation< N, P, NUM >::transform ( const value_storage_type operand) const [pure virtual]

Execute the transform on a set of vertices.

Parameters:
operandA (multi-dimensional) array of vertices on which the transformation is performed
Returns:
A (multi-dimensional) array of transformed vertices

Implemented in MultithreadedTransformation< N, P, NUM >, MultithreadedTransformation< N, 1, NUM >, SinglethreadedTransformation< N, P, NUM >, and SinglethreadedTransformation< N, 1, NUM >.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends

Generated on Mon Apr 9 2012 20:25:19 for HyperspaceExplorer 0.7.1 by doxygen 1.7.4  -  Hosted bySourceForge.net Logo