aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/api/Rigidbody.h
diff options
context:
space:
mode:
authorJAROWMR <jarorutjes07@gmail.com>2024-12-14 11:40:33 +0100
committerJAROWMR <jarorutjes07@gmail.com>2024-12-14 11:40:33 +0100
commit061b2b8ab9aba67c1467cdd163fb7a04de95f4f1 (patch)
treee1960a83461e0d83a7027a88404af1a7c70f6dcd /src/crepe/api/Rigidbody.h
parentfd2ebb54d0c2b269c15fc84a4ac77993efc917d7 (diff)
parentb9fc66f6922b1f40f2dbe14e8dfc4caa469654bc (diff)
Merge branch 'master' of github.com:lonkaars/crepe into jaro/collision-system
Diffstat (limited to 'src/crepe/api/Rigidbody.h')
-rw-r--r--src/crepe/api/Rigidbody.h32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/crepe/api/Rigidbody.h b/src/crepe/api/Rigidbody.h
index 8265ba5..b08c8db 100644
--- a/src/crepe/api/Rigidbody.h
+++ b/src/crepe/api/Rigidbody.h
@@ -11,7 +11,7 @@ namespace crepe {
/**
* \brief Rigidbody class
- *
+ *
* This class is used by the physics sytem and collision system. It configures how to system
* interact with the gameobject for movement and collisions.
*/
@@ -19,7 +19,7 @@ class Rigidbody : public Component {
public:
/**
* \brief BodyType enum
- *
+ *
* This enum provides three bodytypes the physics sytem and collision system use.
*/
enum class BodyType {
@@ -32,7 +32,7 @@ public:
};
/**
* \brief PhysicsConstraints to constrain movement
- *
+ *
* This struct configures the movement constraint for this object. If a constraint is enabled
* the systems will not move the object.
*/
@@ -46,20 +46,20 @@ public:
};
public:
- /**
+ /**
* \brief struct for Rigidbody data
- *
+ *
* This struct holds the data for the Rigidbody.
*/
struct Data {
//! objects mass
- float mass = 0.0;
+ float mass = 1;
/**
* \brief Gravity scale factor.
*
* The `gravity_scale` controls how much gravity affects the object. It is a multiplier applied to the default
* gravity force, allowing for fine-grained control over how the object responds to gravity.
- *
+ *
*/
float gravity_scale = 0;
@@ -79,7 +79,7 @@ public:
//! Linear velocity of the object (speed and direction).
vec2 linear_velocity;
//! Maximum linear velocity of the object. This limits the object's speed.
- vec2 max_linear_velocity = {INFINITY, INFINITY};
+ float max_linear_velocity = INFINITY;
//! Linear velocity coefficient. This scales the object's velocity for adjustment or damping.
vec2 linear_velocity_coefficient = {1, 1};
//! \}
@@ -108,7 +108,7 @@ public:
* The `PhysicsConstraints` struct defines the constraints that restrict an object's movement
* in certain directions or prevent rotation. These constraints effect only the physics system
* to prevent the object from moving or rotating in specified ways.
- *
+ *
*/
PhysicsConstraints constraints;
@@ -128,7 +128,7 @@ public:
* The `offset` defines a positional shift applied to all colliders associated with the object, relative to the object's
* transform position. This allows for the colliders to be placed at a different position than the object's actual
* position, without modifying the object's transform itself.
- *
+ *
*/
vec2 offset;
@@ -136,14 +136,14 @@ public:
* \brief Defines the collision layers of a GameObject.
*
* The `collision_layers` specifies the layers that the GameObject will collide with.
- * Each element represents a layer ID, and the GameObject will only detect
+ * Each element represents a layer ID, and the GameObject will only detect
* collisions with other GameObjects that belong to these layers.
*/
std::set<int> collision_layers;
};
public:
- /**
+ /**
* \param game_object_id id of the gameobject the rigibody is added to.
* \param data struct to configure the rigidbody.
*/
@@ -152,15 +152,15 @@ public:
Data data;
public:
- /**
+ /**
* \brief add a linear force to the Rigidbody.
- *
+ *
* \param force Vector2 that is added to the linear force.
*/
void add_force_linear(const vec2 & force);
- /**
+ /**
* \brief add a angular force to the Rigidbody.
- *
+ *
* \param force Vector2 that is added to the angular force.
*/
void add_force_angular(float force);