metaforce/Runtime/Collision/CInternalRayCastStructure.hpp

29 lines
998 B
C++
Raw Normal View History

2018-10-07 03:42:33 +00:00
#pragma once
2016-04-27 00:26:02 +00:00
#include "Runtime/Collision/CMaterialFilter.hpp"
#include <zeus/CMRay.hpp>
#include <zeus/CTransform.hpp>
#include <zeus/CVector3f.hpp>
2021-04-10 08:42:06 +00:00
namespace metaforce {
2018-12-08 05:30:43 +00:00
class CInternalRayCastStructure {
zeus::CMRay x0_ray;
float x38_maxTime;
zeus::CTransform x3c_xf;
const CMaterialFilter& x6c_filter;
2016-04-27 00:26:02 +00:00
public:
2018-12-08 05:30:43 +00:00
CInternalRayCastStructure(const zeus::CVector3f& start, const zeus::CVector3f& dir, float length,
const zeus::CTransform& xf, const CMaterialFilter& filter)
: x0_ray(start, dir, length), x38_maxTime(length), x3c_xf(xf), x6c_filter(filter) {}
2016-04-27 00:26:02 +00:00
2018-12-08 05:30:43 +00:00
const zeus::CMRay& GetRay() const { return x0_ray; }
const zeus::CVector3f& GetStart() const { return x0_ray.start; }
const zeus::CVector3f& GetNormal() const { return x0_ray.end; }
float GetMaxTime() const { return x38_maxTime; }
const zeus::CTransform& GetTransform() const { return x3c_xf; }
const CMaterialFilter& GetFilter() const { return x6c_filter; }
2016-04-27 00:26:02 +00:00
};
2021-04-10 08:42:06 +00:00
} // namespace metaforce