24#ifndef SO_VOLUME_GEOMETRY_H
25#define SO_VOLUME_GEOMETRY_H
29#pragma warning(disable:4251)
32#include <Inventor/SbBox.h>
33#include <Inventor/STL/vector>
35#include <VolumeViz/nodes/SoVolumeShape.h>
36#include <VolumeViz/nodes/SoSlice.h>
38#include <LDM/actions/SoLdmValuationActionInterface.h>
39#include <LDM/SoLDMTileID.h>
40#include <LDM/actions/SoLdmValuationActionInterface.h>
43class SoVolumeGeometryVbo;
47class SoBoundingBoxCache;
49class SoLdmValuationAction;
81 float intersectGeometry(
const SoLDMTileID& tile)
const;
84 virtual void triangleCB(
SoAction* action,
90 virtual void lineCB(
SoAction* action,
112 inline void setEnableBumMapping(
bool flag);
115 inline bool isBumpMappingEnabled();
118 inline void setBumpScale(
float scale);
121 inline float getBumScale();
130 inline void setUseRGBA(
bool flag);
133 inline bool isUsingRGBA();
146 SoVolumeState* getVolumeState()
const;
151 inline void setClipGeometry(
bool flag);
160 virtual void shapeGeneratePrimitives(
SoAction* action) = 0;
163 void createRenderInterfaces(
SoShape* bindedShape);
182 virtual int getNumVertices(
SoState* state) = 0;
185 virtual int getIndexCoord(
int index)
const = 0;
190 void invalidateBboxCache();
220 bool m_enableBumpMapping;
260 SoBoundingBoxCache* m_bboxCache[2];
268SoVolumeGeometry::setClipGeometry(
bool flag)
270 m_clipGeometry = flag;
274SoVolumeGeometry::isBumpMappingEnabled()
276 return m_enableBumpMapping;
280SoVolumeGeometry::getBumScale()
286SoVolumeGeometry::getAlphaUse()
292SoVolumeGeometry::setEnableBumMapping(
bool flag)
294 m_enableBumpMapping = flag;
299SoVolumeGeometry::setBumpScale(
float scale)
307 m_alphaUse = alphaUse;
311SoVolumeGeometry::isUsingRGBA()
317SoVolumeGeometry::setUseRGBA(
bool flag)
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> 3D vector class ...
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> 3D box with an a...
Abstract base class for all actions.
<a href="IconLegend.html"><img src="extVR.gif" alt="VolumeViz" border="0"></a> Fence slice shape nod...
Renders a scene graph using Open Inventor's Render Engine.
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Tile ID
Represents a vertex of a generated primitive.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Class for report...
Abstract base class for all shape nodes.
AlphaUse
Alpha component usage mode Used in the alphaUse field.
SoSFEnum alphaUse
Specifies how to use the alpha component of each voxel's RGBA value.
Abstract base class for all vertex-based shape nodes.
<a href="IconLegend.html"><img src="extVR.gif" alt="VolumeViz" border="0"></a> LDM valuation interfa...
SoVolumeGeometry()
Constructor.
virtual ~SoVolumeGeometry()
Destructor.
friend class SoVolumeGeometryVbo
virtual void setRenderProgress(SoProgressIndicator *ps)
Set an application defined SoProgressIndicator object which will raise an event before and after the ...
friend class SoVolumeStateGeometry
friend class SoLdmValuationAction
Interpolation
Interpolation mode.