![]() |
LibCarna Version 3.4.0
|
Defines type-parameters-independent VolumeGridHelper base interface. More...
#include <VolumeGridHelper.hpp>
Classes | |
struct | Extent |
Specifies the extent of the whole dataset. More... | |
struct | Spacing |
Specifies the spacing between two succeeding voxel centers. More... | |
Public Member Functions | |
VolumeGridHelperBase (const base::math::Vector3ui &nativeResolution) | |
Instantiates. | |
virtual | ~VolumeGridHelperBase () |
Does nothing. | |
virtual void | releaseGeometryFeatures ()=0 |
Releases all previously acquired textures. Invoke this method when the volume data changes. | |
virtual base::Node * | createNode (unsigned int geometryType, const Spacing &spacing) const =0 |
Creates renderable representation of the underlying grid, that can be put anywhere in the scene graph. The volume is centered in the node. | |
virtual base::Node * | createNode (unsigned int geometryType, const Extent &extent) const =0 |
Creates renderable representation of the underlying grid, that can be put anywhere in the scene graph. The volume is centered in the node. | |
template<typename LoadIntensitiesFunction > | |
void | loadIntensities (const LoadIntensitiesFunction &intensityData) |
Public Attributes | |
const base::math::Vector3ui | nativeResolution |
Holds the original resolution of the loaded data. | |
Static Public Attributes | |
static const std::size_t | DEFAULT_MAX_SEGMENT_BYTESIZE = 2 * 300 * 300 * 300 |
Default maximum memory size of a single segment volume, 50 megabytes approximately. This determines the segments partitioning. | |
Protected Member Functions | |
virtual void | loadIntensities (const std::function< float(const base::math::Vector3ui &) > &intensityData)=0 |
Updates the data of the volume grid. | |
Defines type-parameters-independent VolumeGridHelper base interface.
Definition at line 51 of file VolumeGridHelper.hpp.
LibCarna::helpers::VolumeGridHelperBase::VolumeGridHelperBase | ( | const base::math::Vector3ui & | nativeResolution | ) |
Instantiates.
nativeResolution | is the resolution the grid is to be prepared for. |
|
pure virtual |
Creates renderable representation of the underlying grid, that can be put anywhere in the scene graph. The volume is centered in the node.
geometryType | Will be used for base::Geometry instantiation. |
extent | Specifies the extent of the whole dataset. |
Implemented in LibCarna::helpers::VolumeGridHelper< SegmentIntensityVolumeType, SegmentNormalsVolumeType >.
|
pure virtual |
Creates renderable representation of the underlying grid, that can be put anywhere in the scene graph. The volume is centered in the node.
geometryType | Will be used for base::Geometry instantiation. |
spacing | Specifies the spacing between two succeeding voxel centers. |
Implemented in LibCarna::helpers::VolumeGridHelper< SegmentIntensityVolumeType, SegmentNormalsVolumeType >.
void LibCarna::helpers::VolumeGridHelperBase::loadIntensities | ( | const LoadIntensitiesFunction & | intensityData | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 169 of file VolumeGridHelper.hpp.
|
protectedpure virtual |
Updates the data of the volume grid.
The intensityData must be scaled to \(\left[0, 1\right]\).
Implemented in LibCarna::helpers::VolumeGridHelper< SegmentIntensityVolumeType, SegmentNormalsVolumeType >, and LibCarna::helpers::VolumeGridHelper< SegmentIntensityVolumeType, SegmentNormalsVolumeType >.
|
pure virtual |
Releases all previously acquired textures. Invoke this method when the volume data changes.
If this method is not invoked after an update of the volume data, succeeding calls to createNode will not reflect the new data. Note however, that if you call this method between two invocations of createNode without the volume data been altered, same textures will get uploaded twice to video memory, i.e. video resources will be wasted.
Implemented in LibCarna::helpers::VolumeGridHelper< SegmentIntensityVolumeType, SegmentNormalsVolumeType >.
|
static |
Default maximum memory size of a single segment volume, 50 megabytes approximately. This determines the segments partitioning.
Definition at line 60 of file VolumeGridHelper.hpp.
const base::math::Vector3ui LibCarna::helpers::VolumeGridHelperBase::nativeResolution |
Holds the original resolution of the loaded data.
Definition at line 72 of file VolumeGridHelper.hpp.
Written by Leonid Kostrykin © 2021–2025. Based on Carna (© 2010-2016).
Documentation generated by Doxygen