BrickingInformation Struct Reference
This struct holds all the information needed during the different steps of bricking. More...
#include <brickinginformation.h>
Public Attributes | |
| std::string | originalVolumeName |
| The name of the volume that is to be bricked without filename extension. | |
| int | originalVolumeVoxelSizeInByte |
| The size in byte of one voxel in the original volume. | |
| uint64_t | originalVolumeNumVoxels |
| The number of voxels in the original volume. | |
| int | originalVolumeSizeMB |
| The size in megabyte of the original volume. | |
| tgt::ivec3 | originalVolumeDimensions |
| The dimensions of the original volume. | |
| tgt::vec3 | originalVolumeLLF |
| The lower left front of the original volume in world coordinates. | |
| tgt::vec3 | originalVolumeURB |
| The upper right back of the original volume in world coordinates. | |
| tgt::vec3 | originalVolumeSpacing |
| The spacing of the original volume. | |
| int | originalVolumeBitsStored |
| Bits stored of the original volume. | |
| int | originalVolumeBytesAllocated |
| The number of BYTES allocated for each voxel in the original volume. | |
| std::string | originalVolumeFormat |
| The format of the original volume, lile UCHAR or USHORT. | |
| std::string | originalVolumeModel |
| The ObjectModel of the original volume, like RGB or RGBA. | |
| int | totalNumberOfBricksNeeded |
| The total number of bricks needed to store the complete original volume. | |
| tgt::ivec3 | numBricks |
| The number of bricks in each dimension neccessary to store the original volume. | |
| int | numberOfBricksWithEmptyVolumes |
| The number of bricks that have "empty" volumes, meaning all their voxels have the same value. | |
| int | numberOfVoxelsNeededForPackedVolume |
| The number of voxels needed to store the packed volume. | |
| tgt::ivec3 | packedVolumeDimensions |
| The dimensions of the packed volume neccessary to hold all data. | |
| int | brickSize |
| The size of a brick in each dimension. | |
| int | numVoxelsInBrick |
| The number of voxels inside a brick. | |
| int | gpuMemorySize |
| The total size of the memory on the gpu. | |
| int | gpuMemoryReserve |
| A reserve for the memory on the graphics card. | |
| int | gpuAvailableMemory |
| gpuMemorySizeMB_ - gpuMemoryReserve_ | |
| std::vector< int > | brickResolutions |
| int | totalNumberOfResolutions |
| The total number of different resolutions possible for a brick. | |
| std::map< int, tgt::ivec3 > | lodToDimensionsMap |
| A map storing the dimensions of volume data at a specific level of detail. | |
| std::vector< Brick * > | volumeBricks |
| The bricks the volume is divided into. | |
| std::list< Brick * > | packingBricks |
| The packingbricks subdivide a volume and receive their data from the volumebricks later on. | |
| std::list< Brick * > | packingBrickBackups |
| This list holds all PackingBricks that don't hold a VolumeBrick with only voxels of the same value. | |
| std::vector< Brick * > | packingBricksWithData |
| These packingbricks have been given data and a position in the packed volume. | |
| tgt::Camera * | camera |
| The camera position. | |
| BrickingRegionManager * | regionManager |
| The class responsible for managing the regions that can be defined for bricking. | |
Detailed Description
This struct holds all the information needed during the different steps of bricking.
Some of these steps like calculating brick resolutions need a lot of paramters and return a lot of values. Therefore, this struct is used and is mostly passed by reference. Instead of returning a lot of values, these values are written to this struct and as a result all the other steps have all the information they need (because of passing this struct by reference).
Definition at line 48 of file brickinginformation.h.
Member Data Documentation
The camera position.
Mostly used for Lod selection
Definition at line 219 of file brickinginformation.h.
| int gpuMemoryReserve |
A reserve for the memory on the graphics card.
The brickingmanager will try to fill the graphics card memory as much as possible in order to produce an image with the best possible quality. But the dataset won't be on the graphics card exclusively, we have to account for transfer functions, rendertargets etc. That's why we introduce this reserve that the brickingmanager won't touch.
Definition at line 163 of file brickinginformation.h.
The number of bricks that have "empty" volumes, meaning all their voxels have the same value.
Such bricks can be downsampled to the extreme, as no information is lost.
Definition at line 128 of file brickinginformation.h.
| std::list<Brick*> packingBrickBackups |
This list holds all PackingBricks that don't hold a VolumeBrick with only voxels of the same value.
So if the ResolutionCalculator is changed and new packing bricks are necessary, one can just copy these. This saves rereading the voxel data from disc again, as the volume bricks with only voxels of the same value retain their position in the packed volume.
Definition at line 208 of file brickinginformation.h.
| std::list<Brick*> packingBricks |
The packingbricks subdivide a volume and receive their data from the volumebricks later on.
They basically only exist to make the packing of the resampled volumedata into the packed volume efficient.
Definition at line 199 of file brickinginformation.h.
| std::vector<Brick*> packingBricksWithData |
These packingbricks have been given data and a position in the packed volume.
Calling write() for all these generates the packed volume.
Definition at line 214 of file brickinginformation.h.
| std::vector<Brick*> volumeBricks |
The bricks the volume is divided into.
These bricks are actually of the type VolumeBrick<T>* , but this way they can be used in non-templated classes.
Definition at line 192 of file brickinginformation.h.