|
| plPropertyAnimAssetDocument (plStringView sDocumentPath) |
|
void | SetAnimationDurationTicks (plUInt64 uiNumTicks) |
|
plUInt64 | GetAnimationDurationTicks () const |
|
plTime | GetAnimationDurationTime () const |
|
void | AdjustDuration () |
|
bool | SetScrubberPosition (plUInt64 uiTick) |
|
plUInt64 | GetScrubberPosition () const |
|
void | SetPlayAnimation (bool bPlay) |
|
bool | GetPlayAnimation () const |
|
void | SetRepeatAnimation (bool bRepeat) |
|
bool | GetRepeatAnimation () const |
|
void | ExecuteAnimationPlaybackStep () |
|
const plPropertyAnimationTrack * | GetTrack (const plUuid &trackGuid) const |
|
plPropertyAnimationTrack * | GetTrack (const plUuid &trackGuid) |
|
plStatus | CanAnimate (const plDocumentObject *pObject, const plAbstractProperty *pProp, plVariant index, plPropertyAnimTarget::Enum target) const |
|
plUuid | FindTrack (const plDocumentObject *pObject, const plAbstractProperty *pProp, plVariant index, plPropertyAnimTarget::Enum target) const |
|
plUuid | CreateTrack (const plDocumentObject *pObject, const plAbstractProperty *pProp, plVariant index, plPropertyAnimTarget::Enum target) |
|
plUuid | FindCurveCp (const plUuid &trackGuid, plInt64 iTickX) |
|
plUuid | InsertCurveCpAt (const plUuid &trackGuid, plInt64 iTickX, double fNewPosY) |
|
plUuid | FindGradientColorCp (const plUuid &trackGuid, plInt64 iTickX) |
|
plUuid | InsertGradientColorCpAt (const plUuid &trackGuid, plInt64 iTickX, const plColorGammaUB &color) |
|
plUuid | FindGradientAlphaCp (const plUuid &trackGuid, plInt64 iTickX) |
|
plUuid | InsertGradientAlphaCpAt (const plUuid &trackGuid, plInt64 iTickX, plUInt8 uiAlpha) |
|
plUuid | FindGradientIntensityCp (const plUuid &trackGuid, plInt64 iTickX) |
|
plUuid | InsertGradientIntensityCpAt (const plUuid &trackGuid, plInt64 iTickX, float fIntensity) |
|
plUuid | InsertEventTrackCpAt (plInt64 iTickX, const char *szValue) |
|
virtual plManipulatorSearchStrategy | GetManipulatorSearchStrategy () const override |
| Needed by plManipulatorManager to know where to look for the manipulator attributes.
|
|
| plSimpleAssetDocument (plStringView sDocumentPath, plAssetDocEngineConnection engineConnectionType, bool bEnableDefaultLighting=false) |
|
| plSimpleAssetDocument (plDocumentObjectManager *pObjectManager, plStringView sDocumentPath, plAssetDocEngineConnection engineConnectionType, bool bEnableDefaultLighting=false) |
|
const plPropertyAnimationTrackGroup * | GetProperties () const |
|
plPropertyAnimationTrackGroup * | GetProperties () |
|
plDocumentObject * | GetPropertyObject () |
|
| plGameObjectContextDocument (plStringView sDocumentPath, plDocumentObjectManager *pObjectManager, plAssetDocEngineConnection engineConnectionType=plAssetDocEngineConnection::FullObjectMirroring) |
|
plStatus | SetContext (plUuid documentGuid, plUuid objectGuid) |
|
plUuid | GetContextDocumentGuid () const |
|
plUuid | GetContextObjectGuid () const |
|
const plDocumentObject * | GetContextObject () const |
|
| plGameObjectDocument (plStringView sDocumentPath, plDocumentObjectManager *pObjectManager, plAssetDocEngineConnection engineConnectionType=plAssetDocEngineConnection::FullObjectMirroring) |
|
virtual plEditorInputContext * | GetEditorInputContextOverride () override |
| Allows to return a single input context that currently overrides all others (in priority).
|
|
void | SelectionManagerEventHandler (const plSelectionManagerEvent &e) |
|
void | ObjectPropertyEventHandler (const plDocumentObjectPropertyEvent &e) |
|
void | ObjectStructureEventHandler (const plDocumentObjectStructureEvent &e) |
|
void | ObjectEventHandler (const plDocumentObjectEvent &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.
|
|
plStatus | CreateGameObjectHere () |
| Creates an empty game object at 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().
|
|
bool | GetAddAmbientLight () const |
|
void | SetAddAmbientLight (bool b) |
|
float | GetSimulationSpeed () const |
|
void | SetSimulationSpeed (float f) |
|
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 | DetermineNodeName (const plDocumentObject *pObject, const plUuid &prefabGuid, plStringBuilder &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 plDocumentObject *pObject, plStringBuilder &out_sResult, plUuid *out_pPrefabGuid=nullptr, QIcon *out_pIcon=nullptr) const |
| Similar to DetermineNodeName() but prefers to return the last cached value from scene meta data. This is more efficient, but may give an outdated result.
|
|
void | GenerateFullDisplayName (const plDocumentObject *pRoot, plStringBuilder &out_sFullPath) const |
| Creates a full "path" to a scene object for display in UIs. No guarantee for uniqueness.
|
|
void | SetActiveEditTool (const plRTTI *pEditToolType) |
| Makes an edit tool of the given type active. Allocates a new one, if necessary. Only works when SetEditToolConfigDelegate() is set.
|
|
plGameObjectEditTool * | GetActiveEditTool () const |
| Returns the currently active edit tool (nullptr for none).
|
|
bool | IsActiveEditTool (const plRTTI *pEditToolType) const |
| Checks whether an edit tool of the given type, or nullptr for none, is active.
|
|
void | SetEditToolConfigDelegate (plDelegate< void(plGameObjectEditTool *)> configDelegate) |
| Needs to be called by some higher level code (usually the DocumentWindow) to react to newly created edit tools to configure them (call plGameObjectEditTool::ConfigureTool()).
|
|
void | SetGizmoWorldSpace (bool bWorldSpace) |
|
bool | GetGizmoWorldSpace () const |
|
void | SetGizmoMoveParentOnly (bool bMoveParent) |
|
bool | GetGizmoMoveParentOnly () const |
|
void | ComputeTopLevelSelectedGameObjects (plDeque< plSelectedGameObject > &out_selection) |
| Finds all objects that are selected at the top level, ie. none of their parents is selected.
|
|
virtual void | HandleEngineMessage (const plEditorEngineDocumentMsg *pMsg) override |
| Handles all messages received from the corresponding plEngineProcessDocumentContext on the engine process.
|
|
void | SetGlobalTransform (const plDocumentObject *pObject, const plTransform &t, plUInt8 uiTransformationChanges) const |
| Sets the new global transformation of the given object. The transformationChanges bitmask (of type TransformationChanges) allows to tell the system that, e.g. only translation has changed and thus some work can be spared.
|
|
void | SetGlobalTransformParentOnly (const plDocumentObject *pObject, const plTransform &t, plUInt8 uiTransformationChanges) const |
| Same as SetGlobalTransform, except that all children will keep their current global transform (thus their local transforms are adjusted)
|
|
plTransform | GetGlobalTransform (const plDocumentObject *pObject) const |
| Returns a cached value for the global transform of the given object, if available. Otherwise it calls ComputeGlobalTransform().
|
|
plTransform | ComputeGlobalTransform (const plDocumentObject *pObject) const |
| Computes the global transform of the parent and combines it with the local transform of the given object. This function does not return a cached value, but always computes it. It does update the internal cache for later reads though.
|
|
virtual plResult | ComputeObjectTransformation (const plDocumentObject *pObject, plTransform &out_result) const override |
| Traverses the pObject hierarchy up until it hits an plGameObject, then computes the global transform of that.
|
|
| 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.
|
|
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 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.
|
|
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 plTransformStatus | InternalTransformAsset (plStreamWriter &stream, plStringView sOutputTag, const plPlatformProfile *pAssetProfile, const plAssetFileHeader &AssetHeader, plBitflags< plTransformFlags > transformFlags) override |
| Override this and write the transformed file for the given szOutputTag into the given stream.
|
|
virtual void | InitializeAfterLoading (bool bFirstTimeCreation) override |
|
virtual plStatus | InternalLoadDocument () override |
|
void | ApplyNativePropertyChangesToObjectManager (bool bForceIndexBasedRemapping=false) |
|
virtual plDocumentInfo * | CreateDocumentInfo () override |
|
void | SubscribeGameObjectEventHandlers () |
|
void | UnsubscribeGameObjectEventHandlers () |
|
void | GameObjectDocumentEventHandler (const plGameObjectDocumentEvent &e) |
|
void | InvalidateGlobalTransformValue (const plDocumentObject *pObject) const |
|
virtual void | SendGameWorldToEngine () |
| Sends the current state of the scene to the engine process. This is typically done after scene load or when the world might have deviated on the engine side (after play the game etc.)
|
|
virtual void | AttachMetaDataBeforeSaving (plAbstractObjectGraph &graph) const override |
|
virtual void | RestoreMetaDataAfterLoading (const plAbstractObjectGraph &graph, bool bUndoable) 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 (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 | 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) |
|