|
| Hitbox (Position position={0.0f, 0.0f, 0.0f}, float scaleFactor=1.0f, Mass mass=1.0f, Speed initialSpeed={0.0f, 0.0f, 0.0f}, Acceleration initialAcceleration={0.0f, 0.0f, 0.0f}, Force internalForce={0.0f, 0.0f, 0.0f}, Field emittedField=Field{ {0.0f, 0.0f, 0.0f}, FieldFunctions::emptyField }) |
|
virtual float | getScaleFactor () const |
|
virtual void | setScaleFactor (float scaleFactor) |
|
virtual void | onCollision (Hitbox &collidingObject) |
|
virtual void | setCollisionAction (const std::function< void(Hitbox &)> &action) |
|
| Cinematicable (Position position={ 0.0f, 0.0f, 0.0f }, glm::vec3 rotationEuler={ 0.0f, 0.0f, 0.0f }, Mass mass=1.0f, Speed initialSpeed={ 0.0f, 0.0f, 0.0f }, Acceleration initialAcceleration={ 0.0f, 0.0f, 0.0f }, Force internalForce={ 0.0f, 0.0f, 0.0f }, float angularSpeed=0.0f, Field emittedField=Field{ {0.0f, 0.0f, 0.0f}, FieldFunctions::emptyField }) |
|
virtual void | setMass (Mass mass) |
|
virtual Mass | getMass () const |
|
virtual void | setSpeed (Speed speed) |
|
virtual const Speed & | getSpeed () const |
|
virtual void | setAcceleration (Acceleration acceleration) |
|
virtual const Acceleration & | getAcceleration () const |
|
virtual void | setInternalForce (Force internalForce) |
|
virtual const Force & | getInternalForce () const |
|
virtual Field | getEmittedField () |
|
virtual void | setPosition (Position position) override |
|
virtual Cinematicable & | translate (DeltaSpace delta) override |
|
virtual float | getAngularSpeed () const |
|
virtual void | setAngularSpeed (float angularSpeed) |
|
virtual void | addExternalForce (Force externalForce) |
| Sums to the already present external forces the argument. More...
|
|
virtual void | reset (Position position) |
|
virtual void | move (Time elapsedTime) |
| Computes the new position of the object based on its current speed and the forces which are acting on the object. More...
|
|
| Moveable (Position position={ 0.0f, 0.0f, 0.0f }, glm::vec3 rotationEuler={ 0.0f, 0.0f, 0.0f }) |
|
virtual Moveable & | translate (DeltaSpace delta) |
|
virtual const Position & | getPosition () const |
|
virtual void | setPosition (Position position) |
|
virtual Moveable & | rotate (float angle, glm::vec3 axis) |
|
virtual const glm::quat & | getRotation () const |
|
virtual const glm::vec3 & | getRotationEuler () const |
|
virtual void | setRotation (glm::quat rotation) |
|
virtual void | setRotation (glm::vec3 eulerAngles) |
|
std::mutex & | getMutex () |
|
A Hitbox is a Cinematicable object which can directly interact with other objects upon collision.