|
openmbvcppinterface
3.1.0
OpenMBV C++ Interface
|
#include <coilspring.h>
Public Types | |
| enum | Type { tube , scaledTube , polyline , tubeShader } |
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< Float > | 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 | setUpdateNormals (bool f) |
| bool | getUpdateNormals () |
| 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 () |
| void | initializeUsingXML (xercesc::DOMElement *element) override |
| xercesc::DOMElement * | writeXMLFile (xercesc::DOMNode *parent) override |
| virtual int | getRows ()=0 |
| virtual std::vector< Float > | getRow (int i)=0 |
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 () |
| virtual void | initializeUsingXML (xercesc::DOMElement *element) |
| virtual xercesc::DOMElement * | writeXMLFile (xercesc::DOMNode *parent) |
| 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 |
| void | createHDF5File () override |
| void | openHDF5File () override |
| virtual void | createHDF5File ()=0 |
| virtual void | openHDF5File ()=0 |
Protected Attributes | |
| H5::VectorSerie< Float > * | data {nullptr} |
| double | springRadius {1} |
| double | crossSectionRadius {-1} |
| double | scaleFactor {1} |
| double | numberOfCoils {3} |
| double | nominalLength {-1} |
| Type | type {tube} |
| bool | updateNormals { true } |
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 |
A coil spring
HDF5-Dataset: The HDF5 dataset of this object is a 2D array of single or 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
|
overrideprotectedvirtual |
Reimplemented from OpenMBV::Body.
|
inlineoverridevirtual |
Get row number i of the default data. NOTE: see also append()
Implements OpenMBV::Body.
|
inlineoverridevirtual |
Get the number of rows of the default data. Returns 0, if no default data is avaliable. NOTE: see also append()
Implements OpenMBV::Body.
|
overridevirtual |
Initializes the time invariant part of the object using a XML node
Reimplemented from OpenMBV::Body.
|
overrideprotectedvirtual |
Reimplemented from OpenMBV::Body.
|
inline |
The radius of the coil spring cross-section if type=tube, type=tubeShader 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: its the length at row 0, if at least 1 row exists.
|
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; "tubeShader": The same as tube but with improved performance using shaders. see also spineexterusion cardanWrtWorldShader.
|
inline |
If true, the default, the normal vectors (and, of course the points) are update at each frame. If false, the normal vectors are only updated at the very first call but ever again. This option is only relevant for type=tube and false leads to faster rendering.
|
overridevirtual |
Reimplemented from OpenMBV::Body.