1#pragma once
2
3#include <math/seadVector.h>
4
5class CollisionShapeInfoBase;
6class CollisionShapeInfoArrow;
7class CollisionShapeInfoDisk;
8class CollisionShapeInfoSphere;
9
10namespace CollisionShapeFunction {
11
12bool isShapeName(const CollisionShapeInfoBase* shape, const char* name);
13
14bool isShapeArrow(const CollisionShapeInfoBase* shape);
15bool isShapeSphere(const CollisionShapeInfoBase* shape);
16bool isShapeDisk(const CollisionShapeInfoBase* shape);
17
18CollisionShapeInfoArrow* getShapeInfoArrow(CollisionShapeInfoBase* shape);
19CollisionShapeInfoSphere* getShapeInfoSphere(CollisionShapeInfoBase* shape);
20CollisionShapeInfoDisk* getShapeInfoDisk(CollisionShapeInfoBase* shape);
21const CollisionShapeInfoArrow* getShapeInfoArrow(const CollisionShapeInfoBase* shape);
22const CollisionShapeInfoSphere* getShapeInfoSphere(const CollisionShapeInfoBase* shape);
23const CollisionShapeInfoDisk* getShapeInfoDisk(const CollisionShapeInfoBase* shape);
24
25void updateShapeOffset(CollisionShapeInfoBase* shape, const sead::Vector3f& offset);
26
27} // namespace CollisionShapeFunction
28