Open Inventor Release 2024.1.0
 
Loading...
Searching...
No Matches
SoBaseLDMConverter Class Reference

Large Data Management Base class for converting data sets into the LDM format. More...

#include <LDM/converters/SoBaseLDMConverter.h>

+ Inheritance diagram for SoBaseLDMConverter:

Public Member Functions

 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

Large Data Management Base class for converting data sets into the LDM format.

This is the base class for converting existing volume data sets into the LDM (Large Data Management) format. Normally you will use, for example, the derived class SoVolumeConverter to convert volume data.

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.

SEE ALSO

SoConverter, SoVolumeConverter, SoVolumeReader

Definition at line 63 of file SoBaseLDMConverter.h.

Constructor & Destructor Documentation

◆ SoBaseLDMConverter()

SoBaseLDMConverter::SoBaseLDMConverter ( )

Constructor.

◆ ~SoBaseLDMConverter()

virtual SoBaseLDMConverter::~SoBaseLDMConverter ( )
virtual

Destructor.

Member Function Documentation

◆ getReader()

SoVolumeReader * SoBaseLDMConverter::getReader ( const SbString filename,
const SbString fileExt 
)
inlinevirtual

Returns a custom reader according to the given filename and extension.

Returns NULL by default, meaning that SoBaseLDMConverter is configured to run with a predefined reader not a custom one. The method must be overridden in a derived class to return a user-defined custom reader.

Parameters
filenamepart of the filename without extension.
fileExtpart of the filename after the last '.'

Definition at line 209 of file SoBaseLDMConverter.h.


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