HyperspaceExplorer 0.7.1
Public Types | Public Member Functions | Private Member Functions | Friends
SinglethreadedTransformation< N, P, NUM > Class Template Reference

Class template to apply a geometrical transformation on a set of vertices. More...

#include <SinglethreadedTransformation.h>

Inheritance diagram for SinglethreadedTransformation< N, P, NUM >:
Inheritance graph
[legend]
Collaboration diagram for SinglethreadedTransformation< N, P, NUM >:
Collaboration 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

 SinglethreadedTransformation (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.
virtual value_storage_type transform (const value_storage_type &operand) const
 Execute the transform on a set of vertices.

Private Member Functions

void perform_transformation (const VecMath::Vector< N, NUM > &x, const VecMath::Vector< N, NUM > &xtrans)

Friends

class TransformationFactory
class SinglethreadedTransformation< N, P+1, NUM >

Detailed Description

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

Class template to apply a geometrical transformation on a set of vertices.

This is an implementation that applies a transformation on every element of a MultiDimensionalVector one element after the next, sequentially, in a single threaded way. The TransformationFactory uses it as the default method to do transformations.

Recursively instantiates and performs transformations on VertexArray s of lower dimension.

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 >
SinglethreadedTransformation< N, P, NUM >::SinglethreadedTransformation ( 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.

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 >
SinglethreadedTransformation< N, P, NUM >::value_storage_type SinglethreadedTransformation< N, P, NUM >::transform ( const value_storage_type operand) const [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

Implements Transformation< N, P, NUM >.

References VecMath::MultiDimensionalVector< T, D >::size().

Here is the call graph for this function:


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

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