OpenWalnut  1.5.0dev
Public Types | Public Member Functions | Static Public Member Functions | Static Protected Attributes | Private Attributes | List of all members
WDataSetSphericalHarmonics Class Reference

This data set type contains spherical harmonic coefficients as values. More...

#include <WDataSetSphericalHarmonics.h>

+ Inheritance diagram for WDataSetSphericalHarmonics:
+ Collaboration diagram for WDataSetSphericalHarmonics:

Public Types

typedef std::shared_ptr< WDataSetSphericalHarmonicsSPtr
 Convenience typedef for a std::shared_ptr. More...
 
typedef std::shared_ptr< const WDataSetSphericalHarmonicsConstSPtr
 Convenience typedef for a std::shared_ptr; const. More...
 
- Public Types inherited from WDataSetSingle
typedef std::shared_ptr< WDataSetSingleSPtr
 Convenience typedef for a std::shared_ptr. More...
 
typedef std::shared_ptr< const WDataSetSingleConstSPtr
 Convenience typedef for a std::shared_ptr; const. More...
 
- Public Types inherited from WDataSet
typedef std::shared_ptr< WDataSetSPtr
 Shared pointer abbreviation to a instance of this class. More...
 
typedef std::shared_ptr< const WDataSetConstSPtr
 Shared pointer abbreviation to a const instance of this class. More...
 

Public Member Functions

 WDataSetSphericalHarmonics (std::shared_ptr< WValueSetBase > newValueSet, std::shared_ptr< WGrid > newGrid)
 Constructs an instance out of an appropriate value set and a grid. More...
 
 WDataSetSphericalHarmonics ()
 Construct an empty and unusable instance. More...
 
virtual ~WDataSetSphericalHarmonics ()
 Destroys this DataSet instance. More...
 
virtual WDataSetSingle::SPtr clone (std::shared_ptr< WValueSetBase > newValueSet, std::shared_ptr< WGrid > newGrid) const
 Creates a copy (clone) of this instance but allows one to change the valueset. More...
 
virtual WDataSetSingle::SPtr clone (std::shared_ptr< WValueSetBase > newValueSet) const
 Creates a copy (clone) of this instance but allows one to change the valueset. More...
 
virtual WDataSetSingle::SPtr clone (std::shared_ptr< WGrid > newGrid) const
 Creates a copy (clone) of this instance but allows one to change the grid. More...
 
virtual WDataSetSingle::SPtr clone () const
 Creates a copy (clone) of this instance. More...
 
WSymmetricSphericalHarmonic< double > interpolate (const WPosition &pos, bool *success) const
 Interpolates the field of spherical harmonics at the given position. More...
 
WSymmetricSphericalHarmonic< double > getSphericalHarmonicAt (size_t index) const
 Get the spherical harmonic on the given position in value set. More...
 
virtual const std::string getName () const
 Gets the name of this prototype. More...
 
virtual const std::string getDescription () const
 Gets the description for this prototype. More...
 
virtual bool isTexture () const
 Determines whether this dataset can be used as a texture. More...
 
- Public Member Functions inherited from WDataSetSingle
 WDataSetSingle (std::shared_ptr< WValueSetBase > newValueSet, std::shared_ptr< WGrid > newGrid)
 Constructs an instance out of a value set and a grid. More...
 
 WDataSetSingle ()
 Construct an empty and unusable instance. More...
 
virtual ~WDataSetSingle ()
 Destroys this DataSet instance. More...
 
std::shared_ptr< WValueSetBasegetValueSet () const
 
std::shared_ptr< WGridgetGrid () const
 
template<typename T >
OW_API_DEPRECATEDgetValueAt (size_t id)
 Get the scalar value stored at id-th position of the array of the value set. More...
 
double OW_API_DEPRECATED getValueAt (size_t id) const
 Get the scalar value stored at id-th position of the array of the value set. More...
 
double getSingleRawValue (size_t id) const
 Get the raw scalar value stored at id-th position of the raw array of the value set. More...
 
virtual osg::ref_ptr< WDataTexture3DgetTexture () const
 Returns the texture representation of the dataset. More...
 
- Public Member Functions inherited from WDataSet
 WDataSet ()
 This constructor should be used if a dataSet does not stem from a file. More...
 
virtual ~WDataSet ()
 Since WDataSet is a base class and thus should be polymorphic we add virtual destructor. More...
 
void setFilename (const std::string filename)
 Set the name of the file that this data set stems from. More...
 
std::string getFilename () const
 Get the name of the file that this data set stems from. More...
 
OW_API_DEPRECATED void setFileName (const std::string filename)
 Set the name of the file that this data set stems from. More...
 
OW_API_DEPRECATED std::string getFileName () const
 Get the name of the file that this data set stems from. More...
 
virtual std::shared_ptr< WDataSetVectorisVectorDataSet ()
 Checks if this dataset is a vector dataset. More...
 
std::shared_ptr< WPropertiesgetProperties () const
 Return a pointer to the properties object of the dataset. More...
 
