Blue Brain BioExplorer
core::Field Class Reference

A field is volume in which voxels are computed in real-time using a pre-loaded Octree structure of events defined by a 3D position and a value (float or Vector3) More...

#include <Field.h>

Inheritance diagram for core::Field:
Collaboration diagram for core::Field:

Public Member Functions

PLATFORM_API Field (const FieldParameters &parameters, const Vector3ui &dimensions, const Vector3f &spacing, const Vector3f &offset, const uint32_ts &indices, const floats &values, const OctreeDataType dataType)
 Constructs a new Field object. More...
 
PLATFORM_API Boxd getBounds () const
 Gets the bounding box of the field. More...
 
PLATFORM_API Vector3i 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 const uint32_tsgetOctreeIndices () const
 Get the Octree Indices object. More...
 
PLATFORM_API const floatsgetOctreeValues () const
 Get the Octree Values object. More...
 
PLATFORM_API OctreeDataType getOctreeDataType () const
 Get the Octree Data Type object. More...
 
- Public Member Functions inherited from core::PropertyObject
void setCurrentType (const std::string &type)
 
const std::string & getCurrentType () const
 
template<typename T >
void updateProperty (const std::string &name, const T &value, const bool triggerCallback=true)
 
bool hasProperty (const std::string &name) const
 
template<typename T >
getProperty (const std::string &name) const
 
template<typename T >
getPropertyOrValue (const std::string &name, T val) const
 
void setProperties (const PropertyMap &properties)
 
void setProperties (const std::string &type, const PropertyMap &properties)
 
void updateProperties (const PropertyMap &properties)
 
const auto & getPropertyMap () const
 
const auto & getPropertyMap (const std::string &type) const
 
strings getTypes () const
 
void clonePropertiesFrom (const PropertyObject &obj)
 
- 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 ()
 

Protected Attributes

Vector3i _dimensions
 
Vector3f _spacing
 
Vector3f _offset
 
uint32_ts _octreeIndices
 
floats _octreeValues
 
OctreeDataType _octreeDataType
 
const FieldParameters_parameters
 
- Protected Attributes inherited from core::PropertyObject
std::string _currentType
 
std::map< std::string, PropertyMap_properties
 

Additional Inherited Members

- Public Types inherited from core::BaseObject
using ModifiedCallback = std::function< void(const BaseObject &)>
 
- 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)
 

Detailed Description

A field is volume in which voxels are computed in real-time using a pre-loaded Octree structure of events defined by a 3D position and a value (float or Vector3)

Definition at line 36 of file Field.h.

Constructor & Destructor Documentation

◆ Field()

PLATFORM_API core::Field::Field ( const FieldParameters parameters,
const Vector3ui dimensions,
const Vector3f spacing,
const Vector3f offset,
const uint32_ts indices,
const floats values,
const OctreeDataType  dataType 
)
inline

Constructs a new Field object.

Parameters
dimensionsThe dimensions of the volume
spacingThe spacing between voxels
offsetLocation of the octree in the 3D scene
indicesIndices of the Octree
valuesValues of the Octree
dataTypeThe data type of the field (point or vector)

Definition at line 48 of file Field.h.

Member Function Documentation

◆ getBounds()

PLATFORM_API Boxd core::Field::getBounds ( ) const
inline

Gets the bounding box of the field.

Returns
The bounding box of the field as a Boxd object.

Definition at line 65 of file Field.h.

◆ getDimensions()

PLATFORM_API Vector3i core::Field::getDimensions ( ) const
inline

Get the Dimensions object.

Returns
The dimensions of the field in the 3D scene

Definition at line 72 of file Field.h.

◆ getElementSpacing()

PLATFORM_API Vector3f core::Field::getElementSpacing ( ) const
inline

Get the Element Spacing object.

Returns
The voxel size

Definition at line 79 of file Field.h.

◆ getOctreeDataType()

PLATFORM_API OctreeDataType core::Field::getOctreeDataType ( ) const
inline

Get the Octree Data Type object.

Returns
OctreeDataType The data type

Definition at line 107 of file Field.h.

◆ getOctreeIndices()

PLATFORM_API const uint32_ts& core::Field::getOctreeIndices ( ) const
inline

Get the Octree Indices object.

Returns
const uint32_ts& Indices in the octree

Definition at line 93 of file Field.h.

◆ getOctreeValues()

PLATFORM_API const floats& core::Field::getOctreeValues ( ) const
inline

Get the Octree Values object.

Returns
const floats& Values in the octree

Definition at line 100 of file Field.h.

◆ getOffset()

PLATFORM_API Vector3f core::Field::getOffset ( ) const
inline

Get the Offset object.

Returns
The location of the field in the 3D scene

Definition at line 86 of file Field.h.

Member Data Documentation

◆ _dimensions

Vector3i core::Field::_dimensions
protected

Definition at line 111 of file Field.h.

◆ _octreeDataType

OctreeDataType core::Field::_octreeDataType
protected

Definition at line 116 of file Field.h.

◆ _octreeIndices

uint32_ts core::Field::_octreeIndices
protected

Definition at line 114 of file Field.h.

◆ _octreeValues

floats core::Field::_octreeValues
protected

Definition at line 115 of file Field.h.

◆ _offset

Vector3f core::Field::_offset
protected

Definition at line 113 of file Field.h.

◆ _parameters

const FieldParameters& core::Field::_parameters
protected

Definition at line 117 of file Field.h.

◆ _spacing

Vector3f core::Field::_spacing
protected

Definition at line 112 of file Field.h.


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