Plasma Engine  2.0
Loading...
Searching...
No Matches
plMaterialContext Class Reference
Inheritance diagram for plMaterialContext:

Public Member Functions

virtual void HandleMessage (const plEditorEngineDocumentMsg *pMsg) override
 
- Public Member Functions inherited from plEngineProcessDocumentContext
 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 plUuidGetDocumentGuid () const
 
virtual void Reset ()
 
void ClearExistingObjects ()
 
virtual plWorldRttiConverterContextGetContext ()
 
virtual const plWorldRttiConverterContextGetContext () const
 
plWorldGetWorld () const
 
virtual plGameObjectHandle ResolveStringToGameObjectHandle (const void *pString, plComponentHandle hThis, plStringView sProperty) const
 Tries to resolve a 'reference' (given in pData) to an plGameObject.
 
- Public Member Functions inherited from plReflectedClass
virtual const plRTTIGetDynamicRTTI () 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.
 

Protected Member Functions

virtual void OnInitialize () override
 
virtual plEngineProcessViewContextCreateViewContext () 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 bool UpdateThumbnailViewContext (plEngineProcessViewContext *pThumbnailViewContext) override
 Overwrite this function to apply the thumbnail render settings to the given context.
 
- Protected Member Functions inherited from plEngineProcessDocumentContext
virtual void OnDeinitialize ()
 
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.
 
virtual void UpdateDocumentContext ()
 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 plStatus ExportDocument (const plExportDocumentMsgToEngine *pMsg)
 Exports to current document resource to file. Make sure to write plAssetFileHeader at the start of it.
 
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 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 plEngineProcessViewContextGetViewContext (plUInt32 uiView) const
 

Additional Inherited Members

- Static Public Member Functions inherited from plEngineProcessDocumentContext
static plEngineProcessDocumentContextGetDocumentContext (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 Public Member Functions inherited from plNoBase
static const plRTTIGetStaticRTTI ()
 
- Public Attributes inherited from plEngineProcessDocumentContext
plIPCObjectMirrorEngine m_Mirror
 
plWorldRttiConverterContext m_Context
 
- Protected Attributes inherited from plEngineProcessDocumentContext
plWorldm_pWorld = nullptr
 
plBitflags< plEngineProcessDocumentContextFlagsm_Flags
 
plUuid m_DocumentGuid
 
plVariant m_MetaData
 
plEngineProcessCommunicationChannelm_pIPC = nullptr
 
plHybridArray< plEngineProcessViewContext *, 4 > m_ViewContexts
 
plMap< plUuid, plEditorEngineSyncObject * > m_SyncObjects
 

Member Function Documentation

◆ CreateViewContext()

plEngineProcessViewContext * plMaterialContext::CreateViewContext ( )
overrideprotectedvirtual

Needs to be implemented to create a view context used for windows and thumbnails rendering.

Implements plEngineProcessDocumentContext.

◆ DestroyViewContext()

void plMaterialContext::DestroyViewContext ( plEngineProcessViewContext * pContext)
overrideprotectedvirtual

Needs to be implemented to destroy the view context created in CreateViewContext.

Implements plEngineProcessDocumentContext.

◆ HandleMessage()

void plMaterialContext::HandleMessage ( const plEditorEngineDocumentMsg * pMsg)
overridevirtual

Reimplemented from plEngineProcessDocumentContext.

◆ OnInitialize()

void plMaterialContext::OnInitialize ( )
overrideprotectedvirtual

Reimplemented from plEngineProcessDocumentContext.

◆ UpdateThumbnailViewContext()

bool plMaterialContext::UpdateThumbnailViewContext ( plEngineProcessViewContext * pThumbnailViewContext)
overrideprotectedvirtual

Overwrite this function to apply the thumbnail render settings to the given context.

Return false if you need more frames to be rendered to setup everything correctly. If true is returned for 'ThumbnailConvergenceFramesTarget' frames in a row the thumbnail image is taken. This is to allow e.g. camera updates after more resources have been streamed in. The frame counter will start over to count to 'ThumbnailConvergenceFramesTarget' when a new resource is being loaded to make sure we do not make an image of half-streamed in data.

Reimplemented from plEngineProcessDocumentContext.


The documentation for this class was generated from the following files: