20 #ifndef _FIXED_RELATIVE_FRAME_H__
21 #define _FIXED_RELATIVE_FRAME_H__
23 #include "mbsim/frames/frame.h"
34 FixedRelativeFrame(
const std::string &
name =
"dummy",
const fmatvec::Vec3 &r=fmatvec::Vec3(),
const fmatvec::SqrMat3 &A=fmatvec::SqrMat3(fmatvec::EYE),
Frame *refFrame=0) :
Frame(
name), R(refFrame), RrRP(r), ARP(A) {
37 std::string
getType()
const {
return "FixedRelativeFrame"; }
41 void setRelativePosition(
const fmatvec::Vec3 &r) { RrRP = r; }
42 void setRelativeOrientation(
const fmatvec::SqrMat3 &A) { ARP = A; }
43 void setFrameOfReference(
Frame *frame) { R = frame; }
44 void setFrameOfReference(
const std::string &frame) { saved_frameOfReference = frame; }
46 const fmatvec::Vec3& getRelativePosition()
const {
return RrRP; }
47 const fmatvec::SqrMat3& getRelativeOrientation()
const {
return ARP; }
48 const Frame* getFrameOfReference()
const {
return R; }
50 const fmatvec::Vec3& evalGlobalRelativePosition() {
if(updPos) updatePositions();
return WrRP; }
52 void updatePositions();
53 void updateVelocities();
54 void updateAccelerations();
55 void updateJacobians(
int j=0);
56 void updateGyroscopicAccelerations();
58 virtual void initializeUsingXML(xercesc::DOMElement *element);
62 fmatvec::Vec3 RrRP, WrRP;
64 std::string saved_frameOfReference;
virtual void init(InitStage stage)
plots time series header
Definition: fixed_relative_frame.cc:30
cartesian frame on rigid bodies
Definition: fixed_relative_frame.h:31
InitStage
The stages of the initialization.
Definition: element.h:97
std::string name
name of element
Definition: element.h:298
cartesian frame on bodies used for application of e.g. links and loads
Definition: frame.h:37
std::string getType() const
Definition: fixed_relative_frame.h:37
Frame(const std::string &name="dummy")
constructor
Definition: frame.cc:36