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_FCL_BODY_H
28 #define RL_SG_FCL_BODY_H
29 
30 #include <fcl/collision.h>
31 #include <fcl/broadphase/broadphase.h>
32 
33 #include "../Body.h"
34 
35 namespace rl
36 {
37  namespace sg
38  {
39  namespace fcl
40  {
41  class Model;
42 
43  class Body : public ::rl::sg::Body
44  {
45  public:
46  Body(Model* model);
47 
48  virtual ~Body();
49 
50  void add(::rl::sg::Shape* shape);
51 
52  ::rl::sg::Shape* create(SoVRMLShape* shape);
53 
55 
56  void remove(::rl::sg::Shape* shape);
57 
59 
60  ::std::vector< ::fcl::CollisionObject*> collisionObjects;
61 
62  ::fcl::DynamicAABBTreeCollisionManager manager;
63 
64  protected:
66 
67  private:
68 
69  };
70  }
71  }
72 }
73 
74 #endif // RL_SG_BULLET_BODY_H
rl::sg::fcl::Body::getFrame
void getFrame(::rl::math::Transform &frame)
Definition: Body.cpp:80
rl::sg::fcl::Body::collisionObjects
::std::vector< ::fcl::CollisionObject * > collisionObjects
Definition: Body.h:60
rl::sg::fcl::Body
Definition: Body.h:44
rl::math::Transform
::Eigen::Transform< Real, 3, ::Eigen::Affine > Transform
Rigid transformation in 3D.
Definition: Transform.h:46
rl::sg::Body::model
Model * model
Definition: Body.h:90
rl::sg::fcl::Body::Body
Body(Model *model)
Definition: Body.cpp:38
rl::sg::fcl::Body::~Body
virtual ~Body()
Definition: Body.cpp:47
rl::sg::Body
Definition: Body.h:45
rl::sg::fcl::Body::frame
::rl::math::Transform frame
Definition: Body.h:65
rl::sg::fcl::Body::setFrame
void setFrame(const ::rl::math::Transform &frame)
Definition: Body.cpp:100
rl::sg::fcl::Model
Definition: Model.h:43
rl::sg::fcl::Body::manager
::fcl::DynamicAABBTreeCollisionManager manager
Definition: Body.h:62
rl::sg::fcl::Body::remove
void remove(::rl::sg::Shape *shape)
Definition: Body.cpp:86
rl::sg::Shape
Definition: Shape.h:41
rl::sg::fcl::Body::add
void add(::rl::sg::Shape *shape)
Definition: Body.cpp:70
rl::sg::fcl::Body::create
::rl::sg::Shape * create(SoVRMLShape *shape)
Definition: Body.cpp:63
rl
Robotics Library.
Definition: AnalogInput.cpp:30