Open Inventor Release 2023.2.3
 
Loading...
Searching...
No Matches
SoVolumeConverter Class Reference

VolumeViz Class for converting volume data sets into the LDM format. More...

#include <VolumeViz/converters/SoVolumeConverter.h>

+ Inheritance diagram for SoVolumeConverter:

Public Member Functions

 SoVolumeConverter ()
 Constructor.
 
- Public Member Functions inherited from SoBaseLDMConverter
 SoBaseLDMConverter ()
 Constructor.
 
virtual SoVolumeReadergetReader (const SbString &filename, const SbString &fileExt)
 Returns a custom reader according to the given filename and extension.
 
virtual ~SoBaseLDMConverter ()
 Destructor.
 
- Public Member Functions inherited from SoConverter
virtual ~SoConverter ()
 Destructor.
 
int convert (SoConverterParameters *parameters=NULL)
 Main converter function.
 
void setXmlCallback (void(*xmlCB)(FILE *, void *userData), void *userData)
 Specifies the callback that will be called when the LDM file header is generated.
 
SoDEPRECATED int convert (int argc, char **argv)
 
SoDEPRECATED int convert (const SbStringList &arguments)
 

Additional Inherited Members

- Public Types inherited from SoConverter
enum  ConverterError {
  CVT_FINISHED_WITH_WARNINGS = 1 ,
  CVT_NO_ERROR = 0 ,
  CVT_INPUT_PARAMS_PROBLEM = -1 ,
  CVT_FILE_EXT_UNKNOWN = -2 ,
  CVT_CANT_OPEN_INPUT_FILE = -3 ,
  CVT_CANT_CREATE_DATA_FILE = -4 ,
  CVT_CANT_CREATE_HEADER_FILE = -5 ,
  CVT_NOT_ENOUGH_DISK_SPACE = -6 ,
  CVT_CANT_READ_INPUT_FILE = -7 ,
  CVT_ABORTED = -9 ,
  CVT_NOT_INITIALIZED = -10 ,
  CVT_NO_NODE = -998 ,
  CVT_NO_LDM_LICENSE = -999
}
 Converter errors. More...
 
- Protected Types inherited from SoConverter
enum  Abort {
  CVT_CONTINUE ,
  CVT_ABORT
}
 Abort. More...
 
enum  SampleType {
  DECIMATION ,
  AVERAGE
}
 Define available algorithm available for downsampling process. More...
 
- Protected Member Functions inherited from SoConverter
 SoConverter ()
 Constructor.
 
virtual void buildTile (SbBox3i32 &slabBox, SbVec3i32 &slabBufferDim, void *slabBuffer, SbVec3i32 &tileOrigin, void *tileBuffer)
 
void buildTile (const SbBox3i32 &subVolume, const void *subVolumeBuffer, const SbBox3i32 &tilePos, void *tileData, const SbBox3i32 &intersection)
 
virtual void outputTileBefore (int fileTileIndex, size_t dataSize, void *data, bool dataInverted)
 
virtual void startConversion ()
 
virtual bool updateDataFile ()
 
virtual int getSpecificOffset (bool aligned=true)
 
virtual SbString getOriginalFilename () const
 
virtual void setOriginalFileName (const SbString &originalFileName)
 
virtual Abort progress (int numTilesGenerated, int numTilesToGenerate)
 This method is called each time a tile of data is generated.
 
ConverterError buildHeader (const SbString &, bool conversionDone=false)
 
virtual void outputDataType (FILE *fout)
 
void inputTile (int fileTileIndex, size_t dataSize, void *data, bool i=false)
 
void printTime ()
 
int buildLevelMax ()
 
void outputTile (int fileTileIndex, size_t dataSize, void *, bool i=false)
 
void printCompressionInfos ()
 
int getNumTileToGenerate (SbBox3i32 &slabBox)
 
void writeTileComplete (int fileID, bool writeHeader=false)
 
void abortConversion ()
 
void readSlab (SbBox3i32 &slabBox, char *&slabBufferPtr, int64_t subSliceSize)
 
bool isFastUpdate ()
 Return TRUE if converter can do a fast update of the LDM file (ie: converting a ldm file with borders to a borderless one)
 
virtual SoDEPRECATED void outputTileBefore (int fileTileIndex, int dataSize, void *data, bool dataInverted)
 
- Protected Attributes inherited from SoConverter
SoVolumeReaderm_reader
 
SbBox3f m_volumeSize
 
void(* m_xmlCB )(FILE *, void *)
 
void * m_xmlCBUserData
 
SoLDMTopoOctreem_LDMTopo
 
int64_t m_filesize
 
int64_t m_compressedFilesize
 
SbString m_fileCompletion
 
SbString m_fileCompletionName
 
SbString m_fileExt
 
int m_pid
 
int m_levelMax
 
bool m_thinDataSet
 
SbVec3i32 m_volumeDimension
 
int m_numTilesToGenerate
 
bool m_abort
 
SiBitFile * m_bitFile
 
SoDataCompressorm_ldmCompressor
 
int64_t m_sizeOfTileIndex
 
char m_compressionType [256]
 
SoDataCompressInfo * m_lastWrittenCompressInfo
 
bool m_fromInitializeFiles
 
SampleType m_sampleType
 
int m_currentWordFormat
 
SoPerfCounterManagerm_perfManager
 
SoConverterParametersm_parameters
 
SbString m_originalFileName
 
std::vector< SbVec2dm_tileMinMax
 One minMax for each file ids.
 
SoConverter::ConverterError m_statusAdjustParameters
 
- Static Protected Attributes inherited from SoConverter
static const char * m_dataTypeStr []
 
static const char * m_dataTypeXml []
 

Detailed Description

VolumeViz Class for converting volume data sets into the LDM format.

This class converts existing volume data sets into the LDM (Large Data Management) format.

The LDM converter classes provide many powerful features. Information common to all converter classes is documented in SoConverter, including:

  • Command line parsing for easy creation of stand-alone converter programs.
  • Checkpoint and restart for interrupted conversions.
  • Multiple subsampling algorithms for creating low resolution tiles.
  • Automatic loading of any supported data format (see SoVolumeData).
  • Conversion of any data format by providing a custom reader (see SoVolumeReader).
  • Optional data compression to reduce disk space.
  • Optional data type conversion, e.g. float to byte.

You can subclass from SoVolumeConverter to use a custom volume reader, provide a custom subsampling method, etc. A custom volume reader can be used to convert almost any data format into LDM format. To use a custom volume reader, derive a new class from SoVolumeReader and override the getReader() method. To use a custom subsampling method override the sampleTile method. See for example $OIVHOME/examples/source/VolumeViz/Converters/custom/LDMConverterExample.cxx.

SEE ALSO

SoConverter, SoBaseLDMConverter, SoVolumeReader

Definition at line 68 of file SoVolumeConverter.h.

Constructor & Destructor Documentation

◆ SoVolumeConverter()

SoVolumeConverter::SoVolumeConverter ( )

Constructor.


The documentation for this class was generated from the following file: