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

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

#include <MultithreadedTransformation.h>

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

List of all members.

Classes

struct  MapFunctor

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 &x) const
 Execute the transform on a set of vertices.

Private Member Functions

 MultithreadedTransformation (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.
void perform_transformation (const VecMath::Vector< N, NUM > &x, const VecMath::Vector< N, NUM > &xtrans)

Private Attributes

struct
MultithreadedTransformation::MapFunctor 
functor_

Friends

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

Detailed Description

template<unsigned N, unsigned P, typename NUM = double>
class MultithreadedTransformation< 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 with a multithreaded algorithm, in parallel.

Instantiates SinglethreadedTransformation s on the VertexArray s constituting its operand and executes them in parallel.

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>
MultithreadedTransformation< N, P, NUM >::MultithreadedTransformation ( const VecMath::Rotation< N, NUM > &  rotation,
const VecMath::Vector< N, NUM > &  translation,
const VecMath::Vector< N, NUM > &  scale 
) [inline, private]

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 MultithreadedTransformation< N, P, NUM >::transform ( const value_storage_type x) const [inline, 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 >.


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:18 for HyperspaceExplorer 0.7.1 by doxygen 1.7.4  -  Hosted bySourceForge.net Logo