OpenWalnut
1.5.0dev
|
This class is an OSG Callback which allows simple linear translation of a matrix transform node along a specified axis. More...
#include <WGELinearTranslationCallback.h>
Public Member Functions | |
WGELinearTranslationCallback (osg::Vec3 axe, T property, osg::ref_ptr< osg::TexMat > texMatrix, double scaler=1.0) | |
Constructor. More... | |
WGELinearTranslationCallback (osg::Vec3 axe, T property, osg::ref_ptr< osg::Uniform > uniform, double scaler=1.0) | |
Constructor. More... | |
WGELinearTranslationCallback (osg::Vec3 axe, T property, double scaler=1.0) | |
Constructor. More... | |
virtual | ~WGELinearTranslationCallback () |
Destructor. More... | |
virtual void | operator() (osg::Node *node, osg::NodeVisitor *nv) |
This operator gets called by OSG every update cycle. More... | |
Protected Attributes | |
osg::Vec3 | m_axe |
The axis to transform along. More... | |
T | m_pos |
The position. More... | |
double | m_oldPos |
Cache the old position for proper update. More... | |
osg::ref_ptr< osg::TexMat > | m_texMat |
Texture matrix that contains normalized translation. More... | |
osg::ref_ptr< osg::Uniform > | m_uniform |
The uniform to set the matrix to. More... | |
double | m_scaler |
Scale the property prior to creating the matrix. More... | |
This class is an OSG Callback which allows simple linear translation of a matrix transform node along a specified axis.
It is controlled by a WPropDouble. This way, one can simply implement movable slices and similar.
T | the type used as control mechanism. Typically, this should be an property whose type is cast-able to double. The type specified must support access via T->get(). Specialize the class if you do not specify a pointer. |
Definition at line 46 of file WGELinearTranslationCallback.h.
WGELinearTranslationCallback< T >::WGELinearTranslationCallback | ( | osg::Vec3 | axe, |
T | property, | ||
osg::ref_ptr< osg::TexMat > | texMatrix, | ||
double | scaler = 1.0 |
||
) |
Constructor.
Creates the callback. You still need to add it to the desired node.
axe | the axe to translate along. Should be normalized. If not, it scales the translation. |
property | the property containing the value |
texMatrix | optional pointer to a texture matrix which can be modified too to contain the normalized translation. |
scaler | scales the property by this value before creating the matrix. |
Definition at line 126 of file WGELinearTranslationCallback.h.
WGELinearTranslationCallback< T >::WGELinearTranslationCallback | ( | osg::Vec3 | axe, |
T | property, | ||
osg::ref_ptr< osg::Uniform > | uniform, | ||
double | scaler = 1.0 |
||
) |
Constructor.
Creates the callback. You still need to add it to the desired node.
axe | the axe to translate along. Should be normalized. If not, it scales the translation. |
property | the property containing the value |
uniform | optional pointer to a uniform that will contain the matrix. Useful if no tex-matrix is available anymore. The matrix is the matrix that is NOT scaled to be in texture space. |
scaler | scales the property by this value before creating the matrix. |
Definition at line 138 of file WGELinearTranslationCallback.h.
WGELinearTranslationCallback< T >::WGELinearTranslationCallback | ( | osg::Vec3 | axe, |
T | property, | ||
double | scaler = 1.0 |
||
) |
Constructor.
Creates the callback. You still need to add it to the desired node.
axe | the axe to translate along. Should be normalized. If not, it scales the translation. |
property | the property containing the value |
scaler | scales the property by this value before creating the matrix. |
Definition at line 150 of file WGELinearTranslationCallback.h.
|
virtual |
Destructor.
Definition at line 161 of file WGELinearTranslationCallback.h.
|
virtual |
This operator gets called by OSG every update cycle.
It moves the underlying MatrixTransform according to the specified axis and value.
node | the osg node |
nv | the node visitor |
Definition at line 167 of file WGELinearTranslationCallback.h.
|
protected |
The axis to transform along.
Definition at line 96 of file WGELinearTranslationCallback.h.
|
protected |
Cache the old position for proper update.
Definition at line 106 of file WGELinearTranslationCallback.h.
|
protected |
The position.
Definition at line 101 of file WGELinearTranslationCallback.h.
|
protected |
Scale the property prior to creating the matrix.
Definition at line 121 of file WGELinearTranslationCallback.h.
|
protected |
Texture matrix that contains normalized translation.
Definition at line 111 of file WGELinearTranslationCallback.h.
|
protected |
The uniform to set the matrix to.
Definition at line 116 of file WGELinearTranslationCallback.h.