KCollisionServer class
Public static functions
-
static void calXvec(const sead::
Vector3f* a, const sead:: Vector3f* b, sead:: Vector3f* result) -
static auto calcChildBlockOffset(const sead::
Vector3u& block, s32 shift) -> s32 - static auto getBlockData(const u32* data, u32 offset) -> u32
Constructors, destructors, conversion operators
Public functions
- void initKCollisionServer(void* data, const void* attributeData)
- void setData(void* data)
- auto getInnerKcl(s32 index) const -> const KCPrismHeader&
- auto getNumInnerKcl() const -> u32
- auto getV1Header(s32 index) const -> const KCPrismHeader*
- auto calcFarthestVertexDistance() -> bool
- auto getTriangleNum(const KCPrismHeader* header) const -> s32
- auto getPrismData(u32 index, const KCPrismHeader* header) const -> const KCPrismData&
- auto isNearParallelNormal(const KCPrismData* data, const KCPrismHeader* header) const -> bool
- auto isNanPrism(const KCPrismData* data, const KCPrismHeader* header) const -> bool
-
void calcPosLocal(sead::
Vector3f* pos, const KCPrismData* data, s32 location, const KCPrismHeader* header) const -
void getMinMax(sead::
Vector3f* min, sead:: Vector3f* max) const -
void getAreaSpaceSize(sead::
Vector3f* size, const KCPrismHeader* header) const - void getAreaSpaceSize(s32* sizeX, s32* sizeY, s32* sizeZ, const KCPrismHeader* header) const
-
void getAreaSpaceSize(sead::
Vector3u* size, const KCPrismHeader* header) const -
auto checkPoint(sead::
Vector3f*, f32, f32*) -> const KCPrismData* -
auto searchBlock(s32* widthShift,
const sead::
Vector3u& block, const KCPrismHeader* header) const -> const u8* -
auto checkSphere(const sead::
Vector3f*, f32, f32, u32, sead:: FixedRingBuffer<KCHitInfo, 512>* hits) -> s32 -
auto outCheckAndCalcArea(sead::
Vector3u* blockMin, sead:: Vector3u* blockMax, const sead:: Vector3f& posMin, const sead:: Vector3f& posMax, const KCPrismHeader* header) const -> bool -
auto KCHitSphere(const KCPrismData* data,
const KCPrismHeader* header,
const sead::
Vector3f*, f32, f32, f32*, u8*) -> bool -
auto checkArrow(const sead::
Vector3f&, const sead:: Vector3f&, sead:: FixedRingBuffer<KCHitInfo, 512>* hits, u32*, u32) const -> const KCPrismData* -
void objectSpaceToAreaOffsetSpaceV3f(sead::
Vector3f* areaOff, const sead:: Vector3f& objSpace, const KCPrismHeader* header) const -
auto isInsideMinMaxInAreaOffsetSpace(const sead::
Vector3u& block, const KCPrismHeader* header) const -> bool -
auto KCHitArrow(const KCPrismData* data,
const KCPrismHeader* header,
const sead::
Vector3f&, const sead:: Vector3f&, f32*, u8*) const -> bool -
auto checkSphereForPlayer(const sead::
Vector3f*, f32, f32, u32, sead:: FixedRingBuffer<KCHitInfo, 512>*) -> s32 -
auto KCHitSphereForPlayer(const KCPrismData* data,
const KCPrismHeader* header,
const sead::
Vector3f*, f32, f32, f32*, u8*) -> bool -
auto checkDisk(const sead::
Vector3f*, f32, f32, const sead:: Vector3f&, f32, u32, sead:: FixedRingBuffer<KCHitInfo, 512>*) -> s32 -
auto KCHitDisk(const KCPrismData* data,
const KCPrismHeader* header,
const sead::
Vector3f*, f32, f32, f32, const sead:: Vector3f&, f32*, u8*) -> bool -
void searchPrism(sead::
Vector3f* pos, f32 searchRadius, sead:: IDelegate2<const KCPrismData*, const KCPrismHeader*>& callback) -
void searchPrismMinMax(const sead::
Vector3f& min, const sead:: Vector3f& max, sead:: IDelegate2<const KCPrismData*, const KCPrismHeader*>& callback) -
void searchPrismArrow(const sead::
Vector3f& pos1, const sead:: Vector3f& pos2, sead:: IDelegate2<const KCPrismData*, const KCPrismHeader*>& callback) -
void searchPrismDisk(const sead::
Vector3f&, const sead:: Vector3f&, f32, f32, sead:: IDelegate2<const KCPrismData*, const KCPrismHeader*>& callback) - auto isParallelNormal(const KCPrismData* data, const KCPrismHeader* header) const -> bool
-
auto getFaceNormal(const KCPrismData* data,
const KCPrismHeader* header) const -> const sead::
Vector3f& -
auto getEdgeNormal1(const KCPrismData* data,
const KCPrismHeader* header) const -> const sead::
Vector3f& -
auto getEdgeNormal2(const KCPrismData* data,
const KCPrismHeader* header) const -> const sead::
Vector3f& -
auto getEdgeNormal3(const KCPrismData* data,
const KCPrismHeader* header) const -> const sead::
Vector3f& -
auto KCHitDisc(const KCPrismData* data,
const KCPrismHeader* header,
const sead::
Vector3f&, const sead:: Vector3f&, f32, f32, sead:: Vector3f*, f32*) -> bool - auto toIndex(const KCPrismData* data, const KCPrismHeader* header) const -> s32
-
auto getNormal(u32 index,
const KCPrismHeader* header) const -> const sead::
Vector3f& -
auto getVertexData(u32 index,
const KCPrismHeader* header) const -> const sead::
Vector3f& - auto getVertexNum(const KCPrismHeader* header) const -> u32
- auto getNormalNum(const KCPrismHeader* header) const -> s32
- auto getAttributeElementNum() const -> s32
- auto getAttributes(ByamlIter* destIter, u32 triIndex, const KCPrismHeader* header) const -> bool
- auto getAttributes(ByamlIter* destIter, const KCPrismData* data) const -> bool
-
void objectSpaceToAreaOffsetSpace(sead::
Vector3u* areaOffSpace, const sead:: Vector3f& objSpace, const KCPrismHeader* header) const -
void areaOffsetSpaceToObjectSpace(sead::
Vector3f* objSpace, const sead:: Vector3u& areaOffSpace, const KCPrismHeader* header) const -
auto doBoxCheck(const sead::
Vector3f*, const sead:: Vector3f*, sead:: Vector3u*, sead:: Vector3u*, const KCPrismHeader* header) -> bool -
auto calcAreaBlockOffset(const sead::
Vector3u& block, const KCPrismHeader* header) const -> s32