std::shared_ptr< WPropertiesgetInformationProperties () const
 Return a pointer to the information properties object of the dataset. More...
 
- Public Member Functions inherited from WTransferable
 WTransferable ()
 Default constructor. More...
 
virtual ~WTransferable ()
 Destructor. More...
 
- Public Member Functions inherited from WPrototyped
 WPrototyped ()
 Default constructor. More...
 
virtual ~WPrototyped ()
 Destructor. More...
 
template<typename T >
bool isA ()
 Checks whether the actual prototype has the specified runtime type. More...
 

Static Public Member Functions

static std::shared_ptr< WPrototypedgetPrototype ()
 Returns a prototype instantiated with the true type of the deriving class. More...
 
- Static Public Member Functions inherited from WDataSetSingle
static std::shared_ptr< WPrototypedgetPrototype ()
 Returns a prototype instantiated with the true type of the deriving class. More...
 
- Static Public Member Functions inherited from WDataSet
static std::shared_ptr< WPrototypedgetPrototype ()
 Returns a prototype instantiated with the true type of the deriving class. More...
 

Static Protected Attributes

static std::shared_ptr< WPrototypedm_prototype = std::shared_ptr< WPrototyped >()
 The prototype as singleton. More...
 
- Static Protected Attributes inherited from WDataSetSingle
static std::shared_ptr< WPrototypedm_prototype = std::shared_ptr< WPrototyped >()
 The prototype as singleton. More...
 
- Static Protected Attributes inherited from WDataSet
static std::shared_ptr< WPrototypedm_prototype = std::shared_ptr< WPrototyped >()
 The prototype as singleton. More...
 

Private Attributes

std::shared_ptr< WGridRegular3Dm_gridRegular3D
 The regular 3d grid of the data set. More...
 
std::shared_ptr< WValueSetBasem_valueSet
 The valueset of the data set. More...
 

Additional Inherited Members

- Protected Attributes inherited from WDataSetSingle
std::shared_ptr< WGridm_grid
 Stores the reference of the WGrid of this DataSetSingle instance. More...
 
std::shared_ptr< WValueSetBasem_valueSet
 Stores the reference of the WValueSet of this DataSetSingle instance. More...
 
- Protected Attributes inherited from WDataSet
std::shared_ptr< WPropertiesm_properties
 The property object for the dataset. More...
 
std::shared_ptr< WPropertiesm_infoProperties
 The property object for the dataset containing only props whose purpose is "PV_PURPOSE_INFORMNATION". More...
 

Detailed Description

This data set type contains spherical harmonic coefficients as values.

The index scheme is like in the Descoteaux paper "Regularized, Fast, and Robust Analytical Q-Ball Imaging".

Definition at line 41 of file WDataSetSphericalHarmonics.h.

Member Typedef Documentation

◆ ConstSPtr

Convenience typedef for a std::shared_ptr; const.

Definition at line 52 of file WDataSetSphericalHarmonics.h.

◆ SPtr

Convenience typedef for a std::shared_ptr.

Definition at line 47 of file WDataSetSphericalHarmonics.h.

Constructor & Destructor Documentation

◆ WDataSetSphericalHarmonics() [1/2]

WDataSetSphericalHarmonics::WDataSetSphericalHarmonics ( std::shared_ptr< WValueSetBase newValueSet,
std::shared_ptr< WGrid newGrid 
)

Constructs an instance out of an appropriate value set and a grid.

Parameters
newValueSetthe value set with the spherical harmonics coefficients to use
newGridthe grid which maps world space to the value set

Definition at line 40 of file WDataSetSphericalHarmonics.cpp.

References m_gridRegular3D.

◆ WDataSetSphericalHarmonics() [2/2]

WDataSetSphericalHarmonics::WDataSetSphericalHarmonics ( )

Construct an empty and unusable instance.

This is needed for the prototype mechanism.

Definition at line 49 of file WDataSetSphericalHarmonics.cpp.

Referenced by clone(), and getPrototype().

+ Here is the caller graph for this function:

◆ ~WDataSetSphericalHarmonics()

WDataSetSphericalHarmonics::~WDataSetSphericalHarmonics ( )
virtual

Destroys this DataSet instance.

Definition at line 54 of file WDataSetSphericalHarmonics.cpp.

Member Function Documentation

◆ clone() [1/4]

WDataSetSingle::SPtr WDataSetSphericalHarmonics::clone ( ) const
virtual

Creates a copy (clone) of this instance.

Unlike copy construction, this is a very useful function if you want to keep the dynamic type of your dataset even if you just have a WDataSetSingle.

Returns
the clone

Reimplemented from WDataSetSingle.

Definition at line 73 of file WDataSetSphericalHarmonics.cpp.

References WDataSetSingle::getGrid(), WDataSetSingle::getValueSet(), and WDataSetSphericalHarmonics().

+ Here is the call graph for this function:

◆ clone() [2/4]

