OpenWalnut  1.4.0
Public Member Functions | Protected Attributes
WGELinearTranslationCallback< T > Class Template Reference

This class is an OSG Callback which allows simple linear translation of a matrix transform node along a specified axis. More...

#include <WGELinearTranslationCallback.h>

+ Inheritance diagram for WGELinearTranslationCallback< T >:

List of all members.

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.
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.

Detailed Description

template<typename T>
class WGELinearTranslationCallback< T >

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.

Template Parameters:
Tthe 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.


Constructor & Destructor Documentation

template<typename T >
WGELinearTranslationCallback< T >::WGELinearTranslationCallback ( osg::Vec3  axe,
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.

Parameters:
axethe axe to translate along. Should be normalized. If not, it scales the translation.
propertythe property containing the value
texMatrixoptional pointer to a texture matrix which can be modified too to contain the normalized translation.
scalerscales the property by this value before creating the matrix.

Definition at line 124 of file WGELinearTranslationCallback.h.

template<typename T >
WGELinearTranslationCallback< T >::WGELinearTranslationCallback ( osg::Vec3  axe,
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.

Parameters:
axethe axe to translate along. Should be normalized. If not, it scales the translation.
propertythe property containing the value
uniformoptional 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.
scalerscales the property by this value before creating the matrix.

Definition at line 136 of file WGELinearTranslationCallback.h.

template<typename T >
WGELinearTranslationCallback< T >::WGELinearTranslationCallback ( osg::Vec3  axe,
property,
double  scaler = 1.0 
)

Constructor.

Creates the callback. You still need to add it to the desired node.

Parameters:
axethe axe to translate along. Should be normalized. If not, it scales the translation.
propertythe property containing the value
scalerscales the property by this value before creating the matrix.

Definition at line 148 of file WGELinearTranslationCallback.h.

template<typename T >
WGELinearTranslationCallback< T >::~WGELinearTranslationCallback ( ) [virtual]

Destructor.

Definition at line 159 of file WGELinearTranslationCallback.h.


Member Function Documentation

template<typename T >
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.

Parameters:
nodethe osg node
nvthe node visitor

Definition at line 165 of file WGELinearTranslationCallback.h.


Member Data Documentation

template<typename T >
osg::Vec3 WGELinearTranslationCallback< T >::m_axe [protected]

The axis to transform along.

Definition at line 94 of file WGELinearTranslationCallback.h.

template<typename T >
double WGELinearTranslationCallback< T >::m_oldPos [protected]

Cache the old position for proper update.

Definition at line 104 of file WGELinearTranslationCallback.h.

template<typename T >
T WGELinearTranslationCallback< T >::m_pos [protected]

The position.

Definition at line 99 of file WGELinearTranslationCallback.h.

template<typename T >
double WGELinearTranslationCallback< T >::m_scaler [protected]

Scale the property prior to creating the matrix.

Definition at line 119 of file WGELinearTranslationCallback.h.

template<typename T >
osg::ref_ptr< osg::TexMat > WGELinearTranslationCallback< T >::m_texMat [protected]

Texture matrix that contains normalized translation.

Definition at line 109 of file WGELinearTranslationCallback.h.

template<typename T >
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.


The documentation for this class was generated from the following file: