blob: 8a5b0b8684e510c7fa568d5871eccf03e63362b6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#pragma once
#include <basis/seadTypes.h>
#include <math/seadMatrix.h>
#include <prim/seadRuntimeTypeInfo.h>
namespace ksys::phys {
class LayerMaskBuilder;
class RigidBody;
class QueryContactPointInfo;
class ClosestPointQuery {
SEAD_RTTI_BASE(ClosestPointQuery)
public:
ClosestPointQuery(RigidBody* body, QueryContactPointInfo* contact_point_info);
virtual ~ClosestPointQuery();
RigidBody* getBody() const { return mBody; }
QueryContactPointInfo* getContactPointInfo() const { return mContactPointInfo; }
void setLayerMasks(const LayerMaskBuilder& builder);
void setLayerMasksAndBodyCollisionFilterInfo(const LayerMaskBuilder& builder);
// 0x0000007100fb0850
bool execute(bool unk);
bool isSuccess() const;
protected:
void reset();
RigidBody* mBody{};
QueryContactPointInfo* mContactPointInfo{};
u32 _18{};
bool mIsSuccess = false;
sead::Matrix34f mMtx = sead::Matrix34f::ident;
};
} // namespace ksys::phys
|