XII Release 0.1.0
Loading...
Searching...
No Matches
xiiLayerDocument Class Reference
Inheritance diagram for xiiLayerDocument:
[legend]

Public Member Functions

 xiiLayerDocument (xiiStringView sDocumentPath, xiiScene2Document *pParentScene)
virtual void InitializeAfterLoading (bool bFirstTimeCreation) override
virtual xiiVariant GetCreateEngineMetaData () const override
 Passed into xiiEngineProcessDocumentContext::Initialize on the engine process side. Allows the document to provide additional data to the engine process during context creation.
Public Member Functions inherited from xiiSceneDocument
 xiiSceneDocument (xiiStringView sDocumentPath, DocumentType documentType)
void GroupSelection ()
 Creates a new object and attaches all currently selected objects to it.
void SelectParentObject ()
 Changes the selection to the parent object.
void SetSelectedAsActiveParent ()
 Sets the last selected object as the 'active parent'.
void ClearActiveParent ()
 Clears the 'active parent' object.
void DuplicateSpecial ()
 Opens the Duplicate Special dialog.
void DeltaTransform ()
 Opens the 'Delta Transform' dialog.
void SnapObjectToCamera ()
 Moves all selected objects to the editor camera position.
void AttachToObject ()
 Attaches all selected objects to the selected object.
void DetachFromParent ()
 Detaches all selected objects from their current parent.
void CopyReference ()
 Puts the GUID of the single selected object into the clipboard.
xiiStatus CreateEmptyObject (bool bAttachToParent, bool bAtPickedPosition, bool bComponentSelectionMenu)
 Creates a new empty object, either top-level (selection empty) or as a child of the selected item.
void DuplicateSelection ()
void ShowOrHideSelectedObjects (ShowOrHide action)
void ShowOrHideAllObjects (ShowOrHide action)
void HideUnselectedObjects ()
bool IsPrefab () const
 Whether this document represents a prefab or a scene.
bool IsObjectEditorPrefab (const xiiUuid &object, xiiUuid *out_pPrefabAssetGuid=nullptr) const
 Determines whether the given object is an editor prefab.
bool IsObjectEnginePrefab (const xiiUuid &object, xiiUuid *out_pPrefabAssetGuid=nullptr) const
 Determines whether the given object is an engine prefab.
virtual bool ArePrefabsAllowed () const override
 Nested prefabs are not allowed.
virtual void GetSupportedMimeTypesForPasting (xiiHybridArray< xiiString, 4 > &out_mimeTypes) const override
 Whether this document supports pasting the given mime format into it.
virtual bool CopySelectedObjects (xiiAbstractObjectGraph &out_objectGraph, xiiStringBuilder &out_sMimeType) const override
 Creates the abstract graph of data to be copied and returns the mime type for the clipboard to identify the data.
virtual bool Paste (const xiiArrayPtr< PasteInfo > &info, const xiiAbstractObjectGraph &objectGraph, bool bAllowPickedPosition, xiiStringView sMimeType) override
 Pastes objects from the given object graph into the document.
bool DuplicateSelectedObjects (const xiiArrayPtr< PasteInfo > &info, const xiiAbstractObjectGraph &objectGraph, bool bSetSelected)
bool CopySelectedObjects (xiiAbstractObjectGraph &ref_graph, xiiMap< xiiUuid, xiiUuid > *out_pParents) const
bool PasteAt (const xiiArrayPtr< PasteInfo > &info, const xiiAbstractObjectGraph &objectGraph, const xiiVec3 &vPos)
bool PasteAtOrignalPosition (const xiiArrayPtr< PasteInfo > &info, const xiiAbstractObjectGraph &objectGraph)
virtual void UpdatePrefabs () override
 Updates ALL prefabs in the document with the latest changes. Merges the current prefab templates with the instances in the document.
virtual void UnlinkPrefabs (xiiArrayPtr< const xiiDocumentObject * > selection) override
 Removes the link to the prefab template, making the editor prefab a simple object.
