8 #ifndef DYNAMICS3D_SHAPE_MANAGER_H
9 #define DYNAMICS3D_SHAPE_MANAGER_H
12 class CDynamics3DShapeManager;
16 #pragma clang diagnostic push
17 #pragma clang diagnostic ignored "-Wreorder"
19 #pragma GCC diagnostic push
20 #pragma GCC diagnostic ignored "-Wreorder"
23 #include <argos3/plugins/simulator/physics_engines/dynamics3d/bullet/BulletCollision/CollisionShapes/btBoxShape.h>
24 #include <argos3/plugins/simulator/physics_engines/dynamics3d/bullet/BulletCollision/CollisionShapes/btConvexHullShape.h>
25 #include <argos3/plugins/simulator/physics_engines/dynamics3d/bullet/BulletCollision/CollisionShapes/btCylinderShape.h>
26 #include <argos3/plugins/simulator/physics_engines/dynamics3d/bullet/BulletCollision/CollisionShapes/btSphereShape.h>
29 #pragma clang diagnostic pop
31 #pragma GCC diagnostic pop
43 static std::shared_ptr<btCollisionShape>
46 static std::shared_ptr<btCollisionShape>
49 static std::shared_ptr<btCollisionShape>
52 static std::shared_ptr<btCollisionShape>
59 SBoxResource(
const btVector3& c_half_extents);
60 btVector3 HalfExtents;
61 std::shared_ptr<btBoxShape> Shape;
63 static std::vector<SBoxResource> m_vecBoxResources;
66 struct SCylinderResource {
67 SCylinderResource(
const btVector3& c_half_extents);
68 btVector3 HalfExtents;
69 std::shared_ptr<btCylinderShape> Shape;
71 static std::vector<SCylinderResource> m_vecCylinderResources;
74 struct SSphereResource {
75 SSphereResource(btScalar f_radius);
77 std::shared_ptr<btSphereShape> Shape;
79 static std::vector<SSphereResource> m_vecSphereResources;
82 struct SConvexHullResource {
83 SConvexHullResource(
const std::vector<btVector3>& vec_points);
84 std::vector<btVector3> Points;
85 std::shared_ptr<btConvexHullShape> Shape;
87 static std::vector<SConvexHullResource> m_vecConvexHullResources;
The namespace containing all the ARGoS related code.
static std::shared_ptr< btCollisionShape > RequestBox(const btVector3 &c_half_extents)
static std::shared_ptr< btCollisionShape > RequestSphere(btScalar f_radius)
static std::shared_ptr< btCollisionShape > RequestConvexHull(const std::vector< btVector3 > &vec_points)
static std::shared_ptr< btCollisionShape > RequestCylinder(const btVector3 &c_half_extents)