mirror of https://github.com/AxioDL/metaforce.git
53 lines
950 B
C++
53 lines
950 B
C++
#include "CRayCastResult.hpp"
|
|
|
|
|
|
namespace urde
|
|
{
|
|
|
|
void CRayCastResult::MakeInvalid()
|
|
{
|
|
/* NOTE: CRayCastResult: Enable this if it's required, this is a total guess - Phil */
|
|
#if 0
|
|
x0_time = 0.f;
|
|
x4_point.zeroOut();
|
|
x10_plane.vec.zeroOut();;
|
|
x10_plane.d = 0.f;
|
|
x28_material = CMaterialList();
|
|
#endif
|
|
x20_invalid = EInvalid::Invalid;
|
|
}
|
|
|
|
bool CRayCastResult::IsInvalid() const
|
|
{
|
|
return x20_invalid == EInvalid::Invalid;
|
|
}
|
|
|
|
float CRayCastResult::GetTime() const
|
|
{
|
|
return x0_time;
|
|
}
|
|
|
|
const zeus::CVector3f&CRayCastResult::GetPoint() const
|
|
{
|
|
return x4_point;
|
|
}
|
|
|
|
const zeus::CPlane&CRayCastResult::GetPlane() const
|
|
{
|
|
return x10_plane;
|
|
}
|
|
|
|
const CMaterialList&CRayCastResult::GetMaterial() const
|
|
{
|
|
return x28_material;
|
|
}
|
|
|
|
void CRayCastResult::Transform(const zeus::CTransform& xf)
|
|
{
|
|
x4_point = xf * x4_point;
|
|
x10_plane.vec = xf.rotate(x10_plane.vec);
|
|
x10_plane.d = x10_plane.vec.dot(x4_point);
|
|
}
|
|
|
|
}
|