A reimplementation of Mario Kart Wii's physics engine in C++
Loading...
Searching...
No Matches
ObjectCollisionSphere.hh
1#pragma once
2
3#include "game/field/ObjectCollisionBase.hh"
4
5namespace Field {
6
8public:
9 ObjectCollisionSphere(f32 radius, const EGG::Vector3f &center);
10 ~ObjectCollisionSphere() override;
11
12 void transform(const EGG::Matrix34f &mat, const EGG::Vector3f &scale) override;
13 void transform(const EGG::Matrix34f &mat, const EGG::Vector3f &scale,
14 const EGG::Vector3f &speed) override;
15 const EGG::Vector3f &getSupport(const EGG::Vector3f &v) const override;
16
18 f32 getBoundingRadius() const override {
19 return m_scaledRadius;
20 }
21
22private:
23 f32 m_radius;
24 EGG::Vector3f m_pos;
25 f32 m_scaledRadius;
26 EGG::Vector3f m_scaledPos;
27 EGG::Vector3f m_worldPos;
28 EGG::Vector3f m_center;
29};
30
31} // namespace Field
A 3 x 4 matrix.
Definition Matrix.hh:8
The base class that all objects' collision inherits from.
Pertains to collision.
A 3D float vector.
Definition Vector.hh:88