1 #include "hx3d/physics/2d/attractors/point_attractor.hpp" 3 #include "hx3d/math/vector_utils.hpp" 8 PointAttractor::PointAttractor():
9 Attractor(Type::Point),
16 if (radius == 0)
return false;
18 float dx = position.x - collider->position.x;
19 float dy = position.y - collider->position.y;
20 return dx * dx + dy * dy <= radius * radius;
26 collider->gravityForce += dir;
virtual bool overlaps(const Ptr< Collider > &collider) override
Check if a collider overlaps the attractor.
virtual void computeForce(const Ptr< Collider > &collider, const float dt) override
Compute the gravity force on a collider.
glm::vec2 normalize(glm::vec2 vec)
Normalize a 2D vector.
glm::vec2 velocity
Velocity.
std::shared_ptr< T > Ptr
Quick-typing shared ptr.