#include <ObjectCollisionConvexHull.hh>
Smallest convex shape that encloses a given set of points.
Definition at line 8 of file ObjectCollisionConvexHull.hh.
Public Member Functions | |
| ObjectCollisionConvexHull (const std::span< const EGG::Vector3f > &points) | |
| Creates a convex hull with the provided points. | |
| void | transform (const EGG::Matrix34f &mat, const EGG::Vector3f &scale) override |
| void | transform (const EGG::Matrix34f &mat, const EGG::Vector3f &scale, const EGG::Vector3f &speed) override |
| const EGG::Vector3f & | getSupport (const EGG::Vector3f &v) const override |
| f32 | getBoundingRadius () const override |
| virtual void | setBoundingRadius (f32 val) |
Public Member Functions inherited from Field::ObjectCollisionBase | |
| bool | check (ObjectCollisionBase &rhs, EGG::Vector3f &distance) |
| const EGG::Vector3f & | translation () const |
Protected Member Functions | |
| ObjectCollisionConvexHull (size_t count) | |
| Allocates space for a convex hull with the provided point count. This overload can only be called via inheritance or delegating constructors. | |
Protected Attributes | |
| std::span< EGG::Vector3f > | m_points |
Protected Attributes inherited from Field::ObjectCollisionBase | |
| EGG::Vector3f | m_translation |
Private Attributes | |
| std::span< EGG::Vector3f > | m_worldPoints |
| f32 | m_worldRadius |
|
0x808364E0 |
Creates a convex hull with the provided points.
The base game has the possibility to only provide a count to allocate space. To account for this, we split the base game's constructor into two overloads. This overload enables conversion from std::array into a span, which initializes the points.
Definition at line 10 of file ObjectCollisionConvexHull.cc.
|
override0x808365A8 |
Definition at line 18 of file ObjectCollisionConvexHull.cc.
|
protected0x808364E0 |
Allocates space for a convex hull with the provided point count. This overload can only be called via inheritance or delegating constructors.
The base game has the possibility to only provide a count to allocate space. To account for this, we split the base game's constructor into two overloads. This overload enables avoiding immediate point initialization, which is useful for inheritance.
Definition at line 84 of file ObjectCollisionConvexHull.cc.
|
inlineoverridevirtual0x807F957C |
Implements Field::ObjectCollisionBase.
Definition at line 19 of file ObjectCollisionConvexHull.hh.
|
overridevirtual0x80836628 |
Implements Field::ObjectCollisionBase.
Definition at line 61 of file ObjectCollisionConvexHull.cc.
|
inlinevirtual0x8080C414 |
Definition at line 24 of file ObjectCollisionConvexHull.hh.
|
overridevirtual0x808366D0 |
Implements Field::ObjectCollisionBase.
Definition at line 24 of file ObjectCollisionConvexHull.cc.
|
overridevirtual0x808367C4 |
Implements Field::ObjectCollisionBase.
Definition at line 41 of file ObjectCollisionConvexHull.cc.
|
protected |
Definition at line 31 of file ObjectCollisionConvexHull.hh.
|
private |
Definition at line 34 of file ObjectCollisionConvexHull.hh.
|
private |
Definition at line 35 of file ObjectCollisionConvexHull.hh.