diff options
Diffstat (limited to 'src/Authoring/Client/Code/Core/Doc/Doc.h')
-rw-r--r-- | src/Authoring/Client/Code/Core/Doc/Doc.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/Authoring/Client/Code/Core/Doc/Doc.h b/src/Authoring/Client/Code/Core/Doc/Doc.h index af91c59e..0d05880b 100644 --- a/src/Authoring/Client/Code/Core/Doc/Doc.h +++ b/src/Authoring/Client/Code/Core/Doc/Doc.h @@ -292,6 +292,13 @@ public: void SetActiveLayer(qt3dsdm::Qt3DSDMInstanceHandle inLayerInstance); qt3dsdm::Qt3DSDMSlideHandle GetActiveSlide(); + qt3dsdm::Qt3DSDMInstanceHandle getActiveCamera(qt3dsdm::Qt3DSDMInstanceHandle inLayer) const; + void setActiveCamera(qt3dsdm::Qt3DSDMInstanceHandle inCameraLayer, + qt3dsdm::Qt3DSDMInstanceHandle inCameraInstance); + // Ensure that only one camera per layer is active. + // Returns true if additional cameras were inactivated. + bool ensureActiveCamera(); + void SetPlayMode(EPlayMode inPlayMode, long inRestoreTime = -1); bool IsPlaying(); long GetCurrentClientTime(); @@ -396,7 +403,7 @@ public: bool preUndo() override; void getSceneMaterials(qt3dsdm::Qt3DSDMInstanceHandle inParent, - QVector<qt3dsdm::Qt3DSDMInstanceHandle> &outMats) const; + QVector<qt3dsdm::Qt3DSDMInstanceHandle> &outMats); void getSceneReferencedMaterials(qt3dsdm::Qt3DSDMInstanceHandle inParent, QVector<qt3dsdm::Qt3DSDMInstanceHandle> &outMats) const; void getUsedSharedMaterials(QVector<qt3dsdm::Qt3DSDMInstanceHandle> &outMats) const; @@ -468,6 +475,8 @@ protected: qt3dsdm::Qt3DSDMInstanceHandle m_SceneInstance; // Pointer to the root level Scene object. qt3dsdm::Qt3DSDMSlideHandle m_ActiveSlide; // The currently active Slide Handle. qt3dsdm::Qt3DSDMInstanceHandle m_ActiveLayer; // The currently active layer. + // The currently active camera per-layer + QMap<qt3dsdm::Qt3DSDMInstanceHandle, qt3dsdm::Qt3DSDMInstanceHandle> m_ActiveCameras; CPlaybackClock *m_PlaybackClock; // Playback clock. This is used when user clicks "Play" CCore *m_Core; bool m_IsModified; @@ -505,6 +514,9 @@ protected: Q3DStudio::CRect m_ClientSize; Q3DStudio::CRect m_SceneRect; // The dimensions of the active scene view + // Indicate that the paste operation is first after cut operation + bool m_firstPasteAfterCut = false; + private: bool m_playbackPreviewOn = false; QString m_presentationId; |