1#include "ObjectCollisionCylinder.hh"
6ObjectCollisionCylinder::ObjectCollisionCylinder(f32 radius, f32 height,
7 const EGG::Vector3f ¢er)
8 : m_radius(radius), m_height(height), m_pos(center) {
9 m_worldRadius = radius;
10 m_worldHeight = height;
14 m_top = center + EGG::Vector3f::ey * height;
15 m_bottom = center - EGG::Vector3f::ey * height;
19ObjectCollisionCylinder::~ObjectCollisionCylinder() =
default;
22void ObjectCollisionCylinder::transform(
const EGG::Matrix34f &mat,
const EGG::Vector3f &scale) {
23 m_worldPos = m_pos * scale.x;
24 m_worldHeight = m_height * scale.y;
25 m_worldRadius = m_radius * scale.x;
27 m_center = mat.ps_multVector(m_worldPos);
28 m_top = mat.ps_multVector(m_worldPos + EGG::Vector3f::ey * m_worldHeight);
29 m_bottom = mat.ps_multVector(m_worldPos - EGG::Vector3f::ey * m_worldHeight);
33void ObjectCollisionCylinder::transform(
const EGG::Matrix34f &mat,
const EGG::Vector3f &scale,
34 const EGG::Vector3f &speed) {
35 m_translation = speed;
36 ObjectCollisionCylinder::transform(mat, scale);