All Classes Namespaces Functions Variables Typedefs Enumerations Pages
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
OpenMBV::SpineExtrusion Class Reference

Class for all bodies extruded along a curve. More...

#include <spineextrusion.h>

Inheritance diagram for OpenMBV::SpineExtrusion:
OpenMBV::DynamicColoredBody OpenMBV::Body OpenMBV::Object fmatvec::Atom

Public Member Functions

std::string getClassName ()
 
void setNumberOfSpinePoints (const int num)
 
int getNumberOfSpinePoints ()
 
void setContour (const boost::shared_ptr< std::vector< boost::shared_ptr< PolygonPoint > > > &contour_)
 
boost::shared_ptr< std::vector
< boost::shared_ptr
< PolygonPoint > > > 
getContour ()
 
void setScaleFactor (const double scale)
 
double getScaleFactor ()
 
void setInitialRotation (const std::vector< double > &initRot)
 
void setInitialRotation (double a, double b, double g)
 
std::vector< double > getInitialRotation ()
 
template<typename T >
void append (const T &row)
 
int getRows ()
 
std::vector< double > getRow (int i)
 
virtual void initializeUsingXML (xercesc::DOMElement *element)
 
xercesc::DOMElement * writeXMLFile (xercesc::DOMNode *parent)
 
- Public Member Functions inherited from OpenMBV::DynamicColoredBody
void setMinimalColorValue (double min)
 
double getMinimalColorValue ()
 
void setMaximalColorValue (double max)
 
double getMaximalColorValue ()
 
void setDynamicColor (const double col)
 
double getDynamicColor ()
 
void setDiffuseColor (const std::vector< double > &hsv)
 
void setDiffuseColor (double h, double s, double v)
 
std::vector< double > getDiffuseColor ()
 
void setTransparency (double t)
 
double getTransparency ()
 
- Public Member Functions inherited from OpenMBV::Body
void setHDF5LinkTarget (const boost::shared_ptr< Body > &dest)
 
boost::shared_ptr< Body > & getHDF5LinkTarget ()
 
bool isHDF5Link ()
 
void setOutLine (bool ol)
 
bool getOutLine ()
 
void setShilouetteEdge (bool ol)
 
bool getShilouetteEdge ()
 
void setDrawMethod (DrawStyle ds)
 
DrawStyle getDrawMethod ()
 
- Public Member Functions inherited from OpenMBV::Object
void setEnable (bool enable)
 
bool getEnable ()
 
void setBoundingBox (bool bbox)
 
bool getBoundingBox ()
 
void setName (const std::string &name_)
 
std::string getName ()
 
virtual std::string getFullName (bool includingFileName=false, bool stopAtSeparateFile=false)
 
boost::shared_ptr< GroupgetSeparateGroup ()
 
boost::shared_ptr< GroupgetTopLevelGroup ()
 
boost::weak_ptr< GroupgetParent ()
 
H5::GroupBasegetHDF5Group ()
 
std::string getID () const
 
void setID (std::string ID_)
 
bool getSelected () const
 
void setSelected (bool selected_)
 
- Public Member Functions inherited from fmatvec::Atom
Atomoperator= (const Atom &)
 
void setMessageStreamActive (MsgType type, bool active)
 
void getMessageStream (MsgType type, boost::shared_ptr< bool > &a, boost::shared_ptr< std::ostream > &s)
 
void adoptMessageStreams (const Atom *src=NULL)
 
std::ostream & msg (MsgType type)
 
bool msgAct (MsgType type)
 

Protected Member Functions

void createHDF5File ()
 
void openHDF5File ()
 
- Protected Member Functions inherited from OpenMBV::Body
void terminate ()
 
- Protected Member Functions inherited from fmatvec::Atom
 Atom (const Atom &src)
 

Protected Attributes

int numberOfSpinePoints
 
boost::shared_ptr< std::vector
< boost::shared_ptr
< PolygonPoint > > > 
contour
 
H5::VectorSerie< double > * data
 
double scaleFactor
 
std::vector< double > initialRotation
 
- Protected Attributes inherited from OpenMBV::DynamicColoredBody
double minimalColorValue
 
double maximalColorValue
 
double dynamicColor
 
std::vector< double > diffuseColor
 
double transparency
 
- Protected Attributes inherited from OpenMBV::Body
std::string outLineStr
 
std::string shilouetteEdgeStr
 
DrawStyle drawMethod
 
boost::shared_ptr< Bodyhdf5LinkBody
 
std::string hdf5LinkStr
 
- Protected Attributes inherited from OpenMBV::Object
std::string name
 
std::string enableStr
 
std::string boundingBoxStr
 
std::string ID
 
bool selected
 
boost::weak_ptr< Groupparent
 
H5::GroupBasehdf5Group
 

Friends

class ObjectFactory
 

Additional Inherited Members

- Public Types inherited from OpenMBV::Body
enum  DrawStyle { filled, lines, points }
 
- Public Types inherited from fmatvec::Atom
enum  MsgType
 
- Static Public Member Functions inherited from OpenMBV::Object
static double getDouble (xercesc::DOMElement *e)
 
static std::vector< double > getVec (xercesc::DOMElement *e, unsigned int rows=0)
 
