25 static const std::vector<CollisionComponent*>&
instances() {
return _instances; }
27 const std::string&
type()
const {
return _type; }
33 float radius()
const {
return _radius; }
34 void setRadius(
const float value) { _radius = std::max(value, 0.001f); }
36 float height()
const {
return _height; }
37 void setHeight(
const float value) { _height = std::max(value, 0.001f); }
42 inline static std::vector<CollisionComponent*> _instances;
44 std::string _type =
"box";
Bounding sphere defined by center and radius for intersection and containment tests.
void setHalfExtents(const Vector3 &value)
BoundingSphere worldBounds() const
void setRadius(const float value)
void setHeight(const float value)
void setType(const std::string &type)
~CollisionComponent() override
static const std::vector< CollisionComponent * > & instances()
const std::string & type() const
const Vector3 & halfExtents() const
void initializeComponentData() override
CollisionComponent(IComponentSystem *system, Entity *entity)
Component(IComponentSystem *system, Entity *entity)
IComponentSystem * system() const
ECS entity — a GraphNode that hosts components defining its behavior.
3D vector for positions, directions, and normals with multi-backend SIMD acceleration.