Kinoko
A reimplementation of Mario Kart Wii's physics engine in C++
Toggle main menu visibility
Loading...
Searching...
No Matches
ObjectCollisionConvexHull.hh
1
#pragma once
2
3
#include "game/field/ObjectCollisionBase.hh"
4
5
namespace
Kinoko::Field
{
6
8
class
ObjectCollisionConvexHull
:
public
ObjectCollisionBase {
9
public
:
10
ObjectCollisionConvexHull
(
const
std::span<const EGG::Vector3f> &points);
11
~ObjectCollisionConvexHull
()
override
;
12
13
void
transform(
const
EGG::Matrix34f
&mat,
const
EGG::Vector3f
&scale)
override
;
14
void
transform(
const
EGG::Matrix34f
&mat,
const
EGG::Vector3f
&scale,
15
const
EGG::Vector3f
&speed)
override
;
16
const
EGG::Vector3f
&getSupport(
const
EGG::Vector3f
&v)
const override
;
17
19
[[nodiscard]] f32 getBoundingRadius()
const override
{
20
return
m_worldRadius;
21
}
22
24
[[nodiscard]] f32 initRadius()
const
{
25
return
m_initRadius;
26
}
27
29
virtual
void
setBoundingRadius(f32 val) {
30
m_worldRadius = val;
31
}
32
33
protected
:
34
ObjectCollisionConvexHull
(
size_t
count);
35
36
owning_span<EGG::Vector3f>
m_points;
37
38
private
:
39
const
f32 m_initRadius;
40
owning_span<EGG::Vector3f>
m_worldPoints;
41
f32 m_worldRadius;
42
};
43
44
}
// namespace Kinoko::Field
Kinoko::EGG::Matrix34f
A 3 x 4 matrix.
Definition
Matrix.hh:10
Kinoko::Field::ObjectCollisionConvexHull::ObjectCollisionConvexHull
ObjectCollisionConvexHull(const std::span< const EGG::Vector3f > &points)
Creates a convex hull with the provided points.
Definition
ObjectCollisionConvexHull.cc:10
Kinoko::owning_span
A contiguous storage container that manages the lifecycle of a buffer of a given size.
Definition
Types.hh:29
Kinoko::Field
Pertains to collision.
Definition
BoxColManager.cc:8
Kinoko::EGG::Vector3f
A 3D float vector.
Definition
Vector.hh:107
game
field
ObjectCollisionConvexHull.hh
Made by
Malleo
. Logo by
vabold
. Website generated by
Doxygen
1.17.0