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

Public Member Functions

virtual xiiResult InitializeExecution (xiiStreamReader &ref_config, const xiiUuid &documentGuid) override
 Called within the engine processes main thread. The function may lock the xiiWorld from the given scene document and extract vital information. It should try to be as quick as possible and leave the heavy lifting to Execute(), which will run on a background thread. If this function return failure, the long op is canceled right away.
 
virtual xiiResult Execute (xiiProgress &ref_progress, xiiStreamWriter &ref_proxydata) override
 Executed in a separete thread after InitializeExecution(). This should do the work that takes a while.
 
- Public Member Functions inherited from xiiReflectedClass
virtual const xiiRTTIGetDynamicRTTI () 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.
 

Public Attributes

xiiString m_sOutputPath
 
xiiBakingScene * m_pScene
 

Additional Inherited Members

- Static Public Member Functions inherited from xiiNoBase
static const xiiRTTIGetStaticRTTI ()
 

Member Function Documentation

◆ Execute()

virtual xiiResult xiiLongOpWorker_BakeScene::Execute ( xiiProgress & ref_progress,
xiiStreamWriter & ref_proxydata )
overridevirtual

Executed in a separete thread after InitializeExecution(). This should do the work that takes a while.

This function may write the result data directly to disk. Everything that is written to proxydata will be transmitted back to the proxy long op and given to xiiLongOpProxy::Finalize(). Since this requires IPC bandwidth the amount of data should be kept very small (a few KB at most).

All updates to progress will be automatically synchronized back to the editor process and become visible through the xiiLongOpControllerManager via the xiiLongOpControllerEvent. Use xiiProgressRange for convenient progress updates.

Implements xiiLongOpWorker.

◆ InitializeExecution()

virtual xiiResult xiiLongOpWorker_BakeScene::InitializeExecution ( xiiStreamReader & ref_config,
const xiiUuid & documentGuid )
overridevirtual

Called within the engine processes main thread. The function may lock the xiiWorld from the given scene document and extract vital information. It should try to be as quick as possible and leave the heavy lifting to Execute(), which will run on a background thread. If this function return failure, the long op is canceled right away.

Reimplemented from xiiLongOpWorker.


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