virtual xiiUuid ReplaceByPrefab (const xiiDocumentObject *pRootObject, xiiStringView sPrefabFile, const xiiUuid &prefabAsset, const xiiUuid &prefabSeed, bool bEnginePrefab) override
 Replaces the given object by a prefab instance. Returns new guid of replaced object.
virtual xiiUuid RevertPrefab (const xiiDocumentObject *pObject) override
 Reverts all selected editor prefabs to their original template state.
virtual void ConvertToEditorPrefab (xiiArrayPtr< const xiiDocumentObject * > selection)
 Converts all objects in the selection that are engine prefabs to their respective editor prefab representation.
virtual void ConvertToEnginePrefab (xiiArrayPtr< const xiiDocumentObject * > selection)
 Converts all objects in the selection that are editor prefabs to their respective engine prefab representation.
virtual xiiStatus CreatePrefabDocumentFromSelection (xiiStringView sFile, const xiiRTTI *pRootType, xiiDelegate< void(xiiAbstractObjectNode *)> adjustGraphNodeCB={}, xiiDelegate< void(xiiDocumentObject *)> adjustNewNodesCB={}, xiiDelegate< void(xiiAbstractObjectGraph &graph, xiiDynamicArray< xiiAbstractObjectNode * > &graphRootNodes)> finalizeGraphCB={}) override
 Creates a prefab document from the current selection.
GameMode::Enum GetGameMode () const
virtual bool CanEngineProcessBeRestarted () const override
void StartSimulateWorld ()
void TriggerGameModePlay (bool bUsePickedPositionAsStart)
bool StopGameMode ()
 Stops the world simulation, if it is running. Returns true, when the simulation needed to be stopped.
void StepSimulation ()
void PauseSimulation ()
xiiTransformStatus ExportScene (bool bCreateThumbnail)
void ExportSceneGeometry (xiiStringView sFile, bool bOnlySelection, int iExtractionMode, const xiiMat3 &mTransform)
virtual void HandleEngineMessage (const xiiEditorEngineDocumentMsg *pMsg) override
 Handles all messages received from the corresponding xiiEngineProcessDocumentContext on the engine process.
void HandleGameModeMsg (const xiiGameModeMsgToEditor *pMsg)
void HandleObjectStateFromEngineMsg (const xiiPushObjectStateMsgToEditor *pMsg)
void SendObjectMsg (const xiiDocumentObject *pObj, xiiObjectTagMsgToEngine *pMsg)
void SendObjectMsgRecursive (const xiiDocumentObject *pObj, xiiObjectTagMsgToEngine *pMsg)
bool CanUndoSelection () const
virtual void UndoSelection ()
virtual const xiiDocumentObject * GetSettingsObject () const
const xiiSceneDocumentSettingsBase * GetSettingsBase () const
template<typename T>
const T * GetSettings () const
xiiStatus CreateExposedProperty (const xiiDocumentObject *pObject, const xiiAbstractProperty *pProperty, xiiVariant index, xiiExposedSceneProperty &out_key) const
xiiStatus AddExposedParameter (xiiStringView sName, const xiiDocumentObject *pObject, const xiiAbstractProperty *pProperty, xiiVariant index)
xiiInt32 FindExposedParameter (const xiiDocumentObject *pObject, const xiiAbstractProperty *pProperty, xiiVariant index)
xiiStatus RemoveExposedParameter (xiiInt32 iIndex)
void StoreFavoriteCamera (xiiUInt8 uiSlot)
void RestoreFavoriteCamera (xiiUInt8 uiSlot)
xiiResult JumpToLevelCamera (xiiUInt8 uiSlot, bool bImmediate)
 Searches for a xiiCameraComponent with the 'EditorShortcut' property set to uiSlot and moves the editor camera to that position.
xiiResult CreateLevelCamera (xiiUInt8 uiSlot)
 Creates an object with a xiiCameraComponent at the current editor camera position and sets the 'EditorShortcut' property to uiSlot.
