OpenWalnut
1.4.0
|
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. | |
WGELinearTranslationCallback (osg::Vec3 axe, T property, osg::ref_ptr< osg::Uniform > uniform, double scaler=1.0) | |
Constructor. | |
WGELinearTranslationCallback (osg::Vec3 axe, T property, double scaler=1.0) | |
Constructor. | |
virtual | ~WGELinearTranslationCallback () |
Destructor. | |
virtual void | operator() (osg::Node *node, osg::NodeVisitor *nv) |
This operator gets called by OSG every update cycle. | |
Protected Attributes | |
osg::Vec3 | m_axe |
The axis to transform along. | |
T | m_pos |
The position. | |
double | m_oldPos |
Cache the old position for proper update. | |
osg::ref_ptr< osg::TexMat > | m_texMat |
Texture matrix that contains normalized translation. | |
osg::ref_ptr< osg::Uniform > | m_uniform |
The uniform to set the matrix to. | |
double | m_scaler |
Scale the property prior to creating the matrix. |
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 44 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 124 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 136 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 148 of file WGELinearTranslationCallback.h.
WGELinearTranslationCallback< T >::~WGELinearTranslationCallback | ( | ) | [virtual] |
Destructor.
Definition at line 159 of file WGELinearTranslationCallback.h.
void WGELinearTranslationCallback< T >::operator() | ( | osg::Node * | node, |
osg::NodeVisitor * | nv | ||
) | [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 165 of file WGELinearTranslationCallback.h.
osg::Vec3 WGELinearTranslationCallback< T >::m_axe [protected] |
The axis to transform along.
Definition at line 94 of file WGELinearTranslationCallback.h.
double WGELinearTranslationCallback< T >::m_oldPos [protected] |
Cache the old position for proper update.
Definition at line 104 of file WGELinearTranslationCallback.h.
T WGELinearTranslationCallback< T >::m_pos [protected] |
The position.
Definition at line 99 of file WGELinearTranslationCallback.h.
double WGELinearTranslationCallback< T >::m_scaler [protected] |
Scale the property prior to creating the matrix.
Definition at line 119 of file WGELinearTranslationCallback.h.
osg::ref_ptr< osg::TexMat > WGELinearTranslationCallback< T >::m_texMat [protected] |
Texture matrix that contains normalized translation.
Definition at line 109 of file WGELinearTranslationCallback.h.
osg::ref_ptr< osg::Uniform > WGELinearTranslationCallback< T >::m_uniform [protected] |
The uniform to set the matrix to.
Definition at line 114 of file WGELinearTranslationCallback.h.