Kinoko
A reimplementation of Mario Kart Wii's physics engine in C++
Loading...
Searching...
No Matches
ObjectCollisionCylinder.hh
1
#pragma once
2
3
#include "game/field/ObjectCollisionBase.hh"
4
5
namespace
Field
{
6
7
class
ObjectCollisionCylinder
:
public
ObjectCollisionBase
{
8
public
:
9
ObjectCollisionCylinder
(f32 radius, f32 height,
const
EGG::Vector3f
¢er);
10
~ObjectCollisionCylinder
()
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
17
const
EGG::Vector3f
&getSupport(
const
EGG::Vector3f
&v)
const override
{
18
return
m_top.
dot
(v) > m_bottom.
dot
(v) ? m_top : m_bottom;
19
}
20
22
f32 getBoundingRadius()
const override
{
23
return
m_worldRadius;
24
}
25
26
private
:
27
f32 m_radius;
28
f32 m_height;
29
EGG::Vector3f
m_pos;
30
31
f32 m_worldRadius;
32
f32 m_worldHeight;
33
EGG::Vector3f
m_worldPos;
34
35
EGG::Vector3f
m_center;
36
EGG::Vector3f
m_top;
37
EGG::Vector3f
m_bottom;
38
};
39
40
}
// namespace Field
EGG::Matrix34f
A 3 x 4 matrix.
Definition
Matrix.hh:8
Field::ObjectCollisionBase
The base class that all objects' collision inherits from.
Definition
ObjectCollisionBase.hh:24
Field::ObjectCollisionCylinder
Definition
ObjectCollisionCylinder.hh:7
Field
Pertains to collision.
Definition
BoxColManager.cc:8
EGG::Vector3f
A 3D float vector.
Definition
Vector.hh:88
EGG::Vector3f::dot
f32 dot(const Vector3f &rhs) const
The dot product between two vectors.
Definition
Vector.hh:187
game
field
ObjectCollisionCylinder.hh
Made by
Malleo
. Logo by
vabold
. Website generated by
Doxygen
1.12.0