LDM file reader with borders. More...
#include <LDM/readers/SoVRLdmFileBorderReader.h>
Classes | |
class | SoLDMBorderTopoOctree |
Octree computation has changed between OIV8 and OIV9, this one recreate the behavior of OIV8 needed when reading ldm file with borders. | |
Public Types | |
enum | BuildTileMethod { DECIMATION, AVERAGE } |
Public Member Functions | |
virtual SoType | getTypeId () const |
SoVRLdmFileBorderReader () | |
virtual int | setFilename (const SbString &filename) |
virtual SoVolumeReader::ReadError | getDataChar (SbBox3f &size, SoDataSet::DataType &type, SbVec3i32 &dim) |
virtual int | getBorderFlag () |
virtual SbBool | getTileSize (SbVec3i32 &size) |
virtual SoBufferObject * | readTile (int index, const SbBox3i32 &tilePosition) |
virtual SbBool | isThreadSafe () |
void | setBuildTileMethod (BuildTileMethod method) |
BuildTileMethod | getBuildTileMethod () |
Static Public Member Functions | |
static SoType | getClassTypeId () |
Reader for LDM file with borders.
SoVRLdmFileBorderReader::SoVRLdmFileBorderReader | ( | ) |
Default Constructor.
virtual int SoVRLdmFileBorderReader::getBorderFlag | ( | ) | [virtual] |
Returns the border flag.
If 0, tiles do not overlap. If not 0, they do. Since OIV 9.0 always returns 0.
Reimplemented from SoLDMReader.
BuildTileMethod SoVRLdmFileBorderReader::getBuildTileMethod | ( | ) |
Return the current method used to build tiles in lower resolution.
static SoType SoVRLdmFileBorderReader::getClassTypeId | ( | ) | [static] |
Returns the type identifier for this class.
Reimplemented from SoVRLdmFileReader.
virtual SoVolumeReader::ReadError SoVRLdmFileBorderReader::getDataChar | ( | SbBox3f & | size, | |
SoDataSet::DataType & | type, | |||
SbVec3i32 & | dim | |||
) | [virtual] |
Gets the characteristics (file header) of the data volume. See SoVolumeData. size is the size of the actual volume. type is the type of the data. dim is the dimension of the data.
Reimplemented from SoVRLdmFileReader.
Returns the size of a data tile.
Reimplemented from SoLDMReader.
virtual SoType SoVRLdmFileBorderReader::getTypeId | ( | ) | const [virtual] |
Returns the type identifier for this specific instance.
Reimplemented from SoVRLdmFileReader.
virtual SbBool SoVRLdmFileBorderReader::isThreadSafe | ( | ) | [virtual] |
Return true as this reader is thread safe.
virtual SoBufferObject* SoVRLdmFileBorderReader::readTile | ( | int | index, | |
const SbBox3i32 & | tilePosition | |||
) | [virtual] |
Given an index, reads a tile if the data is organized in tiles (for LDM). In the default LDM architecture, the LDM data is based on an octree topology (see SoLDMFileReader). The index passed is 0 for the tile of lowest resolution representing the entire volume (octree root node). The index increments linearly going down through the octree.
index | specifies a fileID, the id of an existing tile (fileID=tileID in a cubical volume). | |
tilePosition | specifies the position of the data in the associated volume data of the tile corresponding to the given index. In the default SoVRLdmFileReader, the tilePosition isn't actually used but it is passed as a convenience for customized readers (can be used for mapping to a different index scheme). |
Returns a pointer to an allocated buffer containing the data.
Reimplemented from SoLDMReader.
void SoVRLdmFileBorderReader::setBuildTileMethod | ( | BuildTileMethod | method | ) |
Set the method used to build tiles in lower resolution.
Default value is AVERAGE.
virtual int SoVRLdmFileBorderReader::setFilename | ( | const SbString & | filename | ) | [virtual] |
Specifies the path of the file. Returns 0 for success. Any other return value indicates failure.
Reimplemented from SoVolumeReader.