5 #include "Misc/EnumClassFlags.h"
7 #ifdef WITH_COREUOBJECT
8 #include "UObject/ObjectMacros.h"
11 #endif // WITH_COREUOBJECT
14 enum class EDatasmithElementType : uint64
19 StaticMeshActor = 1 << 2,
23 DirectionalLight = 1 << 6,
25 LightmassPortal = 1 << 8,
26 EnvironmentLight = 1 << 9,
30 MasterMaterial = 1 << 13,
31 KeyValueProperty = 1 << 14,
34 PostProcess = 1 << 17,
37 CustomActor = 1 << 20,
38 BaseMaterial = 1 << 21,
40 UEPbrMaterial = 1 << 23,
41 PostProcessVolume = 1 << 24,
42 LevelSequence = 1 << 25,
44 HierarchicalInstanceStaticMesh = 1 << 27,
47 ENUM_CLASS_FLAGS( EDatasmithElementType );
50 enum class EDatasmithElementAnimationSubType : uint64
53 TransformAnimation = 1 << 0,
54 VisibilityAnimation = 1 << 1,
55 SubsequenceAnimation = 1 << 2,
58 ENUM_CLASS_FLAGS( EDatasmithElementAnimationSubType );
64 enum class EDatasmithTransformChannels : uint16
71 Translation = TranslationX | TranslationY | TranslationZ,
76 Rotation = RotationX | RotationY | RotationZ,
81 Scale = ScaleX | ScaleY | ScaleZ,
83 All = Translation | Rotation | Scale,
86 ENUM_CLASS_FLAGS( EDatasmithTransformChannels );
90 enum class EDatasmithLightShape : uint8
99 static const TCHAR* DatasmithAreaLightShapeStrings[] = { TEXT(
"Rectangle"), TEXT(
"Disc"), TEXT(
"Sphere"), TEXT(
"Cylinder"), TEXT(
"None") };
101 enum class EDatasmithAreaLightType
109 static const TCHAR* DatasmithAreaLightTypeStrings[] = { TEXT(
"Point"), TEXT(
"Spot"), TEXT(
"IES"), TEXT(
"Rect") };
112 enum class EDatasmithLightUnits
121 enum class EDatasmithTextureMode : uint8
134 enum class EDatasmithTextureFilter : uint8
145 enum class EDatasmithTextureAddress : uint8
154 enum class EDatasmithTextureFormat
166 enum class EDatasmithMaterialMode
174 enum class EDatasmithMasterMaterialType
189 enum class EDatasmithMasterMaterialQuality
208 enum class EDatasmithCompMode
215 ColorCorrectContrast,
221 enum class EDatasmithCompositeCompMode
249 enum class EDatasmithBlendMode
259 enum class EDatasmithKeyValuePropertyType : uint8
273 enum class EDatasmithShaderUsage
280 enum class EDatasmithActorRemovalRule : uint8
286 KeepChildrenAndKeepRelativeTransform,
293 enum class EDatasmithActorAttachmentRule : uint8
296 KeepRelativeTransform,
303 enum class EDatasmithTransformType : uint8
316 enum class EDatasmithCompletionMode : uint8
323 static const TCHAR* KeyValuePropertyTypeStrings[] = { TEXT(
"String"), TEXT(
"Color"), TEXT(
"Float"), TEXT(
"Bool"), TEXT(
"Texture"), TEXT(
"Vector") };
326 #define DATASMITH_HOSTNAME TEXT("Host")
329 #define DATASMITH_EXPORTERVERSION TEXT("Version")
330 #define DATASMITH_EXPORTERSDKVERSION TEXT("SDKVersion")
333 #define DATASMITH_APPLICATION TEXT("Application")
334 #define DATASMITH_VENDOR TEXT("Vendor")
335 #define DATASMITH_PRODUCTNAME TEXT("ProductName")
336 #define DATASMITH_PRODUCTVERSION TEXT("ProductVersion")
339 #define DATASMITH_USER TEXT("User")
340 #define DATASMITH_USERID TEXT("ID")
341 #define DATASMITH_USEROS TEXT("OS")
344 #define DATASMITH_EXPORT TEXT("Export")
345 #define DATASMITH_EXPORTDURATION TEXT("Duration")
348 #define DATASMITH_HASH TEXT("Hash")
349 #define DATASMITH_ENABLED TEXT("Enabled")
352 #define DATASMITH_STATICMESHNAME TEXT("StaticMesh")
353 #define DATASMITH_LIGHTMAPCOORDINATEINDEX TEXT("LightmapCoordinateIndex")
354 #define DATASMITH_LIGHTMAPUVSOURCE TEXT("LightmapUV")
355 #define DATASMITH_MATERIAL TEXT("Material")
357 #define DATASMITH_ACTORNAME TEXT("Actor")
360 #define DATASMITH_ACTORMESHNAME TEXT("ActorMesh")
363 #define DATASMITH_ACTORHIERARCHICALINSTANCEDMESHNAME TEXT("ActorHierarchicalInstancedStaticMesh")
366 #define DATASMITH_LEVELSEQUENCENAME TEXT("LevelSequence")
369 #define DATASMITH_LIGHTNAME TEXT("Light")
370 #define DATASMITH_POINTLIGHTNAME TEXT("PointLight")
371 #define DATASMITH_SPOTLIGHTNAME TEXT("SpotLight")
372 #define DATASMITH_AREALIGHTNAME TEXT("AreaLight")
373 #define DATASMITH_PORTALLIGHTNAME TEXT("SkyPortalLight")
374 #define DATASMITH_DIRECTLIGHTNAME TEXT("DirectionalLight")
375 #define DATASMITH_PHYSICALSKYNAME TEXT("PhysicalSky")
377 #define DATASMITH_LIGHTCOLORNAME TEXT("Color")
378 #define DATASMITH_LIGHTUSETEMPNAME TEXT("usetemp")
379 #define DATASMITH_LIGHTTEMPNAME TEXT("temperature")
380 #define DATASMITH_LIGHTIESNAME TEXT("IES")
381 #define DATASMITH_LIGHTIESBRIGHTNAME TEXT("IESbrightness")
382 #define DATASMITH_LIGHTIESROTATION TEXT("IESrotation")
383 #define DATASMITH_LIGHTINTENSITYNAME TEXT("Intensity")
384 #define DATASMITH_LIGHTINTENSITYUNITSNAME TEXT("IntensityUnits")
385 #define DATASMITH_LIGHTSOURCESIZENAME TEXT("SourceSize")
386 #define DATASMITH_LIGHTSOURCELENGTHNAME TEXT("SourceLength")
387 #define DATASMITH_LIGHTATTENUATIONRADIUSNAME TEXT("AttenuationRadius")
388 #define DATASMITH_LIGHTINNERRADIUSNAME TEXT("InnerConeAngle")
389 #define DATASMITH_LIGHTOUTERRADIUSNAME TEXT("OuterConeAngle")
390 #define DATASMITH_LIGHTMATERIAL TEXT("Material")
392 #define DATASMITH_AREALIGHTSHAPE TEXT("Shape")
393 #define DATASMITH_AREALIGHTDISTRIBUTION TEXT("Distribution") // Deprecated
394 #define DATASMITH_AREALIGHTTYPE TEXT("LightType")
397 #define DATASMITH_POSTPRODUCTIONNAME TEXT("Post")
398 #define DATASMITH_POSTPRODUCTIONTEMP TEXT("Temperature")
399 #define DATASMITH_POSTPRODUCTIONCOLOR TEXT("Color")
400 #define DATASMITH_POSTPRODUCTIONDISTANCE TEXT("Distance")
401 #define DATASMITH_POSTPRODUCTIONVIGNETTE TEXT("Vignette")
402 #define DATASMITH_POSTPRODUCTIONSATURATION TEXT("Saturation")
403 #define DATASMITH_POSTPRODUCTIONCAMERAISO TEXT("CameraISO")
404 #define DATASMITH_POSTPRODUCTIONSHUTTERSPEED TEXT("ShutterSpeed")
407 #define DATASMITH_CAMERANAME TEXT("Camera")
408 #define DATASMITH_SENSORWIDTH TEXT("SensorWidth")
409 #define DATASMITH_SENSORASPECT TEXT("SensorAspectRatio")
410 #define DATASMITH_DEPTHOFFIELD TEXT("DepthOfField")
411 #define DATASMITH_FOCUSDISTANCE TEXT("FocusDistance")
412 #define DATASMITH_FSTOP TEXT("FStop")
413 #define DATASMITH_FOCALLENGTH TEXT("FocalLength")
414 #define DATASMITH_LOOKAT TEXT("LookAt")
415 #define DATASMITH_LOOKATROLL TEXT("LookAtRollAllowed")
418 #define DATASMITH_CUSTOMACTORNAME TEXT("CustomActor")
419 #define DATASMITH_CUSTOMACTORPATHNAME TEXT("PathName")
422 #define DATASMITH_LANDSCAPENAME TEXT("Landscape")
423 #define DATASMITH_HEIGHTMAPNAME TEXT("Heightmap")
424 #define DATASMITH_PATHNAME TEXT("PathName")
427 #define DATASMITH_POSTPROCESSVOLUME TEXT("PostProcessVolume")
428 #define DATASMITH_POSTPROCESSVOLUME_UNBOUND TEXT("Unbound")
431 #define DATASMITH_METADATANAME TEXT("MetaData")
432 #define DATASMITH_REFERENCENAME TEXT("reference")
435 #define DATASMITH_KEYVALUEPROPERTYNAME TEXT("KeyValueProperty")
438 #define DATASMITH_TEXTUREMODE TEXT("TextureMode")
439 #define DATASMITH_TEXTURERESIZE TEXT("AllowResize")
442 #define DATASMITH_SHADERNAME TEXT("Shader")
443 #define DATASMITH_MATERIALNAME TEXT("Material")
444 #define DATASMITH_PARENTMATERIALLABEL TEXT("ParentLabel")
445 #define DATASMITH_UEPBRMATERIALNAME TEXT("UEPbrMaterial")
447 #define DATASMITH_MASTERMATERIALNAME TEXT("MasterMaterial")
448 #define DATASMITH_MASTERMATERIALTYPE TEXT("Type")
449 #define DATASMITH_MASTERMATERIALQUALITY TEXT("Quality")
450 #define DATASMITH_MASTERMATERIALPATHNAME TEXT("PathName")
452 #define DATASMITH_TEXTURENAME TEXT("Texture")
453 #define DATASMITH_TEXTURECOMPNAME TEXT("Texturecomp")
454 #define DATASMITH_COLORNAME TEXT("Color")
455 #define DATASMITH_MASKNAME TEXT("Mask")
456 #define DATASMITH_MASKCOLOR TEXT("MaskColor")
457 #define DATASMITH_MASKCOMPNAME TEXT("Maskcomp")
458 #define DATASMITH_VALUE1NAME TEXT("Value1")
459 #define DATASMITH_VALUE2NAME TEXT("Value2")
460 #define DATASMITH_ENVIRONMENTNAME TEXT("Environment")
462 #define DATASMITH_DIFFUSETEXNAME TEXT("Diffuse")
463 #define DATASMITH_DIFFUSECOLNAME TEXT("Diffusecolor")
464 #define DATASMITH_DIFFUSECOMPNAME TEXT("Diffusecomp")
466 #define DATASMITH_REFLETEXNAME TEXT("Reflectance")
467 #define DATASMITH_REFLECOLNAME TEXT("Reflectancecolor")
468 #define DATASMITH_REFLECOMPNAME TEXT("Reflectancecomp")
470 #define DATASMITH_ROUGHNESSTEXNAME TEXT("Roughness")
471 #define DATASMITH_ROUGHNESSVALUENAME TEXT("Roughnessval")
472 #define DATASMITH_ROUGHNESSCOMPNAME TEXT("Roughnesscomp")
474 #define DATASMITH_CLIPTEXNAME TEXT("Clip")
475 #define DATASMITH_CLIPCOMPNAME TEXT("Clipcomp")
477 #define DATASMITH_TRANSPTEXNAME TEXT("RefractionTransparency")
478 #define DATASMITH_TRANSPCOLNAME TEXT("RefractionTransparencycolor")
479 #define DATASMITH_TRANSPCOMPNAME TEXT("RefractionTransparencycomp")
481 #define DATASMITH_NORMALTEXNAME TEXT("Normal")
482 #define DATASMITH_NORMALCOMPNAME TEXT("Normalcomp")
483 #define DATASMITH_BUMPTEXNAME TEXT("Bump")
484 #define DATASMITH_BUMPCOMPNAME TEXT("Bumpcomp")
486 #define DATASMITH_USEMATERIALATTRIBUTESNAME TEXT("UseMaterialAttributes")
487 #define DATASMITH_FUNCTIONLYVALUENAME TEXT("FunctionOnly")
488 #define DATASMITH_TWOSIDEDVALUENAME TEXT("TwoSided")
489 #define DATASMITH_BUMPVALUENAME TEXT("Bumpval")
490 #define DATASMITH_IORVALUENAME TEXT("IOR")
491 #define DATASMITH_IORKVALUENAME TEXT("IORk")
492 #define DATASMITH_REFRAIORVALUENAME TEXT("IORRefraction")
494 #define DATASMITH_DISPLACETEXNAME TEXT("Displace")
495 #define DATASMITH_DISPLACEVALNAME TEXT("Displaceval")
496 #define DATASMITH_DISPLACECOMPNAME TEXT("Displacecomp")
497 #define DATASMITH_DISPLACESUBNAME TEXT("DisplaceSubdivisionval")
499 #define DATASMITH_METALTEXNAME TEXT("Metal")
500 #define DATASMITH_METALVALUENAME TEXT("Metalval")
501 #define DATASMITH_METALCOMPNAME TEXT("Metalcomp")
503 #define DATASMITH_EMITTEXNAME TEXT("Emittance")
504 #define DATASMITH_EMITCOLNAME TEXT("Emittancecolor")
505 #define DATASMITH_EMITCOMPNAME TEXT("Emittancecomp")
506 #define DATASMITH_EMITTEMPNAME TEXT("Emittancetemp")
507 #define DATASMITH_EMITVALUENAME TEXT("Emittanceval")
508 #define DATASMITH_EMITONLYVALUENAME TEXT("EmitOnly")
509 #define DATASMITH_DYNAMICEMISSIVE TEXT("DynamicEmissive")
510 #define DATASMITH_SHADERUSAGE TEXT("ShaderUsage")
512 #define DATASMITH_WEIGHTTEXNAME TEXT("Weight")
513 #define DATASMITH_WEIGHTCOLNAME TEXT("Weightcolor")
514 #define DATASMITH_WEIGHTCOMPNAME TEXT("Weightcomp")
515 #define DATASMITH_WEIGHTVALUENAME TEXT("Weightval")
517 #define DATASMITH_STACKLAYER TEXT("Stacked")
518 #define DATASMITH_BLENDMODE TEXT("Blendmode")
520 #define DATASMITH_ENVILLUMINATIONMAP TEXT("Illuminate")
523 #define DATASMITH_LODSCREENSIZE TEXT("LodScreenSize")