25 #ifndef WMSURFACEPARAMETERANIMATOR_H
26 #define WMSURFACEPARAMETERANIMATOR_H
33 #include <osg/Uniform>
34 #include <osgDB/WriteFile>
36 #include "core/common/WBoundingBox.h"
37 #include "core/graphicsEngine/shaders/WGEShader.h"
38 #include "core/kernel/WModule.h"
39 #include "core/kernel/WModuleInputData.h"
40 #include "core/kernel/WModuleOutputData.h"
70 virtual const std::string
getName()
const;
84 virtual std::shared_ptr< WModule >
factory()
const;
117 std::shared_ptr< WModuleInputData< WDataSetSingle > >
m_input;
240 virtual void operator()( osg::Node* node, osg::NodeVisitor* nv );
274 virtual void operator() ( osg::Uniform* uniform, osg::NodeVisitor* nv );
Class to wrap around the osg Group node and providing a thread safe add/removal mechanism.
Node callback to change the color of the shapes inside the root node.
bool m_initialUpdate
Denotes whether the update callback is called the first time.
virtual void operator()(osg::Node *node, osg::NodeVisitor *nv)
operator () - called during the update traversal.
SafeUpdateCallback(WMSurfaceParameterAnimator *module)
Constructor.
WMSurfaceParameterAnimator * m_module
Pointer used to access members of the module to modify the node.
This module is a ray-tracing based isosurface using special methods for animating particle flow on it...
WPropInt m_isoValue
The Isovalue used in the case m_isoSurface is true.
virtual const std::string getDescription() const
Gives back a description of this module.
WPropInt m_speed2
The speed of beam 2 on the surface.
std::shared_ptr< WCondition > m_propCondition
A condition used to notify about changes in several properties.
std::shared_ptr< WDataSetSingle > m_tracesDataSet
The dataset containing the fiber traces in each voxel in m_dataSet.
virtual ~WMSurfaceParameterAnimator()
Destructor.
WPropInt m_saturation
Saturation of final rendering.
std::shared_ptr< WModuleInputData< WDataSetSingle > > m_input
An input connector used to get datasets from other modules.
std::shared_ptr< WDataSetSingle > m_dataSet
This is a pointer to the dataset the module is currently working on.
WPropInt m_speed1
The speed of beam 1 on the surface.
WPropDouble m_parameterScale
Scaling the parameter space ensures consistent sizes and speeds along multiple WMSurfaceParameterAnim...
virtual const std::string getName() const
Gives back the name of this module.
WPropInt m_alpha
The alpha transparency used for the rendering.
WPropColor m_isoColor
The color used when in isosurface mode for blending.
osg::ref_ptr< osg::Node > renderSurface(const WBoundingBox &bbox)
Renders the surface to an FBO.
WPropInt m_size1
The size of beam 1.
WPropInt m_stepCount
The number of steps to walk along the ray.
WMSurfaceParameterAnimator()
Default constructor.
virtual void moduleMain()
Entry point after loading the module.
virtual void connectors()
Initialize the connectors this module is using.
virtual std::shared_ptr< WModule > factory() const
Due to the prototype design pattern used to build modules, this method returns a new instance of this...
osg::ref_ptr< WGEShader > m_shader
the DVR shader.
virtual const char ** getXPMIcon() const
Get the icon for this module in XPM format.
osg::ref_ptr< WGEGroupNode > m_rootNode
The root node used for this modules graphics.
WPropInt m_size2
The size of beam 1.
std::shared_ptr< WModuleInputData< WDataSetSingle > > m_tracesInput
The input for the volumized fiber traces.
virtual void properties()
Initialize the properties for this module.
virtual void activate()
Callback for m_active.
Class representing a single module of OpenWalnut.