34#include <NDEVR/PopupInfo.h>
35#include <NDEVR/SelectionTreeManager.h>
36#include <NDEVR/Model.h>
37#include <NDEVR/DesignObjectLookup.h>
38#include <NDEVR/SnapLocation.h>
40#include <NDEVR/UUID.h>
41#include <NDEVR/Dictionary.h>
49 struct ShowPropertiesSettings;
50 class QTModelManagerView;
54 class QCaptureManager;
55 class CachedFactoryIOThread;
58 class ModelEditController;
62 struct FactoryParameters;
64 class ProjectFileManager;
65 class ContextMenuManager;
67 class GraphicsSession;
69 struct CaptureRequest;
100 virtual void addScene(
Scene object,
bool ignore_application_scene =
false)
override;
101 virtual void addGeometry(
Geometry object)
override;
102 virtual void addModel(
Model object)
override;
103 virtual void addLayer(
Model object)
override;
104 virtual void addMaterial(
Material object)
override;
105 virtual LogManager* logManager()
const override;
109 void deleteObject(
UUID id)
override;
110 virtual void eraseModel(
UUID id)
override;
111 virtual Model restoreModel(
UUID id)
override;
114 virtual void addCameraModel(
const UUID& camera,
const Model&
object)
override;
129 virtual void updateModelTopLevel(
const Model&
object)
override;
130 virtual void update(
const Time& time,
const std::function<
void()>& wait_callback)
override;
131 virtual void setActiveProject(
UUID project_id)
override;
134 virtual bool canProcessMimeData(
const QMimeData* data)
const;
139 virtual void setActiveLayer(
UUID layer_id)
override;
140 virtual void startQTUpdate(
const TimeSpan& interval);
141 virtual void stopQTUpdate();
142 virtual void stopAll();
143 virtual void clearSelected()
override;
151 virtual bool hasBeenModified()
const;
152 virtual void requestQTUpdate();
153 virtual void clearAll()
override;
154 virtual bool hasUserSavedProject()
const;
155 virtual void setProjectTimeZone();
156 void popSelected(
const UUID&
id,
bool signal =
true);
157 void addSelected(
const UUID&
id,
bool signal =
true);
158 void setRequestDeploymentCallback(
const String& callback_name,
const std::function<
void(
const UUID&)>& callback);
160 virtual bool useProjectFolders()
const;
164 virtual void _qtUpdate(
const Time& time);
165 virtual void _qtUpdateDeleted(
UUID model);
166 virtual void _qtUpdateDeleted();
167 virtual void _qtUpdateAdded();
168 virtual void _qtUpdateModified();
173 void setSelectedToFocus();
174 void setFocus(
UUID id);
216 void _cleanupMemory();
217 void _refreshModelList();
220 void refreshScene(
UUID object,
bool ignore_application_scene)
override;
223 SelectionTreeManager m_selection_tree_manager;
243#if NDEVR_SUPPORTS_THREADING
244 CachedFactoryIOThread* m_write_thread =
nullptr;
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:64
Definition GraphicsPipeline.h:42
Definition DesignObjectLookup.h:61
Definition DesignTask.h:21
Definition Dictionary.h:48
Definition Pointer.hpp:303
Definition QTModelManager.h:71
virtual bool hasGraphicsSession(const DynamicPointer< GraphicsDevice > &device)=0
virtual void clearAll() const =0
virtual void addRequest(const ConstPointer< CaptureRequest > &request)=0
virtual const DynamicPointer< GraphicsSession > & graphicsSession(const DynamicPointer< GraphicsDevice > &device)=0
virtual void removeRequest(const ConstPointer< CaptureRequest > &request)=0
virtual void addGraphicsSession(DynamicPointer< GraphicsSession > session, bool add_cameras=true)=0
virtual void executeRequest(const ConstPointer< CaptureRequest > &request)=0
virtual bool requestHandleManagerUpdating() const =0
virtual bool canServiceCaptureRequests() const =0
Definition QTModelManager.h:84
static GraphicsManagerFactory * s_factory
Definition QTModelManager.h:91
static NDEVR_API void SetDefaultFactory(GraphicsManagerFactory *factory)
Definition QTModelManager.cpp:42
virtual GraphicsManagerBase * createManager(QTModelManager *manager)=0
static NDEVR_API GraphicsManagerFactory * DefaultFactory()
Definition QTModelManager.cpp:46
Definition LogManager.h:10
Definition ProjectFileManager.h:25
Definition QTModelManager.h:94
void onSwapSelectedSignal(Buffer< UUID > old_selected, Buffer< UUID > new_selected)
WindowManager * windowManager()
Definition QTModelManager.h:122
bool m_is_updating
Definition QTModelManager.h:247
void onCommandExecutedSignal(UUID id)
void onDeleteModel(UUID id)
void onZoomToModel(SnapLocation location, UUID id, UUID camera)
Buffer< UUID > m_selected_object
Definition QTModelManager.h:233
void onDeleteCommand(UUID id)
void onUpdateFocus(UUID id, bool focussed)
Buffer< UUID > m_added_objects
Definition QTModelManager.h:230
void onDeleteGeometry(UUID id)
void onZoomToModel(SnapLocation location, UUID id)
void onAddCamera(UUID id)
void onActiveProjectChanged(UUID id)
Time m_last_audit_time
Definition QTModelManager.h:226
void addLayerSignal(Buffer< UUID > id)
QTModelManager(const QTModelManager &manager)=delete
void onShowPropertiesRequested(UUID object)
Buffer< UUID > m_top_level_change
Definition QTModelManager.h:235
Buffer< UUID > m_objects_to_remove
Definition QTModelManager.h:234
ContextMenuManager * contextMenuManager()
Definition QTModelManager.h:124
ProjectFileManager * projectFileManager()
Definition QTModelManager.h:147
void onDeleteObject(UUID id)
void onDeleteObjects(Buffer< UUID > ids)
void activeLayerChangedSignal(UUID id)
void onObjectUpdatedSignal(const Buffer< UUID > &ids)
Time m_last_qt_update_time
Definition QTModelManager.h:225
virtual void setWindowManager(WindowManager *manager)
Definition QTModelManager.h:123
QTimer m_auto_save_timer
Definition QTModelManager.h:229
void onRefreshObject(UUID id)
void onAddCommand(UUID id)
Dictionary< UUID, DynamicPointer< QTDesignObject > > m_qt_design_objects
Definition QTModelManager.h:236
Buffer< UUID > m_deleted_objects
Definition QTModelManager.h:231
void onDeleteMaterial(UUID id)
UUID m_focused_object
Definition QTModelManager.h:227
void onUpdateCommand(UUID id)
void setGraphicsManager(GraphicsManagerBase *graphics_manager)
Definition QTModelManager.h:149
bool m_needs_cleanup
Definition QTModelManager.h:246
void onAddMaterial(Buffer< UUID > id)
void onAddCameraObject(UUID camera, UUID object)
void canOpenProjectSignal(bool can_open_project)
void onAddGeometry(Buffer< UUID > id)
void onDeleteCamera(UUID id)
void layerUpdatedSignal(UUID id)
void canImportFileSignal(bool can_import_file)
void onAddScene(Buffer< UUID > id)
QTimer m_launch_timer
Definition QTModelManager.h:228
DynamicPointer< LibraryManager > m_library_manager
Definition QTModelManager.h:242
void canExitApplicationSignal(bool can_exit)
void onModelTopLevelChange(Buffer< UUID > id)
void onAddModel(Buffer< UUID > id)
Buffer< UUID > m_erased_objects
Definition QTModelManager.h:232
void onSelectedSignal(Buffer< UUID > ids, bool selected)
Dictionary< String, std::function< void(const UUID &)> > m_request_deployment_callbacks
Definition QTModelManager.h:248
Definition QTModelManagerView.h:41
Represents a timestamp with utilities for manipulation and conversion.
Definition Time.h:54
Definition WindowManager.h:68
void addCamera(const DynamicPointer< Camera > &camera, kmldom::DocumentPtr doc)
Definition KMLFactory.cpp:498
SnapLocation
Definition ViewLocation.h:37
Definition ExportRequest.h:7
Definition IOFactory.h:56
Definition ShowPropertySettings.h:22