#include "collisioncomponent.h" #include "Game/Components/CollisionComponents/BoundingTriangle.h" #include "Game/Components/CollisionComponents/CylinderCollider.h" #include "Game/Components/CollisionComponents/BoundingDynamicMesh.h" #include "Graphics/shape.h" #include // for dynamic objects CollisionComponent::CollisionComponent(std::string shapeType, std::shared_ptr mt, const glm::vec3 &initial_pos) { if (shapeType == "dynamic_mesh"){ //addCollisionShape(std::make_shared(initial_pos, initial_scale)); addCollisionShape(std::make_shared(mt, initial_pos)); } } CollisionComponent::CollisionComponent(std::string shapeType, std::shared_ptr mt, const glm::vec3 &initial_pos, std::vector &obj_data) { if (shapeType == "dynamic_mesh"){ addCollisionShape(std::make_shared(mt, initial_pos, obj_data)); } } // for rigid meshes / environment CollisionComponent::CollisionComponent(std::string shapeType, const std::vector &obj_data, const std::shared_ptr &mt, bool isGround){ if (shapeType == "obj"){ addCollisionShape(std::make_shared(obj_data, mt, isGround)); } } bool CollisionComponent::isRigidBody(){ return m_isRigid; } float CollisionComponent::getReboundVel(){ return m_rebound_vel; } float CollisionComponent::getAcceleration(){ return m_acceleration; }