29class StarSystemViewUI;
33 void Update(
float delta_time);
44 glm::quat
GetBodyRotation(
double axial,
double rotation,
double day_offset);
90 std::optional<glm::vec3>
CheckIntersection(
const glm::vec3 &object_pos,
const glm::vec3 &ray_wor,
float radius);
Definition: starsystemcontroller.h:30
void CalculateCityPositions()
Definition: starsystemcontroller.cpp:449
void SeeEntity()
Definition: starsystemcontroller.cpp:502
void CityDetection()
Definition: starsystemcontroller.cpp:170
entt::entity selected_city
Definition: starsystemcontroller.h:100
double previous_mouseX
Definition: starsystemcontroller.h:102
core::components::types::SurfaceCoordinate target_surface_coordinate
Definition: starsystemcontroller.h:139
void SetCameraToSolarSystemReferenceFrame()
Definition: starsystemcontroller.cpp:375
glm::vec3 CalculateMouseRay(const glm::vec3 &ray_nds)
Definition: starsystemcontroller.cpp:439
bool focus_on_city
Definition: starsystemcontroller.h:137
bool planet_frame_scroll
Definition: starsystemcontroller.h:138
glm::vec3 CalculateCenteredObject(const entt::entity &)
Definition: starsystemcontroller.cpp:515
const float SCROLL_SENSITIVITY
Definition: starsystemcontroller.h:133
StarSystemController(core::Universe &, engine::Application &, StarSystemCamera &)
Definition: starsystemcontroller.cpp:44
void FoundCity()
Definition: starsystemcontroller.cpp:314
core::components::types::SurfaceCoordinate GetCameraOverCoordinate()
Definition: starsystemcontroller.cpp:295
glm::vec3 selected_province_color
Definition: starsystemcontroller.h:124
void PreRender()
Definition: starsystemcontroller.cpp:332
glm::vec3 GetMouseOnObjectPosition()
Definition: starsystemcontroller.h:36
void Update(float delta_time)
Definition: starsystemcontroller.cpp:47
core::Universe & universe
Definition: starsystemcontroller.h:94
friend StarSystemViewUI
Definition: starsystemcontroller.h:135
void SetCameraToPlanetReferenceFrame()
Definition: starsystemcontroller.cpp:367
entt::entity GetMouseOnObject(int mouse_x, int mouse_y)
Definition: starsystemcontroller.cpp:479
void FocusCityView()
Definition: starsystemcontroller.cpp:383
entt::entity m_viewing_entity
Definition: starsystemcontroller.h:57
void FocusPlanetView()
Definition: starsystemcontroller.cpp:531
glm::vec3 CalculateObjectPos(const entt::entity &ent)
Definition: starsystemcontroller.cpp:521
const glm::vec3 & SelectedProvinceColor()
Definition: starsystemcontroller.cpp:500
bool is_founding_city
Definition: starsystemcontroller.h:129
entt::entity selected_province
Definition: starsystemcontroller.h:121
entt::entity hovering_province
Definition: starsystemcontroller.h:120
void CalculateViewChange(double deltaX, double deltaY)
Definition: starsystemcontroller.cpp:149
void MoveCamera(double delta_time)
Definition: starsystemcontroller.cpp:90
void SeePlanet(entt::entity ent)
Definition: starsystemcontroller.cpp:309
const float PAN_SPEED
Definition: starsystemcontroller.h:132
void CenterCameraOnPoint()
Definition: starsystemcontroller.cpp:339
glm::vec3 mouse_on_object
Definition: starsystemcontroller.h:126
engine::Application & app
Definition: starsystemcontroller.h:95
int tex_b
Definition: starsystemcontroller.h:118
glm::vec3 GetMouseInScreenSpace(int mouse_x, int mouse_y)
Definition: starsystemcontroller.cpp:472
glm::vec3 hovering_province_color
Definition: starsystemcontroller.h:123
int tex_r
Debugging colors
Definition: starsystemcontroller.h:116
int tex_g
Definition: starsystemcontroller.h:117
int tex_y
Definition: starsystemcontroller.h:111
void CalculateScroll()
Definition: starsystemcontroller.cpp:123
bool is_rendering_founding_city
Definition: starsystemcontroller.h:128
void SelectCountry()
Definition: starsystemcontroller.cpp:274
void CenterCameraOnCity()
Definition: starsystemcontroller.cpp:236
bool IsFoundingCity()
Definition: starsystemcontroller.cpp:168
float GetScrollValue()
Definition: starsystemcontroller.cpp:147
entt::entity terrain_displaying
Definition: starsystemcontroller.h:99
glm::quat GetBodyRotation(double axial, double rotation, double day_offset)
Gets the quaternion to calculate the planet's rotation from the axial rotation and the rotation perio...
Definition: starsystemcontroller.cpp:226
bool ShouldDrawCityPrototype()
Definition: starsystemcontroller.cpp:498
StarSystemCamera & camera
Definition: starsystemcontroller.h:97
double previous_mouseY
Definition: starsystemcontroller.h:103
core::components::types::SurfaceCoordinate GetMouseSurfaceIntersection()
Definition: starsystemcontroller.cpp:207
const float CAMERA_MOVEMENT_SPEED
Definition: starsystemcontroller.h:131
glm::vec3 GetMouseIntersectionOnObject(int mouse_x, int mouse_y)
Definition: starsystemcontroller.cpp:417
std::optional< glm::vec3 > CheckIntersection(const glm::vec3 &object_pos, const glm::vec3 &ray_wor, float radius)
Definition: starsystemcontroller.cpp:402
void FocusOnEntity(entt::entity ent)
Definition: starsystemcontroller.cpp:253
entt::entity on_planet
Definition: starsystemcontroller.h:105
int tex_x
Debugging mouse position
Definition: starsystemcontroller.h:110
Definition: universe.h:59
Definition: application.h:48
Definition: imguidebugger.cpp:19
Definition: starsystemcamera.h:28
Longitude and lattitude. Planet coordinates.
Definition: coordinates.h:75