OpenWalnut 1.3.1
Public Types | Public Member Functions | Static Public Member Functions | Static Protected Attributes
WDataSetVector Class Reference

This data set type contains vectors as values. More...

#include <WDataSetVector.h>

Inheritance diagram for WDataSetVector:

List of all members.

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< WDataSetVectorisVectorDataSet ()
 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.

Detailed Description

This data set type contains vectors as values.

Definition at line 35 of file WDataSetVector.h.


Member Typedef Documentation

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.


Constructor & Destructor Documentation

WDataSetVector::WDataSetVector ( boost::shared_ptr< WValueSetBase newValueSet,
boost::shared_ptr< WGrid newGrid 
)

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

Parameters:
newValueSetthe vector value set to use
newGridthe grid which maps world space to the value set

Definition at line 39 of file WDataSetVector.cpp.

WDataSetVector::WDataSetVector ( )

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.


Member Function Documentation

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.

Parameters:
newValueSetthe new valueset.
Returns:
the clone

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.

Parameters:
newGridthe new grid.
Returns:
the clone

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.

Returns:
the clone

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.

Parameters:
posPosition to interpolate a vector for
successreturn parameter which is true if pos was inside of the grid, false otherwise.
Returns:
The resulting interpolated vector.

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.

Returns:
the prototype.

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.

Notes:
currently only implmented for WVector3d
Parameters:
indexthe position where to get the vector from
Returns:
the vector

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.

Parameters:
posposition to interpolate
successif the position was inside the grid
Returns:
Vector beeing the interpolate.

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.

Returns:
true if usable as texture.

Reimplemented from WDataSetSingle.

Definition at line 208 of file WDataSetVector.cpp.

boost::shared_ptr< WDataSetVector > WDataSetVector::isVectorDataSet ( ) [inline, virtual]

Overwrites the isVectorDataSet check.

Returns:
Non empty reference to the dataset if it is a vector dataset, empty if not.

Reimplemented from WDataSet.

Definition at line 156 of file WDataSetVector.h.


Member Data Documentation

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().


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