Inviwo
0.9.10.1
Inviwo documentation
|
#include <volume.h>
Public Member Functions | |
Volume (size3_t defaultDimensions=size3_t(128, 128, 128), const DataFormatBase *defaultFormat=DataUInt8::get(), const SwizzleMask &defaultSwizzleMask=swizzlemasks::rgba) | |
Volume (std::shared_ptr< VolumeRepresentation >) | |
Volume (const Volume &)=default | |
Volume & | operator= (const Volume &that)=default |
virtual Volume * | clone () const override |
Document | getInfo () const |
virtual void | setDimensions (const size3_t &dim) |
virtual size3_t | getDimensions () const override |
void | setDataFormat (const DataFormatBase *format) |
const DataFormatBase * | getDataFormat () const |
void | setSwizzleMask (const SwizzleMask &mask) |
update the swizzle mask of the color channels when sampling the volume More... | |
SwizzleMask | getSwizzleMask () const |
virtual const StructuredCameraCoordinateTransformer< 3 > & | getCoordinateTransformer (const Camera &camera) const override |
vec3 | getWorldSpaceGradientSpacing () const |
Computes the spacing to be used for gradient computation. Also works for volume with non-orthogonal basis. More... | |
template<typename Kind > | |
const representation_traits< Volume, Kind >::type * | getRep () const |
Public Member Functions inherited from inviwo::Data< Volume, VolumeRepresentation > | |
const T * | getRepresentation () const |
T * | getEditableRepresentation () |
bool | hasRepresentation () const |
bool | hasRepresentations () const |
void | addRepresentation (std::shared_ptr< VolumeRepresentation > representation) |
void | removeRepresentation (const VolumeRepresentation *representation) |
void | removeOtherRepresentations (const VolumeRepresentation *representation) |
void | clearRepresentations () |
void | invalidateAllOther (const VolumeRepresentation *repr) |
Public Member Functions inherited from inviwo::StructuredGridEntity< 3 > | |
StructuredGridEntity (const StructuredGridEntity< N > &rhs)=default | |
StructuredGridEntity (const Vector< N, size_t > &dimensions, const Vector< N, float > &spacing) | |
StructuredGridEntity (const Matrix< N+1, float > &modelMatrix) | |
StructuredGridEntity (const Matrix< N+1, float > &modelMatrix, const Matrix< N+1, float > &worldMatrix) | |
StructuredGridEntity< N > & | operator= (const StructuredGridEntity< N > &that)=default |
Matrix< N+1, float > | getIndexMatrix () const |
virtual const StructuredCoordinateTransformer< N > & | getCoordinateTransformer () const |
virtual const StructuredCameraCoordinateTransformer< N > & | getCoordinateTransformer (const CameraND< N > &camera) const |
Public Member Functions inherited from inviwo::SpatialEntity< N > | |
SpatialEntity (const SpatialEntity< N > &rhs) | |
SpatialEntity (const Matrix< N+1, float > &modelMatrix) | |
SpatialEntity (const Matrix< N+1, float > &modelMatrix, const Matrix< N+1, float > &worldMatrix) | |
SpatialEntity< N > & | operator= (const SpatialEntity< N > &that) |
Vector< N, float > | getOffset () const |
void | setOffset (const Vector< N, float > &offset) |
Matrix< N, float > | getBasis () const |
void | setBasis (const Matrix< N, float > &basis) |
Matrix< N+1, float > | getModelMatrix () const |
void | setModelMatrix (const Matrix< N+1, float > &modelMatrix) |
Matrix< N+1, float > | getWorldMatrix () const |
void | setWorldMatrix (const Matrix< N+1, float > &worldMatrix) |
Public Member Functions inherited from inviwo::MetaDataOwner | |
MetaDataOwner (const MetaDataOwner &rhs)=default | |
MetaDataOwner & | operator= (const MetaDataOwner &rhs)=default |
void | copyMetaDataFrom (const MetaDataOwner &src) |
void | copyMetaDataTo (MetaDataOwner &dst) |
template<typename T > | |
T * | createMetaData (const std::string &key) |
template<typename T , typename U > | |
void | setMetaData (const std::string &key, U value) |
template<typename T > | |
bool | unsetMetaData (const std::string &key) |
unset, i.e. remove the metadata entry matching the given key and type More... | |
template<typename T , typename U > | |
U | getMetaData (const std::string &key, U val) const |
template<typename T > | |
T * | getMetaData (const std::string &key) |
template<typename T > | |
const T * | getMetaData (const std::string &key) const |
MetaDataMap * | getMetaDataMap () |
const MetaDataMap * | getMetaDataMap () const |
template<typename T > | |
bool | hasMetaData (const std::string &key) const |
virtual void | serialize (Serializer &s) const |
virtual void | deserialize (Deserializer &d) |
Public Attributes | |
DataMapper | dataMap_ |
Static Public Attributes | |
static uvec3 | colorCode = uvec3(188, 101, 101) |
static const std::string | classIdentifier = "org.inviwo.Volume" |
static const std::string | dataName = "Volume" |
Protected Attributes | |
size3_t | defaultDimensions_ |
const DataFormatBase * | defaultDataFormat_ |
SwizzleMask | defaultSwizzleMask_ |
Protected Attributes inherited from inviwo::Data< Volume, VolumeRepresentation > | |
std::mutex | mutex_ |
std::unordered_map< std::type_index, std::shared_ptr< VolumeRepresentation > > | representations_ |
std::shared_ptr< VolumeRepresentation > | lastValidRepresentation_ |
Protected Attributes inherited from inviwo::SpatialEntity< N > | |
SpatialCoordinateTransformer< N > * | transformer_ |
SpatialCameraCoordinateTransformer< N > * | cameraTransformer_ |
Matrix< N+1, float > | modelMatrix_ |
Matrix< N+1, float > | worldMatrix_ |
Protected Attributes inherited from inviwo::MetaDataOwner | |
MetaDataMap | metaData_ |
Additional Inherited Members | |
Public Types inherited from inviwo::Data< Volume, VolumeRepresentation > | |
using | self = Volume |
using | repr = VolumeRepresentation |
Protected Member Functions inherited from inviwo::Data< Volume, VolumeRepresentation > | |
Data (const Data< Volume, VolumeRepresentation > &rhs) | |
Data< Volume, VolumeRepresentation > & | operator= (const Data< Volume, VolumeRepresentation > &rhs) |
const T * | getValidRepresentation () const |
void | copyRepresentationsTo (Data< Volume, VolumeRepresentation > *targetData) const |
std::shared_ptr< VolumeRepresentation > | addRepresentationInternal (std::shared_ptr< VolumeRepresentation > representation) const |
Data structure for volumetric data in form of a structured three-dimensional grid. Basis and offset determine the position and extent of the volume in model space. Skewed volumes are represented by providing a non-orthogonal basis.
In case a volume was loaded via VolumeSource or Volume, the filename of the source data is available via MetaData.
vec3 inviwo::Volume::getWorldSpaceGradientSpacing | ( | ) | const |
Computes the spacing to be used for gradient computation. Also works for volume with non-orthogonal basis.
For orthogonal lattices this will be equal to the world space voxel spacing. For non-orthogonal lattices it will be the longest of the axes projected onto the world space axes.
World space b ^ ^ / |
y ^ / dy | / Voxel | | /__________>a \/ | <-—dx—> |____________> x
The actual gradient spacing vectors are given by mat3{ gradientSpacing.x, 0, 0, 0, gradientSpacing.y, 0, 0, 0, gradientSpacing.z } However, we do not return the zeroes.
To get the spacing in texture space use: mat3(glm::scale(worldToTextureMatrix, getWorldSpaceGradientSpacing()));
void inviwo::Volume::setDataFormat | ( | const DataFormatBase * | format | ) |
|
virtual |
Resize to dimension. This is destructive, the data will not be preserved.
void inviwo::Volume::setSwizzleMask | ( | const SwizzleMask & | mask | ) |
update the swizzle mask of the color channels when sampling the volume
mask | new swizzle mask |