XII Release 0.1.0
Loading...
Searching...
No Matches
xiiSceneExportModifier Class Referenceabstract

Base class for modifiers that can be applied to a world before exporting it. This allows to modify the world in a way that is specific to the document type or the export process, without having to add export specific code to the regular world update loop. More...

#include <SceneExportModifier.h>

Inheritance diagram for xiiSceneExportModifier:
[legend]

Public Member Functions

virtual void ModifyWorld (xiiWorld &ref_world, xiiStringView sDocumentType, const xiiUuid &documentGuid, bool bForExport)=0
 Modifies the given world in-place. The document type and guid can be used to apply modifications that are specific to certain document types or even specific documents. The bForExport flag indicates whether the world is being modified for export (true) or for use within the editor (false). This allows to apply different modifications in those two cases, if necessary.
Public Member Functions inherited from xiiReflectedClass
virtual const xiiRTTI * GetDynamicRTTI () 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.

Static Public Member Functions

static void CreateModifiers (xiiHybridArray< xiiSceneExportModifier *, 8 > &ref_modifiers)
 Creates an instance of each type derived from xiiSceneExportModifier and adds it to the given array.
static void DestroyModifiers (xiiHybridArray< xiiSceneExportModifier *, 8 > &ref_modifiers)
 Destroys all modifiers in the given array and removes them from it.
static void ApplyAllModifiers (xiiWorld &ref_world, xiiStringView sDocumentType, const xiiUuid &documentGuid, bool bForExport)
 Creates an instance of each type derived from xiiSceneExportModifier, applies it to the given world and destroys it again.
static void CleanUpWorld (xiiWorld &ref_world)
 Cleans up the world after all modifiers have been applied. This can be used to remove any objects that were marked for deletion during the modification process, but should not be removed immediately to avoid invalidating iterators or handles.
Static Public Member Functions inherited from xiiNoBase
static const xiiRTTI * GetStaticRTTI ()

Detailed Description

Base class for modifiers that can be applied to a world before exporting it. This allows to modify the world in a way that is specific to the document type or the export process, without having to add export specific code to the regular world update loop.

Member Function Documentation

◆ ModifyWorld()

virtual void xiiSceneExportModifier::ModifyWorld ( xiiWorld & ref_world,
xiiStringView sDocumentType,
const xiiUuid & documentGuid,
bool bForExport )
pure virtual

Modifies the given world in-place. The document type and guid can be used to apply modifications that are specific to certain document types or even specific documents. The bForExport flag indicates whether the world is being modified for export (true) or for use within the editor (false). This allows to apply different modifications in those two cases, if necessary.

Implemented in xiiSceneExportModifier_GenericExport, xiiSceneExportModifier_RemoveCommentComponents, and xiiSceneExportModifier_RemoveShapeIconComponents.


The documentation for this class was generated from the following files:
  • /home/runner/work/XII/XII/Source/Editor/EditorEngineProcessFramework/SceneExport/SceneExportModifier.h
  • /home/runner/work/XII/XII/Source/Editor/EditorEngineProcessFramework/SceneExport/Implementation/SceneExportModifier.cpp