virtual xiiManipulatorSearchStrategy GetManipulatorSearchStrategy () const override
Public Member Functions inherited from xiiGameObjectDocument
 xiiGameObjectDocument (xiiStringView sDocumentPath, xiiDocumentObjectManager *pObjectManager, xiiAssetDocEngineConnection engineConnectionType=xiiAssetDocEngineConnection::FullObjectMirroring)
virtual xiiGameObjectDocument * GetRedirectedGameObjectDoc ()
 In case a document consists of multiple layers, this redirection is necessary to execute actions on the active layer.
virtual xiiEditorInputContext * GetEditorInputContextOverride () override
void SelectionManagerEventHandler (const xiiSelectionManagerEvent &e)
void ObjectPropertyEventHandler (const xiiDocumentObjectPropertyEvent &e)
void ObjectStructureEventHandler (const xiiDocumentObjectStructureEvent &e)
void ObjectEventHandler (const xiiDocumentObjectEvent &e)
void TriggerShowSelectionInScenegraph () const
void TriggerFocusOnSelection (bool bAllViews) const
void TriggerSnapPivotToGrid () const
void TriggerSnapEachObjectToGrid () const
void SnapCameraToObject ()
 Moves the editor camera to the same position as the selected object.
void MoveCameraHere ()
 Moves the camera to the current picking position.
void ScheduleSendObjectSelection ()
void SendObjectSelection ()
 Sends the current object selection, but only if it was modified or specifically tagged for resending with ScheduleSendObjectSelection().
void DetermineNodeName (const xiiDocumentObject *pObject, const xiiUuid &prefabGuid, xiiStringBuilder &out_sResult, QIcon *out_pIcon=nullptr) const
 Generates a good name for pObject. Queries the "Name" property, child components and asset properties, if necessary.
void QueryCachedNodeName (const xiiDocumentObject *pObject, xiiStringBuilder &out_sResult, xiiUuid *out_pPrefabGuid=nullptr, QIcon *out_pIcon=nullptr) const
void GenerateFullDisplayName (const xiiDocumentObject *pRoot, xiiStringBuilder &out_sFullPath) const
 Creates a full "path" to a scene object for display in UIs. No guarantee for uniqueness.
void SetActiveEditTool (const xiiRTTI *pEditToolType)
 Makes an edit tool of the given type active. Allocates a new one, if necessary. Only works when SetEditToolConfigDelegate() is set.
xiiGameObjectEditTool * GetActiveEditTool () const
 Returns the currently active edit tool (nullptr for none).
bool IsActiveEditTool (const xiiRTTI *pEditToolType) const
 Checks whether an edit tool of the given type, or nullptr for none, is active.
void SetEditToolConfigDelegate (xiiDelegate< void(xiiGameObjectEditTool *)> configDelegate)
void SetGizmoWorldSpace (bool bWorldSpace)
bool GetGizmoWorldSpace () const
void SetGizmoMoveParentOnly (bool bMoveParent)
bool GetGizmoMoveParentOnly () const
void ComputeTopLevelSelectedGameObjects (xiiDeque< xiiSelectedGameObject > &out_selection)
bool GetAddAmbientLight () const
void SetAddAmbientLight (bool b)
float GetSimulationSpeed () const
void SetSimulationSpeed (float f)
bool GetPauseSimulation () const
void SetPauseSimulation (bool b)
void SetStepSimulation (bool b)
bool GetStepSimulation () const
bool GetRenderSelectionOverlay () const
void SetRenderSelectionOverlay (bool b)
bool GetRenderVisualizers () const
void SetRenderVisualizers (bool b)
bool GetRenderShapeIcons () const
void SetRenderShapeIcons (bool b)
bool GetPickTransparent () const
void SetPickTransparent (bool b)
void SetActiveParent (xiiUuid object)
 Specifies which object is the 'active parent', which is the object under which newly created objects should be parented.
