5 #include "DatasmithAnimationElements.h"
6 #include "DatasmithMaterialElements.h"
7 #include "IDatasmithSceneElements.h"
8 #include "Templates/SharedPointer.h"
18 static TSharedPtr< IDatasmithElement > CreateElement( EDatasmithElementType InType,
const TCHAR* InName );
20 static TSharedRef< IDatasmithActorElement > CreateActor(
const TCHAR* InName );
22 static TSharedRef< IDatasmithCameraActorElement > CreateCameraActor(
const TCHAR* InName );
24 static TSharedRef< IDatasmithCompositeTexture > CreateCompositeTexture();
26 static TSharedRef< IDatasmithCustomActorElement > CreateCustomActor(
const TCHAR* InName );
28 static TSharedRef< IDatasmithLandscapeElement > CreateLandscape(
const TCHAR* InName );
30 static TSharedRef< IDatasmithPostProcessVolumeElement > CreatePostProcessVolume(
const TCHAR* InName );
32 static TSharedRef< IDatasmithEnvironmentElement > CreateEnvironment(
const TCHAR* InName );
34 static TSharedRef< IDatasmithPointLightElement > CreatePointLight(
const TCHAR* InName );
35 static TSharedRef< IDatasmithSpotLightElement > CreateSpotLight(
const TCHAR* InName );
36 static TSharedRef< IDatasmithDirectionalLightElement > CreateDirectionalLight(
const TCHAR* InName );
37 static TSharedRef< IDatasmithAreaLightElement > CreateAreaLight(
const TCHAR* InName );
38 static TSharedRef< IDatasmithLightmassPortalElement > CreateLightmassPortal(
const TCHAR* InName );
40 static TSharedRef< IDatasmithKeyValueProperty > CreateKeyValueProperty(
const TCHAR* InName );
42 static TSharedRef< IDatasmithMeshElement > CreateMesh(
const TCHAR* InName );
44 static TSharedRef< IDatasmithMeshActorElement > CreateMeshActor(
const TCHAR* InName );
46 static TSharedRef< IDatasmithHierarchicalInstancedStaticMeshActorElement > CreateHierarchicalInstanceStaticMeshActor(
const TCHAR* InName );
48 static TSharedRef< IDatasmithMaterialElement > CreateMaterial(
const TCHAR* InName );
50 static TSharedRef< IDatasmithMasterMaterialElement > CreateMasterMaterial(
const TCHAR* InName );
52 static TSharedRef< IDatasmithUEPbrMaterialElement > CreateUEPbrMaterial(
const TCHAR* InName );
54 static TSharedRef< IDatasmithMetaDataElement > CreateMetaData(
const TCHAR* InName );
56 static TSharedRef< IDatasmithMaterialIDElement > CreateMaterialId(
const TCHAR* InName );
58 static TSharedRef< IDatasmithPostProcessElement > CreatePostProcess();
60 static TSharedRef< IDatasmithShaderElement > CreateShader(
const TCHAR* InName );
62 static TSharedRef< IDatasmithTextureElement > CreateTexture(
const TCHAR* InName );
64 static TSharedRef< IDatasmithLevelSequenceElement > CreateLevelSequence(
const TCHAR* InName );
65 static TSharedRef< IDatasmithTransformAnimationElement > CreateTransformAnimation(
const TCHAR* InName );
66 static TSharedRef< IDatasmithVisibilityAnimationElement > CreateVisibilityAnimation(
const TCHAR* InName );
67 static TSharedRef< IDatasmithSubsequenceAnimationElement > CreateSubsequenceAnimation(
const TCHAR* InName );
69 static TSharedRef< IDatasmithScene > CreateScene(
const TCHAR* InName );
70 static TSharedRef< IDatasmithScene > DuplicateScene(
const TSharedRef< IDatasmithScene >& InScene );