|
| Object (const std::string &name) |
| constructor
|
|
virtual void | calcSize () |
|
int | getGeneralizedPositionSize () |
|
int | getGeneralizedVelocitySize () |
|
virtual void | updateT () |
|
virtual void | updateh (int j=0) |
|
virtual void | updateM () |
|
virtual void | updatedhdz () |
|
virtual void | updatedq () |
|
virtual void | updatedu () |
|
virtual void | updateud () |
|
virtual void | updateqd () |
|
virtual void | sethSize (int hSize_, int i=0) |
|
int | gethSize (int i=0) const |
|
int | getqSize () const |
|
int | getuSize (int i=0) const |
|
virtual void | calcqSize () |
|
virtual void | calcuSize (int j) |
|
int | getqInd () |
|
int | getuInd (int i=0) |
|
virtual void | setqInd (int qInd_) |
|
virtual void | setuInd (int uInd_, int i=0) |
|
const fmatvec::Vec & | getq () const |
|
const fmatvec::Vec & | getu () const |
|
virtual H5::GroupBase * | getPlotGroup () |
|
void | plot () override |
| plots time dependent data More...
|
|
virtual void | updateqRef (fmatvec::Vec &qRef) |
| references to positions of dynamic system parent More...
|
|
virtual void | updateqdRef (fmatvec::Vec &qdRef) |
| references to differentiated positions of dynamic system parent More...
|
|
virtual void | updatedqRef (fmatvec::Vec &dqRef) |
| references to differentiated positions of dynamic system parent More...
|
|
virtual void | updateuRef (fmatvec::Vec &uRef) |
| references to velocities of dynamic system parent More...
|
|
virtual void | updateuallRef (fmatvec::Vec &uallRef) |
| references to velocities of dynamic system parent More...
|
|
virtual void | updateudRef (fmatvec::Vec &udRef) |
| references to differentiated velocities of dynamic system parent More...
|
|
virtual void | updateduRef (fmatvec::Vec &duRef) |
| references to differentiated velocities of dynamic system parent More...
|
|
virtual void | updateudallRef (fmatvec::Vec &udallRef) |
| references to differentiated velocities of dynamic system parent More...
|
|
virtual void | updatehRef (fmatvec::Vec &hRef, int i=0) |
| references to smooth force vector of dynamic system parent More...
|
|
virtual void | updatedhdqRef (fmatvec::Mat &dhdqRef, int i=0) |
| references to object Jacobian for implicit integration of dynamic system parent regarding positions More...
|
|
virtual void | updatedhduRef (fmatvec::SqrMat &dhduRef, int i=0) |
| references to object Jacobian for implicit integration of dynamic system parent regarding velocities More...
|
|
virtual void | updatedhdtRef (fmatvec::Vec &dhdtRef, int i=0) |
| references to object Jacobian for implicit integration of dynamic system parent regarding time More...
|
|
virtual void | updaterRef (fmatvec::Vec &ref, int i=0) |
| references to nonsmooth force vector of dynamic system parent More...
|
|
virtual void | updaterdtRef (fmatvec::Vec &ref) |
| references to nonsmooth force vector of dynamic system parent More...
|
|
virtual void | updateTRef (fmatvec::Mat &ref) |
| references to linear transformation matrix between differentiated positions and velocities of dynamic system parent More...
|
|
virtual void | updateMRef (fmatvec::SymMat &ref) |
| references to mass matrix of dynamic system parent More...
|
|
virtual void | updateLLMRef (fmatvec::SymMat &ref) |
| references to Cholesky decomposition of dynamic system parent More...
|
|
void | init (InitStage stage, const InitConfigSet &config) override |
| initialize object at start of simulation with respect to contours and frames More...
|
|
virtual void | initz () |
|
virtual void | writez (H5::GroupBase *group) |
| writes its z-Vector to a subgroup of the given group
|
|
virtual void | readz0 (H5::GroupBase *group) |
| reads the z-Vector of a subgroup of the given group
|
|
virtual void | updateLLM () |
| perform Cholesky decomposition of mass martix
|
|
virtual void | setUpInverseKinetics () |
| TODO. More...
|
|
void | setqSize (int qSize_) |
|
void | setuSize (int uSize_, int i=0) |
|
int | getzSize () const |
|
virtual void | sethInd (int hInd_, int i=0) |
|
int | gethInd (int i=0) |
|
const fmatvec::SymMat & | getM (bool check=true) const |
|
fmatvec::SymMat & | getM (bool check=true) |
|
const fmatvec::Vec & | geth (int i=0, bool check=true) const |
|
fmatvec::Vec & | geth (int i=0, bool check=true) |
|
fmatvec::Vec & | getq () |
|
fmatvec::Vec & | getu () |
|
const fmatvec::Vec & | getq0 () const |
|
const fmatvec::Vec & | getu0 () const |
|
fmatvec::Vec & | getq0 () |
|
fmatvec::Vec & | getu0 () |
|
const fmatvec::Mat & | evalT () |
|
const fmatvec::Vec & | evalh (int i=0) |
|
const fmatvec::SymMat & | evalM () |
|
const fmatvec::SymMat & | evalLLM () |
|
const fmatvec::Vec & | evalr (int i=0) |
|
const fmatvec::Vec & | evalrdt () |
|
const fmatvec::Vec & | evalqd () |
|
const fmatvec::Vec & | evalud () |
|
const fmatvec::Vec & | evaludall () |
|
fmatvec::Vec & | getud (bool check=true) |
|
fmatvec::Vec & | getudall (bool check=true) |
|
void | resetUpToDate () override |
|
virtual void | updateGeneralizedPositions () |
|
virtual void | updateGeneralizedVelocities () |
|
virtual void | updateGeneralizedAccelerations () |
|
virtual void | updateDerivativeOfGeneralizedPositions () |
|
const fmatvec::VecV & | evalGeneralizedPosition () |
|
const fmatvec::VecV & | evalGeneralizedVelocity () |
|
const fmatvec::VecV & | evalDerivativeOfGeneralizedPosition () |
|
const fmatvec::VecV & | evalGeneralizedAcceleration () |
|
fmatvec::VecV & | getGeneralizedPosition (bool check=true) |
|
fmatvec::VecV & | getGeneralizedVelocity (bool check=true) |
|
fmatvec::VecV & | getDerivativeOfGeneralizedPosition (bool check=true) |
|
fmatvec::VecV & | getGeneralizedAcceleration (bool check=true) |
|
void | setq (const fmatvec::Vec &q_) |
|
void | setu (const fmatvec::Vec &u_) |
|
bool | hasNonCostantMassMatrix () |
|
void | initializeUsingXML (xercesc::DOMElement *element) override |
|
void | createPlotGroup () override |
| creates the plotGroup for H5-output More...
|
|
| Element (const std::string &name) |
| constructor
|
|
| ~Element () override=default |
| destructor
|
|
void | throwError (const std::string &msg) const |
|
virtual void | setDynamicSystemSolver (DynamicSystemSolver *sys) |
| sets the used dynamics system solver to the element More...
|
|
virtual void | plot () |
| plots time dependent data More...
|
|
virtual void | plotAtSpecialEvent () |
| plots time dependent data at special events More...
|
|
const std::string & | getName () const |
|
void | setName (const std::string &str) |
|
void | setPath (const std::string &str) |
|
DynamicSystemSolver * | getDynamicSystemSolver () |
|
virtual void | init (InitStage stage, const InitConfigSet &config=InitConfigSet()) |
| plots time series header More...
|
|
virtual void | createPlotGroup () |
| creates the plotGroup for H5-output More...
|
|
H5::GroupBase * | getPlotGroup () |
|
virtual H5::GroupBase * | getFramesPlotGroup () |
|
virtual H5::GroupBase * | getContoursPlotGroup () |
|
virtual H5::GroupBase * | getGroupsPlotGroup () |
|
virtual H5::GroupBase * | getObjectsPlotGroup () |
|
virtual H5::GroupBase * | getLinksPlotGroup () |
|
virtual H5::GroupBase * | getConstraintsPlotGroup () |
|
virtual H5::GroupBase * | getObserversPlotGroup () |
|
bool | getPlotFeature (const PlotFeatureEnum &pf) |
|
virtual void | setPlotFeature (const PlotFeatureEnum &pf, bool value) |
| Set a plot feature. More...
|
|
void | setPlotFeatureForChildren (const PlotFeatureEnum &pf, bool value) |
| Set a plot feature for the children of this object. More...
|
|
void | setPlotFeatureRecursive (const PlotFeatureEnum &pf, bool value) |
| Set a plot feature for this object and the children of this object. More...
|
|
template<class T > |
void | setPlotAttribute (const std::string &name, const T &value) |
| Set a plot attribute: static data attached as key/value pairs to the plot datasets/groups.
|
|
void | setPlotAttribute (const std::string &name) |
|
virtual void | initializeUsingXML (xercesc::DOMElement *element) |
|
template<class T > |
T * | getByPath (const std::string &path, bool initialCaller=true) const |
| Get the object of type T represented by the path path. Do not set any argurment other than path!
|
|
std::string | getPath (const Element *relTo=nullptr, std::string sep="/") const |
| Return the path of this object. If relativeTo is not NULL return a relative path to relativeTo. Do not set any argurment other than relTo and sep!
|
|
virtual Element * | getChildByContainerAndName (const std::string &container, const std::string &name) const |
| Get the Element named name in the container named container. More...
|
|
virtual std::shared_ptr< OpenMBV::Group > | getOpenMBVGrp () |
|
virtual std::shared_ptr< OpenMBV::Group > | getFramesOpenMBVGrp () |
|
virtual std::shared_ptr< OpenMBV::Group > | getContoursOpenMBVGrp () |
|
virtual std::shared_ptr< OpenMBV::Group > | getGroupsOpenMBVGrp () |
|
virtual std::shared_ptr< OpenMBV::Group > | getObjectsOpenMBVGrp () |
|
virtual std::shared_ptr< OpenMBV::Group > | getLinksOpenMBVGrp () |
|
virtual std::shared_ptr< OpenMBV::Group > | getConstraintsOpenMBVGrp () |
|
virtual std::shared_ptr< OpenMBV::Group > | getObserversOpenMBVGrp () |
|
virtual Element * | getParent () |
|
virtual const Element * | getParent () const |
|
virtual void | setParent (Element *parent_) |
|
std::vector< Element * > | getDependencies () const |
| checks dependency on other elements. More...
|
|
void | addDependency (Element *ele) |
|
int | computeLevel () |
| computes the length of the pathes in the graph that represents the dependencies between all elements. More...
|
|
virtual void | updatePositions (Frame *frame) |
|
virtual void | updateVelocities (Frame *frame) |
|
virtual void | updateAccelerations (Frame *frame) |
|
virtual void | updateJacobians (Frame *frame, int j=0) |
|
virtual void | updateGyroscopicAccelerations (Frame *frame) |
|
virtual void | resetUpToDate () |
|
const double & | getTime () const |
|
double | getStepSize () const |
|
const MBXMLUtils::DOMEvalException & | getDOMEvalError () const |
|
class for all objects having own dynamics and mass
- Author
- Martin Foerg
- Date
- 2009-03-24 plot energy added (Thorsten Schindler)
-
2009-07-16 splitted link / object right hand side (Thorsten Schindler)
-
2009-07-27 implicit integration improvement (Thorsten Schindler)
-
2009-07-28 splitted interfaces (Thorsten Schindler)
-
2009-12-14 revised inverse kinetics (Martin Foerg)
-
2010-06-20 revision of doxygen comments: add parameter names (Roland Zander)