![]() |
Plasma Engine
2.0
|
Layers that are loaded as sub-documents of a scene share the plWorld with their main document scene. Thus, this context attaches itself to its parent plSceneContext. More...
#include <LayerContext.h>
Public Member Functions | |
virtual void | HandleMessage (const plEditorEngineDocumentMsg *pMsg) override |
void | SceneDeinitialized () |
const plTag & | GetLayerTag () const |
![]() | |
plEngineProcessDocumentContext (plBitflags< plEngineProcessDocumentContextFlags > flags) | |
virtual void | Initialize (const plUuid &documentGuid, const plVariant &metaData, plEngineProcessCommunicationChannel *pIPC, plStringView sDocumentType) |
void | Deinitialize () |
plStringView | GetDocumentType () const |
Returns the document type for which this context was created. Useful in case a context may be used for multiple document types. | |
void | SendProcessMessage (plProcessMessage *pMsg=nullptr) |
plBoundingBoxSphere | GetWorldBounds (plWorld *pWorld) |
void | ProcessEditorEngineSyncObjectMsg (const plEditorEngineSyncObjectMsg &msg) |
const plUuid & | GetDocumentGuid () const |
virtual void | Reset () |
void | ClearExistingObjects () |
virtual plWorldRttiConverterContext & | GetContext () |
virtual const plWorldRttiConverterContext & | GetContext () const |
plWorld * | GetWorld () const |
virtual plGameObjectHandle | ResolveStringToGameObjectHandle (const void *pString, plComponentHandle hThis, plStringView sProperty) const |
Tries to resolve a 'reference' (given in pData) to an plGameObject. | |
![]() | |
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. | |
Static Public Member Functions | |
static plEngineProcessDocumentContext * | AllocateContext (const plDocumentOpenMsgToEngine *pMsg) |
![]() | |
static plEngineProcessDocumentContext * | GetDocumentContext (plUuid guid) |
static void | AddDocumentContext (plUuid guid, const plVariant &metaData, plEngineProcessDocumentContext *pView, plEngineProcessCommunicationChannel *pIPC, plStringView sDocumentType) |
static bool | PendingOperationsInProgress () |
static void | UpdateDocumentContexts () |
static void | DestroyDocumentContext (plUuid guid) |
![]() | |
static const plRTTI * | GetStaticRTTI () |
Protected Member Functions | |
virtual void | OnInitialize () override |
virtual void | OnDeinitialize () override |
virtual plEngineProcessViewContext * | CreateViewContext () override |
Needs to be implemented to create a view context used for windows and thumbnails rendering. | |
virtual void | DestroyViewContext (plEngineProcessViewContext *pContext) override |
Needs to be implemented to destroy the view context created in CreateViewContext. | |
virtual plStatus | ExportDocument (const plExportDocumentMsgToEngine *pMsg) override |
Exports to current document resource to file. Make sure to write plAssetFileHeader at the start of it. | |
virtual void | UpdateDocumentContext () override |
A tick functions that allows each document context to do processing that continues over multiple frames and can't be handled in HandleMessage directly. | |
![]() | |
virtual bool | PendingOperationInProgress () const |
Should return true if this context has any operation in progress like thumbnail rendering and thus needs to continue rendering even if no new messages from the editor come in. | |
void | UpdateSyncObjects () |
void | CreateThumbnailViewContext (const plCreateThumbnailMsgToEngine *pMsg) |
Creates the thumbnail view context. It uses 'CreateViewContext' in combination with an off-screen render target. | |
void | DestroyThumbnailViewContext () |
Once a thumbnail is successfully rendered, the thumbnail view context is destroyed again. | |
virtual bool | UpdateThumbnailViewContext (plEngineProcessViewContext *pThumbnailViewContext) |
Overwrite this function to apply the thumbnail render settings to the given context. | |
virtual void | OnThumbnailViewContextRequested () |
Called before a thumbnail context is created. | |
virtual void | OnThumbnailViewContextCreated () |
Called after a thumbnail context was created. Allows to insert code before the thumbnail is generated. | |
virtual void | OnDestroyThumbnailViewContext () |
Called before a thumbnail context is destroyed. Used for cleanup of what was done in OnThumbnailViewContextCreated() | |
void | SetTagOnObject (const plUuid &object, const char *szTag, bool bSet, bool recursive) |
Sets or removes the given tag on the object and optionally all children. | |
void | SetTagRecursive (plGameObject *pObject, const plTag &tag) |
Sets the given tag on the object and all children. | |
void | ClearTagRecursive (plGameObject *pObject, const plTag &tag) |
Clears the given tag on the object and all children. | |
const plEngineProcessViewContext * | GetViewContext (plUInt32 uiView) const |
Additional Inherited Members | |
![]() | |
plIPCObjectMirrorEngine | m_Mirror |
plWorldRttiConverterContext | m_Context |
![]() | |
plWorld * | m_pWorld = nullptr |
plBitflags< plEngineProcessDocumentContextFlags > | m_Flags |
plUuid | m_DocumentGuid |
plVariant | m_MetaData |
plEngineProcessCommunicationChannel * | m_pIPC = nullptr |
plHybridArray< plEngineProcessViewContext *, 4 > | m_ViewContexts |
plMap< plUuid, plEditorEngineSyncObject * > | m_SyncObjects |
Layers that are loaded as sub-documents of a scene share the plWorld with their main document scene. Thus, this context attaches itself to its parent plSceneContext.
|
overrideprotectedvirtual |
Needs to be implemented to create a view context used for windows and thumbnails rendering.
Implements plEngineProcessDocumentContext.
|
overrideprotectedvirtual |
Needs to be implemented to destroy the view context created in CreateViewContext.
Implements plEngineProcessDocumentContext.
|
overrideprotectedvirtual |
Exports to current document resource to file. Make sure to write plAssetFileHeader at the start of it.
Reimplemented from plEngineProcessDocumentContext.
|
overridevirtual |
Reimplemented from plEngineProcessDocumentContext.
|
overrideprotectedvirtual |
Reimplemented from plEngineProcessDocumentContext.
|
overrideprotectedvirtual |
Reimplemented from plEngineProcessDocumentContext.
|
overrideprotectedvirtual |
A tick functions that allows each document context to do processing that continues over multiple frames and can't be handled in HandleMessage directly.
Make sure to call the base implementation when overwriting as this handles the thumbnail rendering that takes multiple frames to complete.
Reimplemented from plEngineProcessDocumentContext.