23 #include <mbsim/object.h>
24 #ifdef HAVE_OPENMBVCPPINTERFACE
65 void setInitialGeneralizedPosition(
const fmatvec::Vec &q0_) {
q0 = q0_; }
66 void setInitialGeneralizedVelocity(
const fmatvec::Vec &u0_) { u0 = u0_; }
67 void setInitialGeneralizedPosition(
double q0_) {
q0 =
fmatvec::Vec(1,fmatvec::INIT,q0_); }
68 void setInitialGeneralizedVelocity(
double u0_) { u0 =
fmatvec::Vec(1,fmatvec::INIT,u0_); }
71 void sethSize(
int hSize_,
int i=0);
72 void sethInd(
int hInd_,
int i=0);
76 virtual void plot(
double t,
double dt = 1);
78 virtual std::string
getType()
const {
return "Body"; }
100 virtual Frame*
getFrame(
const std::string &name,
bool check=
true)
const;
119 const std::vector<Frame*>& getFrames()
const {
return frame; }
120 const std::vector<Contour*>& getContours()
const {
return contour; }
121 #ifdef HAVE_OPENMBVCPPINTERFACE
122 boost::shared_ptr<OpenMBV::Group> getOpenMBVGrp() {
return openMBVGrp; }
123 boost::shared_ptr<OpenMBV::Body>& getOpenMBVBody() {
return openMBVBody; }
139 virtual void initializeUsingXML(xercesc::DOMElement *element);
140 virtual xercesc::DOMElement* writeXMLFile(xercesc::DOMNode *element);
144 fmatvec::Mat3xV& getPJT(
int i=0) {
return PJT[i];}
145 fmatvec::Mat3xV& getPJR(
int i=0) {
return PJR[i];}
146 int getuRelSize(
int i=0)
const {
return nu[i];}
163 std::vector<Contour*> contour;
173 fmatvec::Mat3xV
PJT[2], PJR[2];
177 #ifdef HAVE_OPENMBVCPPINTERFACE
178 boost::shared_ptr<OpenMBV::Body> openMBVBody;
179 boost::shared_ptr<OpenMBV::Group> openMBVGrp;
183 std::string saved_frameOfReference;
virtual void setFrameOfReference(Frame *frame)
Definition: body.h:115
virtual ~Body()
destructor
Definition: body.cc:42
virtual void closePlot()
closes plot file
Definition: body.cc:78
int contourIndex(const Contour *contour_) const
Definition: body.cc:194
Vector< Ref, double > Vec
virtual void plot(double t, double dt=1)
plots time dependent data
Definition: body.cc:67
solver interface for modelling and simulation of dynamic systems
Definition: dynamic_system_solver.h:49
virtual void init(InitStage stage)
initialize object at start of simulation with respect to contours and frames
Definition: body.cc:98
basic class for contour definition for rigid (which do not know about their shape) and flexible (they...
Definition: contour.h:51
virtual Frame * getFrame(const std::string &name, bool check=true) const
Definition: body.cc:172
fmatvec::Mat3xV PJT[2]
Definition: body.h:173
Frame * R
frame of reference of the object
Definition: body.h:168
virtual Contour * getContour(const std::string &name, bool check=true) const
Definition: body.cc:158
InitStage
The stages of the initialization.
Definition: element.h:97
virtual Element * getChildByContainerAndName(const std::string &container, const std::string &name) const
Get the Element named name in the container named container.
Definition: body.cc:225
std::string name
name of element
Definition: element.h:290
std::vector< Frame * > frame
vector of frames and contours
Definition: body.h:162
cartesian frame on bodies used for application of e.g. links and loads
Definition: frame.h:39
Body(const std::string &name)
constructor
Definition: body.cc:38
int frameIndex(const Frame *frame_) const
Definition: body.cc:186
virtual void addContour(Contour *contour)
Definition: body.cc:140
virtual void setDynamicSystemSolver(DynamicSystemSolver *sys)
sets the used dynamics system solver to the element
Definition: body.cc:89
virtual std::string getType() const
Definition: body.h:78
virtual const Frame * getFrameOfReference() const
Definition: body.h:110
virtual Frame * getFrameOfReference()
Definition: body.h:105
Element(const std::string &name)
constructor
Definition: element.cc:44
virtual void addFrame(Frame *frame)
Definition: body.cc:149
base class for all mechanical bodies with mass and generalised coordinates
Definition: body.h:52
class for all objects having own dynamics and mass
Definition: object.h:42
fmatvec::Vec q0
initial position, velocity
Definition: object.h:315