xiiUuid GetActiveParent () const
void SetGlobalTransform (const xiiDocumentObject *pObject, const xiiTransform &t, xiiUInt8 uiTransformationChanges) const
void SetGlobalTransformParentOnly (const xiiDocumentObject *pObject, const xiiTransform &t, xiiUInt8 uiTransformationChanges) const
 Same as SetGlobalTransform, except that all children will keep their current global transform (thus their local transforms are adjusted).
xiiTransform GetGlobalTransform (const xiiDocumentObject *pObject) const
 Returns a cached value for the global transform of the given object, if available. Otherwise it calls ComputeGlobalTransform().
xiiTransform ComputeGlobalTransform (const xiiDocumentObject *pObject) const
virtual xiiResult ComputeObjectTransformation (const xiiDocumentObject *pObject, xiiTransform &out_result) const override
 Traverses the pObject hierarchy up until it hits a xiiGameObject, then computes the global transform of that.
Public Member Functions inherited from xiiAssetDocument
 xiiAssetDocument (xiiStringView sDocumentPath, xiiDocumentObjectManager *pObjectManager, xiiAssetDocEngineConnection engineConnectionType)
EngineStatus GetEngineStatus () const
 Returns the current state of the engine process side of this document.
xiiStatus WaitForEngineStatusLoaded (xiiTime timeout={}) const
 Waits for GetEngineStatus to return Loaded or returns a failure reason.
bool SendMessageToEngine (xiiEditorEngineDocumentMsg *pMessage) const
 Sends a message to the corresponding xiiEngineProcessDocumentContext on the engine process.
xiiEditorEngineConnection * GetEditorEngineConnection () const
 Returns the xiiEditorEngineConnection for this document.
void AddSyncObject (xiiEditorEngineSyncObject *pSync) const
 Registers a sync object for this document. It will be mirrored to the xiiEngineProcessDocumentContext on the engine process.
void RemoveSyncObject (xiiEditorEngineSyncObject *pSync) const
 Removes a previously registered sync object. It will be removed on the engine process side.
xiiEditorEngineSyncObject * FindSyncObject (const xiiUuid &guid) const
 Returns the sync object registered under the given guid.
xiiEditorEngineSyncObject * FindSyncObject (const xiiRTTI *pType) const
 Returns the first sync object registered with the given type.
void SyncObjectsToEngine () const
 Sends messages to sync all sync objects to the engine process side.
void SendDocumentOpenMessage (bool bOpen)
virtual void SetCommonAssetUiState (xiiCommonAssetUiState::Enum state, double value)
virtual double GetCommonAssetUiState (xiiCommonAssetUiState::Enum state) const
 Override this to return custom values for a common asset state.
xiiAssetDocumentManager * GetAssetDocumentManager () const
const xiiAssetDocumentInfo * GetAssetDocumentInfo () const
xiiBitflags< xiiAssetDocumentFlags > GetAssetFlags () const
const xiiAssetDocumentTypeDescriptor * GetAssetDocumentTypeDescriptor () const
xiiTransformStatus TransformAsset (xiiBitflags< xiiTransformFlags > transformFlags, const xiiPlatformProfile *pAssetProfile=nullptr)
xiiTransformStatus CreateThumbnail ()
xiiUInt16 GetAssetTypeVersion () const
Public Member Functions inherited from xiiDocument
 xiiDocument (xiiStringView sPath, xiiDocumentObjectManager *pDocumentObjectManagerImpl)
bool IsModified () const
bool IsReadOnly () const
xiiTime GetModifiedTime () const
 Returns when the document was last marked as modified. Invalid if the document is not modified.
const xiiUuid GetGuid () const
const xiiDocumentObjectManager * GetObjectManager () const
xiiDocumentObjectManager * GetObjectManager ()
xiiSelectionManager * GetSelectionManager () const
xiiCommandHistory * GetCommandHistory () const
virtual xiiObjectAccessorBase * GetObjectAccessor () const
void BroadcastInterDocumentMessage (xiiReflectedClass *pMessage, xiiDocument *pSender)
 This will deliver the message to all open documents. The documents may respond, e.g. by modifying the content of the message.
