Warning: include(php/utility.php): Failed to open stream: No such file or directory in /home/argos/argos3/doc/api/embedded/a00837_source.php on line 2

Warning: include(): Failed opening 'php/utility.php' for inclusion (include_path='.:/usr/lib64/php') in /home/argos/argos3/doc/api/embedded/a00837_source.php on line 2
The ARGoS Website

dynamics3d_shape_manager.h
Go to the documentation of this file.
1 
7 #ifndef DYNAMICS3D_SHAPE_MANAGER_H
8 #define DYNAMICS3D_SHAPE_MANAGER_H
9 
10 namespace argos {
11  class CDynamics3DShapeManager;
12 }
13 
14 #include <argos3/plugins/simulator/physics_engines/dynamics3d/bullet/BulletCollision/CollisionShapes/btBoxShape.h>
15 #include <argos3/plugins/simulator/physics_engines/dynamics3d/bullet/BulletCollision/CollisionShapes/btCylinderShape.h>
16 #include <argos3/plugins/simulator/physics_engines/dynamics3d/bullet/BulletCollision/CollisionShapes/btSphereShape.h>
17 #include <vector>
18 #include <memory>
19 
20 namespace argos {
21 
23 
24  public:
25 
26  static std::shared_ptr<btCollisionShape>
27  RequestBox(const btVector3& c_half_extents);
28 
29  static std::shared_ptr<btCollisionShape>
30  RequestCylinder(const btVector3& c_half_extents);
31 
32  static std::shared_ptr<btCollisionShape>
33  RequestSphere(btScalar f_radius);
34 
35  private:
36 
37  /* boxes */
38  struct SBoxResource {
39  SBoxResource(const btVector3& c_half_extents);
40  btVector3 HalfExtents;
41  std::shared_ptr<btBoxShape> Shape;
42  };
43  static std::vector<SBoxResource> m_vecBoxResources;
44 
45  /* cylinders */
46  struct SCylinderResource {
47  SCylinderResource(const btVector3& c_half_extents);
48  btVector3 HalfExtents;
49  std::shared_ptr<btCylinderShape> Shape;
50  };
51  static std::vector<SCylinderResource> m_vecCylinderResources;
52 
53  /* spheres */
54  struct SSphereResource {
55  SSphereResource(btScalar f_radius);
56  btScalar Radius;
57  std::shared_ptr<btSphereShape> Shape;
58  };
59  static std::vector<SSphereResource> m_vecSphereResources;
60 
61  };
62 
63 }
64 
65 #endif
static std::shared_ptr< btCollisionShape > RequestSphere(btScalar f_radius)
static std::shared_ptr< btCollisionShape > RequestCylinder(const btVector3 &c_half_extents)
The namespace containing all the ARGoS related code.
Definition: ci_actuator.h:12
static std::shared_ptr< btCollisionShape > RequestBox(const btVector3 &c_half_extents)