OpenWalnut
1.2.5
|
This data set type contains vectors as values. More...
#include <WDataSetVector.h>
Public Member Functions | |
WDataSetVector (boost::shared_ptr< WValueSetBase > newValueSet, boost::shared_ptr< WGrid > newGrid) | |
Constructs an instance out of an appropriate value set and a grid. | |
WDataSetVector () | |
Construct an empty and unusable instance. | |
virtual | ~WDataSetVector () |
Destroys this DataSet instance. | |
virtual WDataSetSingle::SPtr | clone (boost::shared_ptr< WValueSetBase > newValueSet) const |
Creates a copy (clone) of this instance but allows to change the valueset. | |
virtual WDataSetSingle::SPtr | clone (boost::shared_ptr< WGrid > newGrid) const |
Creates a copy (clone) of this instance but allows to change the grid. | |
virtual WDataSetSingle::SPtr | clone () const |
Creates a copy (clone) of this instance. | |
WVector3d | interpolate (const WPosition &pos, bool *success) const |
Interpolates the vector field at the given position. | |
WVector3d | eigenVectorInterpolate (const WPosition &pos, bool *success) const |
Interpolates the very same way as interpolate but it assures that all vecs are aligned to point into the same half-space. | |
WVector3d | getVectorAt (size_t index) const |
Get the vector on the given position in value set. | |
virtual bool | isTexture () const |
Determines whether this dataset can be used as a texture. | |
boost::shared_ptr< WDataSetVector > | isVectorDataSet () |
Overwrites the isVectorDataSet check. | |
Static Public Member Functions | |
static boost::shared_ptr < WPrototyped > | getPrototype () |
Returns a prototype instantiated with the true type of the deriving class. | |
Static Protected Attributes | |
static boost::shared_ptr < WPrototyped > | m_prototype = boost::shared_ptr< WPrototyped >() |
The prototype as singleton. |
This data set type contains vectors as values.
Definition at line 35 of file WDataSetVector.h.
WDataSetVector::WDataSetVector | ( | boost::shared_ptr< WValueSetBase > | newValueSet, |
boost::shared_ptr< WGrid > | newGrid | ||
) |
Constructs an instance out of an appropriate value set and a grid.
newValueSet | the vector value set to use |
newGrid | the grid which maps world space to the value set |
Definition at line 39 of file WDataSetVector.cpp.
Construct an empty and unusable instance.
This is needed for the prototype mechanism.
Definition at line 49 of file WDataSetVector.cpp.
Referenced by clone(), and getPrototype().
WDataSetVector::~WDataSetVector | ( | ) | [virtual] |
Destroys this DataSet instance.
Definition at line 54 of file WDataSetVector.cpp.
WDataSetSingle::SPtr WDataSetVector::clone | ( | boost::shared_ptr< WValueSetBase > | newValueSet | ) | const [virtual] |
Creates a copy (clone) of this instance but allows 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.
newValueSet | the new valueset. |
Reimplemented from WDataSetSingle.
Definition at line 58 of file WDataSetVector.cpp.
References WDataSetSingle::getGrid(), and WDataSetVector().
WDataSetSingle::SPtr WDataSetVector::clone | ( | boost::shared_ptr< WGrid > | newGrid | ) | const [virtual] |
Creates a copy (clone) of this instance but allows 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.
newGrid | the new grid. |
Reimplemented from WDataSetSingle.
Definition at line 63 of file WDataSetVector.cpp.
References WDataSetSingle::getValueSet(), and WDataSetVector().
WDataSetSingle::SPtr WDataSetVector::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.
Reimplemented from WDataSetSingle.
Definition at line 68 of file WDataSetVector.cpp.
References WDataSetSingle::getGrid(), WDataSetSingle::getValueSet(), and WDataSetVector().
WVector3d WDataSetVector::eigenVectorInterpolate | ( | const WPosition & | pos, |
bool * | success | ||
) | const |
Interpolates the very same way as interpolate but it assures that all vecs are aligned to point into the same half-space.
This is useful for eigenvector fields, where -v, and v both are eigenvectors.
pos | Position to interpolate a vector for |
success | return parameter which is true if pos was inside of the grid, false otherwise. |
Definition at line 153 of file WDataSetVector.cpp.
References getVectorAt(), WDataSetSingle::m_grid, and WDataSetSingle::m_valueSet.
Referenced by WDataSetVectorTest::testEigenVectorInterpolate().
boost::shared_ptr< WPrototyped > WDataSetVector::getPrototype | ( | ) | [static] |
Returns a prototype instantiated with the true type of the deriving class.
Reimplemented from WDataSetSingle.
Definition at line 73 of file WDataSetVector.cpp.
References m_prototype, and WDataSetVector().
WVector3d WDataSetVector::getVectorAt | ( | size_t | index | ) | const |
Get the vector on the given position in value set.
index | the position where to get the vector from |
Definition at line 175 of file WDataSetVector.cpp.
References WDataSetSingle::getValueSet().
Referenced by eigenVectorInterpolate(), and interpolate().
WVector3d WDataSetVector::interpolate | ( | const WPosition & | pos, |
bool * | success | ||
) | const |
Interpolates the vector field at the given position.
pos | position to interpolate |
success | if the position was inside the grid |
Definition at line 136 of file WDataSetVector.cpp.
References getVectorAt(), WDataSetSingle::m_grid, and WDataSetSingle::m_valueSet.
Referenced by WDataSetVectorTest::testBoundary_ticket313(), WDataSetVectorTest::testEigenVectorInterpolate(), and WDataSetVectorTest::testInterpolate().
bool WDataSetVector::isTexture | ( | ) | const [virtual] |
Determines whether this dataset can be used as a texture.
Reimplemented from WDataSetSingle.
Definition at line 206 of file WDataSetVector.cpp.
boost::shared_ptr< WDataSetVector > WDataSetVector::isVectorDataSet | ( | ) | [inline, virtual] |
Overwrites the isVectorDataSet check.
Reimplemented from WDataSet.
Definition at line 148 of file WDataSetVector.h.
boost::shared_ptr< WPrototyped > WDataSetVector::m_prototype = boost::shared_ptr< WPrototyped >() [static, protected] |
The prototype as singleton.
Reimplemented from WDataSetSingle.
Definition at line 143 of file WDataSetVector.h.
Referenced by getPrototype().