WDataSetSingle::SPtr WDataSetSphericalHarmonics::clone ( std::shared_ptr< WGrid newGrid) const
virtual

Creates a copy (clone) of this instance but allows one to change the grid.

Unlike copy construction, this is a very useful function if you want to keep the dynamic type of your dataset even if you just have a WDataSetSingle.

Parameters
newGridthe new grid.
Returns
the clone

Reimplemented from WDataSetSingle.

Definition at line 68 of file WDataSetSphericalHarmonics.cpp.

References WDataSetSingle::getValueSet(), and WDataSetSphericalHarmonics().

+ Here is the call graph for this function:

◆ clone() [3/4]

WDataSetSingle::SPtr WDataSetSphericalHarmonics::clone ( std::shared_ptr< WValueSetBase newValueSet) const
virtual

Creates a copy (clone) of this instance but allows one to change the valueset.

Unlike copy construction, this is a very useful function if you want to keep the dynamic type of your dataset even if you just have a WDataSetSingle.

Parameters
newValueSetthe new valueset.
Returns
the clone

Reimplemented from WDataSetSingle.

Definition at line 63 of file WDataSetSphericalHarmonics.cpp.

References WDataSetSingle::getGrid(), and WDataSetSphericalHarmonics().

+ Here is the call graph for this function:

◆ clone() [4/4]

WDataSetSingle::SPtr WDataSetSphericalHarmonics::clone ( std::shared_ptr< WValueSetBase newValueSet,
std::shared_ptr< WGrid newGrid 
) const
virtual

Creates a copy (clone) of this instance but allows one to change the valueset.

Unlike copy construction, this is a very useful function if you want to keep the dynamic type of your dataset.

Parameters
newValueSetthe new valueset.
newGridthe new grid.
Returns
the clone

Reimplemented from WDataSetSingle.

Definition at line 58 of file WDataSetSphericalHarmonics.cpp.

References WDataSetSphericalHarmonics().

+ Here is the call graph for this function:

◆ getDescription()

const std::string WDataSetSphericalHarmonics::getDescription ( ) const
virtual

Gets the description for this prototype.

Returns
the description

Reimplemented from WDataSetSingle.

Definition at line 153 of file WDataSetSphericalHarmonics.cpp.

◆ getName()

const std::string WDataSetSphericalHarmonics::getName ( ) const
virtual

Gets the name of this prototype.

Returns
the name.

Reimplemented from WDataSetSingle.

Definition at line 148 of file WDataSetSphericalHarmonics.cpp.

◆ getPrototype()

std::shared_ptr< WPrototyped > WDataSetSphericalHarmonics::getPrototype ( )
static

Returns a prototype instantiated with the true type of the deriving class.

Returns
the prototype.

Definition at line 78 of file WDataSetSphericalHarmonics.cpp.

References m_prototype, and WDataSetSphericalHarmonics().

+ Here is the call graph for this function:

◆ getSphericalHarmonicAt()

WSymmetricSphericalHarmonic< double > WDataSetSphericalHarmonics::getSphericalHarmonicAt ( size_t  index) const

Get the spherical harmonic on the given position in value set.

Parameters
indexthe position where to get the spherical harmonic from
Returns
the spherical harmonic

Definition at line 141 of file WDataSetSphericalHarmonics.cpp.

References m_valueSet, and wlog::warn().

+ Here is the call graph for this function:

◆ interpolate()

WSymmetricSphericalHarmonic< double > WDataSetSphericalHarmonics::interpolate ( const WPosition pos,
bool *  success 
) const

Interpolates the field of spherical harmonics at the given position.

Parameters
posposition to interpolate
successif the position was inside the grid
Returns
Interpolated spherical harmonic.

Definition at line 88 of file WDataSetSphericalHarmonics.cpp.

References m_gridRegular3D, and m_valueSet.

◆ isTexture()

bool WDataSetSphericalHarmonics::isTexture ( ) const
virtual

Determines whether this dataset can be used as a texture.

Returns
true if usable as texture.

Reimplemented from WDataSetSingle.

Definition at line 158 of file WDataSetSphericalHarmonics.cpp.

Member Data Documentation

◆ m_gridRegular3D

std::shared_ptr< WGridRegular3D > WDataSetSphericalHarmonics::m_gridRegular3D
private

The regular 3d grid of the data set.

Definition at line 169 of file WDataSetSphericalHarmonics.h.

Referenced by interpolate(), and WDataSetSphericalHarmonics().

◆ m_prototype

std::shared_ptr< WPrototyped > WDataSetSphericalHarmonics::m_prototype = std::shared_ptr< WPrototyped >()
staticprotected

The prototype as singleton.

Definition at line 163 of file WDataSetSphericalHarmonics.h.

Referenced by getPrototype().

◆ m_valueSet

std::shared_ptr< WValueSetBase > WDataSetSphericalHarmonics::m_valueSet
private

The valueset of the data set.

Definition at line 174 of file WDataSetSphericalHarmonics.h.

Referenced by getSphericalHarmonicAt(), and interpolate().


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