All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
rigid_body_observer.h
1 /* Copyright (C) 2004-2015 MBSim Development Team
2  *
3  * This library is free software; you can redistribute it and/or
4  * modify it under the terms of the GNU Lesser General Public
5  * License as published by the Free Software Foundation; either
6  * version 2.1 of the License, or (at your option) any later version.
7  *
8  * This library is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11  * Lesser General Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public
14  * License along with this library; if not, write to the Free Software
15  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16  *
17  * Contact: martin.o.foerg@gmail.com
18  */
19 
20 #ifndef _RIGID_BODY_OBSERVER_H__
21 #define _RIGID_BODY_OBSERVER_H__
22 #include "mbsim/observers/observer.h"
23 
24 #include <mbsim/utils/openmbv_utils.h>
25 namespace OpenMBV {
26  class Frame;
27 }
28 
29 namespace MBSim {
30  class RigidBody;
31  class Frame;
32 
33  class RigidBodyObserver: public Observer {
34  private:
35  RigidBody* body;
36  std::shared_ptr<OpenMBV::Group> openMBVGrp;
37  std::shared_ptr<OpenMBV::Arrow> openMBVAxisOfRotation;
38 
39  public:
40  RigidBodyObserver(const std::string &name);
41  void setRigidBody(RigidBody *body_) { body = body_; }
42 
43  void init(InitStage stage);
44  virtual void plot();
45 
46 // BOOST_PARAMETER_MEMBER_FUNCTION( (void), enableOpenMBVAxisOfRotation, tag, (optional (diffuseColor,(const fmatvec::Vec3&),"[-1;1;1]")(transparency,(double),0)(referencePoint,(OpenMBV::Arrow::ReferencePoint),OpenMBV::Arrow::fromPoint)(scaleLength,(double),1)(scaleSize,(double),1))) { openMBVAxisOfRotation=enableOpenMBVArrow(diffuseColor,transparency,OpenMBV::Arrow::toHead,referencePoint,scaleLength,scaleSize); }
47 
48  };
49 
50 }
51 
52 #endif
53 
Definition: rigid_body_observer.h:33
void init(InitStage stage)
plots time series header
Definition: rigid_body_observer.cc:38
InitStage
The stages of the initialization.
Definition: element.h:97
virtual void plot()
plots time dependent data
Definition: rigid_body_observer.cc:56
std::string name
name of element
Definition: element.h:298
Definition: observer.h:26
rigid bodies with arbitrary kinematics
Definition: rigid_body.h:52

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML