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

Specialization for one-dimensional arrays. More...

#include <MultithreadedTransformation.h>

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

List of all members.

Classes

struct  MapFunctor

Public Types

typedef FunctionValueGrid< N,
1, 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< N,
1, NUM >::MapFunctor 
functor_

Friends

class TransformationFactory
class MultithreadedTransformation< N, 2, NUM >

Detailed Description

template<unsigned N, typename NUM>
class MultithreadedTransformation< N, 1, NUM >

Specialization for one-dimensional arrays.

Executes the transformation on chunks of vertices that are chosen as big as possible for maximum usage of present processors and minimum overhead due to thread creation.

See also:
Multithreading::partitionedMap().
Template Parameters:
NDimension of the vertices.
NUMThe numeric type of the Vector s.

Constructor & Destructor Documentation

template<unsigned N, typename NUM >
MultithreadedTransformation< N, 1, 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, typename NUM >
virtual value_storage_type MultithreadedTransformation< N, 1, NUM >::transform ( const value_storage_type x) const [inline, virtual]

Execute the transform on a set of vertices.

Parameters:
operandAn array of vertices on which the transformation is performed
Returns:
An array of transformed vertices

Implements Transformation< N, P, NUM >.

References Multithreading::partitionedMapped(), and VecMath::MultiDimensionalVector< T, D >::toString().

Here is the call graph for this function:


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