Class for all bodies extruded along a curve. More...
#include <spineextrusion.h>
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) |
![]() | |
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 () |
![]() | |
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 () |
![]() | |
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< Group > | getSeparateGroup () |
boost::shared_ptr< Group > | getTopLevelGroup () |
boost::weak_ptr< Group > | getParent () |
H5::GroupBase * | getHDF5Group () |
std::string | getID () const |
void | setID (std::string ID_) |
bool | getSelected () const |
void | setSelected (bool selected_) |
![]() | |
Atom & | operator= (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 () |
![]() | |
void | terminate () |
![]() | |
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 |
![]() | |
double | minimalColorValue |
double | maximalColorValue |
double | dynamicColor |
std::vector< double > | diffuseColor |
double | transparency |
![]() | |
std::string | outLineStr |
std::string | shilouetteEdgeStr |
DrawStyle | drawMethod |
boost::shared_ptr< Body > | hdf5LinkBody |
std::string | hdf5LinkStr |
![]() | |
std::string | name |
std::string | enableStr |
std::string | boundingBoxStr |
std::string | ID |
bool | selected |
boost::weak_ptr< Group > | parent |
H5::GroupBase * | hdf5Group |
Friends | |
class | ObjectFactory |
Additional Inherited Members | |
![]() | |
enum | DrawStyle { filled, lines, points } |
![]() | |
enum | MsgType |
![]() | |
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 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 std::vector< double > | toVector (std::string str) |
static std::vector < std::vector< double > > | toMatrix (std::string str) |
Class for all bodies extruded along a curve.
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
|
inline |
Append a data vector to the h5 datsset
|
protectedvirtual |
Write H5 file for time-dependent data.
Reimplemented from OpenMBV::Body.
|
inlinevirtual |
Retrun the class name
Reimplemented from OpenMBV::Body.
|
inline |
Get the initial rotation of the body.
|
inline |
Get the number of spine points used for extrusion along a path.
|
inlinevirtual |
Get row number i of the default data. NOTE: see also append()
Implements OpenMBV::Body.
|
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.
|
virtual |
Initializes the time invariant part of the object using a XML node
Reimplemented from OpenMBV::DynamicColoredBody.
|
inline |
Set the 2D contour (cross-section) of the extrusion. The contour (polygon) points must be in clockwise order.
|
inline |
Set the initial rotation of the body.
|
inline |
Set the initial rotation of the body.
|
inline |
Set the number of spine points used for extrusion along a path.
|
inline |
Set the scale factor of the body.
|
virtual |
Write XML file for not time-dependent data.
Reimplemented from OpenMBV::DynamicColoredBody.
|
protected |
Vector of local x-y points.
|
protected |
Each row comprises [time,spine world position,spine twist,...,spine world position,spine twist].
|
protected |
Intial rotation of the body.
|
protected |
Number of spine points used for extrusion along a path.
|
protected |
Scale factor of the body.