16#include "../Renderer/Lights/Light.h"
18#include "../Scene/Objects/Object3D.h"
19#include "../Utils/Math/Quaternion.h"
20#include "../Scene/Scene.h"
Defines the BoundaryMotionSimulator class for simulating motion and collisions of boundary objects.
Represents an axis-aligned bounding cube for collision detection and physics.
Simulates motion and collision interactions between a BoundaryCube and multiple BoundarySpheres.
Represents a light source with position, intensity, and falloff properties.
Represents a 3D object with geometry, material, and transformation data.
Manages physics simulations for objects within a scene.
BoundaryMotionSimulator * bMS
Simulator handling boundary object interactions.
long previousTime
Time of the previous simulation update.
PhysicsSimulator()
Default constructor initializes the PhysicsSimulator.
BoundaryCube bC
Boundary cube to contain and interact with objects.
Scene * scene
Scene containing objects and their dynamics.
Scene * GetScene()
Retrieves the scene managed by the simulator.
Object3D * objects[12]
Array of objects in the simulation.
void Update(Vector3D acceleration, Quaternion rotation)
Updates the simulation with new acceleration and rotation values.
Light lights[6]
Array of lights illuminating the scene.
bool startedSim
Indicates if the simulation has started.
A mathematical construct representing a rotation in 3D space.
Manages a collection of 3D objects and applies optional screen-space effects.
Represents a 3D vector (X, Y, Z) and provides methods for vector arithmetic.