virtual void DeleteSelectedObjects () const
 Deletes all currently selected objects in the document.
const xiiSet< xiiString > & GetUnknownObjectTypes () const
 Returns the set of unknown object types encountered during loading.
xiiUInt32 GetUnknownObjectTypeInstances () const
 Returns the number of unknown object type instances encountered during loading.
void SetAddToResetFilesList (bool b)
 If disabled, this document will not be put into the recent files list.
bool GetAddToRecentFilesList () const
 Whether this document shall be put into the recent files list.
void ShowDocumentStatus (const xiiFormatString &msg) const
 Broadcasts a status message event. The window that displays the document may show this in some form, e.g. in the status bar.
xiiStringView GetDocumentPath () const
 Returns the absolute path to the document.
xiiStatus SaveDocument (bool bForce=false)
xiiTaskGroupID SaveDocumentAsync (AfterSaveCallback callback, bool bForce=false)
void DocumentRenamed (xiiStringView sNewDocumentPath)
 Updates the document path after a rename operation.
xiiStatus LoadDocument ()
 Loads the document from disk.
void EnsureVisible ()
 Brings the corresponding window to the front.
xiiDocumentManager * GetDocumentManager () const
 Returns the document manager that owns this document.
bool HasWindowBeenRequested () const
const xiiDocumentTypeDescriptor * GetDocumentTypeDescriptor () const
xiiStringView GetDocumentTypeName () const
 Returns the document's type name. Same as GetDocumentTypeDescriptor()->m_sDocumentTypeName.
const xiiDocumentInfo * GetDocumentInfo () const
bool IsMainDocument () const
 Returns whether this document is a main document, i.e. self contained.
bool IsSubDocument () const
 Returns whether this document is a sub-document, i.e. is part of another document.
const xiiDocument * GetMainDocument () const
 In case this is a sub-document, returns the main document this belongs to. Otherwise 'this' is returned.
const xiiDocument * GetActiveSubDocument () const
 At any given time, only the active sub-document can be edited. This returns the active sub-document which can also be this document itself. Changes to the active sub-document are generally triggered by xiiDocumentObjectStructureEvent::Type::AfterReset.
xiiDocument * GetMainDocument ()
xiiDocument * GetActiveSubDocument ()
void RevertPrefabs (xiiArrayPtr< const xiiDocumentObject * > selection)
 Resets the given objects to their template prefab state, if they have local modifications.
virtual xiiStatus CreatePrefabDocument (xiiStringView sFile, xiiArrayPtr< const xiiDocumentObject * > rootObjects, const xiiUuid &invPrefabSeed, xiiUuid &out_newDocumentGuid, xiiDelegate< void(xiiAbstractObjectNode *)> adjustGraphNodeCB={}, bool bKeepOpen=false, xiiDelegate< void(xiiAbstractObjectGraph &graph, xiiDynamicArray< xiiAbstractObjectNode * > &graphRootNodes)> finalizeGraphCB={})
 Creates a prefab document from the given root objects.
Public Member Functions inherited from xiiReflectedClass
virtual const xiiRTTI * GetDynamicRTTI () const
bool IsInstanceOf (const xiiRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
template<typename T>
XII_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.

Additional Inherited Members

Public Types inherited from xiiSceneDocument
enum class  DocumentType { Scene , Prefab , Layer }
enum class  ShowOrHide { Show , Hide }
enum class  EngineStatus {
  Unsupported , Disconnected , Initializing , Failed ,
  Loaded
}
using AfterSaveCallback = xiiDelegate<void(xiiDocument*, xiiStatus)>
 Callback type for asynchronous save operations.
static xiiTransform QueryLocalTransform (const xiiDocumentObject *pObject)
 Retrieves the local transform property values from the object and combines it into one xiiTransform.
static xiiSimdTransform QueryLocalTransformSimd (const xiiDocumentObject *pObject)
static xiiStatus ReadDocument (xiiStringView sDocumentPath, xiiUniquePtr< xiiAbstractObjectGraph > &ref_pHeader, xiiUniquePtr< xiiAbstractObjectGraph > &ref_pObjects, xiiUniquePtr< xiiAbstractObjectGraph > &ref_pTypes)
 Reads a document from disk and parses its header, objects, and types.
static xiiStatus ReadAndRegisterTypes (const xiiAbstractObjectGraph &types)
 Reads and registers types from the given object graph.
Static Public Member Functions inherited from xiiNoBase
static const xiiRTTI * GetStaticRTTI ()
Public Attributes inherited from xiiGameObjectDocument
xiiEvent< const xiiGameObjectEvent & > m_GameObjectEvents
xiiUniquePtr< xiiObjectMetaData< xiiUuid, xiiGameObjectMetaData > > m_GameObjectMetaData
Public Attributes inherited from xiiAssetDocument
xiiEvent< const xiiEditorEngineDocumentMsg * > m_ProcessMessageEvent
xiiEvent< const xiiCommonAssetUiState & > m_CommonAssetUiChangeEvent
 Used to broadcast state change events for common asset states.
Public Attributes inherited from xiiDocument
xiiUniquePtr< xiiObjectMetaData< xiiUuid, xiiDocumentObjectMetaData > > m_DocumentObjectMetaData
 Meta data for all document objects.
xiiEvent< const xiiDocumentEvent & > m_EventsOne
 Event for document-specific notifications.
xiiEvent< const xiiObjectAccessorChangeEvent & > m_ObjectAccessorChangeEvents
 Event for object accessor change notifications.
Static Public Attributes inherited from xiiGameObjectDocument
static xiiEvent< const xiiGameObjectDocumentEvent & > s_GameObjectDocumentEvents
Static Public Attributes inherited from xiiDocument
static xiiEvent< const xiiDocumentEvent & > s_EventsAny
 Static event for notifications across all documents.
Protected Member Functions inherited from xiiSceneDocument
void SetGameMode (GameMode::Enum mode)
virtual void UpdatePrefabObject (xiiDocumentObject *pObject, const xiiUuid &PrefabAsset, const xiiUuid &PrefabSeed, xiiStringView sBasePrefab) override
virtual void UpdateAssetDocumentInfo (xiiAssetDocumentInfo *pInfo) const override
template<typename Func>
void ApplyRecursive (const xiiDocumentObject *pObject, Func f)
void EnsureSettingsObjectExist ()
void DocumentObjectMetaDataEventHandler (const xiiObjectMetaData< xiiUuid, xiiDocumentObjectMetaData >::EventData &e)
void EngineConnectionEventHandler (const xiiEditorEngineProcessConnection::Event &e)
void ToolsProjectEventHandler (const xiiToolsProjectEvent &e)
xiiStatus RequestExportScene (xiiStringView sTargetFile, const xiiAssetFileHeader &header)
virtual xiiTransformStatus InternalTransformAsset (xiiStringView sTargetFile, xiiStringView sOutputTag, const xiiPlatformProfile *pAssetProfile, const xiiAssetFileHeader &AssetHeader, xiiBitflags< xiiTransformFlags > transformFlags) override
virtual xiiTransformStatus InternalTransformAsset (xiiStreamWriter &stream, xiiStringView sOutputTag, const xiiPlatformProfile *pAssetProfile, const xiiAssetFileHeader &AssetHeader, xiiBitflags< xiiTransformFlags > transformFlags) override
xiiTransformStatus InternalCreateThumbnail (const ThumbnailInfo &ThumbnailInfo) override
 Override this function to generate a thumbnail. Only called if GetAssetFlags returns xiiAssetDocumentFlags::SupportsThumbnail.
void SyncObjectHiddenState ()
void SyncObjectHiddenState (xiiDocumentObject *pObject)
void UpdateObjectDebugTargets ()
void SelectionManagerEventHandler (const xiiSelectionManagerEvent &e)
virtual void OnInterDocumentMessage (xiiReflectedClass *pMessage, xiiDocument *pSender) override
 Communication with other document types.
void GatherObjectsOfType (xiiDocumentObject *pRoot, xiiGatherObjectsOfTypeMsgInterDoc *pMsg) const
Protected Member Functions inherited from xiiGameObjectDocument
void SubscribeGameObjectEventHandlers ()
void UnsubscribeGameObjectEventHandlers ()
void GameObjectDocumentEventHandler (const xiiGameObjectDocumentEvent &e)
void InvalidateGlobalTransformValue (const xiiDocumentObject *pObject) const
virtual void SendGameWorldToEngine ()
virtual void AttachMetaDataBeforeSaving (xiiAbstractObjectGraph &graph) const override
virtual void RestoreMetaDataAfterLoading (const xiiAbstractObjectGraph &graph, bool bUndoable) override
Protected Member Functions inherited from xiiAssetDocument
void EngineConnectionEventHandler (const xiiEditorEngineProcessConnection::Event &e)
void AddPrefabDependencies (const xiiDocumentObject *pObject, xiiAssetDocumentInfo *pInfo) const
 Adds all prefab dependencies to the xiiAssetDocumentInfo object. Called automatically by UpdateAssetDocumentInfo().
void AddReferences (const xiiDocumentObject *pObject, xiiAssetDocumentInfo *pInfo, bool bInsidePrefab) const
virtual xiiDocumentInfo * CreateDocumentInfo () override
 Creates the document info structure. Must be implemented by derived classes.
xiiTransformStatus DoTransformAsset (const xiiPlatformProfile *pAssetProfile, xiiBitflags< xiiTransformFlags > transformFlags)
xiiUInt64 GetDocumentHash () const
 Computes the hash from all document objects.
void GetChildHash (const xiiDocumentObject *pObject, xiiUInt64 &inout_uiHash) const
 Computes the hash for one document object and combines it with the given hash.
virtual void InternalGetMetaDataHash (const xiiDocumentObject *pObject, xiiUInt64 &inout_uiHash) const
 Computes the hash for transform relevant meta data of the given document object and combines it with the given hash.
virtual xiiTaskGroupID InternalSaveDocument (AfterSaveCallback callback) override
 Overrides the base function to call UpdateAssetDocumentInfo() to update the settings hash.
virtual void InternalAfterSaveDocument () override
 Implements auto transform on save.
virtual void InitializeAfterLoadingAndSaving () override
xiiString GetThumbnailFilePath (xiiStringView sSubAssetName=xiiStringView()) const
 Returns the full path to the jpg file in which the thumbnail for this asset is supposed to be.
void InvalidateAssetThumbnail (xiiStringView sSubAssetName=xiiStringView()) const
 Should be called after manually changing the thumbnail, such that the system will reload it.
xiiStatus RemoteCreateThumbnail (const ThumbnailInfo &thumbnailInfo, xiiArrayPtr< xiiStringView > viewExclusionTags) const
 Requests the engine side to render a thumbnail, will call SaveThumbnail on success.
xiiStatus RemoteCreateThumbnail (const ThumbnailInfo &thumbnailInfo) const
xiiStatus SaveThumbnail (const xiiImage &img, const ThumbnailInfo &thumbnailInfo) const
 Saves the given image as the new thumbnail for the asset.
xiiStatus SaveThumbnail (const QImage &img, const ThumbnailInfo &thumbnailInfo) const
 Saves the given image as the new thumbnail for the asset.
void AppendThumbnailInfo (xiiStringView sThumbnailFile, const ThumbnailInfo &thumbnailInfo) const
 Appends an asset header containing the thumbnail hash to the file. Each thumbnail is appended by it to check up-to-date state.
xiiStatus RemoteExport (const xiiAssetFileHeader &header, xiiStringView sOutputTarget) const
Protected Member Functions inherited from xiiDocument
void SetModified (bool b)
void SetReadOnly (bool b)
virtual xiiStatus InternalLoadDocument ()
 Internal load implementation. Loads the document from disk.
virtual void BeforeClosing ()
void SetUnknownObjectTypes (const xiiSet< xiiString > &Types, xiiUInt32 uiInstances)
virtual void UpdatePrefabsRecursive (xiiDocumentObject *pObject)
 Recursively updates all prefab instances starting from the given object.
Protected Attributes inherited from xiiSceneDocument
DocumentType m_DocumentType = DocumentType::Scene
GameMode::Enum m_GameMode
GameModeData m_GameModeData [3]
xiiDocumentObjectMirror m_ObjectMirror
xiiRttiConverterContext m_Context
xiiEvent< constxiiObjectMetaData< xiiUuid, xiiDocumentObjectMetaData >::EventData & >::Unsubscriber m_MetaDataEventSubscriber
xiiEvent< constxiiToolsProjectEvent &, xiiMutex >::Unsubscriber m_ProjectEventSubscriber
xiiEvent< constxiiEditorEngineProcessConnection::Event & >::Unsubscriber m_EngineEventSubscriber
bool m_bStoreSelectionChange = true
xiiInt8 m_iAllowSelectionChanges = -1
xiiCopyOnBroadcastEvent< constxiiSelectionManagerEvent & >::Unsubscriber m_SelectionHandlerUnsubscriber
xiiDeque< SelectionHistory > m_SelectionStack
Protected Attributes inherited from xiiGameObjectDocument
GameModeData m_CurrentMode
xiiEventSubscriptionID m_SelectionManagerEventHandlerID
xiiEventSubscriptionID m_ObjectPropertyEventHandlerID
xiiEventSubscriptionID m_ObjectStructureEventHandlerID
xiiEventSubscriptionID m_ObjectEventHandlerID
Protected Attributes inherited from xiiAssetDocument
xiiUniquePtr< xiiIPCObjectMirrorEditor > m_pMirror
EngineStatus m_EngineStatus
xiiString m_sEngineFailure
xiiAssetDocEngineConnection m_EngineConnectionType = xiiAssetDocEngineConnection::None
xiiEditorEngineConnection * m_pEngineConnection
xiiHashTable< xiiUuid, xiiEditorEngineSyncObject * > m_AllSyncObjects
xiiDeque< xiiEditorEngineSyncObject * > m_SyncObjects
xiiHybridArray< xiiUuid, 32 > m_DeletedObjects
xiiUInt32 m_uiCommonAssetStateFlags = 0
Protected Attributes inherited from xiiDocument
xiiUniquePtr< xiiDocumentObjectManager > m_pObjectManager
xiiUniquePtr< xiiCommandHistory > m_pCommandHistory
xiiUniquePtr< xiiSelectionManager > m_pSelectionManager
xiiUniquePtr< xiiObjectCommandAccessor > m_pObjectAccessor
 Default object accessor used by every doc.
xiiDocumentInfo * m_pDocumentInfo = nullptr
const xiiDocumentTypeDescriptor * m_pTypeDescriptor = nullptr
xiiDocument * m_pHostDocument = nullptr
 Pointer to the main document if this is a sub-document, otherwise self.
xiiDocument * m_pActiveSubDocument = nullptr
 Pointer to the currently active sub-document.

Member Function Documentation

◆ GetCreateEngineMetaData()

xiiVariant xiiLayerDocument::GetCreateEngineMetaData ( ) const
overridevirtual

Passed into xiiEngineProcessDocumentContext::Initialize on the engine process side. Allows the document to provide additional data to the engine process during context creation.

Reimplemented from xiiAssetDocument.

◆ InitializeAfterLoading()

void xiiLayerDocument::InitializeAfterLoading ( bool bFirstTimeCreation)
overridevirtual

Reimplemented from xiiSceneDocument.


The documentation for this class was generated from the following files:
  • /home/runner/work/XII/XII/Source/EditorPlugins/Scene/EditorPluginScene/Scene/LayerDocument.h
  • /home/runner/work/XII/XII/Source/EditorPlugins/Scene/EditorPluginScene/Scene/LayerDocument.cpp