96 std::vector<Projectable>
GetProjected()
const {
return m_projected; }
119 using InputFrame::InputFrame;
120 void RegisterBindings()
override;
127 bool m_rotateWithMouseButton =
false;
128 bool m_rotateView =
false;
129 bool m_zoomView =
false;
130 std::vector<Projectable> m_projected;
131 static const double PICK_OBJECT_RECT_SIZE;
132 static const Uint16 N_VERTICES_MAX;
133 const float CAMERA_FOV = 50.f;
134 const float CAMERA_FOV_RADIANS = CAMERA_FOV / 57.295779f;
136 template <
typename RefType>
137 void PutOrbit(
Projectable::bases base, RefType *ref,
const Orbit *orb,
const vector3d &offset,
const Color &color,
const double planetRadius = 0.0,
const bool showLagrange =
false);
141 void ResetViewpoint();
142 void MouseWheel(
bool up);
143 void RefreshShips(
void);
144 void DrawShips(
const double t,
const vector3d &offset);
148 template <
typename T>
150 void CalculateShipPositionAtTime(
const Ship *s,
Orbit o,
double t,
vector3d &pos);
151 void CalculateFramePositionAtTime(
FrameId frameId,
double t,
vector3d &pos);
152 double GetOrbitTime(
double t,
const SystemBody *b);
153 double GetOrbitTime(
double t,
const Body *b);
158 std::vector<SystemBody *> m_displayed_sbody;
162 std::list<std::pair<Ship *, Orbit>> m_contacts;
166 float m_rot_x, m_rot_y;
167 float m_rot_x_to, m_rot_y_to;
168 float m_zoom, m_zoomTo;
169 int m_animateTransition;
175 sigc::connection m_onMouseWheelCon;
177 std::unique_ptr<Graphics::Drawables::Disk> m_bodyIcon;
182 std::unique_ptr<vector3f[]> m_orbitVts;
183 std::unique_ptr<Color[]> m_orbitColors;
185 std::unique_ptr<Graphics::VertexArray> m_lineVerts;
ShowLagrange
Definition: SystemView.h:37
@ LAG_ICONTEXT
Definition: SystemView.h:39
@ LAG_ICON
Definition: SystemView.h:38
@ LAG_OFF
Definition: SystemView.h:40
ShipDrawing
Definition: SystemView.h:25
@ ORBITS
Definition: SystemView.h:27
@ BOXES
Definition: SystemView.h:26
@ OFF
Definition: SystemView.h:28
GridDrawing
Definition: SystemView.h:31
Definition: DeleteEmitter.h:16
Definition: Drawables.h:79
Definition: RenderState.h:25
Definition: PiGuiView.h:11
Definition: StarSystem.h:27
Definition: SystemBody.h:19
Definition: SystemView.h:80
Projectable * GetSelectedObject()
Definition: SystemView.cpp:652
void Draw3D() override
Definition: SystemView.cpp:325
Color svColor[8]
Definition: SystemView.h:114
~SystemView() override
Definition: SystemView.cpp:85
void SetSelectedObject(Projectable::types type, Projectable::bases base, SystemBody *sb)
Definition: SystemView.cpp:657
double ProjectedSize(double size, vector3d pos)
Definition: SystemView.cpp:681
void SetRotateMode(bool enable)
Definition: SystemView.cpp:643
TransferPlanner * GetTransferPlanner() const
Definition: SystemView.h:91
void OnSwitchFrom() override
Definition: SystemView.cpp:691
double GetOrbitPlannerTime() const
Definition: SystemView.h:93
double GetOrbitPlannerStartTime() const
Definition: SystemView.h:92
void Update() override
Definition: SystemView.cpp:462
void AccelerateTime(float step)
Definition: SystemView.cpp:91
void SetRealTime()
Definition: SystemView.cpp:97
std::vector< Projectable > GetProjected() const
Definition: SystemView.h:96
void SetVisibility(std::string param)
Definition: SystemView.cpp:605
SystemView(Game *game)
Definition: SystemView.cpp:50
void SetZoomMode(bool enable)
Definition: SystemView.cpp:634
void SetColor(ColorIndex color_index, Color *color_value)
Definition: SystemView.h:115
ColorIndex
Definition: SystemView.h:103
@ GRID_LEG
Definition: SystemView.h:105
@ GRID
Definition: SystemView.h:104
@ SELECTED_SHIP_ORBIT
Definition: SystemView.h:110
@ SYSTEMBODY_ORBIT
Definition: SystemView.h:107
@ PLAYER_ORBIT
Definition: SystemView.h:108
@ PLANNER_ORBIT
Definition: SystemView.h:109
@ SYSTEMBODY
Definition: SystemView.h:106
@ SHIP_ORBIT
Definition: SystemView.h:111
Definition: TransferPlanner.h:8
double GetStartTime() const
Definition: TransferPlanner.cpp:71
Definition: SystemView.h:43
enum Projectable::bases base
Projectable(const types t, const bases b, const Body *obj)
Definition: SystemView.h:66
vector3d screenpos
Definition: SystemView.h:63
const SystemBody * sbody
Definition: SystemView.h:61
union Projectable::@12 ref
const Body * body
Definition: SystemView.h:60
bases
Definition: SystemView.h:52
@ BODY
Definition: SystemView.h:54
@ SHIP
Definition: SystemView.h:55
@ PLAYER
Definition: SystemView.h:56
@ PLANNER
Definition: SystemView.h:57
@ SYSTEMBODY
Definition: SystemView.h:53
Projectable(const types t, const bases b, const SystemBody *obj)
Definition: SystemView.h:71
Projectable()
Definition: SystemView.h:76
types
Definition: SystemView.h:44
@ L5
Definition: SystemView.h:48
@ L4
Definition: SystemView.h:47
@ PERIAPSIS
Definition: SystemView.h:50
@ OBJECT
Definition: SystemView.h:46
@ APOAPSIS
Definition: SystemView.h:49
@ NONE
Definition: SystemView.h:45
vector3d worldpos
Definition: SystemView.h:64
enum Projectable::types type