openmbvcppinterface
3.1.0
OpenMBV C++ Interface
|
Abstract base class for all rigid bodies. More...
#include <rigidbody.h>
Public Member Functions | |
void | setLocalFrame (bool f) |
bool | getLocalFrame () |
void | setReferenceFrame (bool f) |
bool | getReferenceFrame () |
void | setPath (bool p) |
bool | getPath () |
void | setDragger (bool p) |
bool | getDragger () |
void | setInitialTranslation (const std::vector< double > &initTrans) |
std::vector< double > | getInitialTranslation () |
void | setInitialTranslation (double x, double y, double z) |
void | setInitialRotation (const std::vector< double > &initRot) |
std::vector< double > | getInitialRotation () |
void | setInitialRotation (double a, double b, double g) |
void | setScaleFactor (double scale) |
double | getScaleFactor () |
template<typename T > | |
void | append (const T &row) |
int | getRows () override |
std::vector< double > | getRow (int i) override |
void | initializeUsingXML (xercesc::DOMElement *element) override |
xercesc::DOMElement * | writeXMLFile (xercesc::DOMNode *parent) override |
std::string | getFullName () override |
std::shared_ptr< Group > | getTopLevelGroup () |
std::weak_ptr< CompoundRigidBody > | getCompound () |
![]() | |
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 |
![]() | |
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< double > | getRow (int i)=0 |
![]() | |
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 | |
std::string | localFrameStr |
std::string | referenceFrameStr |
std::string | pathStr |
std::string | draggerStr |
std::vector< double > | initialTranslation {3} |
std::vector< double > | initialRotation {3} |
double | scaleFactor {1} |
H5::VectorSerie< double > * | data {nullptr} |
std::weak_ptr< CompoundRigidBody > | compound |
![]() | |
double | minimalColorValue {0} |
double | maximalColorValue {1} |
double | dynamicColor |
std::vector< double > | diffuseColor |
double | transparency {0} |
![]() | |
std::string | outLineStr |
std::string | shilouetteEdgeStr |
DrawStyle | drawMethod {filled} |
double | pointSize {0} |
double | lineWidth {0} |
![]() | |
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 | CompoundRigidBody |
Additional Inherited Members | |
![]() | |
enum | DrawStyle { filled , lines , points } |
Abstract base class for all rigid bodies.
Each rigid body has a body fixed local coordinate system L and a reference coordinate system R which has a fixed relative position and rotation with respect to L (see figure). And there is a inertial fixed world coordinate system W.
The fixed translation from system R to system L is given by the vector initialTranslation \([_R x_B, _R y_B, _R z_B]^T\) which coordinates are given in system R.
The fixed rotation between the systems R and L is given by the vector initialRotation \([\alpha_B, \beta_B, \gamma_B]^T\) which are the kardan angles of the transformation matrix
\[ A_{RL}= \textrm{cardan}(\alpha_B, \beta_B, \gamma_B) \]
from system L to system R.
The time dependend translation between the systems W and R is given in the HDF5 dataset by the vector \( [_W x_P, _W y_P, _W z_P]^T=_W r_P \) which coordinates are given in system W.
The time dependend rotation between the systems W and R is given in the HDF5 dataset by the vector \( [\alpha_P, \beta_P, \gamma_P] \) which are the kardan angles of the transformation matrix
\[ A_{WR}= \textrm{cardan}(\alpha_P, \beta_P, \gamma_P) \]
from system R to system W.
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: time, \( _W x_P \), \( _W y_P \), \( _W z_P \), \( \alpha_P \), \( \beta_P \), \( \gamma_P \), color
|
inline |
Append a data vector the the h5 datsset
|
overrideprotectedvirtual |
Reimplemented from OpenMBV::Body.
|
overridevirtual |
Returns the full name (path) of the object
Reimplemented from OpenMBV::Object.
|
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::DynamicColoredBody.
Reimplemented in OpenMBV::Rotation, and OpenMBV::Sphere.
|
overrideprotectedvirtual |
Reimplemented from OpenMBV::Body.
|
inline |
Draw dragger of this object in the viewer if true (default: false)
|
inline |
Set initial rotation between the local frame of the body and the reference frame. Use cardan angles to represent the transformation matrix
|
inline |
Set initial rotation between the local frame of the body and the reference frame. Use cardan angles to represent the transformation matrix
|
inline |
Set initial translaton between the local frame of the body and the reference frame
|
inline |
Set initial translaton between the local frame of the body and the reference frame
|
inline |
Draw local frame of this object in the viewer if true (the default)
|
inline |
Draw path of this object in the viewer if true (the default)
|
inline |
Draw reference frame of this object in the viewer if true (the default)
|
inline |
Set the scale factor of the body
|
overridevirtual |
Reimplemented from OpenMBV::DynamicColoredBody.