mbsim
4.0.0
MBSim Kernel
|
Class for constraints between generalized coordinates of objects. More...
#include <constraint.h>
Public Member Functions | |
Constraint (const std::string &name) | |
virtual void | updateGeneralizedCoordinates () |
virtual void | updateGeneralizedJacobians (int j=0) |
virtual void | updatedx () |
virtual void | updatexd () |
virtual void | calcxSize () |
const fmatvec::Vec & | getx () const |
fmatvec::Vec & | getx () |
int | getxInd () |
virtual void | setxInd (int xInd_) |
int | getxSize () const |
int | getisInd () |
virtual void | setisInd (int isInd_) |
int | getisSize () |
virtual void | updatexRef (fmatvec::Vec &xParent) |
virtual void | updatexdRef (fmatvec::Vec &xdParent) |
virtual void | updatedxRef (fmatvec::Vec &dxParent) |
virtual void | calcisSize () |
virtual void | aboutToUpdateInternalState () |
virtual void | postprocessing () |
virtual void | initz () |
virtual void | writez (H5::GroupBase *group) |
virtual void | readz0 (H5::GroupBase *group) |
virtual void | setUpInverseKinetics () |
std::shared_ptr< OpenMBV::Group > | getOpenMBVGrp () override |
bool | getUpdateGeneralizedCoordinates () const |
bool | getUpdateGeneralizedJacobians () const |
virtual void | updateInternalStateRef (fmatvec::Vec &cur, fmatvec::Vec &next) |
void | resetUpToDate () override |
const fmatvec::Vec & | evalxd () |
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 |
Protected Attributes | |
fmatvec::Vec | x |
order one parameters | |
fmatvec::Vec | xd |
differentiated order one parameters | |
fmatvec::Vec | dx |
fmatvec::Vec | x0 |
order one initial value | |
fmatvec::Vec | curis |
fmatvec::Vec | nextis |
int | xSize |
size and local index of order one parameters | |
int | xInd |
int | isSize |
int | isInd |
bool | updGC |
bool | updGJ |
![]() | |
Element * | parent { nullptr } |
std::string | name |
name of element | |
std::string | path |
The path of this object. Is set during the init stage reorganizeHierarchy. Before this the path is calculated dynamically using getPath() after this stage getPath just returns this value. | |
MBXMLUtils::DOMEvalException | domEvalError |
Special XML helper variable. | |
DynamicSystemSolver * | ds { nullptr } |
dynamic system | |
H5::VectorSerie< double > * | plotVectorSerie { nullptr } |
time series | |
std::vector< double > | plotVector |
one entry of time series | |
std::vector< std::string > | plotColumns |
columns of time series | |
H5::GroupBase * | plotGroup { nullptr } |
associated plot group | |
std::vector< Element * > | dependency |
vector containing all dependencies. | |
PlotFeatureMap | plotFeature |
plot feature | |
PlotFeatureMap | plotFeatureForChildren |
std::map< std::string, std::variant< std::monostate, int, double, std::string, std::vector< int >, std::vector< double >, std::vector< std::vector< double > > > > | plotAttribute |
Additional Inherited Members | |
![]() | |
enum | InitStage { resolveStringRef =0 , preInit , plotting , unknownStage , LASTINITSTAGE } |
The stages of the initialization. More... | |
![]() | |
void | updatePlotFeatures () |
void | addToPlot (const std::string &name) |
void | addToPlot (const std::string &name, int size) |
void | addToPlot (const std::string &name, const std::vector< std::string > &iname) |
template<class AT > | |
void | plot (const AT &x) |
template<class Type , class AT > | |
void | plot (const fmatvec::Vector< Type, AT > &x) |
Class for constraints between generalized coordinates of objects.
|
inlinevirtual |
This function is called just before the internal state vector gets updated. This means that the internal state is still at its old value when this function is called but get updated immediately afterwards. You can use this function to do actions which should only be done at valid integrator states (but not at integrates states which may be rejected later on).
|
overridevirtual |
creates the plotGroup for H5-output
Reimplemented from MBSim::Element.
|
inlineoverridevirtual |
Reimplemented from MBSim::Element.
|
inlineoverridevirtual |
Reimplemented from MBSim::Element.