All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
Public Member Functions | Protected Attributes | Private Attributes | List of all members
MBSim::RigidBodyLink Class Reference
Inheritance diagram for MBSim::RigidBodyLink:
MBSim::Link MBSim::Element fmatvec::Atom MBSim::DualRigidBodyLink MBSim::GeneralizedGear MBSim::GeneralizedConnection MBSim::GeneralizedElasticConnection MBSim::GeneralizedFriction MBSim::GeneralizedKinematicExcitation MBSim::GeneralizedSpringDamper MBSim::GeneralizedAccelerationExcitation MBSim::GeneralizedPositionExcitation MBSim::GeneralizedVelocityExcitation

Public Member Functions

 RigidBodyLink (const std::string &name="")
 
void calclaSize (int j)
 calculates size of contact force parameters
 
void calcgSize (int j)
 calculates size of relative distances
 
void calcgdSize (int j)
 calculates size of gap velocities More...
 
void updateh (int i=0)
 
void updateW (int i=0)
 
void updateg ()
 
void updategd ()
 
virtual void updatePositions ()
 
void updateGeneralizedPositions ()
 
void updateGeneralizedVelocities ()
 
void updateForce ()
 
void updateMoment ()
 
void updateForceDirections ()
 
void updateR ()
 
void updatewb ()
 
const fmatvec::Mat3xV & evalGlobalForceDirection (int i)
 
const fmatvec::Mat3xV & evalGlobalMomentDirection (int i)
 
const fmatvec::Vec3 & evalForce (int i)
 
const fmatvec::Vec3 & evalMoment (int i)
 
const fmatvec::Mat3xV & evalRF (int i)
 
const fmatvec::Mat3xV & evalRM (int i)
 
void updatehRef (const fmatvec::Vec &hParent, int j=0)
 references to complete and link smooth force vector of dynamic system parent
 
void updaterRef (const fmatvec::Vec &hParent, int j=0)
 references to nonsmooth force vector of dynamic system parent
 
void updateWRef (const fmatvec::Mat &WParent, int j=0)
 references to contact force direction matrix of dynamic system parent
 
void updateVRef (const fmatvec::Mat &WParent, int j=0)
 references to condensed contact force direction matrix of dynamic system parent
 
std::string getType () const
 
void init (InitStage stage)
 plots time series header More...
 
void plot ()
 plots time dependent data More...
 
void initializeUsingXML (xercesc::DOMElement *element)
 
void resetUpToDate ()
 
virtual void setSupportFrame (Frame *frame)
 
 BOOST_PARAMETER_MEMBER_FUNCTION ((void), enableOpenMBVForce, tag,(optional(scaleLength,(double), 1)(scaleSize,(double), 1)(referencePoint,(OpenMBV::Arrow::ReferencePoint), OpenMBV::Arrow::toPoint)(diffuseColor,(const fmatvec::Vec3 &),"[-1;1;1]")(transparency,(double), 0)))
 Visualize a force arrow.
 
void setOpenMBVForce (const std::shared_ptr< OpenMBV::Arrow > &arrow)
 
 BOOST_PARAMETER_MEMBER_FUNCTION ((void), enableOpenMBVMoment, tag,(optional(scaleLength,(double), 1)(scaleSize,(double), 1)(referencePoint,(OpenMBV::Arrow::ReferencePoint), OpenMBV::Arrow::toPoint)(diffuseColor,(const fmatvec::Vec3 &),"[-1;1;1]")(transparency,(double), 0)))
 Visualize a moment arrow.
 
void setOpenMBVMoment (const std::shared_ptr< OpenMBV::Arrow > &arrow)
 
- Public Member Functions inherited from MBSim::Element
 Element (const std::string &name)
 constructor
 
virtual ~Element ()
 destructor
 
virtual void initDataInterfaceBase (DynamicSystemSolver *parentds)
 TODO.
 
virtual void setDynamicSystemSolver (DynamicSystemSolver *sys)
 sets the used dynamics system solver to the element 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)
 
DynamicSystemSolvergetDynamicSystemSolver ()
 
virtual void createPlotGroup ()
 creates the plotGroup for H5-output
 
H5::GroupBasegetPlotGroup ()
 
virtual void setPlotFeature (PlotFeature pf, PlotFeatureStatus value)
 Set a plot feature. More...
 
void setPlotFeatureForChildren (PlotFeature pf, PlotFeatureStatus value)
 Set a plot feature for the children of this object. More...
 
void setPlotFeatureRecursive (PlotFeature pf, PlotFeatureStatus value)
 Set a plot feature for this object and the children of this object. More...
 
PlotFeatureStatus getPlotFeature (PlotFeature pf)
 
PlotFeatureStatus getPlotFeatureForChildren (PlotFeature pf)
 
PlotFeatureStatus initializePlotFeatureStatusUsingXML (xercesc::DOMElement *e)
 
PlotFeature initializePlotFeatureUsingXML (xercesc::DOMElement *e)
 
const std::vector
< MBXMLUtils::EmbedDOMLocator > & 
getLocationStack () const
 
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=NULL, 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 ElementgetChildByContainerAndName (const std::string &container, const std::string &name) const
 Get the Element named name in the container named container.
 
virtual std::shared_ptr
< OpenMBV::Group
getOpenMBVGrp ()
 
