25 #ifndef WMIMAGESPACELIC_H
26 #define WMIMAGESPACELIC_H
32 #include "core/dataHandler/WDataSetScalar.h"
33 #include "core/dataHandler/WDataSetVector.h"
34 #include "core/dataHandler/WSubject.h"
35 #include "core/graphicsEngine/WGEManagedGroupNode.h"
36 #include "core/graphicsEngine/WTriangleMesh.h"
37 #include "core/kernel/WModule.h"
38 #include "core/kernel/WModuleInputData.h"
63 virtual const std::string
getName()
const;
77 virtual std::shared_ptr< WModule >
factory()
const;
102 void initOSG( std::shared_ptr< WGridRegular3D > grid, std::shared_ptr< WTriangleMesh > mesh );
107 std::shared_ptr< WModuleInputData< WDataSetVector > >
m_vectorsIn;
112 std::shared_ptr< WModuleInputData< WDataSetScalar > >
m_scalarIn;
117 std::shared_ptr< WModuleInputData< WTriangleMesh > >
m_meshIn;
142 osg::ref_ptr< WGEManagedGroupNode >
m_root;
This module takes an vector dataset and used it to apply an image space based (fast) LIC to an arbitr...
std::shared_ptr< WCondition > m_propCondition
A condition used to notify about changes in several properties.
WPropBool m_showonY
indicates whether the vector should be shown on slice Y
WPropBool m_useEdges
indicates whether to show the edges
WPropDouble m_cmapRatio
the ratio between colormap and LIC
WPropInt m_yPos
y position of the slice
WPropBool m_showHUD
indicates whether to show the texture HUD
WPropGroup m_geometryGroup
the group contains several input geometry parameters
WPropInt m_numIters
the number of iterations done per frame
WPropBool m_useLight
indicates whether to use Phong
virtual void moduleMain()
Entry point after loading the module.
WPropColor m_useEdgesColor
indicated whether the edges (if enabled) should be black or white or green or red or ....
WPropGroup m_sliceGroup
the group contains several slice properties
WPropBool m_useHighContrast
use the high contrast version?
WPropBool m_useSlices
indicates whether the vector should be shown on slices or input geometry
std::shared_ptr< WModuleInputData< WTriangleMesh > > m_meshIn
The input containing the surface on which the LIC should be applied on.
std::shared_ptr< WModuleInputData< WDataSetVector > > m_vectorsIn
The input connector containing the vector field.
WPropGroup m_advancedLicGroup
The group for more advanced LIC features.
void initOSG(std::shared_ptr< WGridRegular3D > grid, std::shared_ptr< WTriangleMesh > mesh)
Initializes the needed geodes, transformations and vertex arrays.
virtual const std::string getDescription() const
Gives back a description of this module.
WPropBool m_3dNoiseAutoRes
Automatically adapt resolution of 3d texture according to zoom level.
osg::ref_ptr< WGEManagedGroupNode > m_root
Scene root node.
WPropBool m_showonX
indicates whether the vector should be shown on slice X
WPropDouble m_3dNoiseRes
The resolution scaling for the 3d noise.
WPropDouble m_lightIntensity
light intensity
WPropDouble m_useEdgesStep
define the steepness of the step function used to blend in the edge color.
WPropInt m_xPos
x position of the slice
osg::ref_ptr< WGEGroupNode > m_output
The Geode containing all the slices and the mesh.
WPropGroup m_licGroup
the group contains several LIC properties
WPropInt m_zPos
z position of the slice
WPropBool m_3dNoise
If true, a 3d noise texture is used for advection.
std::shared_ptr< WItemSelection > m_geometrySelections
A list of items that can be selected using m_geometrySelection.
std::shared_ptr< WModuleInputData< WDataSetScalar > > m_scalarIn
The input connector containing the scalar field whose derived field is used for LIC.
WPropBool m_useDepthCueing
indicates whether to use depth cueing in the shader
virtual void connectors()
Initialize the connectors this module is using.
virtual ~WMImageSpaceLIC()
Destructor.
WPropSelection m_geometrySelection
A property allowing the user to select whether the slices or the mesh should be used.
virtual void properties()
Initialize the properties for this module.
WPropBool m_showonZ
indicates whether the vector should be shown on slice Z
WMImageSpaceLIC()
Default constructor.
virtual const std::string getName() const
Gives back the name of this module.
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...
WPropDouble m_projectionAngleThreshold
the angle threshold between surface and vector before clipping the vector.
Class representing a single module of OpenWalnut.