25 #ifndef WMNAVIGATIONSLICES_H
26 #define WMNAVIGATIONSLICES_H
32 #include <boost/signals2.hpp>
35 #include "core/common/WPropertyTypes.h"
36 #include "core/common/math/linearAlgebra/WVectorFixed.h"
37 #include "core/graphicsEngine/WGECamera.h"
38 #include "core/graphicsEngine/WGEGroupNode.h"
39 #include "core/graphicsEngine/WGEManagedGroupNode.h"
40 #include "core/graphicsEngine/WPickInfo.h"
41 #include "core/kernel/WModule.h"
65 virtual const std::string
getName()
const;
79 virtual std::shared_ptr< WModule >
factory()
const;
118 typedef std::shared_ptr< PickCallback >
SPtr;
127 PickCallback( osg::ref_ptr< osg::Node > node, WPropDouble property,
bool negateDirection =
false );
std::shared_ptr< PickCallback > SPtr
For the lazy guys.
void pick(WPickInfo pickInfo)
Pick event handler.
osg::ref_ptr< WGECamera > m_camera
The camera under which the node is placed.
WVector2d m_oldPixelPosition
The stored pixel position of a previous drag event.
boost::signals2::scoped_connection m_pickConnection
The pick connection for the pick() event handler.
WPropDouble m_property
The property controlling the position of the slice.
float m_dir
The transformation direction.
osg::ref_ptr< osg::Node > m_node
The slice node.
PickCallback(osg::ref_ptr< osg::Node > node, WPropDouble property, bool negateDirection=false)
The callback, controlling.
bool m_isPicked
If true, the item is still picked.
osg::ref_ptr< osg::Uniform > m_pickUniform
This uniform is used to inform the shader about current pick-state.
This module provides simple slices that can be color-mapped.
void initOSG()
Initializes the needed geodes, transformations and vertex arrays.
WPropBool m_showonZ
indicates whether the vector should be shown on slice Z
WPropDouble m_xPos
x position of the slice
WPropBool m_showonX
indicates whether the vector should be shown on slice X
osg::ref_ptr< WGEGroupNode > m_axialOutput
The geode with the slice only for the nav widgets.
virtual void moduleMain()
Entry point after loading the module.
virtual const std::string getDescription() const
Gives back a description of this module.
WMNavigationSlices()
Default constructor.
WPropBool m_noTransparency
if true, the whole slices are shown.
WPropDouble m_zPos
z position of the slice
PickCallback::SPtr m_xSlicePicker
X-Slice pick callback.
osg::ref_ptr< WGEGroupNode > m_sagittalOutput
The geode with the slice only for the nav widgets.
WPropDouble m_yPos
y position of the slice
osg::ref_ptr< WGEManagedGroupNode > m_output
The Geode containing all the slices and the mesh.
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...
PickCallback::SPtr m_zSlicePicker
Z-Slice pick callback.
virtual void connectors()
Initialize the connectors this module is using.
WPropGroup m_sliceGroup
the group contains several slice properties
virtual ~WMNavigationSlices()
Destructor.
virtual const char ** getXPMIcon() const
Get the icon for this module in XPM format.
PickCallback::SPtr m_ySlicePicker
Y-Slice pick callback.
WPropBool m_showonY
indicates whether the vector should be shown on slice Y
virtual const std::string getName() const
Gives back the name of this module.
osg::ref_ptr< WGEGroupNode > m_coronalOutput
The geode with the slice only for the nav widgets.
virtual void properties()
Initialize the properties for this module.
Class representing a single module of OpenWalnut.
Encapsulates info for pick action.