Robotics Library  0.7.0
Body.h
Go to the documentation of this file.
1 //
2 // Copyright (c) 2009, Markus Rickert
3 // All rights reserved.
4 //
5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are met:
7 //
8 // * Redistributions of source code must retain the above copyright notice,
9 // this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above copyright notice,
11 // this list of conditions and the following disclaimer in the documentation
12 // and/or other materials provided with the distribution.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
18 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24 // POSSIBILITY OF SUCH DAMAGE.
25 //
26 
27 #ifndef RL_SG_ODE_BODY_H
28 #define RL_SG_ODE_BODY_H
29 
30 #include <ode/ode.h>
31 
32 #include "../Body.h"
33 
34 namespace rl
35 {
36  namespace sg
37  {
38  namespace ode
39  {
40  class Model;
41 
42  class Body : public ::rl::sg::Body
43  {
44  public:
45  Body(Model* model);
46 
47  virtual ~Body();
48 
49  ::rl::sg::Shape* create(::SoVRMLShape* shape);
50 
51  void getFrame(::rl::math::Transform& frame);
52 
54 
55  ::dBodyID body;
56 
57  ::dSpaceID space;
58 
59  protected:
60 
61  private:
62 
63  };
64  }
65  }
66 }
67 
68 #endif // RL_SG_ODE_BODY_H
rl::sg::ode::Body::getFrame
void getFrame(::rl::math::Transform &frame)
Definition: Body.cpp:66
rl::math::Transform
::Eigen::Transform< Real, 3, ::Eigen::Affine > Transform
Rigid transformation in 3D.
Definition: Transform.h:46
rl::sg::ode::Body::space
::dSpaceID space
Definition: Body.h:57
rl::sg::Body::model
Model * model
Definition: Body.h:90
rl::sg::ode::Body
Definition: Body.h:43
rl::sg::ode::Body::body
::dBodyID body
Definition: Body.h:55
rl::sg::Body
Definition: Body.h:45
rl::sg::ode::Body::~Body
virtual ~Body()
Definition: Body.cpp:46
rl::sg::ode::Body::setFrame
void setFrame(const ::rl::math::Transform &frame)
Definition: Body.cpp:86
rl::sg::Shape
Definition: Shape.h:41
rl::sg::ode::Body::Body
Body(Model *model)
Definition: Body.cpp:38
rl::sg::ode::Body::create
::rl::sg::Shape * create(::SoVRMLShape *shape)
Definition: Body.cpp:60
rl::sg::ode::Model
Definition: Model.h:43
rl
Robotics Library.
Definition: AnalogInput.cpp:30