metaforce/Runtime/Collision/CJointCollisionDescription.hpp

60 lines
1.8 KiB
C++
Raw Normal View History

2017-03-01 03:42:06 +00:00
#ifndef __URDE_CJOINTCOLLISIONDESCRIPTION_HPP__
#define __URDE_CJOINTCOLLISIONDESCRIPTION_HPP__
#include "Character/CSegId.hpp"
#include "zeus/CAABox.hpp"
namespace urde
{
class CJointCollisionDescription
{
public:
enum class ECollisionType
{
};
enum class EOrientationType
{
};
private:
u32 x0_;
u32 x4_;
CSegId x8_;
CSegId x9_;
zeus::CVector3f xc_;
zeus::CVector3f x18_;
float x24_;
float x28_;
2017-03-26 04:12:06 +00:00
std::string x2c_name;
TUniqueId x3c_actorId;
float x40_;
2017-03-26 04:12:06 +00:00
2017-03-01 03:42:06 +00:00
public:
CJointCollisionDescription(ECollisionType, CSegId, CSegId, const zeus::CVector3f&, const zeus::CVector3f&, float,
float, EOrientationType, const std::string&, float);
2017-03-26 04:12:06 +00:00
const std::string& GetName() const { return x2c_name; }
TUniqueId GetCollisionActorId() const { return x3c_actorId; }
2017-03-01 03:42:06 +00:00
void SphereSubdivideCollision(ECollisionType, CSegId, CSegId, float, float, EOrientationType, const std::string&,
float);
void SphereCollision(CSegId, float, const std::string&, float);
2017-03-26 04:12:06 +00:00
void AABoxCollision(CSegId, zeus::CVector3f const&, const std::string&, float);
2017-03-01 03:42:06 +00:00
void OBBAutoSizeCollision(CSegId, CSegId, const zeus::CVector3f&, EOrientationType, const std::string&, float);
void OBBCollision(CSegId, const zeus::CVector3f&, const zeus::CVector3f&, const std::string&, float);
zeus::CVector3f GetPivotPoint() const;
float GetRadius() const;
void SetCollisionActorId(TUniqueId);
EOrientationType GetOrientationType() const;
float GetMass() const;
zeus::CAABox GetBounds() const;
void GetType() const;
void GetNextId() const;
void GetPivotId() const;
void ScaleAllBounds(const zeus::CVector3f&);
void GetTween() const;
};
}
#endif // __URDE_CJOINTCOLLISIONDESCRIPTION_HPP__