23#ifndef _SO_VOLUME_DATA_
24#define _SO_VOLUME_DATA_
27#pragma warning( push )
28#pragma warning(disable:4251)
31#include <Inventor/STL/map>
32#include <Inventor/STL/vector>
59class SoGLVolCacheList;
66class SoLDMTileManager;
67class SoLDMTileVisitor;
68class SoLDMNodeFrontManager;
69class SoLDMTextureManager;
75class LDMDefaultSliceAccessor;
733 using SoDataSet::getTexData;
968 const std::vector<SbVec3i32>& boxCenters,
970 const double& newValue
985#if 1 SoDEPRECATED enum
1004#ifndef HIDDEN_FROM_DOC
1015#if 1 SoDEPRECATED enum
1082 virtual void doAction(
SoAction *action );
1088 virtual int32_t getRenderUnitID()
const;
1108 virtual void notify(SoNotList *list);
1114 static void initClass();
1115 static void exitClass();
1120 SoTransferFunction::GLColorMapType getColorMapType(
SoState*);
1127 void setLightIntensity(
SoState* state,
float);
1129 virtual bool isPalettedTexture(
SoState* state);
1130 int isSharedPalettedTexture();
1133 void getVolumeTexGen(
SbVec4d texGen[3])
const;
1139 SbVec3f getVolumeTextureRatio()
const;
1147 virtual int getTexPrec(
SoState*state);
1171 const std::vector<float>& getInvertedRectilinearCoordinates(
Axis axis)
const;
1182 virtual void drawIJKBox(
SoGLRenderAction* action, BoxColor color,
const SbBox3f& box,
bool fullRes,
bool subTile =
false );
1183 virtual void drawIJKBox(
SoGLRenderAction* action, BoxColor color,
const SbBox3f& box,
bool subTile =
false );
1185 void setupRectilinearCoordinates(
const SbVec3i32&);
1187 void resetRectilinearCoordinatesUpdated(
const SoVolumeShader* s);
1192 SbVec3f computeInvertedRectilinearCoordinate(
const SbVec3f& vertex)
const;
1193 SbBox3f computeInvertedRectilinearCoordinate(
const SbBox3f& box);
1195 void setDefaultValue(
const double defValue );
1196 double getDefaultValue()
const;
1221 virtual void readerChanged();
1226 virtual void setElement(
SoState* state);
1232 void releaseMemory();
1234 virtual bool enableMultidata(
SoState* state);
1239 virtual void unload();
1244 virtual void updateFilename();
1249 virtual SbBool isRGBAData();
1260 virtual SoLDMGeomElement* getAppropriateElement(
SoLDMGeometry* v );
1265 void commonConstructor();
1279 friend class ::SoVolumeState;
1283#pragma warning( pop )
#define TRUE
Possible value of SbBool.
#define FALSE
Possible value of SbBool.
SO_PIMPL_PUBLIC_DECLARATION(SoFileDataAdapter)
valueRef getValue() const
#define SO_NODE_HEADER(className)
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> 3D box class.
Class for smart character strings.
<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> 4D vector class ...
Abstract base class for all actions.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Abstract base cl...
Performs a generic traversal of a scene graph or path.
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Data set...
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Data set...
friend class SoLDMGeometry
SbBool SaveEditingCB(SoDataSet *dataSet, SoVolumeWriter *writer, int tilesRemaining, int totalTiles)
This is the declaration to use for saveEditing callback functions.
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> Volume d...
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Base cla...
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Resource...
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Defines ...
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Tile ID
Abstract base class for all database nodes.
Field containing a 3D array value.
Field containing a single Boolean value.
Field containing an enumerated value.
Field containing a int32_t integer.
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Describe...
<a href="IconLegend.html"><img src="extVR.gif" alt="VolumeViz" border="0"></a> Volume data property ...
SoSFBool useExtendedData
If TRUE, VolumeViz stores an additional copy of each loaded tile.
SoSFArray3D data
Specifies the volume data, including dimensions, data type and number of significant bits.
SoDEPRECATED int getTexMemorySize()
Returns the maximum texture memory size to use in mega texels.
virtual SbBool saveEditing(bool recomputeLowerResolution=TRUE, const std::vector< char * > convertionParameters=std::vector< char * >(), SaveEditingCB *callback=NULL)
Commit all transactions.
void updateTilesInTextureMemory(SoLDMTileID *tiles, int numTiles)
Reloads textures corresponding to the given tile IDs.
void setRGBAData(const bool flag)
Force data to be considered as RGBA values.
CoordinateType
Coordinate type used by this data set.
@ COORDINATES_RECTILINEAR
Grid spacing defined by x, y, z values.
@ COORDINATES_UNIFORM
Uniform grid spacing along each axis.
CoordinateType getCoordinateType() const
virtual int editTile(const SoLDMTileID &tileId, SoBufferObject *userData)
Replaces the contents of a tile with the given data.
SoSFBool useSharedPalettedTexture
Note: On graphics boards that support programmable shaders, this field is ignored (virtually all grap...
virtual int editSubVolume(const SbBox3i32 &subVolume, SoBufferObject *userData)
Replaces the contents of a subvolume with the given data.
virtual SbBool undoEditing(int transactionId)
Undo all modifications associated with the specified transaction id.
virtual int editSolidShape(const SoNode *solidShape, const double &value)
Replaces all voxels intersecting the given shape with the specified value.
OverMethod
Over sampling method mode.
void updateRegions(const SbBox3i32 *region, int num_regions)
Updates regions of the volume that have been modified.
virtual SbBool redoEditing(int transactionId)
Redo all modifications associated with the specified transaction id.
virtual SbBool getMinMax(double &min, double &max)
Returns min and max values of the data set.
SoSFBool dataRGBA
Contains TRUE if the volume contains RGBA values rather than scalar values.
SbBool getHistogram(int &length, int64_t *&histogram)
Returns the histogram of the volume data.
virtual SbBool finishEditing(int transactionId)
Terminates an editing transaction.
StorageHint
Storage Hints mode TODO: this enum should be in the private section as its storageHints deprecated fi...
@ TEX2D_MULTI
Multi-texture 2D.
@ TEX2D
(synonym for TEXT2D_MULTI)
::SoLDMResourceParameters SoLDMResourceParameters
SoDEPRECATED SoVolumeData * reSampling(const SbVec3i32 &dimension, SoVolumeData::SubMethod subMethod, SoVolumeData::OverMethod=NONE)
Re-samples the volume down to or up to the given dimension using the sub-sampling method SubMethod(...
virtual int editSurfaceShape(const SoNode *surfaceShape, const float &thickness, const double &newValue)
Replaces all voxels intersecting the polygons or lines defined by the surfaceShape and given thicknes...
virtual int editBoxes(const std::vector< SbVec3i32 > &boxCenters, const int &boxSize, const double &newValue)
Replace all voxels in the region defined by a list of boxes with the specified value.
Axis
Which axis to handle.
SoLDMDataAccess LDMDataAccess
SoSFBool usePalettedTexture
For a volume containing scalar data values, controls whether scalar values (true) or RGBA values (fal...
virtual int editSubVolume(const SbBox3i32 &subVolume, const double &value)
Replaces the contents of a subvolume with the specified value.
SubMethod
Sub sampling method mode.
virtual int editTile(const SoLDMTileID &tileId, const double &value)
Replaces the contents of a tile with the specified value.
SoDEPRECATED void setTexMemorySize(int size)
Specifies the maximum texture memory size to use in mega texels.
const std::vector< float > & getRectilinearCoordinates(Axis axis) const
Returns a vector describing mapping from uniform space to rectilinear space.
SoDEPRECATED SoVolumeData * subSetting(const SbBox3i32 ®ion)
Extracts the data volume defined by region.
SoVolumeData()
Constructor.
virtual SbBool getMinMax(int64_t &min, int64_t &max)
Returns min and max values of the data set data.
virtual SbBool startEditing(int &transactionId)
Initiate an editing transaction.
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Abstract...
@ COORDINATES_UNIFORM
Uniform grid spacing along each axis.
@ COORDINATES_RECTILINEAR
Grid spacing defined by x, y, z values.
<a href="IconLegend.html"><img src="extVR.gif" alt="VolumeViz" border="0"></a> Initializes the Volum...
<a href="IconLegend.html"><img src="extVR.gif" alt="VolumeViz" border="0"></a> Shader node for volum...
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Abstract...
Writes a scene graph to a file.
void notify(SoNotList *list)
std::pair< SoDataSet *, int > DataSetIdPair
Pair containing an SoDataset and its dataSetId.