178 const glm::vec3 &pointB = glm::vec3(0.0f),
182 constraint.
bodyA = a;
183 constraint.
bodyB = b;
188 constraint.
settings = constraintSettings;
189 constraint.
broken =
false;
209 const glm::vec3 &pointA = glm::vec3(0.0f),
const glm::vec3 &pointB = glm::vec3(0.0f),
216 constraint.
bodyA = a;
217 constraint.
bodyB = b;
222 constraint.
settings = constraintSettings;
223 constraint.
broken =
false;
241 const glm::vec3 &localPoint = glm::vec3(0.0f),
245 constraint.
bodyA = body;
251 constraint.
settings = constraintSettings;
252 constraint.
broken =
false;
270 const glm::vec3 &pointB = glm::vec3(0.0f),
274 constraint.
bodyA = a;
275 constraint.
bodyB = b;
280 constraint.
settings = constraintSettings;
281 constraint.
broken =
false;
Definition BoxCollider.hpp:27
Represents a unique identifier for an entity in the Engine's entity-component system....
Definition EntityId.hpp:14
static constexpr EntityId Null()
Returns a null EntityId. A null EntityId is an EntityId that does not correspond to any valid entity ...
Definition EntityId.hpp:40
Definition ConstraintSettings.hpp:52
static ConstraintSettings Soft(float stiff=0.5f, float damp=0.1f)
Create settings for a soft spring-like constraint.
Definition ConstraintSettings.hpp:176
static ConstraintSettings Rigid()
Create settings for a perfectly rigid constraint.
Definition ConstraintSettings.hpp:136
Definition DistanceConstraint.hpp:80
bool IsAutoDistance() const
Check if distances should be auto-detected.
Definition DistanceConstraint.hpp:295
Engine::EntityId bodyB
Second body entity (the entity to connect to).
Definition DistanceConstraint.hpp:93
Engine::EntityId bodyA
First body entity (the entity this component is attached to).
Definition DistanceConstraint.hpp:88
bool broken
Whether this constraint has been broken.
Definition DistanceConstraint.hpp:157
static DistanceConstraint Create(Engine::EntityId a, Engine::EntityId b, float distance, const glm::vec3 &pointA=glm::vec3(0.0f), const glm::vec3 &pointB=glm::vec3(0.0f), const ConstraintSettings &constraintSettings=ConstraintSettings::Rigid())
Create a fixed-distance constraint (rope).
Definition DistanceConstraint.hpp:177
static DistanceConstraint CreateToWorld(Engine::EntityId body, const glm::vec3 &worldPoint, float distance, const glm::vec3 &localPoint=glm::vec3(0.0f), const ConstraintSettings &constraintSettings=ConstraintSettings::Rigid())
Create a distance constraint from body to world.
Definition DistanceConstraint.hpp:240
static DistanceConstraint CreateAutoDistance(Engine::EntityId a, Engine::EntityId b, const glm::vec3 &pointA=glm::vec3(0.0f), const glm::vec3 &pointB=glm::vec3(0.0f), const ConstraintSettings &constraintSettings=ConstraintSettings::Rigid())
Create a distance constraint with auto-detected distance.
Definition DistanceConstraint.hpp:269
glm::vec3 localPointA
Attachment point on bodyA in local body space.
Definition DistanceConstraint.hpp:102
static DistanceConstraint CreateWithRange(Engine::EntityId a, Engine::EntityId b, float min, float max, const glm::vec3 &pointA=glm::vec3(0.0f), const glm::vec3 &pointB=glm::vec3(0.0f), const ConstraintSettings &constraintSettings=ConstraintSettings::Soft())
Create a distance constraint with min/max range (spring).
Definition DistanceConstraint.hpp:208
float maxDistance
Maximum allowed distance between attachment points.
Definition DistanceConstraint.hpp:139
bool IsFixedDistance() const
Check if this is a fixed distance (rope) or range (spring).
Definition DistanceConstraint.hpp:301
glm::vec3 localPointB
Attachment point on bodyB in local body space (or world-space anchor for world constraints).
Definition DistanceConstraint.hpp:112
ConstraintSettings settings
Constraint settings (stiffness, damping, breaking thresholds).
Definition DistanceConstraint.hpp:148
bool IsWorldConstraint() const
Check if this is a world constraint.
Definition DistanceConstraint.hpp:289
float minDistance
Minimum allowed distance between attachment points.
Definition DistanceConstraint.hpp:128