TDME2  1.9.200
Capsule.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <tdme/tdme.h>
7 #include <tdme/math/Vector3.h>
8 
12 
13 /**
14  * Capsule physics primitive
15  * @author Andreas Drewke
16  */
18  : public BoundingVolume
19 {
20 private:
21  // overridden methods
22  void destroyCollisionShape() override;
23  void createCollisionShape(World* world) override;
24 
25 public:
26  // forbid class copy
28 
29  /**
30  * Public constructor
31  * @param a a
32  * @param b b
33  * @param radius radius
34  * @param scale scale
35  */
36  Capsule(const Vector3& a, const Vector3& b, float radius, const Vector3& scale = Vector3(1.0f, 1.0f, 1.0f));
37 
38  /**
39  * Public destructor
40  */
41  ~Capsule();
42 
43  /**
44  * @return radius
45  */
46  float getRadius() const;
47 
48  /**
49  * @return line segment point a
50  */
51  const Vector3& getA() const;
52 
53  /**
54  * @return line segment point b
55  */
56  const Vector3& getB() const;
57 
58 
59  // overrides
60  void setScale(const Vector3& scale) override;
61  BoundingVolume* clone() const override;
62 
63 private:
64  //
67  float radius;
68 };
Dynamic physics world class.
Definition: World.h:38
Capsule physics primitive.
Definition: Capsule.h:19
~Capsule()
Public destructor.
Definition: Capsule.cpp:33
const Vector3 & getB() const
Definition: Capsule.cpp:47
void destroyCollisionShape() override
Destroy collision shape.
Definition: Capsule.cpp:97
void setScale(const Vector3 &scale) override
Set local scale.
Definition: Capsule.cpp:52
const Vector3 & getA() const
Definition: Capsule.cpp:42
void createCollisionShape(World *world) override
Create collision shap.
Definition: Capsule.cpp:104
BoundingVolume * clone() const override
Clones this bounding volume.
Definition: Capsule.cpp:123
Vector3 class representing vector3 mathematical structure and operations with x, y,...
Definition: Vector3.h:20
#define FORBID_CLASS_COPY(CLASS)
Definition: tdme.h:6