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_SO_BODY_H
28 #define RL_SG_SO_BODY_H
29 
30 #include <Inventor/VRMLnodes/SoVRMLTransform.h>
31 
32 #include "../Body.h"
33 
34 namespace rl
35 {
36  namespace sg
37  {
38  namespace so
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  void add(::rl::sg::Shape* shape);
50 
51  ::rl::sg::Shape* create(::SoVRMLShape* shape);
52 
53  void getFrame(::rl::math::Transform& frame);
54 
55  ::std::string getName() const;
56 
57  void remove(::rl::sg::Shape* shape);
58 
60 
61  void setName(const ::std::string& name);
62 
63  ::SoVRMLTransform* root;
64 
65  protected:
66 
67  private:
68 
69  };
70  }
71  }
72 }
73 
74 #endif // RL_SG_SO_BODY_H
rl::math::Transform
::Eigen::Transform< Real, 3, ::Eigen::Affine > Transform
Rigid transformation in 3D.
Definition: Transform.h:46
rl::sg::so::Body::setFrame
void setFrame(const ::rl::math::Transform &frame)
Definition: Body.cpp:114
rl::sg::Body::model
Model * model
Definition: Body.h:90
rl::sg::so::Body::getFrame
void getFrame(::rl::math::Transform &frame)
Definition: Body.cpp:79
rl::sg::so::Model
Definition: Model.h:41
rl::sg::Body
Definition: Body.h:45
rl::sg::so::Body::~Body
virtual ~Body()
Definition: Body.cpp:52
rl::sg::so::Body::create
::rl::sg::Shape * create(::SoVRMLShape *shape)
Definition: Body.cpp:73
rl::sg::so::Body
Definition: Body.h:43
rl::sg::so::Body::root
::SoVRMLTransform * root
Definition: Body.h:63
rl::sg::so::Body::add
void add(::rl::sg::Shape *shape)
Definition: Body.cpp:65
rl::sg::Body::name
::std::string name
Definition: Body.h:95
rl::sg::so::Body::setName
void setName(const ::std::string &name)
Definition: Body.cpp:130
rl::sg::so::Body::remove
void remove(::rl::sg::Shape *shape)
Definition: Body.cpp:106
rl::sg::Shape
Definition: Shape.h:41
rl::sg::so::Body::Body
Body(Model *model)
Definition: Body.cpp:42
rl::sg::so::Body::getName
::std::string getName() const
Definition: Body.cpp:100
rl
Robotics Library.
Definition: AnalogInput.cpp:30