static std::vector
< std::vector< double > > 
getMat (xercesc::DOMElement *e, unsigned int rows=0, unsigned int cols=0)
 
static std::string numtostr (int i)
 
static std::string numtostr (double d)
 
template<class T >
static void addElementText (xercesc::DOMElement *parent, const MBXMLUtils::FQN &name, const T &value)
 
static void addElementText (xercesc::DOMElement *parent, const MBXMLUtils::FQN &name, double value, double def)
 
static void addElementText (xercesc::DOMElement *parent, const MBXMLUtils::FQN &name, const std::vector< double > &value)
 
static void addElementText (xercesc::DOMElement *parent, const MBXMLUtils::FQN &name, const std::vector< std::vector< double > > &value)
 
template<class T >
static void addAttribute (xercesc::DOMNode *node, std::string name, T value)
 
template<class T >
static void addAttribute (xercesc::DOMNode *node, std::string name, T value, std::string def)
 
- Static Public Member Functions inherited from fmatvec::Atom
static void setCurrentMessageStream (MsgType type, const boost::shared_ptr< bool > &a=boost::make_shared< bool >(true), const boost::shared_ptr< std::ostream > &s=boost::make_shared< std::ostream >(std::cout.rdbuf()))
 
static std::ostream & msgStatic (MsgType type)
 
static bool msgActStatic (MsgType type)
 
- Static Protected Member Functions inherited from OpenMBV::Object
static std::vector< double > toVector (std::string str)
 
static std::vector
< std::vector< double > > 
toMatrix (std::string str)
 

Detailed Description

Class for all bodies extruded along a curve.

Author
Thorsten Schindler

HDF5-Dataset: The HDF5 dataset of this object is a 2D array of double precision values. Each row represents one dataset in time. A row consists of the following columns in order given in world frame (N is the number of spine points): time, spine point 1 x, spine point 1 y, spine point 1 z, spine twist 1, spine point 2 x, spine point 2 y, spine point 2 z, spine twist 2, ..., spine point N x, spine point N y, spine point N z, spine twist N

Member Function Documentation

template<typename T >
void OpenMBV::SpineExtrusion::append ( const T &  row)
inline

Append a data vector to the h5 datsset

void OpenMBV::SpineExtrusion::createHDF5File ( )
protectedvirtual

Write H5 file for time-dependent data.

Reimplemented from OpenMBV::Body.

std::string OpenMBV::SpineExtrusion::getClassName ( )
inlinevirtual

Retrun the class name

Reimplemented from OpenMBV::Body.

std::vector<double> OpenMBV::SpineExtrusion::getInitialRotation ( )
inline

Get the initial rotation of the body.

int OpenMBV::SpineExtrusion::getNumberOfSpinePoints ( )
inline

Get the number of spine points used for extrusion along a path.

std::vector<double> OpenMBV::SpineExtrusion::getRow ( int  i)
inlinevirtual

Get row number i of the default data. NOTE: see also append()

Implements OpenMBV::Body.

int OpenMBV::SpineExtrusion::getRows ( )
inlinevirtual

Get the number of rows of the default data. Returns -1, if no default data is avaliable. NOTE: see also append()

Implements OpenMBV::Body.

void OpenMBV::SpineExtrusion::initializeUsingXML ( xercesc::DOMElement *  element)
virtual

Initializes the time invariant part of the object using a XML node

Reimplemented from OpenMBV::DynamicColoredBody.

void OpenMBV::SpineExtrusion::setContour ( const boost::shared_ptr< std::vector< boost::shared_ptr< PolygonPoint > > > &  contour_)
inline

Set the 2D contour (cross-section) of the extrusion. The contour (polygon) points must be in clockwise order.

void OpenMBV::SpineExtrusion::setInitialRotation ( const std::vector< double > &  initRot)
inline

Set the initial rotation of the body.

void OpenMBV::SpineExtrusion::setInitialRotation ( double  a,
double  b,
double  g 
)
inline

Set the initial rotation of the body.

void OpenMBV::SpineExtrusion::setNumberOfSpinePoints ( const int  num)
inline

Set the number of spine points used for extrusion along a path.

void OpenMBV::SpineExtrusion::setScaleFactor ( const double  scale)
inline

Set the scale factor of the body.

DOMElement * OpenMBV::SpineExtrusion::writeXMLFile ( xercesc::DOMNode *  parent)
virtual

Write XML file for not time-dependent data.

Reimplemented from OpenMBV::DynamicColoredBody.

Member Data Documentation

boost::shared_ptr<std::vector<boost::shared_ptr<PolygonPoint> > > OpenMBV::SpineExtrusion::contour
protected

Vector of local x-y points.

H5::VectorSerie<double>* OpenMBV::SpineExtrusion::data
protected

Each row comprises [time,spine world position,spine twist,...,spine world position,spine twist].

std::vector<double> OpenMBV::SpineExtrusion::initialRotation
protected

Intial rotation of the body.

int OpenMBV::SpineExtrusion::numberOfSpinePoints
protected

Number of spine points used for extrusion along a path.

double OpenMBV::SpineExtrusion::scaleFactor
protected

Scale factor of the body.


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

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML