HyperspaceExplorer 0.7.1
|
This class stores vertices in a P
- dimensional (hyper-) grid in an N
dimensional vector space.
More...
#include <VertexHolder.h>
Classes | |
class | Impl |
Public Types | |
typedef VecMath::Vector< N, NUM > | vertex_type |
The type of the function that is evaluated on every vertex of the grid. | |
typedef VecMath::Vector< 3, NUM > | projected_vertex_type |
A vertex projected into three dimensions. | |
Public Member Functions | |
VertexHolder (ParameterMap parameters) | |
virtual void | Transform (const VecMath::Rotation< N, NUM > &R, const vertex_type &T, const vertex_type &scale=vertex_type(1.)) |
virtual void | Project (double ScrW, double CamW, bool DepthCue4D) |
virtual void | calibrateColors () |
Called by the ColorManager after setting the Displayable on the CM. | |
virtual unsigned int | getDefinitionSpaceDimensions () |
number of argument given to the defining function | |
virtual void | for_each_vertex (function_on_fourspace_vertex apply) |
virtual void | for_each_vertex_transformed (function_on_fourspace_and_transformed_vertex apply) |
virtual void | for_each_vertex_transformed_projected (function_on_fourspace_transformed_and_projected_vertex apply) |
virtual void | for_each_projected (function_on_projected_vertex apply) |
Protected Member Functions | |
const VecMath::MultiDimensionalVector < vertex_type, P > & | X () const |
Array of vertices. | |
void | setX (const VertexGrid< N, P, NUM > &x) |
Replaces the array of vertices with x . | |
const VecMath::MultiDimensionalVector < vertex_type, P > & | Xtrans () const |
Array of vertices after transform. | |
void | setXtrans (const VecMath::MultiDimensionalVector< vertex_type, P > &x) |
Replaces the array of transformed vertices with x . | |
const VecMath::MultiDimensionalVector < projected_vertex_type, P > & | Xscr () const |
Array of projected vertices. | |
void | setXscr (const VecMath::MultiDimensionalVector< projected_vertex_type, P > &x) |
Replaces the array of projected vertices with x . | |
const VertexGrid< N, P, NUM > & | getGrid () const |
Access to the vertices as VertexGrid<N, P, NUM>. | |
VertexGrid< N, P, NUM > & | getGridNonConst () |
Write access to the vertices as VertexGrid<N, P, NUM>. | |
void | setColorCalibrationFunction (function_on_fourspace_vertex calibrate) |
Sets the function that is called for every vertex by calibrateColors(). | |
Private Attributes | |
std::unique_ptr< Impl > | pImpl_ |
This class stores vertices in a P
- dimensional (hyper-) grid in an N
dimensional vector space.
It provides functions to apply an arbitray Transform on the N
dimensional vertices and Project them into three-dimensional space. The Draw() method must be implemented in inheriting classes.
N | The dimension of the definition vector space. |
P | The dimension of the parameter vector space. |
NUM | The numeric type managed by the grid. |
typedef VecMath::Vector<N, NUM> VertexHolder< N, P, NUM >::vertex_type |
The type of the function that is evaluated on every vertex of the grid.
A vertex in N
- space.
Reimplemented in FunctionHolder< N, P, NUM >, FunctionHolder< 4, 3, double >, and FunctionHolder< 4, 2, double >.
VertexHolder< N, P, NUM >::VertexHolder | ( | ParameterMap | parms | ) |
parms | Parameters for the Displayable |
References this.
void VertexHolder< N, P, NUM >::for_each_projected | ( | Displayable::function_on_projected_vertex | apply | ) | [virtual] |
apply | the function called for every projected vertex |
Implements Displayable.
void VertexHolder< N, P, NUM >::for_each_vertex | ( | Displayable::function_on_fourspace_vertex | apply | ) | [virtual] |
apply | the function called for every vertex |
Implements Displayable.
void VertexHolder< N, P, NUM >::for_each_vertex_transformed | ( | Displayable::function_on_fourspace_and_transformed_vertex | apply | ) | [virtual] |
apply | the function called for every vertex and transformed vertex |
Reimplemented from Displayable.
References VecMath::for_each().
void VertexHolder< N, P, NUM >::for_each_vertex_transformed_projected | ( | Displayable::function_on_fourspace_transformed_and_projected_vertex | apply | ) | [virtual] |
apply | the function called for every vertex, transformed and projected vertex |
Reimplemented from Displayable.
References VecMath::for_each().
void VertexHolder< N, P, NUM >::Project | ( | double | ScrW, |
double | CamW, | ||
bool | DepthCue4D | ||
) | [virtual] |
ScrW | w coordinate of the screen projected onto |
CamW | w coordinate of the camera |
DepthCue4D | whether to apply four-dimensional depth cue |
Implements Displayable.
Reimplemented in Gasket, and Sponge.
References Projection< N, Nnew, P, NUM, Policy >::project().
void VertexHolder< N, P, NUM >::setColorCalibrationFunction | ( | function_on_fourspace_vertex | calibrate | ) | [protected] |
Sets the function that is called for every vertex by calibrateColors().
calibrate | The function called on every vertex to calibrate the ColorManager |
void VertexHolder< N, P, NUM >::setX | ( | const VertexGrid< N, P, NUM > & | x | ) | [protected] |
Replaces the array of vertices with x
.
x | the new values for the vertices |
Referenced by FunctionHolder< N, P, NUM >::Initialize().
void VertexHolder< N, P, NUM >::setXtrans | ( | const VecMath::MultiDimensionalVector< vertex_type, P > & | x | ) | [protected] |
Replaces the array of transformed vertices with x
.
x | the new values for the transformed vertices |
void VertexHolder< N, P, NUM >::Transform | ( | const VecMath::Rotation< N, NUM > & | R, |
const vertex_type & | T, | ||
const vertex_type & | scale = vertex_type(1.) |
||
) | [virtual] |
R | rotation |
T | translation |
scale | scaling |