openmbvcppinterface 3.1.0 OpenMBV C++ Interface

Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
OpenMBV::CoilSpring Class Reference

`#include <coilspring.h>`

Inheritance diagram for OpenMBV::CoilSpring:
[legend]

## Public Types

enum | Type { tube, scaledTube, polyline }
Public Types inherited from OpenMBV::Body
enum | DrawStyle { filled, lines, points }

## Public Member Functions

template<typename T >
void | append (const T &row)
int | getRows () override
std::vector< double > | getRow (int i) override
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 ()
void | initializeUsingXML (xercesc::DOMElement *element) override
xercesc::DOMElement * | writeXMLFile (xercesc::DOMNode *parent) override
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 ()
void | initializeUsingXML (xercesc::DOMElement *element) override
xercesc::DOMElement * | writeXMLFile (xercesc::DOMNode *parent) override
Public Member Functions inherited from OpenMBV::Body
void | setOutLine (bool ol)
bool | getOutLine ()
void | setShilouetteEdge (bool ol)
bool | getShilouetteEdge ()
void | setDrawMethod (DrawStyle ds)
DrawStyle | getDrawMethod ()
void | setPointSize (double ps)
double | getPointSize ()
void | setLineWidth (double lw)
double | getLineWidth ()
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 ()
void | setEnvironment (bool env)
bool | getEnvironment ()
std::shared_ptr< Group > | getTopLevelGroup ()
std::weak_ptr< Group > | getParent ()
H5::GroupBase * | getHDF5Group ()
std::string | getID () const
void | setID (std::string ID_)

## Protected Member Functions

void | createHDF5File () override
void | openHDF5File () override

## Protected Attributes

H5::VectorSerie< double > * | data {nullptr}
double | springRadius {1}
double | crossSectionRadius {-1}
double | scaleFactor {1}
double | numberOfCoils {3}
double | nominalLength {-1}
Type | type {tube}
Protected Attributes inherited from OpenMBV::DynamicColoredBody
double | minimalColorValue {0}
double | maximalColorValue {1}
double | dynamicColor
std::vector< double > | diffuseColor
double | transparency {0}
Protected Attributes inherited from OpenMBV::Body
std::string | outLineStr
std::string | shilouetteEdgeStr
DrawStyle | drawMethod {filled}
double | pointSize {0}
double | lineWidth {0}
Protected Attributes inherited from OpenMBV::Object
std::string | name
std::string | enableStr
std::string | boundingBoxStr
std::string | ID
std::string | environmentStr
std::weak_ptr< Group > | parent
H5::GroupBase * | hdf5Group {nullptr}
std::string | fullName

## Friends

class | ObjectFactory

## Detailed Description

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

## Member Function Documentation

## ◆ getRow()

std::vector<double> OpenMBV::CoilSpring::getRow | ( | int | i | ) |

inline override virtual

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

Implements OpenMBV::Body.

## ◆ getRows()

int OpenMBV::CoilSpring::getRows | ( |  | ) |

inline override virtual

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

Implements OpenMBV::Body.

## ◆ initializeUsingXML()

void OpenMBV::CoilSpring::initializeUsingXML | ( | xercesc::DOMElement * | element | ) |

override virtual

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

Reimplemented from OpenMBV::Body.

## ◆ setCrossSectionRadius()

void OpenMBV::CoilSpring::setCrossSectionRadius | ( | double | radius | ) |

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.

## ◆ setNominalLength()

void OpenMBV::CoilSpring::setNominalLength | ( | double | l | ) |

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.

## ◆ setType()

void OpenMBV::CoilSpring::setType | ( | Type | t | ) |

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;

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

- /mbsim-env/openmbv/openmbvcppinterface/openmbvcppinterface/coilspring.h
- /mbsim-env/openmbv/openmbvcppinterface/openmbvcppinterface/coilspring.cc