#include <coilspring.h>
Public Types | |
enum | Type { tube, scaledTube, polyline } |
![]() | |
enum | DrawStyle { filled, lines, points } |
![]() | |
enum | MsgType |
Public Member Functions | |
std::string | getClassName () |
template<typename T > | |
void | append (const T &row) |
int | getRows () |
std::vector< double > | getRow (int i) |
void | setSpringRadius (double radius) |
double | getSpringRadius () |
void | setCrossSectionRadius (double radius) |
double | getCrossSectionRadius () |
void | setScaleFactor (double scale) |
double | getScaleFactor () |
void | setNumberOfCoils (double nr) |
double | getNumberOfCoils () |
void | setNominalLength (double l) |
double | getNominalLength () |
void | setType (Type t) |
Type | getType () |
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 () |
xercesc::DOMElement * | writeXMLFile (xercesc::DOMNode *parent) |
![]() | |
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 | |
H5::VectorSerie< double > * | data |
double | springRadius |
double | crossSectionRadius |
double | scaleFactor |
double | numberOfCoils |
double | nominalLength |
Type | type |
![]() | |
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 | |
![]() | |
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) |
A coil spring
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: time, "from" point x, "from" point y, "from" point z, "to" point x, "to" point y, "to" point z, color
|
inlinevirtual |
Retrun the class name
Reimplemented from OpenMBV::Body.
|
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 |
The radius of the coil spring cross-section if type=tube or type=scaledTube. If type=polyline this parameter defines the point size of the polyline. If crossSectionRadius is less then 0, the cross-section radius is choosen automatically.
|
inline |
Set the nominal length of the coil spring. This parameter is only usefull, if type=scaledTube: in this case the cross-section of the coil is an exact circle if the spring length is nominalLength. In all other cases the cross-section scales with the spring length and is getting a ellipse. If nominalLength is less than 0, the nominalLength is choosen automatically.
|
inline |
The type of the coil spring. "tube": The coil spring geometry is an extrusion of a circle along the spring center line; "scaledTube": The coil spring geometry is an extrusion of a circle along the spring center line with a spring length of nominalLength. This geometry is scaled as a whole for each other spring length. This type is much faster than "tube"; "polyline": The coil spring geometry is a polyline representing the the spring center line. this is the faster spring visualisation;