OpenWalnut
1.4.0
|
This data set type contains vectors as values. More...
#include <WDataSetVector.h>
Public Types | |
typedef boost::shared_ptr < WDataSetVector > | SPtr |
shared_ptr abbreviation | |
typedef boost::shared_ptr < const WDataSetVector > | ConstSPtr |
const shared_ptr abbreviation | |
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 one to change the valueset. | |
virtual WDataSetSingle::SPtr | clone (boost::shared_ptr< WGrid > newGrid) const |
Creates a copy (clone) of this instance but allows one 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.
typedef boost::shared_ptr< const WDataSetVector > WDataSetVector::ConstSPtr |
const shared_ptr abbreviation
Reimplemented from WDataSetSingle.
Definition at line 46 of file WDataSetVector.h.
typedef boost::shared_ptr< WDataSetVector > WDataSetVector::SPtr |
shared_ptr abbreviation
Reimplemented from WDataSetSingle.
Definition at line 41 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 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.
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 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.
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 155 of file WDataSetVector.cpp.
References getVectorAt(), WDataSetSingle::m_grid, and WDataSetSingle::m_valueSet.
Referenced by WDataSetVectorTest::testEigenVectorInterpolate(), and WDataSetVectorTest::testRotatedGridInterpolate().
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 177 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 138 of file WDataSetVector.cpp.
References getVectorAt(), WDataSetSingle::m_grid, and WDataSetSingle::m_valueSet.
Referenced by WDataSetVectorTest::testBoundary_ticket313(), WDataSetVectorTest::testEigenVectorInterpolate(), WDataSetVectorTest::testInterpolate(), and WDataSetVectorTest::testRotatedGridInterpolate().
bool WDataSetVector::isTexture | ( | ) | const [virtual] |
Determines whether this dataset can be used as a texture.
Reimplemented from WDataSetSingle.
Definition at line 208 of file WDataSetVector.cpp.
boost::shared_ptr< WDataSetVector > WDataSetVector::isVectorDataSet | ( | ) | [inline, virtual] |
Overwrites the isVectorDataSet check.
Reimplemented from WDataSet.
Definition at line 156 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 151 of file WDataSetVector.h.
Referenced by getPrototype().