diff options
Diffstat (limited to 'src/KingSystem/Physics/System/physQueryContactPointInfo.h')
| -rw-r--r-- | src/KingSystem/Physics/System/physQueryContactPointInfo.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/KingSystem/Physics/System/physQueryContactPointInfo.h b/src/KingSystem/Physics/System/physQueryContactPointInfo.h index a3778ff1..c28039ac 100644 --- a/src/KingSystem/Physics/System/physQueryContactPointInfo.h +++ b/src/KingSystem/Physics/System/physQueryContactPointInfo.h @@ -6,12 +6,25 @@ namespace ksys::phys { class QueryContactPointInfo : public ContactPointInfo { public: + class Iterator : public ContactPointInfo::Iterator { + public: + using ContactPointInfo::Iterator::Iterator; + + void getPointPosition(sead::Vector3f* out, Point point) const override; + sead::Vector3f getPointPosition(Point point) const override; + }; + static QueryContactPointInfo* make(sead::Heap* heap, int num_points, const sead::SafeString& name, int a, int b); static void free(QueryContactPointInfo* info); using ContactPointInfo::ContactPointInfo; ~QueryContactPointInfo() override; + + auto begin() const { return Iterator(mPoints, mNumContactPoints); } + auto end() const { return Iterator(mPoints, mNumContactPoints, Iterator::IsEnd::Yes); } + + friend class ClosestPointQuery; }; } // namespace ksys::phys |
