15#include "imgui/imgui.h"
16#include "imgui/imgui_internal.h"
30 void Update(
float frameTime);
32 void DrawLabels(
bool interactive,
const ImVec2 &imagePos = { 0.0, 0.0 });
74 using InputFrame::InputFrame;
95 void DrawNearSectors(
const matrix4x4f &modelview);
96 void DrawNearSector(
const int sx,
const int sy,
const int sz,
const matrix4x4f &trans);
97 void DrawLabelsInternal(
bool interactive,
const ImVec2 &imagePos = { 0.0, 0.0 });
101 void DrawFarSectors(
const matrix4x4f &modelview);
103 void PutFactionLabels(
const vector3f &secPos);
110 void MouseWheel(
bool up);
117 float m_rotXDefault, m_rotZDefault, m_zoomDefault;
119 float m_rotX, m_rotZ;
120 float m_rotXMovingTo, m_rotZMovingTo;
124 float m_zoomMovingTo;
126 bool m_rotateWithMouseButton =
false;
127 bool m_rotateView =
false;
128 bool m_zoomView =
false;
129 bool m_manualMove =
false;
131 bool m_drawUninhabitedLabels =
false;
132 bool m_drawVerticalLines =
false;
134 std::set<const Faction *> m_visibleFactions;
135 std::set<const Faction *> m_hiddenFactions;
137 Uint8 m_detailBoxVisible;
139 sigc::connection m_onToggleSelectionFollowView;
140 sigc::connection m_onWarpToSelected;
141 sigc::connection m_onViewReset;
145 std::vector<vector3f> m_farstars;
146 std::vector<Color> m_farstarsColor;
150 bool m_toggledFaction;
159 std::unique_ptr<ImDrawList> m_drawList;
160 std::unique_ptr<Graphics::RenderTarget> m_renderTarget;
164 std::unique_ptr<Graphics::VertexArray> m_lineVerts;
165 std::unique_ptr<Graphics::VertexArray> m_secLineVerts;
166 std::unique_ptr<Graphics::VertexArray> m_starVerts;
167 std::unique_ptr<Graphics::VertexArray> m_customLineVerts;
168 bool m_updateCustomLines =
false;
184 std::vector<SphereParam> m_sphereParams;
185 std::unique_ptr<Graphics::Drawables::Sphere3D> m_sphere;
195 std::string fontName =
"orbiteer";
198 ImFont *starLabelFont =
nullptr;
199 ImFont *factionHomeFont =
nullptr;
200 ImFont *factionNameFont =
nullptr;
201 ImRect starLabelHoverArea;
202 ImRect factionHomeHoverArea;
203 ImRect factionNameHoverArea;
204 ImU32 highlightColor = IM_COL32(255, 255, 255, 100);
205 ImU32 shadeColor = IM_COL32(25, 51, 82, 200);
209 std::vector<std::unique_ptr<Label>> array;
212 bool m_hideLabels =
false;
nlohmann::json Json
Definition: Json.h:8
Definition: DeleteEmitter.h:16
Definition: Factions.h:21
Definition: Drawables.h:83
Definition: Drawables.h:117
Definition: RefCounted.h:36
Definition: SectorMap.h:23
vector3f GetSystemPosition(const SystemPath &path)
Definition: SectorMap.cpp:1324
void SetLabelsVisibility(bool hideLabels)
Definition: SectorMap.h:51
void AddLineVert(const vector3f &v, const Color &c)
Definition: SectorMap.cpp:899
void SetLabelParams(std::string fontName, int fontSize, float gap, Color highlight, Color shade)
Definition: SectorMap.cpp:721
SectorMapContext & GetContext()
Definition: SectorMap.h:43
void GotoSystem(const SystemPath &path)
Definition: SectorMap.cpp:803
std::vector< SystemPath > GetNearbyStarSystemsByName(std::string pattern)
Definition: SectorMap.cpp:1256
void SetZoomMode(bool enable)
Definition: SectorMap.cpp:1295
void CreateRenderTarget()
Definition: SectorMap.cpp:671
void Update(float frameTime)
Definition: SectorMap.cpp:1105
void ClearLineVerts()
Definition: SectorMap.cpp:904
void GotoSector(const SystemPath &path)
Definition: SectorMap.cpp:798
void AddSphere(const matrix4x4f &trans, const Color &color=Color::WHITE)
Definition: SectorMap.cpp:875
void AddStarBillboard(const matrix4x4f &modelview, const vector3f &pos, const Color &col, float size)
Definition: SectorMap.cpp:880
void SetDrawUninhabitedLabels(bool value)
Definition: SectorMap.h:45
void SaveToJson(Json &jsonObj)
Definition: SectorMap.cpp:561
RefCountedPtr< Sector > GetCached(const SystemPath &loc)
Definition: SectorMap.h:38
void SetDrawVerticalLines(bool value)
Definition: SectorMap.h:46
void DrawEmbed()
Definition: SectorMap.cpp:689
vector3f GetPosition() const
Definition: SectorMap.h:35
SectorMap::InputBinding InputBindings
const std::set< const Faction * > & GetHiddenFactions()
Definition: SectorMap.h:71
void SetFactionVisible(const Faction *faction, bool visible)
Definition: SectorMap.cpp:1286
bool IsCenteredOn(const SystemPath &path)
Definition: SectorMap.cpp:812
void Draw3D()
Definition: SectorMap.cpp:586
void DrawLabels(bool interactive, const ImVec2 &imagePos={ 0.0, 0.0 })
Definition: SectorMap.cpp:657
SystemPath NearestSystemToPos(const vector3f &pos)
Definition: SectorMap.cpp:361
bool IsManualMove()
Definition: SectorMap.h:40
matrix4x4f PointOfView()
Definition: SectorMap.cpp:577
void ResetView()
Definition: SectorMap.cpp:1313
double GetZoomLevel() const
Definition: SectorMap.cpp:1251
~SectorMap()
Definition: SectorMap.cpp:559
void SetRotateMode(bool enable)
Definition: SectorMap.cpp:1304
const std::set< const Faction * > & GetVisibleFactions()
Definition: SectorMap.h:70
void SetSize(vector2d size)
Definition: SectorMap.cpp:662
Definition: SystemPath.h:13
Definition: Background.h:14
static const Color4ub WHITE
Definition: Color.h:156
Definition: SectorMapContext.h:16