19#include <unordered_map>
83 void ComputeCenters(entt::entity entity, glm::dvec3 parent_pos, glm::dvec3 future_parent_pos);
Wrapper class for all the components of the game, so that all the game stuff can be initialized in on...
Definition: game.h:27
Definition: isimulationsystem.h:25
Game & game
Definition: isimulationsystem.h:42
Definition: sysorbit.h:26
void CalculatePosition(entt::entity entity, components::types::Orbit &orbit, components::types::Kinematics &kinematics, components::types::FuturePosition &future_pos)
Definition: sysorbit.cpp:72
void ComputePosition(entt::entity parent, entt::entity body)
Definition: sysorbit.cpp:273
void Init() override
Definition: sysorbit.cpp:401
bool CheckEnterSOI(const entt::entity &parent, const entt::entity &body, components::types::Kinematics &pos)
Change the current body's SOI into a child SOI
Definition: sysorbit.cpp:321
void CalculateImpulse(components::types::Orbit &orb, entt::entity body)
Definition: sysorbit.cpp:177
void ComputeCenters(entt::entity entity, glm::dvec3 parent_pos, glm::dvec3 future_parent_pos)
Definition: sysorbit.cpp:385
void ParseOrbitTree(entt::entity parent, entt::entity body)
Definition: sysorbit.cpp:257
void ParseChildren(entt::entity body)
Definition: sysorbit.cpp:200
std::unordered_map< entt::entity, BodyCache > body_cache
Definition: sysorbit.h:89
void UpdateCommandQueue(components::types::Orbit &orb, entt::entity body, entt::entity parent)
Definition: sysorbit.cpp:223
int Interval() const override
Definition: sysorbit.h:30
void EnterSOI(entt::entity entity, entt::entity body, entt::entity parent, components::types::Orbit &orb, components::types::Kinematics &vehicle_position, const components::bodies::Body &body_comp, const components::types::Kinematics &target_position)
Definition: sysorbit.cpp:351
void DoSystem() override
Definition: sysorbit.cpp:44
void LeaveSOI(const entt::entity &body, entt::entity &parent, components::types::Orbit &orb, components::types::Kinematics &pos, components::types::Kinematics &p_pos)
Sets the SOI of the entity to the parent
Definition: sysorbit.cpp:112
const bool debug_prints
Definition: sysorbit.h:87
bool CrashObject(components::types::Orbit &orb, entt::entity body, components::types::Kinematics &pos, double radius)
Check if the entity has crashed into its parent object
Definition: sysorbit.cpp:144
SysOrbit(Game &game)
Definition: sysorbit.h:28
Definition: basicmaneuver.cpp:23
std::string parent
Definition: planetloader.cpp:51
Definition: coordinates.h:36
Relative position from the parent orbiting object.
Definition: coordinates.h:30
Definition: sysorbit.h:34
double SOI
Definition: sysorbit.h:39
glm::dvec3 future_position
Definition: sysorbit.h:37
glm::dvec3 future_center
Definition: sysorbit.h:38
glm::dvec3 center
Definition: sysorbit.h:36
glm::dvec3 position
Definition: sysorbit.h:35
double radius
Definition: sysorbit.h:40