Kinoko
A reimplementation of Mario Kart Wii's physics engine in C++
Loading...
Searching...
No Matches
ObjectPropeller.hh
1
#pragma once
2
3
#include "game/field/ObjectCollisionCylinder.hh"
4
#include "game/field/obj/ObjectCollidable.hh"
5
6
namespace
Field
{
7
8
class
ObjectPropeller
final :
public
ObjectCollidable
{
9
public
:
10
ObjectPropeller
(
const
System::MapdataGeoObj
¶ms);
11
~ObjectPropeller
()
override
;
12
13
void
init()
override
;
14
void
calc()
override
;
15
17
[[nodiscard]] u32 loadFlags()
const override
{
18
return
1;
19
}
20
21
void
createCollision()
override
;
22
void
calcCollisionTransform()
override
;
23
[[nodiscard]] f32
getCollisionRadius
()
const override
;
24
bool
checkCollision(
ObjectCollisionBase
*lhs,
EGG::Vector3f
&dist)
override
;
25
26
private
:
27
f32 m_angVel;
28
f32 m_angle;
29
EGG::Vector3f
m_axis;
30
EGG::Matrix34f
m_rotMat;
31
EGG::Matrix34f
m_curRot;
32
std::array<ObjectCollisionCylinder *, 3> m_blades;
33
};
34
35
}
// namespace Field
EGG::Matrix34f
A 3 x 4 matrix.
Definition
Matrix.hh:8
Field::ObjectCollidable
Definition
ObjectCollidable.hh:16
Field::ObjectCollisionBase
The base class that all objects' collision inherits from.
Definition
ObjectCollisionBase.hh:24
Field::ObjectPropeller
Definition
ObjectPropeller.hh:8
Field::ObjectPropeller::getCollisionRadius
f32 getCollisionRadius() const override
Finds the radius that fits fully in a BoxColUnit.
Definition
ObjectPropeller.cc:79
System::MapdataGeoObj
Definition
MapdataGeoObj.hh:9
Field
Pertains to collision.
Definition
BoxColManager.cc:8
EGG::Vector3f
A 3D float vector.
Definition
Vector.hh:88
game
field
obj
ObjectPropeller.hh
Made by
Malleo
. Logo by
vabold
. Website generated by
Doxygen
1.12.0