TIFF file reader. More...
#include <VolumeViz/readers/SoVRTiffFileReader.h>
Public Member Functions | |
virtual SoType | getTypeId () const |
SoVRTiffFileReader () | |
virtual int | setFilename (const SbString &filename) |
virtual ReadError | getDataChar (SbBox3f &size, SoDataSet::DataType &type, SbVec3i32 &dim) |
virtual void | getSubSlice (const SbBox2i32 &subSlice, int sliceNumber, void *data) |
virtual void | getSubSlice (const SbBox2i32 &subSlice, int sliceNumber, SoBufferObject *dataBuffer) |
virtual ReaderType | getReaderType () |
SbBool | isThreadSafe () const |
Static Public Member Functions | |
static SoType | getClassTypeId () |
Volume reader for the TIFF file format. VolumeViz automatically selects this reader if a filename is given and the file extension is ".tiff" or ".tif".
SoVRTiffFileReader load slices from a single multi-image TIFF file. To load a volume from multiple TIFF files, see the SoVRRasterStackReader class.
All the images contained in the file should have the same size. If it is not the case, the reader will find the largest image and take all images with the same size.
Supported: SoVRTiffFileReader is based on libTiff, meaning the reader is able to deal with images which follow the 5.0 or 6.0 TIFF spec (http://www.libtiff.org/support.html)
SoVRTiffFileReader::SoVRTiffFileReader | ( | ) |
Constructor.
static SoType SoVRTiffFileReader::getClassTypeId | ( | ) | [static] |
Returns the type identifier for this class.
Reimplemented from SoVolumeReader.
virtual ReadError SoVRTiffFileReader::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.
Implements SoVolumeReader.
virtual ReaderType SoVRTiffFileReader::getReaderType | ( | ) | [inline, virtual] |
Returns the reader type.
Reimplemented from SoVolumeReader.
virtual void SoVRTiffFileReader::getSubSlice | ( | const SbBox2i32 & | subSlice, | |
int | sliceNumber, | |||
SoBufferObject * | dataBuffer | |||
) | [virtual] |
Same as getSubSlice( const SbBox2i32& subSlice, int sliceNumber, void * data ) but using an SoBufferObject as the target of the data. If not reimplemented then the version with "unsigned char*" parameter is called
subSlice | 2D region of the slice to return. | |
sliceNumber | Slice number on the volume Z axis (first slice is 0). | |
dataBuffer | The target buffer to be filled. |
Reimplemented from SoVolumeReader.
virtual void SoVRTiffFileReader::getSubSlice | ( | const SbBox2i32 & | subSlice, | |
int | sliceNumber, | |||
void * | data | |||
) | [virtual] |
New method required by VolumeViz 3.0 when using large volume support.
Must copy a rectangular part of an XY slice to the memory specified by data. Slices will not always be read sequentially.
Implements SoVolumeReader.
virtual SoType SoVRTiffFileReader::getTypeId | ( | ) | const [virtual] |
Returns the type identifier for this specific instance.
Reimplemented from SoVolumeReader.
SbBool SoVRTiffFileReader::isThreadSafe | ( | ) | const [virtual] |
Return true as this reader is thread safe.
Reimplemented from SoVolumeReader.
virtual int SoVRTiffFileReader::setFilename | ( | const SbString & | filename | ) | [virtual] |
Specifies the path of the file. Returns 0 for success. Any other return value indicates failure.
Reimplemented from SoVolumeReader.