Blue Brain BioExplorer
core::engine::optix::OptiXSharedDataVolume Class Reference

#include <OptiXVolume.h>

Inheritance diagram for core::engine::optix::OptiXSharedDataVolume:
Collaboration diagram for core::engine::optix::OptiXSharedDataVolume:

Public Member Functions

 OptiXSharedDataVolume (const Vector3ui &dimensions, const Vector3f &spacing, const DataType dataType, const VolumeParameters &params)
 Constructs a new SharedDataVolume object. More...
 
void setVoxels (const void *voxels) final
 Sets the voxels of the volume. More...
 
- Public Member Functions inherited from core::SharedDataVolume
PLATFORM_API void mapData (const std::string &filename)
 Convenience function to map data from file. More...
 
PLATFORM_API void mapData (const uint8_ts &buffer)
 Convenience function to map data from a buffer. More...
 
PLATFORM_API void mapData (uint8_ts &&buffer)
 Convenience function to map data from a movable buffer. More...
 
const uint8_tsgetMemoryBuffer () const
 Get the Memory Buffer object. More...
 
- Public Member Functions inherited from core::Volume
PLATFORM_API Volume (const Vector3ui &dimensions, const Vector3f &spacing, const DataType type)
 Constructs a Volume object. More...
 
PLATFORM_API Vector2f getDataRange () const
 
PLATFORM_API size_t getSizeInBytes () const
 Gets the size of the volume in bytes. More...
 
PLATFORM_API Boxd getBounds () const
 Gets the bounding box of the volume. More...
 
PLATFORM_API Vector3f getDimensions () const
 Get the Dimensions object. More...
 
PLATFORM_API Vector3f getElementSpacing () const
 Get the Element Spacing object. More...
 
PLATFORM_API Vector3f getOffset () const
 Get the Offset object. More...
 
PLATFORM_API Vector2f getValueRange () const
 Get the Value Range object. More...
 
- Public Member Functions inherited from core::BaseObject
 BaseObject ()=default
 
virtual ~BaseObject ()=default
 
 BaseObject (const BaseObject &)
 
BaseObjectoperator= (const BaseObject &rhs)
 
bool isModified () const
 
void resetModified ()
 
void markModified (const bool triggerCallback=true)
 
void onModified (const ModifiedCallback &callback)
 
void clearModifiedCallback ()
 
- Public Member Functions inherited from core::engine::optix::OptiXVolume
 OptiXVolume (const Vector3ui &dimensions, const Vector3f &spacing, const DataType dataType, const VolumeParameters &params)
 Constructs a Volume object. More...
 
void setDataRange (const Vector2f &) final
 
void commit () final
 Commits changes to the volume. More...
 

Additional Inherited Members

- Public Types inherited from core::BaseObject
using ModifiedCallback = std::function< void(const BaseObject &)>
 
- Protected Member Functions inherited from core::SharedDataVolume
 SharedDataVolume (const Vector3ui &dimensions, const Vector3f &spacing, const DataType type)
 Constructs a new SharedDataVolume object. More...
 
 ~SharedDataVolume ()
 Destructs the SharedDataVolume object. Unmaps the data from memory and closes the mapped file. More...
 
- Protected Member Functions inherited from core::BaseObject
template<typename T >
void _updateValue (T &member, const T &newValue, const bool triggerCallback=true)
 
template<class T >
bool _isEqual (const T &a, const T &b, typename std::enable_if< std::is_floating_point< T >::value >::type *=0)
 
template<class T >
bool _isEqual (const T &a, const T &b, typename std::enable_if<!std::is_floating_point< T >::value >::type *=0)
 
- Protected Attributes inherited from core::SharedDataVolume
uint8_ts _memoryBuffer
 
- Protected Attributes inherited from core::Volume
std::atomic_size_t _sizeInBytes {0}
 
const Vector3ui _dimensions
 
const Vector3f _spacing
 
Vector3f _offset
 
const DataType _dataType
 
Vector2f _valueRange {-1e6f, 1e6f}
 
- Protected Attributes inherited from core::engine::optix::OptiXVolume
const VolumeParameters_parameters
 
RTformat _dataType {RT_FORMAT_UNSIGNED_BYTE}
 
uint64_t _dataTypeSize {1}
 

Detailed Description

Definition at line 65 of file OptiXVolume.h.

Constructor & Destructor Documentation

◆ OptiXSharedDataVolume()

core::engine::optix::OptiXSharedDataVolume::OptiXSharedDataVolume ( const Vector3ui dimensions,
const Vector3f spacing,
const DataType  dataType,
const VolumeParameters params 
)

Constructs a new SharedDataVolume object.

Parameters
dimensionsThe dimensions of the volume as a Vector3ui object.
spacingThe spacing between voxels as a Vector3f object.
typeThe data type of the volume.

Definition at line 77 of file OptiXVolume.cpp.

Member Function Documentation

◆ setVoxels()

void core::engine::optix::OptiXSharedDataVolume::setVoxels ( const void *  voxels)
finalvirtual

Sets the voxels of the volume.

Parameters
voxelsA pointer to the location of the voxels to be set.

Implements core::SharedDataVolume.

Definition at line 85 of file OptiXVolume.cpp.


The documentation for this class was generated from the following files: