14 [[nodiscard]] u32 loadFlags()
const override {
19 void createCollision()
override {}
22 void calcCollisionTransform()
override {}
25 [[nodiscard]] f32 getCollisionRadius()
const override {
37 [[nodiscard]]
bool checkPointPartialPush(
const EGG::Vector3f & ,
46 KCLTypeMask * )
override {
52 KCLTypeMask mask,
CollisionInfo *info, KCLTypeMask *maskOut)
override {
53 return calcCollision(pos, prevPos, mask, info, maskOut, 0);
57 [[nodiscard]]
bool checkSpherePartial(f32 ,
const EGG::Vector3f & ,
65 [[nodiscard]]
bool checkSpherePartialPush(f32 ,
const EGG::Vector3f & ,
73 [[nodiscard]]
bool checkSphereFull(f32 ,
const EGG::Vector3f & ,
75 KCLTypeMask * , u32 )
override {
80 [[nodiscard]]
bool checkSphereFullPush(f32 ,
const EGG::Vector3f &pos,
82 KCLTypeMask *maskOut, u32 timeOffset)
override {
83 return calcCollision(pos, prevPos, mask, info, maskOut, timeOffset);
87 [[nodiscard]]
bool checkPointCachedPartial(
const EGG::Vector3f & ,
94 [[nodiscard]]
bool checkPointCachedPartialPush(
const EGG::Vector3f & ,
101 [[nodiscard]]
bool checkPointCachedFull(
const EGG::Vector3f & ,
103 KCLTypeMask * )
override {
108 [[nodiscard]]
bool checkPointCachedFullPush(
const EGG::Vector3f &pos,
110 KCLTypeMask *maskOut)
override {
111 return calcCollision(pos, prevPos, mask, info, maskOut, 0);
115 [[nodiscard]]
bool checkSphereCachedPartial(f32 ,
const EGG::Vector3f & ,
123 [[nodiscard]]
bool checkSphereCachedPartialPush(f32 ,
const EGG::Vector3f & ,
131 [[nodiscard]]
bool checkSphereCachedFull(f32 ,
const EGG::Vector3f & ,
133 KCLTypeMask * , u32 )
override {
138 [[nodiscard]]
bool checkSphereCachedFullPush(f32 ,
const EGG::Vector3f &pos,
140 KCLTypeMask *maskOut, u32 timeOffset)
override {
141 return calcCollision(pos, prevPos, mask, info, maskOut, timeOffset);
145 u32 timeOffset)
const = 0;
147 [[nodiscard]]
virtual bool isMoving(u32 variant,
const EGG::Vector3f &pos)
const = 0;
154 KCLTypeMask mask,
CollisionInfo *info, KCLTypeMask *maskOut, u32 timeOffset);