![]() |
Plasma Engine
2.0
|
Provides functionality for importing files as asset documents. More...
#include <AssetDocumentGenerator.h>
Classes | |
struct | ImportMode |
Describes one option to import an asset. More... | |
Public Member Functions | |
plStatus | Import (plStringView sInputFileAbs, plStringView sMode, bool bOpenDocument) |
Imports the given file with the mode. Must be a mode that the generator supports. | |
virtual void | GetImportModes (plStringView sAbsInputFile, plDynamicArray< ImportMode > &out_modes) const =0 |
Used to fill out which import modes may be available for the given asset. | |
virtual plStringView | GetDocumentExtension () const =0 |
Returns the target asset document file extension. | |
virtual plStringView | GetGeneratorGroup () const =0 |
Allows to merge the import modes of multiple generators in the UI in one group. | |
virtual plStatus | Generate (plStringView sInputFileAbs, plStringView sMode, plDynamicArray< plDocument * > &out_generatedDocuments)=0 |
Tells the generator to create a new asset document with the chosen mode. | |
bool | SupportsFileType (plStringView sFile) const |
Returns whether this generator supports the given file type for import. | |
![]() | |
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 void | GetSupportsFileTypes (plSet< plString > &out_extensions) |
Creates a list of all importable file extensions. Note that this is an expensive function so the the result should be cached. | |
static void | ImportAssets () |
Opens a file browse dialog to let the user choose which files to import. | |
static void | ImportAssets (const plDynamicArray< plString > &filesToImport) |
Opens the "Asset Import" dialog to let the user choose how to import the given files. | |
static void | CreateGenerators (plHybridArray< plAssetDocumentGenerator *, 16 > &out_generators) |
Instantiates all currently available generators. | |
static void | DestroyGenerators (const plHybridArray< plAssetDocumentGenerator *, 16 > &generators) |
Destroys the previously instantiated generators. | |
![]() | |
static const plRTTI * | GetStaticRTTI () |
Protected Member Functions | |
void | AddSupportedFileType (plStringView sExtension) |
Friends | |
class | plQtAssetImportDlg |
Provides functionality for importing files as asset documents.
Derived from this class to add a custom importer (see existing derived classes for examples). Each importer typically handles one target asset type.
|
pure virtual |
Tells the generator to create a new asset document with the chosen mode.
Implemented in plAnimatedMeshAssetDocumentGenerator, plAnimationClipAssetDocumentGenerator, plDecalAssetDocumentGenerator, plJoltCollisionMeshAssetDocumentGenerator, plJoltConvexCollisionMeshAssetDocumentGenerator, plKrautTreeAssetDocumentGenerator, plLUTAssetDocumentGenerator, plMeshAssetDocumentGenerator, plSkeletonAssetDocumentGenerator, plTextureAssetDocumentGenerator, and plTextureCubeAssetDocumentGenerator.
|
pure virtual |
Returns the target asset document file extension.
Implemented in plAnimatedMeshAssetDocumentGenerator, plAnimationClipAssetDocumentGenerator, plDecalAssetDocumentGenerator, plJoltCollisionMeshAssetDocumentGenerator, plJoltConvexCollisionMeshAssetDocumentGenerator, plKrautTreeAssetDocumentGenerator, plLUTAssetDocumentGenerator, plMeshAssetDocumentGenerator, plSkeletonAssetDocumentGenerator, plTextureAssetDocumentGenerator, and plTextureCubeAssetDocumentGenerator.
|
pure virtual |
Allows to merge the import modes of multiple generators in the UI in one group.
Implemented in plAnimatedMeshAssetDocumentGenerator, plAnimationClipAssetDocumentGenerator, plDecalAssetDocumentGenerator, plJoltCollisionMeshAssetDocumentGenerator, plJoltConvexCollisionMeshAssetDocumentGenerator, plKrautTreeAssetDocumentGenerator, plLUTAssetDocumentGenerator, plMeshAssetDocumentGenerator, plSkeletonAssetDocumentGenerator, plTextureAssetDocumentGenerator, and plTextureCubeAssetDocumentGenerator.
|
pure virtual |
Used to fill out which import modes may be available for the given asset.
Note: sAbsInputFile may be empty, in this case it should fill out the array for "general purpose" import (any file of the supported types).
Implemented in plAnimatedMeshAssetDocumentGenerator, plAnimationClipAssetDocumentGenerator, plDecalAssetDocumentGenerator, plJoltCollisionMeshAssetDocumentGenerator, plJoltConvexCollisionMeshAssetDocumentGenerator, plKrautTreeAssetDocumentGenerator, plLUTAssetDocumentGenerator, plMeshAssetDocumentGenerator, plSkeletonAssetDocumentGenerator, plTextureAssetDocumentGenerator, and plTextureCubeAssetDocumentGenerator.
Creates a list of all importable file extensions. Note that this is an expensive function so the the result should be cached.
out_Extensions | List of all file extensions that can be imported. |
|
static |
Opens a file browse dialog to let the user choose which files to import.
After the user chose one or multiple files, opens the "Asset Import" dialog to let them choose details.