summaryrefslogtreecommitdiff
path: root/src/KingSystem/Physics/System/physQueryContactPointInfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/KingSystem/Physics/System/physQueryContactPointInfo.h')
-rw-r--r--src/KingSystem/Physics/System/physQueryContactPointInfo.h13
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