prime/include/Collision/CRayCastResult.hpp

40 lines
920 B
C++
Raw Permalink Normal View History

#ifndef _CRAYCASTRESULT
#define _CRAYCASTRESULT
#include "types.h"
#include "Kyoto/Math/CPlane.hpp"
#include "Kyoto/Math/CVector3f.hpp"
#include "Collision/CMaterialList.hpp"
class CRayCastResult {
public:
enum EInvalid {
kI_Invalid,
kI_Valid,
};
float GetTime() const { return x0_t; }
2022-11-03 17:09:58 +00:00
bool IsValid() const { return x20_valid != kI_Invalid; }
2022-10-30 19:47:50 +00:00
// TODO: figure out what's going on here
bool IsInvalid() const { return x20_valid == kI_Invalid; }
2022-09-29 05:30:20 +00:00
// GetPlane__14CRayCastResultCFv
2022-11-17 04:56:21 +00:00
const CPlane& GetPlane() const { return x10_plane; }
2022-10-30 19:47:50 +00:00
const CVector3f& GetPoint() const { return x4_point; }
2022-09-29 05:30:20 +00:00
// GetMaterial__14CRayCastResultCFv
// Transform__14CRayCastResultFRC12CTransform4f
// MakeInvalid__14CRayCastResultFv
private:
float x0_t;
CVector3f x4_point;
CPlane x10_plane;
2022-09-29 05:30:20 +00:00
bool x20_valid;
CMaterialList x28_material;
};
CHECK_SIZEOF(CRayCastResult, 0x30)
#endif // _CRAYCASTRESULT