34#include <NDEVR/Camera.h>
35#include <NDEVR/MouseController.h>
36#include <NDEVR/ViewportLayout.h>
37#include <NDEVR/KeyController.h>
38#include <NDEVR/UUID.h>
39#include <NDEVR/Pointer.h>
40#include <NDEVR/Buffer.h>
41#include <NDEVR/Dictionary.h>
56 struct hash<
std::pair<NDEVR::UUID, NDEVR::UUID>>
71 size_t operator()(
const std::pair<NDEVR::UUID, NDEVR::UUID>& value)
const
73 hash<NDEVR::UUID> hasher;
74 return hasher(value.first) ^ hasher(value.second);
88 struct equal_to<
std::pair<NDEVR::UUID, NDEVR::UUID>>
104 bool operator()(
const std::pair<NDEVR::UUID, NDEVR::UUID>& x,
const std::pair<NDEVR::UUID, NDEVR::UUID>& y)
const
112 class KeyControllerBase;
113 class MouseControllerBase;
114 class MouseController;
124 class CameraOrientationSync;
125 class CameraOffsetSync;
127 CameraManager(DesignObjectBase& base);
129 void addCamera(DynamicPointer<Camera> camera);
130 const ConstPointer<SnapsManager>& snapsManager()
const
132 return m_snap_manager;
134 const DynamicPointer<SnapsManager>& snapsManager()
136 return m_snap_manager;
138 void update(
const Time& time,
const DesignObjectLookup* lookup);
139 const DynamicPointer<MouseController>& mouseController(UUID
id)
141 return m_mouse_controllers.get(
id);
143 const DynamicPointer<KeyController>& keyController(UUID
id)
145 return m_key_controllers.get(
id);
147 DynamicPointer<Camera> createCamera(Model& parent, ViewportFormat format);
148 void updateCamera(
const ViewportFormat& format);
149 bool hasCamera(UUID
id)
const;
150 const DynamicPointer<Camera>& getCamera(UUID
id)
const
152 return m_cameras.get(
id);
154 const DynamicPointer<Camera>& getCamera(UUID
id)
156 return m_cameras.get(
id);
158 uint04 cameraCount()
const
160 return m_cameras.size();
163 uint04 userCameraCount()
const;
164 DynamicPointer<Camera> selectedCamera()
const;
165 Buffer<DynamicPointer<Camera>> userCameras()
const;
166 Buffer<UUID> userCameraIDs()
const;
167 Buffer<UUID> cameraIDs()
const;
168 void setSkybox(UUID camera, Skybox* skybox);
169 Skybox* getSkybox(UUID camera_id)
const;
170 const DynamicPointer<Camera>& getCameraFromIndex(uint04
id)
172 return m_index_cameras[id];
174 const ConstPointer<Camera>& getCameraFromIndex(uint04
id)
const
176 return m_index_cameras[id];
178 void deleteCamera(UUID
id);
179 void linkCameraOrientation(UUID a, UUID b);
180 void selectCamera(UUID camera);
181 void delinkCameraOrientation(UUID a, UUID b);
182 void addKeyController(UUID camera, UUID
id, KeyControllerBase* actions);
183 void removeKeyController(UUID camera, UUID
id);
184 void addKeyController(UUID
id, KeyControllerBase* actions);
185 void removeKeyController(UUID
id);
186 void addMouseController(UUID camera, UUID
id, MouseControllerBase* actions);
187 void removeMouseController(UUID camera, UUID
id);
188 void addMouseController(UUID
id, MouseControllerBase* actions);
189 void removeMouseController(UUID
id);
190 void setThemeCameraBackgroundColor(
const RGBColor& color);
191 void updateCameraBackgrounds();
192 void setCameraShowGrid(
bool show_grid);
193 void setCameraShowEnvironment(
bool show_grid);
194 void addMouseCursor(UUID
id,
const String& cursor);
195 void removeMouseCursor(UUID
id);
196 void addViewportLayout(
const ViewportLayout& layout);
197 void updateViewportLayout(
const ViewportLayout& layout);
198 void setDefaultLayoutTheme(ViewportLayoutTheme theme);
199 void removeViewportLayout(
const UUID&
id);
200 RGBColor defaultCameraBackgroundColor()
const;
201 Resource<ViewportLayout> current_layout;
202 Resource<bool> camera_show_grid;
203 Resource<bool> camera_show_environment;
205 Buffer<ViewportLayout> m_viewport_layout_stack;
206 DynamicPointer<SnapsManager> m_snap_manager;
207 Dictionary<UUID, Skybox*> m_skyboxes;
208 Dictionary<std::pair<UUID, UUID>, CameraOrientationSync*> m_camera_orientation_syncs;
209 Dictionary<std::pair<UUID, UUID>, CameraOffsetSync*> m_camera_offset_syncs;
210 Buffer<DynamicPointer<Camera>> m_index_cameras;
211 Dictionary<UUID, DynamicPointer<Camera>> m_cameras;
212 Dictionary<UUID, DynamicPointer<MouseController>> m_mouse_controllers;
213 Dictionary<UUID, DynamicPointer<KeyController>> m_key_controllers;
214 Buffer<UUID> m_global_mouse_actions;
215 Dictionary<UUID, MouseControllerBase*> m_global_mouse_action_lookup;
216 Buffer<UUID> m_global_key_actions;
217 Dictionary<UUID, KeyControllerBase*> m_global_key_action_lookup;
218 DesignObjectBase& m_base;
219 RGBColor m_theme_camera_background_color;
220 Buffer<std::pair<UUID, String>> m_global_mouse_cursors;
221 Dictionary<UUID, String> m_global_mouse_cursor_lookup;
222 UUID m_active_camera;
223 BasicResourceListener* m_color_theme_listener;
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:96