Robotics Library  0.7.0
Model.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_MODEL_H
28 #define RL_SG_FCL_MODEL_H
29 
30 #include <fcl/broadphase/broadphase.h>
31 
32 #include "../Model.h"
33 
34 namespace rl
35 {
36  namespace sg
37  {
38  namespace fcl
39  {
40  class Scene;
41 
42  class Model : public ::rl::sg::Model
43  {
44  public:
45  Model(Scene* scene);
46 
47  virtual ~Model();
48 
49  void add(Body* body);
50 
51  void addCollisionObject(::fcl::CollisionObject* collisionObject, Body* body);
52 
54 
55  void remove(Body* body);
56 
57  void removeCollisionObject(::fcl::CollisionObject* collisionObject);
58 
59  ::fcl::DynamicAABBTreeCollisionManager manager;
60 
61  protected:
62 
63  private:
64 
65  };
66  }
67  }
68 }
69 
70 #endif // RL_SG_FCL_MODEL_H
rl::sg::fcl::Body
Definition: Body.h:44
rl::sg::fcl::Model::~Model
virtual ~Model()
Definition: Model.cpp:45
rl::sg::Body
Definition: Body.h:45
rl::sg::fcl::Model::removeCollisionObject
void removeCollisionObject(::fcl::CollisionObject *collisionObject)
Definition: Model.cpp:101
rl::sg::fcl::Model::remove
void remove(Body *body)
Definition: Model.cpp:83
rl::sg::Model
Definition: Model.h:43
rl::sg::fcl::Model::Model
Model(Scene *scene)
Definition: Model.cpp:37
rl::sg::fcl::Scene
Definition: Scene.h:50
rl::sg::fcl::Model::add
void add(Body *body)
Definition: Model.cpp:56
rl::sg::fcl::Model
Definition: Model.h:43
rl::sg::Model::scene
Scene * scene
Definition: Model.h:74
rl::sg::fcl::Model::create
::rl::sg::Body * create()
Definition: Model.cpp:76
rl::sg::fcl::Model::addCollisionObject
void addCollisionObject(::fcl::CollisionObject *collisionObject, Body *body)
Definition: Model.cpp:69
rl::sg::fcl::Model::manager
::fcl::DynamicAABBTreeCollisionManager manager
Definition: Model.h:59
rl
Robotics Library.
Definition: AnalogInput.cpp:30