virtual ElementgetParent ()
 
virtual const ElementgetParent () 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)
 
const double & getTime () const
 
double getStepSize () const
 
- Public Member Functions inherited from fmatvec::Atom
Atomoperator= (const Atom &)
 
void setMessageStreamActive (MsgType type, bool active)
 
void getMessageStream (MsgType type, std::shared_ptr< bool > &a, std::shared_ptr< std::ostream > &s)
 
void adoptMessageStreams (const Atom *src=NULL)
 
std::ostream & msg (MsgType type)
 
bool msgAct (MsgType type)
 

Protected Attributes

std::vector< RigidBody * > body
 
std::vector< double > ratio
 
std::vector
< FloatingRelativeFrame
C
 
bool updPos
 
bool updVel
 
bool updFD
 
bool updF
 
bool updM
 
bool updRMV
 
std::vector< fmatvec::Mat3xV > DF
 
std::vector< fmatvec::Mat3xV > DM
 
std::vector< fmatvec::Vec3 > F
 
std::vector< fmatvec::Vec3 > M
 
std::vector< fmatvec::Mat3xV > RF
 
std::vector< fmatvec::Mat3xV > RM
 
fmatvec::RangeV iF
 
fmatvec::RangeV iM
 
Framesupport
 
std::shared_ptr< OpenMBV::GroupopenMBVForceGrp
 
std::vector< std::shared_ptr
< OpenMBV::Arrow > > 
FArrow
 
std::vector< std::shared_ptr
< OpenMBV::Arrow > > 
MArrow
 
- Protected Attributes inherited from MBSim::Element
Elementparent
 
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.
 
std::vector
< MBXMLUtils::EmbedDOMLocator
locationStack
 
DynamicSystemSolverds
 dynamic system
 
H5::VectorSerie< double > * plotVectorSerie
 time series
 
std::vector< double > plotVector
 one entry of time series
 
std::vector< std::string > plotColumns
 columns of time series
 
H5::GroupBaseplotGroup
 associated plot group
 
std::vector< Element * > dependency
 vector containing all dependencies.
 

Private Attributes

std::string saved_supportFrame
 

Additional Inherited Members

- Public Types inherited from MBSim::Element
enum  PlotFeatureStatus { enabled, disabled, unset }
 Plot feature status. More...
 
enum  PlotFeature {
  plotRecursive =0, separateFilePerGroup, state, stateDerivative,
  notMinimalState, rightHandSide, globalPosition, globalVelocity,
  globalAcceleration, energy, openMBV, generalizedLinkForce,
  linkKinematics, stopVector, debug, LASTPLOTFEATURE
}
 Plot Features. More...
 
enum  InitStage {
  modelBuildup =0, resolveXMLPath, preInit, resize,
  plotting, reorganizeHierarchy, unknownStage, LASTINITSTAGE
}
 The stages of the initialization. More...
 
- Public Types inherited from fmatvec::Atom
enum  MsgType
 
- Static Public Member Functions inherited from MBSim::Element
static double getDouble (xercesc::DOMElement *e)
 
static int getInt (xercesc::DOMElement *e)
 
static bool getBool (xercesc::DOMElement *e)
 
static fmatvec::Vec3 getVec3 (xercesc::DOMElement *e)
 
static fmatvec::Vec getVec (xercesc::DOMElement *e, int rows=0)
 
static fmatvec::Mat3xV getMat3xV (xercesc::DOMElement *e, int cols=0)
 
static fmatvec::Mat getMat (xercesc::DOMElement *e, int rows=0, int cols=0)
 
static fmatvec::SqrMat3 getSqrMat3 (xercesc::DOMElement *e)
 
static fmatvec::SqrMat getSqrMat (xercesc::DOMElement *e, int size=0)
 
static fmatvec::SymMat3 getSymMat3 (xercesc::DOMElement *e)
 
static fmatvec::SymMat getSymMat (xercesc::DOMElement *e, int size=0)
 
- Static Public Member Functions inherited from fmatvec::Atom
static void setCurrentMessageStream (MsgType type, const std::shared_ptr< bool > &a=std::make_shared< bool >(true), const std::shared_ptr< std::ostream > &s=std::make_shared< std::ostream >(std::cout.rdbuf()))
 
static std::ostream & msgStatic (MsgType type)
 
static bool msgActStatic (MsgType type)
 
- Protected Member Functions inherited from MBSim::Element
void updatePlotFeatures ()
 
- Protected Member Functions inherited from fmatvec::Atom
 Atom (const Atom &src)
 

Member Function Documentation

void MBSim::RigidBodyLink::calcgdSize ( int  j)
inlinevirtual

calculates size of gap velocities

Parameters
flagto decide which contacts are included in the calculation

see SingleContact for the implementation and DynamicSystem for explanation

Reimplemented from MBSim::Link.

std::string MBSim::RigidBodyLink::getType ( ) const
inlinevirtual
Returns
std::string representation

Reimplemented from MBSim::Link.

void MBSim::RigidBodyLink::init ( InitStage  stage)
virtual

plots time series header

Parameters
invocingparent class

Reimplemented from MBSim::Link.

void MBSim::RigidBodyLink::plot ( )
virtual

plots time dependent data

Parameters
simulationtime
simulationtime step size for derivative calculation

Reimplemented from MBSim::Link.


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

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML