|
| plSimpleAssetDocument (plStringView sDocumentPath, plAssetDocEngineConnection engineConnectionType, bool bEnableDefaultLighting=false) |
|
| plSimpleAssetDocument (plDocumentObjectManager *pObjectManager, plStringView sDocumentPath, plAssetDocEngineConnection engineConnectionType, bool bEnableDefaultLighting=false) |
|
const PropertyType * | GetProperties () const |
|
PropertyType * | GetProperties () |
|
plDocumentObject * | GetPropertyObject () |
|
| plAssetDocument (plStringView sDocumentPath, plDocumentObjectManager *pObjectManager, plAssetDocEngineConnection engineConnectionType) |
|
EngineStatus | GetEngineStatus () const |
| Returns the current state of the engine process side of this document.
|
|
virtual plVariant | GetCreateEngineMetaData () const |
| Passed into plEngineProcessDocumentContext::Initialize on the engine process side. Allows the document to provide additional data to the engine process during context creation.
|
|
bool | SendMessageToEngine (plEditorEngineDocumentMsg *pMessage) const |
| Sends a message to the corresponding plEngineProcessDocumentContext on the engine process.
|
|
virtual void | HandleEngineMessage (const plEditorEngineDocumentMsg *pMsg) |
| Handles all messages received from the corresponding plEngineProcessDocumentContext on the engine process.
|
|
plEditorEngineConnection * | GetEditorEngineConnection () const |
| Returns the plEditorEngineConnection for this document.
|
|
void | AddSyncObject (plEditorEngineSyncObject *pSync) const |
| Registers a sync object for this document. It will be mirrored to the plEngineProcessDocumentContext on the engine process.
|
|
void | RemoveSyncObject (plEditorEngineSyncObject *pSync) const |
| Removes a previously registered sync object. It will be removed on the engine process side.
|
|
plEditorEngineSyncObject * | FindSyncObject (const plUuid &guid) const |
| Returns the sync object registered under the given guid.
|
|
plEditorEngineSyncObject * | FindSyncObject (const plRTTI *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 (plCommonAssetUiState::Enum state, double value) |
| Override this to handle a change to a common asset state differently.
|
|
virtual double | GetCommonAssetUiState (plCommonAssetUiState::Enum state) const |
| Override this to return custom values for a common asset state.
|
|
plAssetDocumentManager * | GetAssetDocumentManager () const |
|
const plAssetDocumentInfo * | GetAssetDocumentInfo () const |
|
plBitflags< plAssetDocumentFlags > | GetAssetFlags () const |
|
const plAssetDocumentTypeDescriptor * | GetAssetDocumentTypeDescriptor () const |
|
plTransformStatus | TransformAsset (plBitflags< plTransformFlags > transformFlags, const plPlatformProfile *pAssetProfile=nullptr) |
| Transforms an asset. Typically not called manually but by the curator which takes care of dependencies first.
|
|
plTransformStatus | CreateThumbnail () |
| Updates the thumbnail of the asset. Should never be called manually. Called only by the curator which takes care of dependencies first.
|
|
plUInt16 | GetAssetTypeVersion () const |
| Returns the RTTI type version of this asset document type. E.g. when the algorithm to transform an asset changes, Increase the RTTI version. This will ensure that assets get re-transformed, even though their settings and dependencies might not have changed.
|
|
| plDocument (plStringView sPath, plDocumentObjectManager *pDocumentObjectManagerImpl) |
|
bool | IsModified () const |
|
bool | IsReadOnly () const |
|
const plUuid | GetGuid () const |
|
const plDocumentObjectManager * | GetObjectManager () const |
|
plDocumentObjectManager * | GetObjectManager () |
|
plSelectionManager * | GetSelectionManager () const |
|
plCommandHistory * | GetCommandHistory () const |
|
virtual plObjectAccessorBase * | GetObjectAccessor () const |
|
virtual void | GetSupportedMimeTypesForPasting (plHybridArray< plString, 4 > &out_mimeTypes) const |
| Whether this document supports pasting the given mime format into it.
|
|
virtual bool | CopySelectedObjects (plAbstractObjectGraph &out_objectGraph, plStringBuilder &out_sMimeType) const |
| 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 plArrayPtr< PasteInfo > &info, const plAbstractObjectGraph &objectGraph, bool bAllowPickedPosition, plStringView sMimeType) |
|
void | BroadcastInterDocumentMessage (plReflectedClass *pMessage, plDocument *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 | OnInterDocumentMessage (plReflectedClass *pMessage, plDocument *pSender) |
| Called on all documents when BroadcastInterDocumentMessage() is called.
|
|
virtual plEditorInputContext * | GetEditorInputContextOverride () |
| Allows to return a single input context that currently overrides all others (in priority).
|
|
virtual void | DeleteSelectedObjects () const |
|
const plSet< plString > & | GetUnknownObjectTypes () const |
|
plUInt32 | GetUnknownObjectTypeInstances () const |
|
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 plFormatString &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.
|
|
virtual plResult | ComputeObjectTransformation (const plDocumentObject *pObject, plTransform &out_result) const |
| Tries to compute the position and rotation for an object in the document. Returns PL_SUCCESS if it was possible.
|
|
virtual plManipulatorSearchStrategy | GetManipulatorSearchStrategy () const |
| Needed by plManipulatorManager to know where to look for the manipulator attributes.
|
|
plStringView | GetDocumentPath () const |
| Returns the absolute path to the document.
|
|
plStatus | SaveDocument (bool bForce=false) |
| Saves the document, if it is modified. If bForce is true, the document will be written, even if it is not considered modified.
|
|
plTaskGroupID | SaveDocumentAsync (AfterSaveCallback callback, bool bForce=false) |
|
void | DocumentRenamed (plStringView sNewDocumentPath) |
|
plStatus | LoadDocument () |
|
void | EnsureVisible () |
| Brings the corresponding window to the front.
|
|
plDocumentManager * | GetDocumentManager () const |
|
bool | HasWindowBeenRequested () const |
|
const plDocumentTypeDescriptor * | GetDocumentTypeDescriptor () const |
|
plStringView | GetDocumentTypeName () const |
| Returns the document's type name. Same as GetDocumentTypeDescriptor()->m_sDocumentTypeName.
|
|
const plDocumentInfo * | GetDocumentInfo () const |
|
virtual bool | CanEngineProcessBeRestarted () const |
| Asks the document whether a restart of the engine process is allowed at this time.
|
|
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 plDocument * | GetMainDocument () const |
| In case this is a sub-document, returns the main document this belongs to. Otherwise 'this' is returned.
|
|
const plDocument * | 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 plDocumentObjectStructureEvent::Type::AfterReset.
|
|
plDocument * | GetMainDocument () |
|
plDocument * | GetActiveSubDocument () |
|
virtual bool | ArePrefabsAllowed () const |
| Whether the document allows to create prefabs in it. This may note be allowed for prefab documents themselves, to prevent nested prefabs.
|
|
virtual void | UpdatePrefabs () |
| Updates ALL prefabs in the document with the latest changes. Merges the current prefab templates with the instances in the document.
|
|
void | RevertPrefabs (const plDeque< const plDocumentObject * > &selection) |
| Resets the given objects to their template prefab state, if they have local modifications.
|
|
virtual void | UnlinkPrefabs (const plDeque< const plDocumentObject * > &selection) |
| Removes the link between a prefab instance and its template, turning the instance into a regular object.
|
|
virtual plStatus | CreatePrefabDocumentFromSelection (plStringView sFile, const plRTTI *pRootType, plDelegate< void(plAbstractObjectNode *)> adjustGraphNodeCB={}, plDelegate< void(plDocumentObject *)> adjustNewNodesCB={}, plDelegate< void(plAbstractObjectGraph &graph, plDynamicArray< plAbstractObjectNode * > &graphRootNodes)> finalizeGraphCB={}) |
|
virtual plStatus | CreatePrefabDocument (plStringView sFile, plArrayPtr< const plDocumentObject * > rootObjects, const plUuid &invPrefabSeed, plUuid &out_newDocumentGuid, plDelegate< void(plAbstractObjectNode *)> adjustGraphNodeCB={}, bool bKeepOpen=false, plDelegate< void(plAbstractObjectGraph &graph, plDynamicArray< plAbstractObjectNode * > &graphRootNodes)> finalizeGraphCB={}) |
|
virtual plUuid | ReplaceByPrefab (const plDocumentObject *pRootObject, plStringView sPrefabFile, const plUuid &prefabAsset, const plUuid &prefabSeed, bool bEnginePrefab) |
|
virtual plUuid | RevertPrefab (const plDocumentObject *pObject) |
|
virtual const plRTTI * | GetDynamicRTTI () const |
|
bool | IsInstanceOf (const plRTTI *pType) const |
| Returns whether the type of this instance is of the given type or derived from it.
|
|
template<typename T > |
PL_ALWAYS_INLINE bool | IsInstanceOf () const |
| Returns whether the type of this instance is of the given type or derived from it.
|
|
|
virtual void | InitializeAfterLoading (bool bFirstTimeCreation) override |
|
virtual plStatus | InternalLoadDocument () override |
|
void | ApplyNativePropertyChangesToObjectManager (bool bForceIndexBasedRemapping=false) |
|
virtual plDocumentInfo * | CreateDocumentInfo () override |
|
void | EngineConnectionEventHandler (const plEditorEngineProcessConnection::Event &e) |
|
void | AddPrefabDependencies (const plDocumentObject *pObject, plAssetDocumentInfo *pInfo) const |
| Adds all prefab dependencies to the plAssetDocumentInfo object. Called automatically by UpdateAssetDocumentInfo()
|
|
void | AddReferences (const plDocumentObject *pObject, plAssetDocumentInfo *pInfo, bool bInsidePrefab) const |
| Crawls through all asset properties of pObject and adds all string properties that have a plAssetBrowserAttribute as a dependency to pInfo. Automatically called by UpdateAssetDocumentInfo()
|
|
plTransformStatus | DoTransformAsset (const plPlatformProfile *pAssetProfile, plBitflags< plTransformFlags > transformFlags) |
|
plUInt64 | GetDocumentHash () const |
| Computes the hash from all document objects.
|
|
void | GetChildHash (const plDocumentObject *pObject, plUInt64 &inout_uiHash) const |
| Computes the hash for one document object and combines it with the given hash.
|
|
virtual void | InternalGetMetaDataHash (const plDocumentObject *pObject, plUInt64 &inout_uiHash) const |
| Computes the hash for transform relevant meta data of the given document object and combines it with the given hash.
|
|
virtual plTaskGroupID | 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 |
|
virtual plTransformStatus | InternalCreateThumbnail (const ThumbnailInfo &thumbnailInfo) |
| Override this function to generate a thumbnail. Only called if GetAssetFlags returns plAssetDocumentFlags::SupportsThumbnail.
|
|
plString | GetThumbnailFilePath (plStringView sSubAssetName=plStringView()) const |
| Returns the full path to the jpg file in which the thumbnail for this asset is supposed to be.
|
|
void | InvalidateAssetThumbnail (plStringView sSubAssetName=plStringView()) const |
| Should be called after manually changing the thumbnail, such that the system will reload it.
|
|
plStatus | RemoteCreateThumbnail (const ThumbnailInfo &thumbnailInfo, plArrayPtr< plStringView > viewExclusionTags) const |
| Requests the engine side to render a thumbnail, will call SaveThumbnail on success.
|
|
plStatus | RemoteCreateThumbnail (const ThumbnailInfo &thumbnailInfo) const |
|
plStatus | SaveThumbnail (const plImage &img, const ThumbnailInfo &thumbnailInfo) const |
| Saves the given image as the new thumbnail for the asset.
|
|
plStatus | SaveThumbnail (const QImage &img, const ThumbnailInfo &thumbnailInfo) const |
| Saves the given image as the new thumbnail for the asset.
|
|
void | AppendThumbnailInfo (plStringView 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.
|
|
virtual void | UpdateAssetDocumentInfo (plAssetDocumentInfo *pInfo) const |
| Override this to add custom data (e.g. additional file dependencies) to the info struct.
|
|
virtual plTransformStatus | InternalTransformAsset (plStreamWriter &stream, plStringView sOutputTag, const plPlatformProfile *pAssetProfile, const plAssetFileHeader &AssetHeader, plBitflags< plTransformFlags > transformFlags)=0 |
| Override this and write the transformed file for the given szOutputTag into the given stream.
|
|
virtual plTransformStatus | InternalTransformAsset (const char *szTargetFile, plStringView sOutputTag, const plPlatformProfile *pAssetProfile, const plAssetFileHeader &AssetHeader, plBitflags< plTransformFlags > transformFlags) |
| Only override this function, if the transformed file for the given szOutputTag must be written from another process.
|
|
plStatus | RemoteExport (const plAssetFileHeader &header, const char *szOutputTarget) const |
|
void | SetModified (bool b) |
|
void | SetReadOnly (bool b) |
|
virtual void | AttachMetaDataBeforeSaving (plAbstractObjectGraph &graph) const |
|
virtual void | RestoreMetaDataAfterLoading (const plAbstractObjectGraph &graph, bool bUndoable) |
|
virtual void | BeforeClosing () |
|
void | SetUnknownObjectTypes (const plSet< plString > &Types, plUInt32 uiInstances) |
|
virtual void | UpdatePrefabsRecursive (plDocumentObject *pObject) |
|
virtual void | UpdatePrefabObject (plDocumentObject *pObject, const plUuid &PrefabAsset, const plUuid &PrefabSeed, plStringView sBasePrefab) |
|