UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DatasmithSceneElementsImpl.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
7#include "DatasmithUtils.h"
10
11#include "Containers/Array.h"
14#include "Misc/PackageName.h"
16
17#define UE_API DATASMITHCORE_API
18
19
20template<typename T, typename S=T> using TReflected = DirectLink::TStoreKey<T, S>;
21
22
23template< typename InterfaceType >
24class FDatasmithElementImpl : public InterfaceType
25{
26public:
29
30 virtual bool IsA( EDatasmithElementType InType ) const override { return EnumHasAnyFlags( GetElementType(), InType); }
31
32 virtual const TCHAR* GetName() const override { return *Name.Get(); }
33 virtual void SetName(const TCHAR* InName) override { Name = FDatasmithUtils::SanitizeObjectName(InName); }
34
35 virtual const TCHAR* GetLabel() const override { const FString& Tmp = Label.Get(); return Tmp.IsEmpty() ? GetName() : *Tmp; }
37
38 virtual FMD5Hash CalculateElementHash(bool) override { return ElementHash; }
39
40
42 virtual const DirectLink::FParameterStore& GetStore() const override { return Store; }
43 virtual DirectLink::FParameterStore& GetStore() override { return Store; }
44
45protected:
46 virtual bool IsSubTypeInternal( uint64 InSubType ) const { return ( InSubType & GetSubType() ) != 0; }
47 EDatasmithElementType GetElementType() const { return Type.Get(); }
48 uint64 GetSubType() const { return Subtype.Get(); }
49
50protected:
52
58};
59
60
61template< typename InterfaceType >
72
73class FDatasmithKeyValuePropertyImpl : public FDatasmithElementImpl< IDatasmithKeyValueProperty >
74{
75public:
77 virtual void SetName(const TCHAR* InName) override { Name = InName; }
78
79 EDatasmithKeyValuePropertyType GetPropertyType() const override { return PropertyType; }
81
82 const TCHAR* GetValue() const override { return *Value.Get(); }
83 void SetValue( const TCHAR* InValue ) override;
84
86
87protected:
88 void FormatValue();
89
90private:
93};
94
95
96enum class EActorFlags : uint8
97{
98 IsAComponent = 0x01,
99 IsASelector = 0x02, // Deprecated
100 IsVisible = 0x04,
101};
103
104#define UPDATE_BITFLAGS( Flags, bValue, EnumValue) Flags = bValue ? Flags | EnumValue : Flags & ~EnumValue
105
106template< typename InterfaceType >
107class FDatasmithActorElementImpl : public FDatasmithElementImpl< InterfaceType >, public TSharedFromThis< FDatasmithActorElementImpl< InterfaceType > >
108{
109public:
110 using FDatasmithElementImpl< InterfaceType >::Store;
112
113 virtual FVector GetTranslation() const override { return Translation.Get(); }
114 virtual void SetTranslation(double InX, double InY, double InZ, bool bKeepChildrenRelative) override { SetTranslation( FVector( InX, InY, InZ ), bKeepChildrenRelative ); }
115 virtual void SetTranslation(const FVector& Value, bool bKeepChildrenRelative) override
116 {
118 {
120 }
123 {
125 }
126 }
127
128 virtual FVector GetScale() const override { return Scale.Get(); }
129 virtual void SetScale(double InX, double InY, double InZ, bool bKeepChildrenRelative) override { SetScale( FVector( InX, InY, InZ ), bKeepChildrenRelative ); }
130 virtual void SetScale(const FVector& Value, bool bKeepChildrenRelative) override
131 {
133 {
135 }
138 {
140 }
141 }
142
143 virtual FQuat GetRotation() const override { return Rotation; }
144 virtual void SetRotation(double InX, double InY, double InZ, double InW, bool bKeepChildrenRelative) override { SetRotation( FQuat( InX, InY, InZ, InW ), bKeepChildrenRelative ); }
145 virtual void SetRotation(const FQuat& Value, bool bKeepChildrenRelative) override
146 {
148 {
150 }
153 {
155 }
156 }
157
158 virtual FTransform GetRelativeTransform() const override;
159
160 virtual const TCHAR* GetLayer() const override { return *(FString&)Layer; }
161 virtual void SetLayer(const TCHAR* InLayer) override { Layer = InLayer; }
162
163 virtual void AddTag(const TCHAR* InTag) override { Tags.Get().Add(InTag); }
164 virtual void ResetTags() override { Tags.Get().Reset(); }
165 virtual int32 GetTagsCount() const { return Tags.Get().Num(); }
166 virtual const TCHAR* GetTag(int32 TagIndex) const override { return Tags.Get().IsValidIndex(TagIndex) ? *Tags.Get()[TagIndex] : nullptr; }
167
169 virtual int32 GetChildrenCount() const override
170 {
171 return Children.Num();
172 }
173
176 {
177 return Children.IsValidIndex(InIndex) ? Children[InIndex] : NullActorPtr;
178 };
179
181 {
182 return Children.IsValidIndex(InIndex) ? Children[InIndex] : NullActorPtr;
183 };
184
186 {
187 Children.Edit().Remove(InChild);
188 static_cast< FDatasmithActorElementImpl* >( InChild.Get() )->Parent.Edit().Reset();
189 }
190
192 {
193 return Parent.View();
194 }
195
196 virtual void SetIsAComponent(bool Value) override { UPDATE_BITFLAGS(Flags, Value, EActorFlags::IsAComponent); }
197 virtual bool IsAComponent() const override { return !!(Flags & EActorFlags::IsAComponent); }
198
200 virtual bool GetVisibility() const override { return !!(Flags & EActorFlags::IsVisible); }
201
202 virtual void SetCastShadow(bool bInCastShadow) override { bCastShadow = bInCastShadow; }
203 virtual bool GetCastShadow() const override { return bCastShadow; }
204
205 virtual void SetMobility(EDatasmithActorMobilityType InMobility) override { Mobility = InMobility; }
206 virtual EDatasmithActorMobilityType GetMobility() const override { return Mobility; }
207
208protected:
211
214
215 void SetInternalRotation(const FQuat& Value) { Rotation = Value; }
216 void SetInternalScale(const FVector& Value) { Scale = Value; }
217 void SetInternalTranslation(const FVector& Value) { Translation = Value; }
218
219private:
220 static TSharedPtr<IDatasmithActorElement> NullActorPtr;
221
222 TReflected<FVector> Translation;
224 TReflected<FQuat> Rotation;
225
227
229
232
234 TReflected<bool> bCastShadow;
236};
237
238template< typename InterfaceType >
240
241template< typename T >
244 , Translation(FVector::ZeroVector)
245 , Scale(FVector::OneVector)
246 , Rotation(FQuat::Identity)
248 , bCastShadow(true)
250{
251 this->RegisterReferenceProxy(Children, "Children");
252 this->RegisterReferenceProxy(Parent, "Parent" );
253
254 Store.RegisterParameter(Translation, "Translation" );
255 Store.RegisterParameter(Scale, "Scale" );
256 Store.RegisterParameter(Rotation, "Rotation" );
257 Store.RegisterParameter(Layer, "Layer" );
258 Store.RegisterParameter(Tags, "Tags" ); // reflect as low prio for directlink
259 Store.RegisterParameter(Flags, "Flags" );
260 Store.RegisterParameter(bCastShadow, "CastShadow" );
261 Store.RegisterParameter(Mobility, "Mobility" );
262}
263
264template< typename T >
266{
267 FTransform ActorTransform( GetRotation(), GetTranslation(), GetScale() );
268
269 if ( Parent.Inner.IsValid() )
270 {
271 FTransform ParentTransform( Parent.Inner->GetRotation(), Parent.Inner->GetTranslation(), Parent.Inner->GetScale() );
272
273 return ActorTransform.GetRelativeTransform( ParentTransform );
274 }
275
276 return ActorTransform;
277}
278
279template< typename T >
281{
283 {
284 FTransform RelativeTransform( InChild->GetRotation(), InChild->GetTranslation(), InChild->GetScale() );
285 FTransform ParentTransform( GetRotation(), GetTranslation(), GetScale() );
286
287 FTransform WorldTransform = RelativeTransform * ParentTransform;
288
289 InChild->SetRotation( WorldTransform.GetRotation() );
290 InChild->SetTranslation( WorldTransform.GetTranslation() );
291 InChild->SetScale( WorldTransform.GetScale3D() );
292 }
293
294 Children.Add(InChild);
295 static_cast< FDatasmithActorElementImpl* >( InChild.Get() )->Parent.Inner = this->AsShared();
296}
297
298template< typename T >
300{
301 FTransform ThisWorldTransform( GetRotation(), GetTranslation(), GetScale() );
302
303 for ( const TSharedPtr< IDatasmithActorElement >& Child : Children.View() )
304 {
305 if ( !Child.IsValid() )
306 {
307 continue;
308 }
309
311 ChildImpl->ConvertChildsToRelative(); // Depth first while we're still in world space
312
313 FTransform ChildWorldTransform( Child->GetRotation(), Child->GetTranslation(), Child->GetScale() );
314
316 ChildImpl->SetInternalRotation(ChildRelativeTransform.GetRotation());
317 ChildImpl->SetInternalTranslation(ChildRelativeTransform.GetTranslation());
318 ChildImpl->SetInternalScale(ChildRelativeTransform.GetScale3D());
319 }
320}
321
322template< typename T >
324{
325 FTransform ThisWorldTransform( GetRotation(), GetTranslation(), GetScale() );
326
327 for ( const TSharedPtr< IDatasmithActorElement >& Child : Children.View() )
328 {
329 if ( !Child.IsValid() )
330 {
331 continue;
332 }
333
335
336 FTransform ChildRelativeTransform( Child->GetRotation(), Child->GetTranslation(), Child->GetScale() );
337
339 ChildImpl->SetInternalRotation(ChildWorldTransform.GetRotation());
340 ChildImpl->SetInternalTranslation(ChildWorldTransform.GetTranslation());
341 ChildImpl->SetInternalScale(ChildWorldTransform.GetScale3D());
342
343 ChildImpl->ConvertChildsToWorld(); // Depth last now that we're in world space
344 }
345}
346
347class FDatasmithMeshElementImpl : public FDatasmithElementImpl< IDatasmithMeshElement >
348{
349public:
350 explicit FDatasmithMeshElementImpl(const TCHAR* InName);
351
352 virtual FMD5Hash CalculateElementHash(bool bForce) override;
353
354 virtual const TCHAR* GetFile() const override { return *(FString&)File; }
355 virtual void SetFile(const TCHAR* InFile) override { File = InFile; };
356
357 virtual FMD5Hash GetFileHash() const override { return FileHash; }
358 virtual void SetFileHash(FMD5Hash Hash) override { FileHash = Hash; }
359
360 virtual void SetDimensions(float InArea, float InWidth, float InHeight, float InDepth) override { Area = InArea; Width = InWidth; Height = InHeight; Depth = InDepth;};
361 virtual FVector3f GetDimensions() const override { return { Width, Height, Depth }; }
362
363 virtual float GetArea() const override { return Area; }
364 virtual float GetWidth() const override { return Width; }
365 virtual float GetHeight() const override { return Height; }
366 virtual float GetDepth() const override { return Depth; }
367
368 virtual int32 GetLightmapCoordinateIndex() const { return LightmapCoordinateIndex; }
369 virtual void SetLightmapCoordinateIndex(int32 UVChannel) { LightmapCoordinateIndex = UVChannel; }
370
371 virtual int32 GetLightmapSourceUV() const override { return LightmapSourceUV; }
372 virtual void SetLightmapSourceUV( int32 UVChannel ) override { LightmapSourceUV = UVChannel; }
373
374 virtual void SetMaterial(const TCHAR* MaterialPathName, int32 SlotId) override;
375 virtual const TCHAR* GetMaterial(int32 SlotId) const override;
376
377 virtual int32 GetMaterialSlotCount() const override;
380
381protected:
382 virtual int32 GetLODCount() const override { return LODCount; }
383 virtual void SetLODCount(int32 Count) override { LODCount = Count; }
384
385private:
387 TReflected<FMD5Hash> FileHash;
389 TReflected<float> Width;
390 TReflected<float> Height;
391 TReflected<float> Depth;
392 TReflected<int32> LODCount;
393 TReflected<int32> LightmapCoordinateIndex;
394 TReflected<int32> LightmapSourceUV;
396};
397
398/*
399 * Experimental Element that describes a cloth asset.
400 */
401class UE_DEPRECATED(5.5, "The experimental Cloth importer is no longer supported.") FDatasmithClothElementImpl
403 : public FDatasmithElementImpl< IDatasmithClothElement >
405{
406public:
407 explicit FDatasmithClothElementImpl(const TCHAR* InName);
408
409public:
410 virtual const TCHAR* GetFile() const override { return *(FString&)File; }
411 virtual void SetFile(const TCHAR* InFile) override { File = InFile; }
412
413private:
415};
416
417
418class FDatasmithMaterialIDElementImpl : public FDatasmithElementImpl< IDatasmithMaterialIDElement >
419{
420public:
421 explicit FDatasmithMaterialIDElementImpl(const TCHAR* InName);
422 virtual void SetName(const TCHAR* InName) override
423 {
424 FString Unsanitized = InName;
426 }
427 virtual int32 GetId() const override { return Id; }
428 virtual void SetId(int32 InId) override { Id = InId; }
429
430private:
432};
433
434template< typename InterfaceType = IDatasmithMeshActorElement >
436{
437public:
438 using FDatasmithElementImpl< InterfaceType >::Store;
439
440 explicit FDatasmithMeshActorElementImpl(const TCHAR* InName);
441
442 virtual void AddMaterialOverride(const TCHAR* InMaterialName, int32 Id) override;
444
445 virtual int32 GetMaterialOverridesCount() const override;
449 virtual void ResetMaterialOverrides() override;
450
451 virtual const TCHAR* GetStaticMeshPathName() const override;
452 virtual void SetStaticMeshPathName(const TCHAR* InStaticMeshName) override;
453
454protected:
455 explicit FDatasmithMeshActorElementImpl(const TCHAR* InName, EDatasmithElementType ElementType);
456
457private:
458 TReflected<FString> StaticMeshPathName;
460};
461
462template < typename InterfaceType >
466
467template < typename InterfaceType >
469 : FDatasmithActorElementImpl< InterfaceType >(InName, EDatasmithElementType::StaticMeshActor | ElementType)
470{
471 this->RegisterReferenceProxy(Materials, "Materials");
472 Store.RegisterParameter(StaticMeshPathName, "StaticMeshPathName");
473}
474
475template < typename InterfaceType >
477{
479
481 {
482 if (FString(Material->GetName()) == MaterialName && Material->GetId() == Id)
483 {
484 return;
485 }
486 }
487
489 MaterialIDElement->SetId(Id);
491}
492
493template < typename InterfaceType >
498
499template < typename InterfaceType >
504
505template < typename InterfaceType >
515
516template < typename InterfaceType >
526
527template < typename InterfaceType >
532
533template < typename InterfaceType >
538
539template < typename InterfaceType >
541{
542 return *(FString&)StaticMeshPathName;
543}
544
545template < typename InterfaceType >
550
551class FDatasmithHierarchicalInstancedStaticMeshActorElementImpl : public FDatasmithMeshActorElementImpl< IDatasmithHierarchicalInstancedStaticMeshActorElement >
552{
553public:
555
557
558 virtual int32 GetInstancesCount() const override;
559 virtual void ReserveSpaceForInstances(int32 NumIntances) override;
560 virtual int32 AddInstance(const FTransform& Transform) override;
561 virtual FTransform GetInstance(int32 InstanceIndex) const override;
562 virtual void RemoveInstance(int32 InstanceIndex) override;
563
564private:
566};
567
569{
570 LightNone = 0x00,
571 LightEnabled = 0x01,
572 LightUseTemperature = 0x02,
573 LightUseIes = 0x04,
575};
577
578template< typename InterfaceType = IDatasmithLightActorElement >
580{
581public:
582 using FDatasmithElementImpl< InterfaceType >::Store;
583 virtual bool IsEnabled() const override { return !!(LightFLags & LightActorFlags::LightEnabled); }
585
586 virtual double GetIntensity() const override { return Intensity; }
587 virtual void SetIntensity(double InIntensity) override { Intensity = InIntensity; }
588
589 virtual FLinearColor GetColor() const override { return FLinearColor(Color); }
590 virtual void SetColor(FLinearColor InColor) override { Color = FVector(InColor.R, InColor.G, InColor.B); }
591
592 virtual double GetTemperature() const override { return Temperature; }
593 virtual void SetTemperature(double InTemperature) override { Temperature = InTemperature; }
594
595 virtual bool GetUseTemperature() const override { return !!(LightFLags & LightActorFlags::LightUseTemperature); }
597
598 virtual const TCHAR* GetIesFile() const override { return *(FString&)IesFile; }
599 virtual void SetIesFile(const TCHAR* InIesFile) override { IesFile = InIesFile; }
600
601 virtual bool GetUseIes() const override { return !!(LightFLags & LightActorFlags::LightUseIes); }
602 virtual void SetUseIes(bool bInUseIes) override { UPDATE_BITFLAGS( LightFLags, bInUseIes, LightActorFlags::LightUseIes); }
603
604 virtual double GetIesBrightnessScale() const override { return IesBrightnessScale; }
605 virtual void SetIesBrightnessScale(double InIesBrightnessScale) override { IesBrightnessScale = InIesBrightnessScale; }
606
607 virtual bool GetUseIesBrightness() const override { return !!(LightFLags & LightActorFlags::LightUseIesBrightness); }
609
610 virtual FQuat GetIesRotation() const override { return IesRotation; }
611 virtual void SetIesRotation(const FQuat& InIesRotation) override { IesRotation = InIesRotation; }
612
614
616
618 {
620 LightFunctionMaterial.Inner = FDatasmithSceneFactory::CreateMaterialId(*MaterialName);
621 }
622
623 const TCHAR* GetIesTexturePathName() const override { return *(FString&)IesTexturePathName; }
624 void SetIesTexturePathName(const TCHAR* InTextureName) override { IesTexturePathName = InTextureName; }
625
626protected:
628
629private:
630 TReflected<double> Intensity;
631
633
634 TReflected<double> Temperature;
635
636 TReflected<FString> IesFile;
637
638 TReflected<FString> IesTexturePathName;
639
640 TReflected<double> IesBrightnessScale;
641
642 TReflected<FQuat> IesRotation;
643
645
647};
648
649template<typename InterfaceType>
651 : FDatasmithActorElementImpl< InterfaceType >( InName, EDatasmithElementType::Light | ChildType )
652 , Intensity(1.0)
653 , Color(FVector::OneVector)
654 , Temperature(6500.0)
655 , IesBrightnessScale(1.0)
656 , IesRotation(FQuat::Identity)
657 , LightFLags(LightActorFlags::LightEnabled)
658{
659 this->RegisterReferenceProxy(LightFunctionMaterial, "LightFunctionMaterial" );
660
661 Store.RegisterParameter(Intensity, "Intensity" );
662 Store.RegisterParameter(Color, "Color" );
663 Store.RegisterParameter(Temperature, "Temperature" );
664 Store.RegisterParameter(IesFile, "IesFile" );
665 Store.RegisterParameter(IesTexturePathName, "IesTexturePathName" );
666 Store.RegisterParameter(IesBrightnessScale, "IesBrightnessScale" );
667 Store.RegisterParameter(IesRotation, "IesRotation" );
668 Store.RegisterParameter(LightFLags, "LightFLags" );
669}
670
671template< typename InterfaceType = IDatasmithPointLightElement >
673{
674 using FDatasmithElementImpl< InterfaceType >::Store;
675
676public:
681
684
685 virtual float GetSourceRadius() const override { return SourceRadius; }
686 virtual void SetSourceRadius(float InSourceRadius) override { SourceRadius = InSourceRadius; }
687
688 virtual float GetSourceLength() const override { return SourceLength; }
689 virtual void SetSourceLength(float InSourceLength) override { SourceLength = InSourceLength;}
690
691 virtual float GetAttenuationRadius() const override { return AttenuationRadius; }
692 virtual void SetAttenuationRadius(float InAttenuationRadius) override { AttenuationRadius = InAttenuationRadius; }
693
694protected:
698 , SourceRadius(-1)
699 , SourceLength(-1)
700 , AttenuationRadius(-1)
701 {
702 Store.RegisterParameter(Units, "Units" );
703 Store.RegisterParameter(SourceRadius, "SourceRadius" );
704 Store.RegisterParameter(SourceLength, "SourceLength" );
705 Store.RegisterParameter(AttenuationRadius, "AttenuationRadius" );
706 }
707
708private:
710 TReflected<float> SourceRadius;
711 TReflected<float> SourceLength;
712 TReflected<float> AttenuationRadius;
713};
714
715template< typename InterfaceType = IDatasmithSpotLightElement >
717{
718public:
719 using FDatasmithElementImpl< InterfaceType >::Store;
724
725 virtual float GetInnerConeAngle() const override
726 {
727 return InnerConeAngle;
728 }
729
730 virtual void SetInnerConeAngle(float InInnerConeAngle) override
731 {
732 InnerConeAngle = InInnerConeAngle;
733 }
734
735 virtual float GetOuterConeAngle() const override
736 {
737 return OuterConeAngle;
738 }
739
740 virtual void SetOuterConeAngle(float InOuterConeAngle) override
741 {
742 OuterConeAngle = InOuterConeAngle;
743 }
744
745protected:
748 , InnerConeAngle(45.f)
749 , OuterConeAngle(60.f)
750 {
751 Store.RegisterParameter(InnerConeAngle, "InnerConeAngle" );
752 Store.RegisterParameter(OuterConeAngle, "OuterConeAngle" );
753 }
754
755private:
756 TReflected<float> InnerConeAngle;
757 TReflected<float> OuterConeAngle;
758};
759
768
769class FDatasmithAreaLightElementImpl : public FDatasmithSpotLightElementImpl< IDatasmithAreaLightElement >
770{
771public:
772 explicit FDatasmithAreaLightElementImpl(const TCHAR* InName)
774 , LightShape( EDatasmithLightShape::Rectangle )
775 , LightType( EDatasmithAreaLightType::Point )
776 , Width( 0.f )
777 , Length( 0.f )
778 {
779 Store.RegisterParameter(LightShape, "LightShape" );
780 Store.RegisterParameter(LightType, "LightType" );
781 Store.RegisterParameter(Width, "Width" );
782 Store.RegisterParameter(Length, "Length" );
783 }
784
785 virtual EDatasmithLightShape GetLightShape() const override { return LightShape; }
786 virtual void SetLightShape(EDatasmithLightShape InShape) override { LightShape = InShape; }
787
788 virtual EDatasmithAreaLightType GetLightType() const override { return LightType; }
789 virtual void SetLightType(EDatasmithAreaLightType InLightType) override { LightType = InLightType; }
790
791 virtual void SetWidth(float InWidth) override { Width = InWidth; }
792 virtual float GetWidth() const override { return Width; }
793
794 virtual void SetLength(float InLength) override { Length = InLength; }
795 virtual float GetLength() const override { return Length; }
796
797private:
800 TReflected<float> Width;
801 TReflected<float> Length;
802};
803
812
813class FDatasmithPostProcessElementImpl : public FDatasmithElementImpl< IDatasmithPostProcessElement >
814{
815public:
817
818 virtual float GetTemperature() const override { return Temperature; }
819 virtual void SetTemperature(float InTemperature) override { Temperature = InTemperature; }
820
821 virtual FLinearColor GetColorFilter() const override { return ColorFilter; }
822 virtual void SetColorFilter(FLinearColor InColorFilter) override { ColorFilter = InColorFilter; }
823
824 virtual float GetVignette() const override { return Vignette; }
825 virtual void SetVignette(float InVignette) override { Vignette = InVignette; }
826
827 virtual float GetDof() const override { return Dof; }
828 virtual void SetDof(float InDof) override { Dof = InDof; }
829
830 virtual float GetMotionBlur() const override { return MotionBlur; }
831 virtual void SetMotionBlur(float InMotionBlur) override { MotionBlur = InMotionBlur; }
832
833 virtual float GetSaturation() const override { return Saturation; }
834 virtual void SetSaturation(float InSaturation) override { Saturation = InSaturation; }
835
836 virtual float GetCameraISO() const override { return CameraISO; }
837 virtual void SetCameraISO(float InCameraISO) override { CameraISO = InCameraISO; }
838
839 virtual float GetCameraShutterSpeed() const override { return CameraShutterSpeed; }
840 virtual void SetCameraShutterSpeed(float InCameraShutterSpeed) override { CameraShutterSpeed = InCameraShutterSpeed; }
841
842 virtual float GetDepthOfFieldFstop() const override { return Fstop; }
843 virtual void SetDepthOfFieldFstop( float InFstop ) override { Fstop = InFstop; }
844
845private:
846 TReflected<float> Temperature;
847 TReflected<FLinearColor> ColorFilter;
848 TReflected<float> Vignette;
850 TReflected<float> MotionBlur;
851 TReflected<float> Saturation;
852 TReflected<float> CameraISO;
853 TReflected<float> CameraShutterSpeed;
854 TReflected<float> Fstop;
855};
856
857class FDatasmithPostProcessVolumeElementImpl : public FDatasmithActorElementImpl< IDatasmithPostProcessVolumeElement >
858{
859public:
861
862 virtual TSharedRef< IDatasmithPostProcessElement > GetSettings() const override { return Settings.Inner.ToSharedRef(); }
864
865 virtual bool GetEnabled() const { return bEnabled; }
866 virtual void SetEnabled( bool bInEnabled ) { bEnabled = bInEnabled; }
867
868 virtual bool GetUnbound() const override { return bUnbound; }
869 virtual void SetUnbound( bool bInUnbound) override { bUnbound = bInUnbound; }
870
871private:
873
874 TReflected<bool> bEnabled;
875 TReflected<bool> bUnbound;
876};
877
878class FDatasmithCameraActorElementImpl : public FDatasmithActorElementImpl< IDatasmithCameraActorElement >
879{
880public:
881 explicit FDatasmithCameraActorElementImpl(const TCHAR* InName);
882
883 virtual float GetSensorWidth() const override;
884 virtual void SetSensorWidth(float InSensorWidth) override;
885
886 virtual float GetSensorAspectRatio() const override;
887 virtual void SetSensorAspectRatio(float InSensorAspectRatio) override;
888
889 virtual bool GetEnableDepthOfField() const override { return bEnableDepthOfField; }
890 virtual void SetEnableDepthOfField(bool bInEnableDepthOfField) override { bEnableDepthOfField = bInEnableDepthOfField; }
891
892 virtual float GetFocusDistance() const override;
893 virtual void SetFocusDistance(float InFocusDistance) override;
894
895 virtual float GetFStop() const override;
896 virtual void SetFStop(float InFStop) override;
897
898 virtual float GetFocalLength() const override;
899 virtual void SetFocalLength(float InFocalLength) override;
900
902 virtual const TSharedPtr< IDatasmithPostProcessElement >& GetPostProcess() const override;
904
905 virtual const TCHAR* GetLookAtActor() const override { return *(FString&)ActorName; }
906 virtual void SetLookAtActor(const TCHAR* InActorName) override { ActorName = InActorName; }
907
908 virtual bool GetLookAtAllowRoll() const override { return bLookAtAllowRoll; }
909 virtual void SetLookAtAllowRoll(bool bAllow) override { bLookAtAllowRoll = bAllow; }
910
911private:
913
914 TReflected<float> SensorWidth;
915 TReflected<float> SensorAspectRatio;
916 TReflected<bool> bEnableDepthOfField;
917 TReflected<float> FocusDistance;
918 TReflected<float> FStop;
919 TReflected<float> FocalLength;
920 TReflected<FString> ActorName;
921 TReflected<bool> bLookAtAllowRoll;
922};
923
924template< typename InterfaceType = IDatasmithCustomActorElement >
926{
927public:
928 using FDatasmithElementImpl< InterfaceType >::Store;
929
932 {
933 this->RegisterReferenceProxy(Properties, "Properties");
934 Store.RegisterParameter(ClassOrPathName, "ClassOrPathName");
935 }
936
938 virtual const TCHAR* GetClassOrPathName() const override { return *(FString&)ClassOrPathName; }
939 virtual void SetClassOrPathName( const TCHAR* InClassOrPathName ) override { ClassOrPathName = InClassOrPathName; }
940
942 virtual int32 GetPropertiesCount() const override { return Properties.Num(); }
943
946 {
948 }
949
951 virtual const TSharedPtr< IDatasmithKeyValueProperty >& GetPropertyByName(const TCHAR* InName) const override
952 {
954 return Property.IsValid() && FCString::Stricmp(Property->GetName(), InName) == 0;
955 });
956 return GetProperty(Index);
957 }
958
961 {
962 if (!InProperty.IsValid())
963 {
964 return;
965 }
966
967 const TCHAR* InName = InProperty->GetName();
969 return Property.IsValid() && FCString::Stricmp(Property->GetName(), InName) == 0;
970 });
971
972 if (Index == INDEX_NONE)
973 {
974 Properties.Add(InProperty);
975 }
976 }
977
980
981protected:
984 {
986 return Property.IsValid() && FCString::Stricmp(Property->GetName(), InKey) == 0;
987 });
988
989 if (Index == INDEX_NONE)
990 {
992 Property->SetPropertyType(InType);
993 Property->SetValue(InValue);
994
995 return Properties.Add( Property );
996 }
997
998 return INDEX_NONE;
999 }
1000
1001private:
1002 TReflected<FString> ClassOrPathName;
1003
1005};
1006
1007class FDatasmithLandscapeElementImpl final : public FDatasmithActorElementImpl< IDatasmithLandscapeElement >
1008{
1009public:
1012 {
1013 SetScale( 100.f, 100.f, 100.f, true );
1014
1015 RegisterReferenceProxy(Material, "Material" );
1016 RegisterReferenceProxy(Heightmap, "Heightmap" );
1017
1018 Store.RegisterParameter(HeightmapFilePath, "HeightmapFilePath" );
1019 Store.RegisterParameter(MaterialPathName, "MaterialPathName" );
1020 }
1021
1022 virtual void SetHeightmap( const TCHAR* InFilePath ) override { HeightmapFilePath = InFilePath; }
1023 virtual const TCHAR* GetHeightmap() const override { return *(FString&)HeightmapFilePath; }
1024
1025 virtual void SetMaterial( const TCHAR* InMaterialPathName ) override { MaterialPathName = InMaterialPathName; }
1026 virtual const TCHAR* GetMaterial() const override { return *(FString&)MaterialPathName; }
1027
1028private:
1031
1032 TReflected<FString> HeightmapFilePath;
1033 TReflected<FString> MaterialPathName;
1034};
1035
1036
1038class UE_DEPRECATED(5.5, "The experimental Cloth importer is no longer supported.") FDatasmithClothActorElementImpl
1039 : public FDatasmithActorElementImpl<IDatasmithClothActorElement>
1040{
1041public:
1043
1044 virtual void SetCloth(const TCHAR* InCloth) override { Cloth = InCloth; }
1045 virtual const TCHAR* GetCloth() const override { return *(FString&)Cloth; }
1046
1047private:
1049};
1051
1052
1053class FDatasmithEnvironmentElementImpl : public FDatasmithLightActorElementImpl< IDatasmithEnvironmentElement >
1054{
1055public:
1056 explicit FDatasmithEnvironmentElementImpl(const TCHAR* InName);
1057
1059 virtual const TSharedPtr<IDatasmithCompositeTexture>& GetEnvironmentComp() const override;
1060
1062 virtual bool GetIsIlluminationMap() const override;
1063 virtual void SetIsIlluminationMap(bool bInIsIlluminationMap) override;
1064
1065private:
1067 TReflected<bool> bIsIlluminationMap;
1068};
1069
1070class FDatasmithTextureElementImpl : public FDatasmithElementImpl< IDatasmithTextureElement >
1071{
1072public:
1073 explicit FDatasmithTextureElementImpl(const TCHAR* InName);
1074
1075 virtual FMD5Hash CalculateElementHash(bool bForce) override;
1076
1077 virtual const TCHAR* GetFile() const override;
1078 virtual void SetFile(const TCHAR* InFile) override;
1079
1080 virtual void SetData(const uint8* InData, uint32 InDataSize, EDatasmithTextureFormat InFormat) override;
1081 virtual const uint8* GetData(uint32& OutDataSize, EDatasmithTextureFormat& OutFormat) const override;
1082
1083 virtual FMD5Hash GetFileHash() const override { return FileHash; }
1084 virtual void SetFileHash(FMD5Hash Hash) override { FileHash = Hash; }
1085
1086 virtual EDatasmithTextureMode GetTextureMode() const override;
1087 virtual void SetTextureMode(EDatasmithTextureMode InMode) override;
1088
1089 virtual EDatasmithTextureFilter GetTextureFilter() const override;
1090 virtual void SetTextureFilter(EDatasmithTextureFilter InFilter) override;
1091
1092 virtual EDatasmithTextureAddress GetTextureAddressX() const override;
1093 virtual void SetTextureAddressX(EDatasmithTextureAddress InMode) override;
1094
1095 virtual EDatasmithTextureAddress GetTextureAddressY() const override;
1096 virtual void SetTextureAddressY(EDatasmithTextureAddress InMode) override;
1097
1098 virtual bool GetAllowResize() const override;
1099 virtual void SetAllowResize(bool bInAllowResize) override;
1100
1101 virtual float GetRGBCurve() const override;
1102 virtual void SetRGBCurve(float InRGBCurve) override;
1103
1104 virtual EDatasmithColorSpace GetSRGB() const override;
1105 virtual void SetSRGB(EDatasmithColorSpace Option) override;
1106
1107private:
1109 TReflected<FMD5Hash> FileHash;
1110 TReflected<float> RGBCurve;
1116 TReflected<bool> bAllowResize;
1117
1118 // #ue_directlink_reflect buffer: should not be separated in 2 properties.
1119 const uint8* Data;
1120 uint32 DataSize;
1121
1123};
1124
1125class FDatasmithShaderElementImpl : public FDatasmithElementImpl< IDatasmithShaderElement >
1126{
1127public:
1128 explicit FDatasmithShaderElementImpl(const TCHAR* InName);
1129
1130 virtual double GetIOR() const override { return IOR; }
1131 virtual void SetIOR(double InValue) override { IOR = InValue; }
1132
1133 virtual double GetIORk() const override { return IORk; }
1134 virtual void SetIORk(double InValue) override { IORk = InValue; }
1135
1136 virtual double GetIORRefra() const override { return IORRefra; }
1137 virtual void SetIORRefra(double Value) override { IORRefra = Value; }
1138
1139 virtual double GetBumpAmount() const override { return BumpAmount; }
1140 virtual void SetBumpAmount(double InValue) override { BumpAmount = InValue; }
1141
1142 virtual bool GetTwoSided() const override { return bTwoSided; }
1143 virtual void SetTwoSided(bool InValue) override { bTwoSided = InValue; }
1144
1145 virtual FLinearColor GetDiffuseColor() const override { return DiffuseColor; }
1146 virtual void SetDiffuseColor(FLinearColor InValue) override { DiffuseColor = InValue; }
1147
1148 virtual const TCHAR* GetDiffuseTexture() const override { return *DiffuseTexture; }
1149 virtual void SetDiffuseTexture(const TCHAR* InValue) override { DiffuseTexture = InValue; }
1150
1151 virtual FDatasmithTextureSampler GetDiffTextureSampler() const override { return DiffSampler; }
1152 virtual void SetDiffTextureSampler(FDatasmithTextureSampler InValue) override { DiffSampler = InValue; }
1153
1154 virtual TSharedPtr<IDatasmithCompositeTexture>& GetDiffuseComp() override { return DiffuseComp; }
1155 virtual const TSharedPtr<IDatasmithCompositeTexture>& GetDiffuseComp() const override { return DiffuseComp; }
1156 virtual void SetDiffuseComp(const TSharedPtr<IDatasmithCompositeTexture>& InValue) override { DiffuseComp = InValue; }
1157
1158 virtual FLinearColor GetReflectanceColor() const override { return ReflectanceColor; }
1159 virtual void SetReflectanceColor(FLinearColor InValue) override { ReflectanceColor = InValue; }
1160
1161 virtual const TCHAR* GetReflectanceTexture() const override { return *ReflectanceTexture; }
1162 virtual void SetReflectanceTexture(const TCHAR* InValue) override { ReflectanceTexture = InValue; }
1163
1164 virtual FDatasmithTextureSampler GetRefleTextureSampler() const override { return RefleSampler; }
1165 virtual void SetRefleTextureSampler(FDatasmithTextureSampler InValue) override { RefleSampler = InValue; }
1166
1167 virtual TSharedPtr<IDatasmithCompositeTexture>& GetRefleComp() override { return RefleComp; }
1168 virtual const TSharedPtr<IDatasmithCompositeTexture>& GetRefleComp() const override { return RefleComp; }
1169 virtual void SetRefleComp(const TSharedPtr<IDatasmithCompositeTexture>& InValue) override { RefleComp = InValue; }
1170
1171 virtual double GetRoughness() const override { return Roughness; }
1172 virtual void SetRoughness(double InValue) override { Roughness = InValue; }
1173
1174 virtual const TCHAR* GetRoughnessTexture() const override { return *RoughnessTexture; }
1175 virtual void SetRoughnessTexture(const TCHAR* InValue) override { RoughnessTexture = InValue; }
1176
1177 virtual TSharedPtr<IDatasmithCompositeTexture>& GetRoughnessComp() override { return RoughnessComp; }
1178 virtual const TSharedPtr<IDatasmithCompositeTexture>& GetRoughnessComp() const override { return RoughnessComp; }
1179 virtual void SetRoughnessComp(const TSharedPtr<IDatasmithCompositeTexture>& InValue) override { RoughnessComp = InValue; }
1180
1181 virtual FDatasmithTextureSampler GetRoughTextureSampler() const override { return RoughSampler; }
1182 virtual void SetRoughTextureSampler(FDatasmithTextureSampler InValue) override { RoughSampler = InValue; }
1183
1184 virtual const TCHAR* GetNormalTexture() const override { return *NormalTexture; }
1185 virtual void SetNormalTexture(const TCHAR* InValue) override { NormalTexture = InValue; }
1186
1187 virtual FDatasmithTextureSampler GetNormalTextureSampler() const override { return NormalSampler; }
1188 virtual void SetNormalTextureSampler(FDatasmithTextureSampler InValue) override { NormalSampler = InValue; }
1189
1190 virtual TSharedPtr<IDatasmithCompositeTexture>& GetNormalComp() override { return NormalComp; }
1191 virtual const TSharedPtr<IDatasmithCompositeTexture>& GetNormalComp() const override { return NormalComp; }
1192 virtual void SetNormalComp(const TSharedPtr<IDatasmithCompositeTexture>& InValue) override { NormalComp = InValue; }
1193
1194 virtual const TCHAR* GetBumpTexture() const override { return *BumpTexture; }
1195 virtual void SetBumpTexture(const TCHAR* Value) override { BumpTexture = Value; }
1196
1197 virtual FDatasmithTextureSampler GetBumpTextureSampler() const override { return BumpSampler; }
1198 virtual void SetBumpTextureSampler(FDatasmithTextureSampler InValue) override { BumpSampler = InValue; }
1199
1200 virtual TSharedPtr<IDatasmithCompositeTexture>& GetBumpComp() override { return BumpComp; }
1201 virtual const TSharedPtr<IDatasmithCompositeTexture>& GetBumpComp() const override { return BumpComp; }
1202 virtual void SetBumpComp(const TSharedPtr<IDatasmithCompositeTexture>& InValue) override { BumpComp = InValue; }
1203
1204 virtual FLinearColor GetTransparencyColor() const override { return TransparencyColor; }
1205 virtual void SetTransparencyColor(FLinearColor InValue) override { TransparencyColor = InValue; }
1206
1207 virtual const TCHAR* GetTransparencyTexture() const override { return *TransparencyTexture; }
1208 virtual void SetTransparencyTexture(const TCHAR* InValue) override { TransparencyTexture = InValue; }
1209
1210 virtual FDatasmithTextureSampler GetTransTextureSampler() const override { return TransSampler; }
1211 virtual void SetTransTextureSampler(FDatasmithTextureSampler InValue) override { TransSampler = InValue; }
1212
1213 virtual TSharedPtr<IDatasmithCompositeTexture>& GetTransComp() override { return TransComp; }
1214 virtual const TSharedPtr<IDatasmithCompositeTexture>& GetTransComp() const override { return TransComp; }
1215 virtual void SetTransComp(const TSharedPtr<IDatasmithCompositeTexture>& InValue) override { TransComp = InValue; }
1216
1217 virtual const TCHAR* GetMaskTexture() const override { return *MaskTexture; }
1218 virtual void SetMaskTexture(const TCHAR* InValue) override { MaskTexture = InValue; }
1219
1220 virtual FDatasmithTextureSampler GetMaskTextureSampler() const override { return MaskSampler; }
1221 virtual void SetMaskTextureSampler(FDatasmithTextureSampler InValue) override { MaskSampler = InValue; }
1222
1223 virtual TSharedPtr<IDatasmithCompositeTexture>& GetMaskComp() override { return MaskComp; }
1224 virtual const TSharedPtr<IDatasmithCompositeTexture>& GetMaskComp() const override { return MaskComp; }
1225 virtual void SetMaskComp(const TSharedPtr<IDatasmithCompositeTexture>& InValue) override { MaskComp = InValue; }
1226
1227 virtual double GetMetal() const override { return Metal; }
1228 virtual void SetMetal(double InValue) override { Metal = InValue; }
1229
1230 virtual const TCHAR* GetMetalTexture() const override { return *MetalTexture; }
1231 virtual void SetMetalTexture(const TCHAR* InValue) override { MetalTexture = InValue; }
1232
1233 virtual FDatasmithTextureSampler GetMetalTextureSampler() const override { return MetalSampler; }
1234 virtual void SetMetalTextureSampler(FDatasmithTextureSampler InValue) override { MetalSampler = InValue; }
1235
1236 virtual TSharedPtr<IDatasmithCompositeTexture>& GetMetalComp() override { return MetalComp; }
1237 virtual const TSharedPtr<IDatasmithCompositeTexture>& GetMetalComp() const override { return MetalComp; }
1238 virtual void SetMetalComp(const TSharedPtr<IDatasmithCompositeTexture>& Value) override { MetalComp = Value; }
1239
1240 virtual const TCHAR* GetEmitTexture() const override { return *EmitTexture; }
1241 virtual void SetEmitTexture(const TCHAR* InValue) override { EmitTexture = InValue; }
1242
1243 virtual FDatasmithTextureSampler GetEmitTextureSampler() const override { return EmitSampler; }
1244 virtual void SetEmitTextureSampler(FDatasmithTextureSampler InValue) override { EmitSampler = InValue; }
1245
1246 virtual FLinearColor GetEmitColor() const override { return EmitColor; }
1247 virtual void SetEmitColor(FLinearColor InValue) override { EmitColor = InValue; }
1248
1249 virtual double GetEmitTemperature() const override { return EmitTemperature; }
1250 virtual void SetEmitTemperature(double InValue) override { EmitTemperature = InValue; }
1251
1252 virtual double GetEmitPower() const override { return EmitPower; }
1253 virtual void SetEmitPower(double InValue) override { EmitPower = InValue; }
1254
1255 virtual TSharedPtr<IDatasmithCompositeTexture>& GetEmitComp() override { return EmitComp; }
1256 virtual const TSharedPtr<IDatasmithCompositeTexture>& GetEmitComp() const override { return EmitComp; }
1257 virtual void SetEmitComp(const TSharedPtr<IDatasmithCompositeTexture>& InValue) override { EmitComp = InValue; }
1258
1259 virtual bool GetLightOnly() const override { return bLightOnly; }
1260 virtual void SetLightOnly(bool InValue) override { bLightOnly = InValue; }
1261
1262 virtual FLinearColor GetWeightColor() const override { return WeightColor; }
1263 virtual void SetWeightColor(FLinearColor InValue) override { WeightColor = InValue; }
1264
1265 virtual const TCHAR* GetWeightTexture() const override { return *WeightTexture; }
1266 virtual void SetWeightTexture(const TCHAR* InValue) override { WeightTexture = InValue; }
1267
1268 virtual FDatasmithTextureSampler GetWeightTextureSampler() const override { return WeightSampler; }
1269 virtual void SetWeightTextureSampler(FDatasmithTextureSampler InValue) override { WeightSampler = InValue; }
1270
1271 virtual TSharedPtr<IDatasmithCompositeTexture>& GetWeightComp() override { return WeightComp; }
1272 virtual const TSharedPtr<IDatasmithCompositeTexture>& GetWeightComp() const override { return WeightComp; }
1273 virtual void SetWeightComp(const TSharedPtr<IDatasmithCompositeTexture>& InValue) override { WeightComp = InValue; }
1274
1275 virtual double GetWeightValue() const override { return WeightValue; }
1276 virtual void SetWeightValue(double InValue) override { WeightValue = InValue; }
1277
1278 virtual EDatasmithBlendMode GetBlendMode() const override { return BlendMode; }
1279 virtual void SetBlendMode(EDatasmithBlendMode InValue) override { BlendMode = InValue; }
1280
1281 virtual bool GetIsStackedLayer() const override { return bIsStackedLayer; }
1282 virtual void SetIsStackedLayer(bool InValue) override { bIsStackedLayer = InValue; }
1283
1284 virtual const EDatasmithShaderUsage GetShaderUsage() const override { return ShaderUsage; }
1285 virtual void SetShaderUsage(EDatasmithShaderUsage InShaderUsage) override { ShaderUsage = InShaderUsage; };
1286
1287 virtual const bool GetUseEmissiveForDynamicAreaLighting() const override { return bUseEmissiveForDynamicAreaLighting; }
1288 virtual void SetUseEmissiveForDynamicAreaLighting(bool InUseEmissiveForDynamicAreaLighting) override { bUseEmissiveForDynamicAreaLighting = InUseEmissiveForDynamicAreaLighting; };
1289
1290private:// #ue_directlink_reflect ???
1291 double IOR;
1292 double IORk;
1293 double IORRefra;
1294
1295 double BumpAmount;
1296 bool bTwoSided;
1297
1298 FLinearColor DiffuseColor;
1299 FString DiffuseTexture;
1300 FDatasmithTextureSampler DiffSampler;
1302
1303 FLinearColor ReflectanceColor;
1304 FString ReflectanceTexture;
1305 FDatasmithTextureSampler RefleSampler;
1307
1308 double Roughness;
1309 FString RoughnessTexture;
1310 FDatasmithTextureSampler RoughSampler;
1312
1313 FString NormalTexture;
1314 FDatasmithTextureSampler NormalSampler;
1316
1317 FString BumpTexture;
1318 FDatasmithTextureSampler BumpSampler;
1320
1321 FLinearColor TransparencyColor;
1322 FString TransparencyTexture;
1323 FDatasmithTextureSampler TransSampler;
1325
1326 FString MaskTexture;
1327 FDatasmithTextureSampler MaskSampler;
1329
1330 FString DisplaceTexture;
1331 FDatasmithTextureSampler DisplaceSampler;
1332 double Displace;
1333 double DisplaceSubDivision;
1335
1336 double Metal;
1337 FString MetalTexture;
1338 FDatasmithTextureSampler MetalSampler;
1340
1341 FString EmitTexture;
1342 FDatasmithTextureSampler EmitSampler;
1343 FLinearColor EmitColor;
1344 double EmitTemperature;
1345 double EmitPower;
1347
1348 bool bLightOnly;
1349
1350 FLinearColor WeightColor;
1351 FString WeightTexture;
1352 FDatasmithTextureSampler WeightSampler;
1354 double WeightValue;
1355
1356 EDatasmithBlendMode BlendMode;
1357 bool bIsStackedLayer;
1358
1359 EDatasmithShaderUsage ShaderUsage;
1360 bool bUseEmissiveForDynamicAreaLighting;
1361};
1362
1363template< typename InterfaceType >
1365{
1366public:
1375
1376class FDatasmithMaterialElementImpl : public FDatasmithBaseMaterialElementImpl< IDatasmithMaterialElement >
1377{
1378public:
1379 explicit FDatasmithMaterialElementImpl(const TCHAR* InName);
1380
1381 virtual bool IsSingleShaderMaterial() const override;
1382 virtual bool IsClearCoatMaterial() const override;
1383
1384 virtual void AddShader(const TSharedPtr< IDatasmithShaderElement >& InShader) override;
1385
1386 virtual int32 GetShadersCount() const override;
1388 virtual const TSharedPtr< IDatasmithShaderElement >& GetShader(int32 InIndex) const override;
1389
1390private:// #ue_directlink_reflect
1392};
1393
1394class FDatasmithMaterialIntanceElementImpl : public FDatasmithBaseMaterialElementImpl< IDatasmithMaterialInstanceElement >
1395{
1396public:
1398
1399 virtual EDatasmithReferenceMaterialType GetMaterialType() const override { return MaterialType; }
1400 virtual void SetMaterialType( EDatasmithReferenceMaterialType InType ) override { MaterialType = InType; }
1401
1402 virtual EDatasmithReferenceMaterialQuality GetQuality() const override { return Quality; }
1404
1405 virtual const TCHAR* GetCustomMaterialPathName() const override { return *(FString&)CustomMaterialPathName; }
1406 virtual void SetCustomMaterialPathName( const TCHAR* InPathName ) override { CustomMaterialPathName = InPathName; }
1407
1408 virtual int32 GetPropertiesCount() const override { return Properties.Num(); }
1409 virtual const TSharedPtr< IDatasmithKeyValueProperty >& GetProperty( int32 InIndex ) const override;
1410 virtual const TSharedPtr< IDatasmithKeyValueProperty >& GetPropertyByName( const TCHAR* InName ) const override;
1411 virtual void AddProperty( const TSharedPtr< IDatasmithKeyValueProperty >& InProperty ) override;
1412
1413 virtual FMD5Hash CalculateElementHash(bool bForce) override;
1414
1415private:
1417
1420
1421 TReflected<FString> CustomMaterialPathName;
1422};
1423
1424class FDatasmithDecalMaterialElementImpl : public FDatasmithBaseMaterialElementImpl< IDatasmithDecalMaterialElement >
1425{
1426public:
1429 {
1430 Store.RegisterParameter(DiffuseTexturePathName, "DiffuseTexturePathName");
1431 Store.RegisterParameter(NormalTexturePathName, "NormalTexturePathName");
1432 }
1433
1434 virtual const TCHAR* GetDiffuseTexturePathName() const override { return *(FString&)DiffuseTexturePathName; }
1435 virtual void SetDiffuseTexturePathName( const TCHAR* InPathName ) override { DiffuseTexturePathName = InPathName; }
1436
1437 virtual const TCHAR* GetNormalTexturePathName() const override { return *(FString&)NormalTexturePathName; }
1438 virtual void SetNormalTexturePathName( const TCHAR* InPathName ) override { NormalTexturePathName = InPathName; }
1439
1440private:
1441 TReflected<FString> DiffuseTexturePathName;
1442 TReflected<FString> NormalTexturePathName;
1443};
1444
1446{
1447public:
1451
1452 bool GetUseTexture() const;
1453 bool GetUseColor() const;
1454 bool GetUseComposite() const;
1455
1457 const TCHAR* GetParamTexture() const;
1458 void SetParamTexture(const TCHAR* InTexture);
1459 const FLinearColor& GetParamColor() const;
1461
1462private:// #ue_directlink_reflect
1463 FDatasmithTextureSampler ParamSampler;
1464 FString ParamTextures;
1465 FLinearColor ParamColor;
1467 bool bParamUseTexture;
1468};
1469
1471{
1472public:
1474
1475 virtual bool IsValid() const override;
1476
1477 virtual EDatasmithCompMode GetMode() const override { return CompMode; }
1478 virtual void SetMode(EDatasmithCompMode InMode) override { CompMode = InMode; }
1479 virtual int32 GetParamSurfacesCount() const override { return ParamSurfaces.Num(); }
1480
1481 virtual bool GetUseTexture(int32 InIndex) override;
1482
1483 virtual const TCHAR* GetParamTexture(int32 InIndex) override;
1484 virtual void SetParamTexture(int32 InIndex, const TCHAR* InTexture) override;
1485
1487
1488 virtual bool GetUseColor(int32 InIndex) override;
1489 virtual const FLinearColor& GetParamColor(int32 InIndex) override;
1490
1491 virtual bool GetUseComposite(int32 InIndex) override;
1492
1493 virtual int32 GetParamVal1Count() const override { return ParamVal1.Num(); }
1494 virtual ParamVal GetParamVal1(int32 InIndex) const override;
1495 virtual void AddParamVal1(ParamVal InParamVal) override { ParamVal1.Add( ParamValImpl( InParamVal.Key, InParamVal.Value ) ); }
1496
1497 virtual int32 GetParamVal2Count() const override { return ParamVal2.Num(); }
1498 virtual ParamVal GetParamVal2(int32 InIndex) const override;
1499 virtual void AddParamVal2(ParamVal InParamVal) override { ParamVal2.Add( ParamValImpl( InParamVal.Key, InParamVal.Value ) ); }
1500
1501 virtual int32 GetParamMaskSurfacesCount() const override { return ParamMaskSurfaces.Num(); }
1502 virtual const TCHAR* GetParamMask(int32 InIndex) override;
1503 virtual const FLinearColor& GetParamMaskColor(int32 i) const override;
1504 virtual bool GetMaskUseComposite(int32 InIndex) const override;
1506 virtual void AddMaskSurface(const FLinearColor& InColor) override { ParamMaskSurfaces.Add( FDatasmithCompositeSurface( InColor ) ); }
1507
1509
1512
1515
1516 virtual const TCHAR* GetBaseTextureName() const override { return *BaseTexName; }
1517 virtual const TCHAR* GetBaseColName() const override { return *BaseColName; }
1518 virtual const TCHAR* GetBaseValName() const override { return *BaseValName; }
1519 virtual const TCHAR* GetBaseCompName() const override { return *BaseCompName; }
1520
1521 virtual void SetBaseNames(const TCHAR* InTextureName, const TCHAR* InColorName, const TCHAR* InValueName, const TCHAR* InCompName) override;
1522
1524 virtual void AddSurface(const FLinearColor& InColor) override { ParamSurfaces.Add( FDatasmithCompositeSurface( InColor )); }
1525 virtual void ClearSurface() override
1526 {
1527 ParamSurfaces.Empty();
1528 }
1529
1530private:
1532 TArray<FDatasmithCompositeSurface> ParamMaskSurfaces;
1533
1534 typedef TPair<float, FString> ParamValImpl;
1535 TArray<ParamValImpl> ParamVal1;
1536 TArray<ParamValImpl> ParamVal2;
1537
1538 EDatasmithCompMode CompMode;
1539
1540 // used for single material
1541 FString BaseTexName;
1542 FString BaseColName;
1543 FString BaseValName;
1544 FString BaseCompName;
1545};
1546
1547class FDatasmithMetaDataElementImpl : public FDatasmithElementImpl< IDatasmithMetaDataElement >
1548{
1549public:
1550 UE_API explicit FDatasmithMetaDataElementImpl(const TCHAR* InName);
1551
1552 virtual const TSharedPtr< IDatasmithElement >& GetAssociatedElement() const override { return AssociatedElement.Inner; }
1553 virtual void SetAssociatedElement(const TSharedPtr< IDatasmithElement >& Element) { AssociatedElement.Inner = Element; }
1554
1555 virtual int32 GetPropertiesCount() const override { return Properties.Num(); }
1556
1557 UE_API virtual const TSharedPtr< IDatasmithKeyValueProperty >& GetProperty(int32 i) const override;
1558
1559 UE_API virtual const TSharedPtr< IDatasmithKeyValueProperty >& GetPropertyByName( const TCHAR* InName ) const override;
1560
1562
1564
1565 UE_API virtual void ResetProperties() override;
1566
1567private:
1570};
1571
1572class FDatasmithDecalActorElementImpl : public FDatasmithCustomActorElementImpl< IDatasmithDecalActorElement >
1573{
1574public:
1575 UE_API explicit FDatasmithDecalActorElementImpl( const TCHAR* InName );
1576
1577 UE_API virtual FVector GetDimensions() const;
1578 UE_API virtual void SetDimensions( const FVector& InDimensions );
1579
1580 UE_API virtual const TCHAR* GetDecalMaterialPathName() const;
1582
1583 UE_API virtual int32 GetSortOrder() const;
1584 UE_API virtual void SetSortOrder( int32 InSortOrder );
1585
1586private:
1587 int32 SortOrderPropertyIndex;
1588 int32 DimensionsPropertyIndex;
1589 int32 MaterialPropertyIndex;
1590};
1591
1592PRAGMA_DISABLE_DEPRECATION_WARNINGS // For Clothes - UE_DEPRECATED(5.5, "The experimental Cloth importer is no longer supported.")
1593class FDatasmithSceneImpl : public FDatasmithElementImpl< IDatasmithScene >
1595{
1596public:
1597 UE_API explicit FDatasmithSceneImpl(const TCHAR* InName);
1598
1599 UE_API virtual void Reset() override;
1600
1601 UE_API virtual const TCHAR* GetHost() const override;
1602 UE_API virtual void SetHost(const TCHAR* InHostname) override;
1603
1604 virtual const TCHAR* GetExporterVersion() const override { return *(FString&)ExporterVersion; }
1605 virtual void SetExporterVersion(const TCHAR* InVersion) override { ExporterVersion = InVersion; }
1606
1607 virtual const TCHAR* GetExporterSDKVersion() const override { return *(FString&)ExporterSDKVersion; }
1608 virtual void SetExporterSDKVersion(const TCHAR* InVersion) override { ExporterSDKVersion = InVersion; }
1609
1610 virtual const TCHAR* GetVendor() const override { return *(FString&)Vendor; }
1611 virtual void SetVendor(const TCHAR* InVendor) override { Vendor = InVendor; }
1612
1613 virtual const TCHAR* GetProductName() const override { return *(FString&)ProductName; }
1614 virtual void SetProductName(const TCHAR* InProductName) override { ProductName = InProductName; }
1615
1616 virtual const TCHAR* GetProductVersion() const override { return *(FString&)ProductVersion; }
1617 virtual void SetProductVersion(const TCHAR* InProductVersion) override { ProductVersion = InProductVersion; }
1618
1619 virtual const TCHAR* GetResourcePath() const override { return *(FString&)ResourcePath; }
1620 virtual void SetResourcePath(const TCHAR* InResourcePath) override { ResourcePath = InResourcePath; }
1621
1622 virtual const TCHAR* GetUserID() const override { return *(FString&)UserID; }
1623 virtual void SetUserID(const TCHAR* InUserID) override { UserID = InUserID; }
1624
1625 virtual const TCHAR* GetUserOS() const override { return *(FString&)UserOS; }
1626 virtual void SetUserOS(const TCHAR* InUserOS) override { UserOS = InUserOS; }
1627
1628 virtual FVector GetGeolocation() const override { return Geolocation; }
1629 virtual void SetGeolocationLatitude(double InLatitude) override { Geolocation.Get().X = InLatitude;}
1630 virtual void SetGeolocationLongitude(double InLongitude) override { Geolocation.Get().Y = InLongitude; }
1631 virtual void SetGeolocationElevation(double InElevation) override { Geolocation.Get().Z = InElevation; }
1632
1633 virtual int32 GetExportDuration() const override { return ExportDuration; }
1634 virtual void SetExportDuration(int32 InExportDuration) override { ExportDuration = InExportDuration; }
1635
1636 virtual void AddMesh(const TSharedPtr< IDatasmithMeshElement >& InMesh) override { Meshes.Add(InMesh); }
1637 virtual int32 GetMeshesCount() const override { return Meshes.Num(); }
1639 UE_API virtual const TSharedPtr< IDatasmithMeshElement >& GetMesh(int32 InIndex) const override;
1640 virtual void RemoveMesh(const TSharedPtr< IDatasmithMeshElement >& InMesh) override { Meshes.Remove(InMesh); }
1641 UE_API virtual void RemoveMeshAt(int32 InIndex) override;
1642 virtual void EmptyMeshes() override { Meshes.Empty(); }
1643
1645 UE_DEPRECATED(5.5, "The experimental Cloth importer is no longer supported.")
1647 UE_DEPRECATED(5.5, "The experimental Cloth importer is no longer supported.")
1649 UE_DEPRECATED(5.5, "The experimental Cloth importer is no longer supported.")
1651 UE_DEPRECATED(5.5, "The experimental Cloth importer is no longer supported.")
1653 UE_DEPRECATED(5.5, "The experimental Cloth importer is no longer supported.")
1655 UE_DEPRECATED(5.5, "The experimental Cloth importer is no longer supported.")
1657 UE_DEPRECATED(5.5, "The experimental Cloth importer is no longer supported.")
1660
1662 virtual int32 GetActorsCount() const override { return Actors.Num(); }
1664 UE_API virtual const TSharedPtr< IDatasmithActorElement >& GetActor(int32 InIndex) const override;
1667
1669 virtual int32 GetMaterialsCount() const override { return Materials.Num(); }
1673 UE_API virtual void RemoveMaterialAt(int32 InIndex) override;
1674 virtual void EmptyMaterials() override { Materials.Empty(); }
1675
1676 virtual void AddTexture(const TSharedPtr< IDatasmithTextureElement >& InTexture) override { Textures.Add(InTexture); }
1677 virtual int32 GetTexturesCount() const override { return Textures.Num(); }
1681 UE_API virtual void RemoveTextureAt(int32 InIndex) override;
1682 virtual void EmptyTextures() override { Textures.Empty(); }
1683
1685 virtual TSharedPtr< IDatasmithPostProcessElement > GetPostProcess() override { return PostProcess.Inner; }
1686 virtual const TSharedPtr< IDatasmithPostProcessElement >& GetPostProcess() const override { return PostProcess.Inner; }
1687
1688 virtual void SetUsePhysicalSky(bool bInUsePhysicalSky) override { bUseSky = bInUsePhysicalSky; }
1689 virtual bool GetUsePhysicalSky() const override { return bUseSky; }
1690
1691 virtual void AddMetaData(const TSharedPtr< IDatasmithMetaDataElement >& InMetaData) override { MetaData.Add(InMetaData); GetElementToMetaDataCache().Add(InMetaData->GetAssociatedElement(), InMetaData); }
1692 virtual int32 GetMetaDataCount() const override { return MetaData.Num(); }
1697 UE_API virtual void RemoveMetaData( const TSharedPtr<IDatasmithMetaDataElement>& Element ) override;
1698 UE_API virtual void RemoveMetaDataAt(int32 InIndex) override;
1699
1701 virtual int32 GetLevelSequencesCount() const override { return LevelSequences.Num(); }
1705 UE_API virtual void RemoveLevelSequenceAt(int32 InIndex) override;
1706
1708 virtual int32 GetLevelVariantSetsCount() const override { return LevelVariantSets.Num(); }
1712 UE_API virtual void RemoveLevelVariantSetsAt(int32 InIndex) override;
1713
1716
1717private:
1718
1722 UE_DEPRECATED(5.5, "The experimental Cloth importer is no longer supported.")
1731
1732 TReflected<FString> Hostname;
1733 TReflected<FString> ExporterVersion;
1734 TReflected<FString> ExporterSDKVersion;
1735 TReflected<FString> Vendor;
1736 TReflected<FString> ProductName;
1737 TReflected<FString> ProductVersion;
1738 TReflected<FString> UserID;
1739 TReflected<FString> UserOS;
1740 TReflected<FVector> Geolocation;
1741 TReflected<FString> ResourcePath;
1742
1743 TReflected<uint32> ExportDuration;
1744
1745 TReflected<bool> bUseSky;
1746
1747 // Internal cache for faster metadata access per-element, should be accessed via GetMetaDataCache(), do not use directly.
1749 UE_API TMap< TSharedPtr< IDatasmithElement >, TSharedPtr< IDatasmithMetaDataElement> >& GetElementToMetaDataCache() const;
1750};
1751
1752#undef UE_API
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EDatasmithAreaLightType
Definition DatasmithDefinitions.h:147
EDatasmithActorRemovalRule
Definition DatasmithDefinitions.h:367
EDatasmithLightUnits
Definition DatasmithDefinitions.h:158
EDatasmithReferenceMaterialQuality
Definition DatasmithDefinitions.h:253
EDatasmithElementType
Definition DatasmithDefinitions.h:20
EDatasmithCompMode
Definition DatasmithDefinitions.h:272
EDatasmithActorAttachmentRule
Definition DatasmithDefinitions.h:380
EDatasmithTextureMode
Definition DatasmithDefinitions.h:168
EDatasmithLightShape
Definition DatasmithDefinitions.h:136
EDatasmithReferenceMaterialType
Definition DatasmithDefinitions.h:236
EDatasmithTextureFormat
Definition DatasmithDefinitions.h:202
EDatasmithKeyValuePropertyType
Definition DatasmithDefinitions.h:334
EDatasmithShaderUsage
Definition DatasmithDefinitions.h:349
EDatasmithActorMobilityType
Definition DatasmithDefinitions.h:652
EDatasmithColorSpace
Definition DatasmithDefinitions.h:215
EDatasmithBlendMode
Definition DatasmithDefinitions.h:313
EDatasmithTextureAddress
Definition DatasmithDefinitions.h:193
EDatasmithTextureFilter
Definition DatasmithDefinitions.h:182
LightActorFlags
Definition DatasmithSceneElementsImpl.h:569
#define UE_API
Definition DatasmithSceneElementsImpl.h:17
#define UPDATE_BITFLAGS(Flags, bValue, EnumValue)
Definition DatasmithSceneElementsImpl.h:104
EActorFlags
Definition DatasmithSceneElementsImpl.h:97
constexpr bool EnumHasAnyFlags(Enum Flags, Enum Contains)
Definition EnumClassFlags.h:35
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
return true
Definition ExternalRpcRegistry.cpp:601
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
#define FVector
Definition IOSSystemIncludes.h:8
UE::Math::TQuat< double > FQuat
Definition MathFwd.h:50
TextureFilter
Definition TextureDefines.h:485
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition DatasmithSceneElementsImpl.h:108
virtual void SetScale(const FVector &Value, bool bKeepChildrenRelative) override
Definition DatasmithSceneElementsImpl.h:130
virtual void SetLayer(const TCHAR *InLayer) override
Definition DatasmithSceneElementsImpl.h:161
void SetInternalRotation(const FQuat &Value)
Definition DatasmithSceneElementsImpl.h:215
virtual const TCHAR * GetLayer() const override
Definition DatasmithSceneElementsImpl.h:160
virtual void SetTranslation(const FVector &Value, bool bKeepChildrenRelative) override
Definition DatasmithSceneElementsImpl.h:115
void ConvertChildsToWorld()
Definition DatasmithSceneElementsImpl.h:323
virtual bool GetVisibility() const override
Definition DatasmithSceneElementsImpl.h:200
virtual FVector GetTranslation() const override
Definition DatasmithSceneElementsImpl.h:113
virtual int32 GetTagsCount() const
Definition DatasmithSceneElementsImpl.h:165
void ConvertChildsToRelative()
Definition DatasmithSceneElementsImpl.h:299
virtual void AddChild(const TSharedPtr< IDatasmithActorElement > &InChild, EDatasmithActorAttachmentRule AttachementRule=EDatasmithActorAttachmentRule::KeepWorldTransform) override
Definition DatasmithSceneElementsImpl.h:280
void SetInternalScale(const FVector &Value)
Definition DatasmithSceneElementsImpl.h:216
virtual void ResetTags() override
Definition DatasmithSceneElementsImpl.h:164
virtual EDatasmithActorMobilityType GetMobility() const override
Definition DatasmithSceneElementsImpl.h:206
virtual void RemoveChild(const TSharedPtr< IDatasmithActorElement > &InChild) override
Definition DatasmithSceneElementsImpl.h:185
virtual void SetScale(double InX, double InY, double InZ, bool bKeepChildrenRelative) override
Definition DatasmithSceneElementsImpl.h:129
virtual FQuat GetRotation() const override
Definition DatasmithSceneElementsImpl.h:143
virtual void SetIsAComponent(bool Value) override
Definition DatasmithSceneElementsImpl.h:196
virtual bool IsAComponent() const override
Definition DatasmithSceneElementsImpl.h:197
virtual void SetCastShadow(bool bInCastShadow) override
Definition DatasmithSceneElementsImpl.h:202
virtual void SetTranslation(double InX, double InY, double InZ, bool bKeepChildrenRelative) override
Definition DatasmithSceneElementsImpl.h:114
virtual void SetRotation(const FQuat &Value, bool bKeepChildrenRelative) override
Definition DatasmithSceneElementsImpl.h:145
virtual void SetVisibility(bool bInVisibility) override
Definition DatasmithSceneElementsImpl.h:199
virtual const TSharedPtr< IDatasmithActorElement > & GetChild(int32 InIndex) const override
Definition DatasmithSceneElementsImpl.h:180
virtual void AddTag(const TCHAR *InTag) override
Definition DatasmithSceneElementsImpl.h:163
virtual bool GetCastShadow() const override
Definition DatasmithSceneElementsImpl.h:203
virtual TSharedPtr< IDatasmithActorElement > GetChild(int32 InIndex) override
Definition DatasmithSceneElementsImpl.h:175
void SetInternalTranslation(const FVector &Value)
Definition DatasmithSceneElementsImpl.h:217
virtual const TCHAR * GetTag(int32 TagIndex) const override
Definition DatasmithSceneElementsImpl.h:166
virtual int32 GetChildrenCount() const override
Definition DatasmithSceneElementsImpl.h:169
FDatasmithActorElementImpl(const TCHAR *InName, EDatasmithElementType InType)
Definition DatasmithSceneElementsImpl.h:242
virtual void SetRotation(double InX, double InY, double InZ, double InW, bool bKeepChildrenRelative) override
Definition DatasmithSceneElementsImpl.h:144
virtual FVector GetScale() const override
Definition DatasmithSceneElementsImpl.h:128
virtual FTransform GetRelativeTransform() const override
Definition DatasmithSceneElementsImpl.h:265
virtual const TSharedPtr< IDatasmithActorElement > & GetParentActor() const override
Definition DatasmithSceneElementsImpl.h:191
virtual void SetMobility(EDatasmithActorMobilityType InMobility) override
Definition DatasmithSceneElementsImpl.h:205
Definition DatasmithSceneElementsImpl.h:770
virtual void SetLightShape(EDatasmithLightShape InShape) override
Definition DatasmithSceneElementsImpl.h:786
virtual float GetLength() const override
Definition DatasmithSceneElementsImpl.h:795
virtual void SetLightType(EDatasmithAreaLightType InLightType) override
Definition DatasmithSceneElementsImpl.h:789
virtual EDatasmithLightShape GetLightShape() const override
Definition DatasmithSceneElementsImpl.h:785
virtual void SetWidth(float InWidth) override
Definition DatasmithSceneElementsImpl.h:791
FDatasmithAreaLightElementImpl(const TCHAR *InName)
Definition DatasmithSceneElementsImpl.h:772
virtual EDatasmithAreaLightType GetLightType() const override
Definition DatasmithSceneElementsImpl.h:788
virtual void SetLength(float InLength) override
Definition DatasmithSceneElementsImpl.h:794
virtual float GetWidth() const override
Definition DatasmithSceneElementsImpl.h:792
Definition DatasmithSceneElementsImpl.h:1365
FDatasmithBaseMaterialElementImpl(const TCHAR *InName, EDatasmithElementType ChildType)
Definition DatasmithSceneElementsImpl.h:1371
Definition DatasmithSceneElementsImpl.h:879
virtual void SetPostProcess(const TSharedPtr< IDatasmithPostProcessElement > &InPostProcess) override
Definition DatasmithSceneElementsImpl.cpp:334
virtual bool GetEnableDepthOfField() const override
Definition DatasmithSceneElementsImpl.h:889
virtual float GetFStop() const override
Definition DatasmithSceneElementsImpl.cpp:304
virtual void SetFocusDistance(float InFocusDistance) override
Definition DatasmithSceneElementsImpl.cpp:299
virtual float GetSensorAspectRatio() const override
Definition DatasmithSceneElementsImpl.cpp:284
virtual void SetFStop(float InFStop) override
Definition DatasmithSceneElementsImpl.cpp:309
virtual float GetFocalLength() const override
Definition DatasmithSceneElementsImpl.cpp:314
virtual float GetFocusDistance() const override
Definition DatasmithSceneElementsImpl.cpp:294
virtual const TCHAR * GetLookAtActor() const override
Definition DatasmithSceneElementsImpl.h:905
virtual void SetSensorWidth(float InSensorWidth) override
Definition DatasmithSceneElementsImpl.cpp:279
virtual void SetLookAtActor(const TCHAR *InActorName) override
Definition DatasmithSceneElementsImpl.h:906
virtual void SetEnableDepthOfField(bool bInEnableDepthOfField) override
Definition DatasmithSceneElementsImpl.h:890
virtual void SetLookAtAllowRoll(bool bAllow) override
Definition DatasmithSceneElementsImpl.h:909
virtual void SetFocalLength(float InFocalLength) override
Definition DatasmithSceneElementsImpl.cpp:319
virtual TSharedPtr< IDatasmithPostProcessElement > & GetPostProcess() override
Definition DatasmithSceneElementsImpl.cpp:324
virtual void SetSensorAspectRatio(float InSensorAspectRatio) override
Definition DatasmithSceneElementsImpl.cpp:289
virtual float GetSensorWidth() const override
Definition DatasmithSceneElementsImpl.cpp:274
virtual bool GetLookAtAllowRoll() const override
Definition DatasmithSceneElementsImpl.h:908
Definition DatasmithSceneElementsImpl.h:1446
bool GetUseComposite() const
Definition DatasmithSceneElementsImpl.cpp:721
const TCHAR * GetParamTexture() const
Definition DatasmithSceneElementsImpl.cpp:736
bool GetUseTexture() const
Definition DatasmithSceneElementsImpl.cpp:716
const FLinearColor & GetParamColor() const
Definition DatasmithSceneElementsImpl.cpp:746
FDatasmithTextureSampler & GetParamTextureSampler()
Definition DatasmithSceneElementsImpl.cpp:731
bool GetUseColor() const
Definition DatasmithSceneElementsImpl.cpp:726
void SetParamTexture(const TCHAR *InTexture)
Definition DatasmithSceneElementsImpl.cpp:741
TSharedPtr< IDatasmithCompositeTexture > & GetParamSubComposite()
Definition DatasmithSceneElementsImpl.cpp:751
Definition DatasmithSceneElementsImpl.h:1471
virtual int32 GetParamMaskSurfacesCount() const override
Definition DatasmithSceneElementsImpl.h:1501
virtual const TCHAR * GetParamTexture(int32 InIndex) override
Definition DatasmithSceneElementsImpl.cpp:782
virtual ParamVal GetParamVal1(int32 InIndex) const override
Definition DatasmithSceneElementsImpl.cpp:847
virtual int32 GetParamVal1Count() const override
Definition DatasmithSceneElementsImpl.h:1493
virtual bool IsValid() const override
Definition DatasmithSceneElementsImpl.cpp:766
virtual const TCHAR * GetBaseCompName() const override
Definition DatasmithSceneElementsImpl.h:1519
virtual void AddSurface(const TCHAR *InTexture, FDatasmithTextureSampler InTexUV) override
Definition DatasmithSceneElementsImpl.h:1523
virtual void AddParamVal1(ParamVal InParamVal) override
Definition DatasmithSceneElementsImpl.h:1495
virtual void ClearSurface() override
Definition DatasmithSceneElementsImpl.h:1525
virtual const TCHAR * GetBaseValName() const override
Definition DatasmithSceneElementsImpl.h:1518
virtual const FLinearColor & GetParamMaskColor(int32 i) const override
Definition DatasmithSceneElementsImpl.cpp:880
virtual void SetBaseNames(const TCHAR *InTextureName, const TCHAR *InColorName, const TCHAR *InValueName, const TCHAR *InCompName) override
Definition DatasmithSceneElementsImpl.cpp:937
virtual void AddMaskSurface(const TSharedPtr< IDatasmithCompositeTexture > &InMaskSubComp) override
Definition DatasmithSceneElementsImpl.h:1514
virtual void AddParamVal2(ParamVal InParamVal) override
Definition DatasmithSceneElementsImpl.h:1499
virtual int32 GetParamSurfacesCount() const override
Definition DatasmithSceneElementsImpl.h:1479
virtual void AddMaskSurface(const TCHAR *InMask, const FDatasmithTextureSampler InMaskSampler) override
Definition DatasmithSceneElementsImpl.h:1505
virtual void SetMode(EDatasmithCompMode InMode) override
Definition DatasmithSceneElementsImpl.h:1478
virtual TSharedPtr< IDatasmithCompositeTexture > & GetParamSubComposite(int32 InIndex) override
Definition DatasmithSceneElementsImpl.cpp:915
virtual void AddSurface(const FLinearColor &InColor) override
Definition DatasmithSceneElementsImpl.h:1524
virtual const TCHAR * GetBaseTextureName() const override
Definition DatasmithSceneElementsImpl.h:1516
virtual FDatasmithTextureSampler & GetParamTextureSampler(int32 InIndex) override
Definition DatasmithSceneElementsImpl.cpp:803
virtual bool GetUseColor(int32 InIndex) override
Definition DatasmithSceneElementsImpl.cpp:814
virtual void SetParamTexture(int32 InIndex, const TCHAR *InTexture) override
Definition DatasmithSceneElementsImpl.cpp:793
virtual bool GetUseComposite(int32 InIndex) override
Definition DatasmithSceneElementsImpl.cpp:836
virtual bool GetMaskUseComposite(int32 InIndex) const override
Definition DatasmithSceneElementsImpl.cpp:891
virtual void AddMaskSurface(const FLinearColor &InColor) override
Definition DatasmithSceneElementsImpl.h:1506
FDatasmithCompositeTextureImpl()
Definition DatasmithSceneElementsImpl.cpp:756
virtual ParamVal GetParamVal2(int32 InIndex) const override
Definition DatasmithSceneElementsImpl.cpp:858
virtual void AddSurface(const TSharedPtr< IDatasmithCompositeTexture > &SubComp) override
Definition DatasmithSceneElementsImpl.h:1511
virtual const TCHAR * GetParamMask(int32 InIndex) override
Definition DatasmithSceneElementsImpl.cpp:869
virtual const FLinearColor & GetParamColor(int32 InIndex) override
Definition DatasmithSceneElementsImpl.cpp:825
virtual const TCHAR * GetBaseColName() const override
Definition DatasmithSceneElementsImpl.h:1517
virtual EDatasmithCompMode GetMode() const override
Definition DatasmithSceneElementsImpl.h:1477
virtual bool GetUseTexture(int32 InIndex) override
Definition DatasmithSceneElementsImpl.cpp:771
virtual int32 GetParamVal2Count() const override
Definition DatasmithSceneElementsImpl.h:1497
virtual FDatasmithTextureSampler GetParamMaskTextureSampler(int32 InIndex) override
Definition DatasmithSceneElementsImpl.cpp:902
virtual TSharedPtr< IDatasmithCompositeTexture > & GetParamMaskSubComposite(int32 InIndex) override
Definition DatasmithSceneElementsImpl.cpp:926
Definition DatasmithSceneElementsImpl.h:926
virtual void SetClassOrPathName(const TCHAR *InClassOrPathName) override
Definition DatasmithSceneElementsImpl.h:939
virtual const TSharedPtr< IDatasmithKeyValueProperty > & GetProperty(int32 Index) const override
Definition DatasmithSceneElementsImpl.h:945
FDatasmithCustomActorElementImpl(const TCHAR *InName, EDatasmithElementType InChildType=EDatasmithElementType::None)
Definition DatasmithSceneElementsImpl.h:930
virtual const TCHAR * GetClassOrPathName() const override
Definition DatasmithSceneElementsImpl.h:938
virtual void RemoveProperty(const TSharedPtr< IDatasmithKeyValueProperty > &Property) override
Definition DatasmithSceneElementsImpl.h:979
virtual void AddProperty(const TSharedPtr< IDatasmithKeyValueProperty > &InProperty) override
Definition DatasmithSceneElementsImpl.h:960
int32 AddPropertyInternal(const TCHAR *InKey, EDatasmithKeyValuePropertyType InType, const TCHAR *InValue)
Definition DatasmithSceneElementsImpl.h:983
virtual int32 GetPropertiesCount() const override
Definition DatasmithSceneElementsImpl.h:942
virtual const TSharedPtr< IDatasmithKeyValueProperty > & GetPropertyByName(const TCHAR *InName) const override
Definition DatasmithSceneElementsImpl.h:951
Definition DatasmithSceneElementsImpl.h:1573
virtual UE_API void SetDimensions(const FVector &InDimensions)
Definition DatasmithSceneElementsImpl.cpp:1016
virtual UE_API int32 GetSortOrder() const
Definition DatasmithSceneElementsImpl.cpp:1022
virtual UE_API FVector GetDimensions() const
Definition DatasmithSceneElementsImpl.cpp:1006
virtual UE_API void SetDecalMaterialPathName(const TCHAR *InMaterialPathName)
Definition DatasmithSceneElementsImpl.cpp:1040
virtual UE_API void SetSortOrder(int32 InSortOrder)
Definition DatasmithSceneElementsImpl.cpp:1028
virtual UE_API const TCHAR * GetDecalMaterialPathName() const
Definition DatasmithSceneElementsImpl.cpp:1034
Definition DatasmithSceneElementsImpl.h:1425
virtual const TCHAR * GetNormalTexturePathName() const override
Definition DatasmithSceneElementsImpl.h:1437
virtual const TCHAR * GetDiffuseTexturePathName() const override
Definition DatasmithSceneElementsImpl.h:1434
FDatasmithDecalMaterialElementImpl(const TCHAR *InName)
Definition DatasmithSceneElementsImpl.h:1427
virtual void SetNormalTexturePathName(const TCHAR *InPathName) override
Definition DatasmithSceneElementsImpl.h:1438
virtual void SetDiffuseTexturePathName(const TCHAR *InPathName) override
Definition DatasmithSceneElementsImpl.h:1435
Definition DatasmithSceneElementsImpl.h:761
FDatasmithDirectionalLightElementImpl(const TCHAR *InName)
Definition DatasmithSceneElementsImpl.h:763
Definition DatasmithSceneElementsImpl.h:25
FDatasmithElementImpl(const TCHAR *InName, EDatasmithElementType InType, uint64 InSubType=0)
Definition DatasmithSceneElementsImpl.h:62
virtual void SetName(const TCHAR *InName) override
Definition DatasmithSceneElementsImpl.h:33
virtual TSharedPtr< DirectLink::FSceneGraphSharedState > MakeSharedState() const override
Definition DatasmithSceneElementsImpl.h:41
virtual const TCHAR * GetLabel() const override
Definition DatasmithSceneElementsImpl.h:35
TReflected< EDatasmithElementType, uint64 > Type
Definition DatasmithSceneElementsImpl.h:54
TReflected< FString > Label
Definition DatasmithSceneElementsImpl.h:57
virtual const TCHAR * GetName() const override
Definition DatasmithSceneElementsImpl.h:32
virtual bool IsA(EDatasmithElementType InType) const override
Definition DatasmithSceneElementsImpl.h:30
virtual DirectLink::FParameterStore & GetStore() override
Definition DatasmithSceneElementsImpl.h:43
TReflected< uint64 > Subtype
Definition DatasmithSceneElementsImpl.h:55
virtual ~FDatasmithElementImpl()
Definition DatasmithSceneElementsImpl.h:28
FMD5Hash ElementHash
Definition DatasmithSceneElementsImpl.h:51
EDatasmithElementType GetElementType() const
Definition DatasmithSceneElementsImpl.h:47
uint64 GetSubType() const
Definition DatasmithSceneElementsImpl.h:48
virtual void SetLabel(const TCHAR *InLabel) override
Definition DatasmithSceneElementsImpl.h:36
TReflected< FString > Name
Definition DatasmithSceneElementsImpl.h:56
virtual FMD5Hash CalculateElementHash(bool) override
Definition DatasmithSceneElementsImpl.h:38
virtual const DirectLink::FParameterStore & GetStore() const override
Definition DatasmithSceneElementsImpl.h:42
DirectLink::FParameterStore Store
Definition DatasmithSceneElementsImpl.h:53
virtual bool IsSubTypeInternal(uint64 InSubType) const
Definition DatasmithSceneElementsImpl.h:46
Definition DatasmithSceneElementsImpl.h:1054
virtual TSharedPtr< IDatasmithCompositeTexture > & GetEnvironmentComp() override
Definition DatasmithSceneElementsImpl.cpp:466
virtual void SetEnvironmentComp(const TSharedPtr< IDatasmithCompositeTexture > &InEnvironmentComp) override
Definition DatasmithSceneElementsImpl.cpp:476
virtual bool GetIsIlluminationMap() const override
Definition DatasmithSceneElementsImpl.cpp:481
virtual void SetIsIlluminationMap(bool bInIsIlluminationMap) override
Definition DatasmithSceneElementsImpl.cpp:486
Definition DatasmithSceneElementsImpl.h:552
virtual ~FDatasmithHierarchicalInstancedStaticMeshActorElementImpl()
Definition DatasmithSceneElementsImpl.cpp:176
virtual int32 GetInstancesCount() const override
Definition DatasmithSceneElementsImpl.cpp:180
virtual int32 AddInstance(const FTransform &Transform) override
Definition DatasmithSceneElementsImpl.cpp:190
virtual void ReserveSpaceForInstances(int32 NumIntances) override
Definition DatasmithSceneElementsImpl.cpp:185
virtual FTransform GetInstance(int32 InstanceIndex) const override
Definition DatasmithSceneElementsImpl.cpp:196
virtual void RemoveInstance(int32 InstanceIndex) override
Definition DatasmithSceneElementsImpl.cpp:205
Definition DatasmithSceneElementsImpl.h:74
virtual void SetName(const TCHAR *InName) override
Definition DatasmithSceneElementsImpl.h:77
void SetPropertyType(EDatasmithKeyValuePropertyType InType) override
Definition DatasmithSceneElementsImpl.cpp:128
void FormatValue()
Definition DatasmithSceneElementsImpl.cpp:140
void SetValue(const TCHAR *InValue) override
Definition DatasmithSceneElementsImpl.cpp:134
FDatasmithKeyValuePropertyImpl(const TCHAR *InName)
EDatasmithKeyValuePropertyType GetPropertyType() const override
Definition DatasmithSceneElementsImpl.h:79
const TCHAR * GetValue() const override
Definition DatasmithSceneElementsImpl.h:82
static TSharedPtr< IDatasmithKeyValueProperty > NullPropertyPtr
Definition DatasmithSceneElementsImpl.h:85
Definition DatasmithSceneElementsImpl.h:1008
FDatasmithLandscapeElementImpl(const TCHAR *InName)
Definition DatasmithSceneElementsImpl.h:1010
virtual const TCHAR * GetHeightmap() const override
Definition DatasmithSceneElementsImpl.h:1023
virtual void SetMaterial(const TCHAR *InMaterialPathName) override
Definition DatasmithSceneElementsImpl.h:1025
virtual const TCHAR * GetMaterial() const override
Definition DatasmithSceneElementsImpl.h:1026
virtual void SetHeightmap(const TCHAR *InFilePath) override
Definition DatasmithSceneElementsImpl.h:1022
Definition DatasmithSceneElementsImpl.h:580
virtual void SetUseTemperature(bool bInUseTemperature) override
Definition DatasmithSceneElementsImpl.h:596
void SetLightFunctionMaterial(const TSharedPtr< IDatasmithMaterialIDElement > &InMaterial) override
Definition DatasmithSceneElementsImpl.h:615
virtual const TCHAR * GetIesFile() const override
Definition DatasmithSceneElementsImpl.h:598
virtual bool IsEnabled() const override
Definition DatasmithSceneElementsImpl.h:583
virtual double GetTemperature() const override
Definition DatasmithSceneElementsImpl.h:592
const TCHAR * GetIesTexturePathName() const override
Definition DatasmithSceneElementsImpl.h:623
TSharedPtr< IDatasmithMaterialIDElement > & GetLightFunctionMaterial() override
Definition DatasmithSceneElementsImpl.h:613
void SetIesTexturePathName(const TCHAR *InTextureName) override
Definition DatasmithSceneElementsImpl.h:624
FDatasmithLightActorElementImpl(const TCHAR *InName, EDatasmithElementType ChildType)
Definition DatasmithSceneElementsImpl.h:650
virtual double GetIesBrightnessScale() const override
Definition DatasmithSceneElementsImpl.h:604
virtual void SetIntensity(double InIntensity) override
Definition DatasmithSceneElementsImpl.h:587
virtual void SetTemperature(double InTemperature) override
Definition DatasmithSceneElementsImpl.h:593
virtual FQuat GetIesRotation() const override
Definition DatasmithSceneElementsImpl.h:610
virtual void SetUseIes(bool bInUseIes) override
Definition DatasmithSceneElementsImpl.h:602
virtual void SetIesBrightnessScale(double InIesBrightnessScale) override
Definition DatasmithSceneElementsImpl.h:605
virtual bool GetUseIesBrightness() const override
Definition DatasmithSceneElementsImpl.h:607
virtual void SetUseIesBrightness(bool bInUseIesBrightness) override
Definition DatasmithSceneElementsImpl.h:608
virtual double GetIntensity() const override
Definition DatasmithSceneElementsImpl.h:586
virtual void SetColor(FLinearColor InColor) override
Definition DatasmithSceneElementsImpl.h:590
virtual void SetEnabled(bool bInIsEnabled) override
Definition DatasmithSceneElementsImpl.h:584
void SetLightFunctionMaterial(const TCHAR *InMaterialName) override
Definition DatasmithSceneElementsImpl.h:617
virtual FLinearColor GetColor() const override
Definition DatasmithSceneElementsImpl.h:589
virtual bool GetUseIes() const override
Definition DatasmithSceneElementsImpl.h:601
virtual bool GetUseTemperature() const override
Definition DatasmithSceneElementsImpl.h:595
virtual void SetIesRotation(const FQuat &InIesRotation) override
Definition DatasmithSceneElementsImpl.h:611
virtual void SetIesFile(const TCHAR *InIesFile) override
Definition DatasmithSceneElementsImpl.h:599
Definition DatasmithSceneElementsImpl.h:805
FDatasmithLightmassPortalElementImpl(const TCHAR *InName)
Definition DatasmithSceneElementsImpl.h:807
Definition DatasmithSceneElementsImpl.h:1377
virtual void AddShader(const TSharedPtr< IDatasmithShaderElement > &InShader) override
Definition DatasmithSceneElementsImpl.cpp:364
virtual TSharedPtr< IDatasmithShaderElement > & GetShader(int32 InIndex) override
Definition DatasmithSceneElementsImpl.cpp:374
virtual int32 GetShadersCount() const override
Definition DatasmithSceneElementsImpl.cpp:369
virtual bool IsClearCoatMaterial() const override
Definition DatasmithSceneElementsImpl.cpp:349
virtual bool IsSingleShaderMaterial() const override
Definition DatasmithSceneElementsImpl.cpp:344
Definition DatasmithSceneElementsImpl.h:419
virtual int32 GetId() const override
Definition DatasmithSceneElementsImpl.h:427
virtual void SetName(const TCHAR *InName) override
Definition DatasmithSceneElementsImpl.h:422
virtual void SetId(int32 InId) override
Definition DatasmithSceneElementsImpl.h:428
Definition DatasmithSceneElementsImpl.h:1395
virtual const TSharedPtr< IDatasmithKeyValueProperty > & GetProperty(int32 InIndex) const override
Definition DatasmithSceneElementsImpl.cpp:396
virtual void SetCustomMaterialPathName(const TCHAR *InPathName) override
Definition DatasmithSceneElementsImpl.h:1406
virtual void SetQuality(EDatasmithReferenceMaterialQuality InQuality) override
Definition DatasmithSceneElementsImpl.h:1403
virtual FMD5Hash CalculateElementHash(bool bForce) override
Definition DatasmithSceneElementsImpl.cpp:427
virtual void AddProperty(const TSharedPtr< IDatasmithKeyValueProperty > &InProperty) override
Definition DatasmithSceneElementsImpl.cpp:409
virtual int32 GetPropertiesCount() const override
Definition DatasmithSceneElementsImpl.h:1408
virtual const TSharedPtr< IDatasmithKeyValueProperty > & GetPropertyByName(const TCHAR *InName) const override
Definition DatasmithSceneElementsImpl.cpp:401
virtual void SetMaterialType(EDatasmithReferenceMaterialType InType) override
Definition DatasmithSceneElementsImpl.h:1400
virtual const TCHAR * GetCustomMaterialPathName() const override
Definition DatasmithSceneElementsImpl.h:1405
virtual EDatasmithReferenceMaterialQuality GetQuality() const override
Definition DatasmithSceneElementsImpl.h:1402
virtual EDatasmithReferenceMaterialType GetMaterialType() const override
Definition DatasmithSceneElementsImpl.h:1399
Definition DatasmithSceneElementsImpl.h:436
virtual TSharedPtr< IDatasmithMaterialIDElement > GetMaterialOverride(int32 i) override
Definition DatasmithSceneElementsImpl.h:506
virtual void SetStaticMeshPathName(const TCHAR *InStaticMeshName) override
Definition DatasmithSceneElementsImpl.h:546
virtual void AddMaterialOverride(const TSharedPtr< IDatasmithMaterialIDElement > &Material) override
Definition DatasmithSceneElementsImpl.h:494
virtual void ResetMaterialOverrides() override
Definition DatasmithSceneElementsImpl.h:534
FDatasmithMeshActorElementImpl(const TCHAR *InName, EDatasmithElementType ElementType)
Definition DatasmithSceneElementsImpl.h:468
virtual void RemoveMaterialOverride(const TSharedPtr< IDatasmithMaterialIDElement > &Material) override
Definition DatasmithSceneElementsImpl.h:528
virtual TSharedPtr< const IDatasmithMaterialIDElement > GetMaterialOverride(int32 i) const override
Definition DatasmithSceneElementsImpl.h:517
virtual int32 GetMaterialOverridesCount() const override
Definition DatasmithSceneElementsImpl.h:500
virtual const TCHAR * GetStaticMeshPathName() const override
Definition DatasmithSceneElementsImpl.h:540
FDatasmithMeshActorElementImpl(const TCHAR *InName)
Definition DatasmithSceneElementsImpl.h:463
virtual void AddMaterialOverride(const TCHAR *InMaterialName, int32 Id) override
Definition DatasmithSceneElementsImpl.h:476
Definition DatasmithSceneElementsImpl.h:348
virtual FMD5Hash CalculateElementHash(bool bForce) override
Definition DatasmithSceneElementsImpl.cpp:35
virtual void SetLODCount(int32 Count) override
Definition DatasmithSceneElementsImpl.h:383
virtual TSharedPtr< const IDatasmithMaterialIDElement > GetMaterialSlotAt(int32 Index) const override
Definition DatasmithSceneElementsImpl.cpp:89
virtual const TCHAR * GetMaterial(int32 SlotId) const override
Definition DatasmithSceneElementsImpl.cpp:72
virtual FVector3f GetDimensions() const override
Definition DatasmithSceneElementsImpl.h:361
virtual FMD5Hash GetFileHash() const override
Definition DatasmithSceneElementsImpl.h:357
virtual float GetWidth() const override
Definition DatasmithSceneElementsImpl.h:364
virtual int32 GetLightmapCoordinateIndex() const
Definition DatasmithSceneElementsImpl.h:368
virtual void SetDimensions(float InArea, float InWidth, float InHeight, float InDepth) override
Definition DatasmithSceneElementsImpl.h:360
virtual int32 GetLODCount() const override
Definition DatasmithSceneElementsImpl.h:382
virtual int32 GetMaterialSlotCount() const override
Definition DatasmithSceneElementsImpl.cpp:84
virtual void SetMaterial(const TCHAR *MaterialPathName, int32 SlotId) override
Definition DatasmithSceneElementsImpl.cpp:57
virtual void SetLightmapCoordinateIndex(int32 UVChannel)
Definition DatasmithSceneElementsImpl.h:369
virtual float GetDepth() const override
Definition DatasmithSceneElementsImpl.h:366
virtual int32 GetLightmapSourceUV() const override
Definition DatasmithSceneElementsImpl.h:371
virtual const TCHAR * GetFile() const override
Definition DatasmithSceneElementsImpl.h:354
virtual float GetArea() const override
Definition DatasmithSceneElementsImpl.h:363
virtual void SetFileHash(FMD5Hash Hash) override
Definition DatasmithSceneElementsImpl.h:358
virtual void SetLightmapSourceUV(int32 UVChannel) override
Definition DatasmithSceneElementsImpl.h:372
virtual void SetFile(const TCHAR *InFile) override
Definition DatasmithSceneElementsImpl.h:355
virtual float GetHeight() const override
Definition DatasmithSceneElementsImpl.h:365
Definition DatasmithSceneElementsImpl.h:1548
virtual int32 GetPropertiesCount() const override
Definition DatasmithSceneElementsImpl.h:1555
virtual const TSharedPtr< IDatasmithElement > & GetAssociatedElement() const override
Definition DatasmithSceneElementsImpl.h:1552
virtual UE_API void RemoveProperty(const TSharedPtr< IDatasmithKeyValueProperty > &Property) override
Definition DatasmithSceneElementsImpl.cpp:982
virtual UE_API const TSharedPtr< IDatasmithKeyValueProperty > & GetProperty(int32 i) const override
Definition DatasmithSceneElementsImpl.cpp:952
virtual UE_API void ResetProperties() override
Definition DatasmithSceneElementsImpl.cpp:987
virtual UE_API const TSharedPtr< IDatasmithKeyValueProperty > & GetPropertyByName(const TCHAR *InName) const override
Definition DatasmithSceneElementsImpl.cpp:957
virtual void SetAssociatedElement(const TSharedPtr< IDatasmithElement > &Element)
Definition DatasmithSceneElementsImpl.h:1553
virtual UE_API void AddProperty(const TSharedPtr< IDatasmithKeyValueProperty > &Property) override
Definition DatasmithSceneElementsImpl.cpp:965
Definition DatasmithSceneElementsImpl.h:673
virtual EDatasmithLightUnits GetIntensityUnits() const
Definition DatasmithSceneElementsImpl.h:683
virtual void SetSourceLength(float InSourceLength) override
Definition DatasmithSceneElementsImpl.h:689
FDatasmithPointLightElementImpl(const TCHAR *InName, EDatasmithElementType ChildType)
Definition DatasmithSceneElementsImpl.h:695
virtual float GetSourceLength() const override
Definition DatasmithSceneElementsImpl.h:688
virtual void SetIntensityUnits(EDatasmithLightUnits InUnits)
Definition DatasmithSceneElementsImpl.h:682
virtual float GetSourceRadius() const override
Definition DatasmithSceneElementsImpl.h:685
virtual float GetAttenuationRadius() const override
Definition DatasmithSceneElementsImpl.h:691
virtual void SetSourceRadius(float InSourceRadius) override
Definition DatasmithSceneElementsImpl.h:686
virtual void SetAttenuationRadius(float InAttenuationRadius) override
Definition DatasmithSceneElementsImpl.h:692
FDatasmithPointLightElementImpl(const TCHAR *InName)
Definition DatasmithSceneElementsImpl.h:677
Definition DatasmithSceneElementsImpl.h:814
virtual void SetDepthOfFieldFstop(float InFstop) override
Definition DatasmithSceneElementsImpl.h:843
virtual float GetTemperature() const override
Definition DatasmithSceneElementsImpl.h:818
virtual void SetColorFilter(FLinearColor InColorFilter) override
Definition DatasmithSceneElementsImpl.h:822
virtual void SetDof(float InDof) override
Definition DatasmithSceneElementsImpl.h:828
virtual void SetSaturation(float InSaturation) override
Definition DatasmithSceneElementsImpl.h:834
virtual float GetDepthOfFieldFstop() const override
Definition DatasmithSceneElementsImpl.h:842
virtual float GetVignette() const override
Definition DatasmithSceneElementsImpl.h:824
virtual void SetCameraShutterSpeed(float InCameraShutterSpeed) override
Definition DatasmithSceneElementsImpl.h:840
virtual float GetCameraShutterSpeed() const override
Definition DatasmithSceneElementsImpl.h:839
virtual void SetCameraISO(float InCameraISO) override
Definition DatasmithSceneElementsImpl.h:837
virtual float GetMotionBlur() const override
Definition DatasmithSceneElementsImpl.h:830
FDatasmithPostProcessElementImpl()
Definition DatasmithSceneElementsImpl.cpp:213
virtual float GetDof() const override
Definition DatasmithSceneElementsImpl.h:827
virtual float GetCameraISO() const override
Definition DatasmithSceneElementsImpl.h:836
virtual void SetVignette(float InVignette) override
Definition DatasmithSceneElementsImpl.h:825
virtual float GetSaturation() const override
Definition DatasmithSceneElementsImpl.h:833
virtual FLinearColor GetColorFilter() const override
Definition DatasmithSceneElementsImpl.h:821
virtual void SetMotionBlur(float InMotionBlur) override
Definition DatasmithSceneElementsImpl.h:831
virtual void SetTemperature(float InTemperature) override
Definition DatasmithSceneElementsImpl.h:819
Definition DatasmithSceneElementsImpl.h:858
virtual TSharedRef< IDatasmithPostProcessElement > GetSettings() const override
Definition DatasmithSceneElementsImpl.h:862
virtual void SetSettings(const TSharedRef< IDatasmithPostProcessElement > &InSettings) override
Definition DatasmithSceneElementsImpl.h:863
virtual void SetEnabled(bool bInEnabled)
Definition DatasmithSceneElementsImpl.h:866
virtual void SetUnbound(bool bInUnbound) override
Definition DatasmithSceneElementsImpl.h:869
virtual bool GetUnbound() const override
Definition DatasmithSceneElementsImpl.h:868
virtual bool GetEnabled() const
Definition DatasmithSceneElementsImpl.h:865
static UE_API TSharedRef< IDatasmithMaterialIDElement > CreateMaterialId(const TCHAR *InName)
Definition DatasmithSceneFactory.cpp:297
Definition DatasmithSceneElementsImpl.h:1595
virtual UE_API void RemoveMetaDataAt(int32 InIndex) override
Definition DatasmithSceneElementsImpl.cpp:1253
virtual int32 GetExportDuration() const override
Definition DatasmithSceneElementsImpl.h:1633
virtual UE_API void EmptyClothes() override
Definition DatasmithSceneElementsImpl.cpp:1188
virtual const TCHAR * GetResourcePath() const override
Definition DatasmithSceneElementsImpl.h:1619
virtual UE_API void RemoveMetaData(const TSharedPtr< IDatasmithMetaDataElement > &Element) override
Definition DatasmithSceneElementsImpl.cpp:1244
virtual const TSharedPtr< IDatasmithPostProcessElement > & GetPostProcess() const override
Definition DatasmithSceneElementsImpl.h:1686
virtual void SetPostProcess(const TSharedPtr< IDatasmithPostProcessElement > &InPostProcess) override
Definition DatasmithSceneElementsImpl.h:1684
virtual UE_API int32 GetClothesCount() const override
Definition DatasmithSceneElementsImpl.cpp:1151
virtual TSharedPtr< IDatasmithPostProcessElement > GetPostProcess() override
Definition DatasmithSceneElementsImpl.h:1685
virtual int32 GetMeshesCount() const override
Definition DatasmithSceneElementsImpl.h:1637
virtual void AddLevelSequence(const TSharedRef< IDatasmithLevelSequenceElement > &InSequence) override
Definition DatasmithSceneElementsImpl.h:1700
virtual void SetUserID(const TCHAR *InUserID) override
Definition DatasmithSceneElementsImpl.h:1623
virtual const TCHAR * GetUserID() const override
Definition DatasmithSceneElementsImpl.h:1622
virtual void SetGeolocationLatitude(double InLatitude) override
Definition DatasmithSceneElementsImpl.h:1629
virtual UE_API TSharedPtr< IDatasmithMeshElement > GetMesh(int32 InIndex) override
Definition DatasmithSceneElementsImpl.cpp:1112
virtual const TCHAR * GetProductVersion() const override
Definition DatasmithSceneElementsImpl.h:1616
virtual UE_API TSharedPtr< IDatasmithMetaDataElement > GetMetaData(int32 InIndex) override
Definition DatasmithSceneElementsImpl.cpp:1196
virtual UE_API void RemoveMaterialAt(int32 InIndex) override
Definition DatasmithSceneElementsImpl.cpp:1403
virtual UE_API TSharedPtr< IDatasmithBaseMaterialElement > GetMaterial(int32 InIndex) override
Definition DatasmithSceneElementsImpl.cpp:1392
virtual void EmptyMeshes() override
Definition DatasmithSceneElementsImpl.h:1642
virtual void RemoveLevelVariantSets(const TSharedPtr< IDatasmithLevelVariantSetsElement > &InLevelVariantSets) override
Definition DatasmithSceneElementsImpl.h:1711
virtual void SetUserOS(const TCHAR *InUserOS) override
Definition DatasmithSceneElementsImpl.h:1626
virtual UE_API TSharedPtr< IDatasmithClothElement > GetCloth(int32 InIndex) override
Definition DatasmithSceneElementsImpl.cpp:1156
virtual void RemoveTexture(const TSharedPtr< IDatasmithTextureElement > &InTexture) override
Definition DatasmithSceneElementsImpl.h:1680
virtual void AddTexture(const TSharedPtr< IDatasmithTextureElement > &InTexture) override
Definition DatasmithSceneElementsImpl.h:1676
virtual void AddMesh(const TSharedPtr< IDatasmithMeshElement > &InMesh) override
Definition DatasmithSceneElementsImpl.h:1636
virtual UE_API void RemoveMeshAt(int32 InIndex) override
Definition DatasmithSceneElementsImpl.cpp:1137
virtual int32 GetMetaDataCount() const override
Definition DatasmithSceneElementsImpl.h:1692
virtual UE_API void RemoveActorAt(int32 InIndex, EDatasmithActorRemovalRule RemoveRule) override
Definition DatasmithSceneElementsImpl.cpp:1384
virtual const TCHAR * GetExporterVersion() const override
Definition DatasmithSceneElementsImpl.h:1604
virtual void SetProductVersion(const TCHAR *InProductVersion) override
Definition DatasmithSceneElementsImpl.h:1617
virtual UE_API const TCHAR * GetHost() const override
Definition DatasmithSceneElementsImpl.cpp:1101
virtual int32 GetMaterialsCount() const override
Definition DatasmithSceneElementsImpl.h:1669
virtual UE_API TSharedPtr< IDatasmithLevelSequenceElement > GetLevelSequence(int32 InIndex) override
Definition DatasmithSceneElementsImpl.cpp:1271
virtual void SetGeolocationLongitude(double InLongitude) override
Definition DatasmithSceneElementsImpl.h:1630
virtual void RemoveMaterial(const TSharedPtr< IDatasmithBaseMaterialElement > &InMaterial) override
Definition DatasmithSceneElementsImpl.h:1672
virtual int32 GetTexturesCount() const override
Definition DatasmithSceneElementsImpl.h:1677
virtual void SetExportDuration(int32 InExportDuration) override
Definition DatasmithSceneElementsImpl.h:1634
virtual UE_API void RemoveClothAt(int32 InIndex) override
Definition DatasmithSceneElementsImpl.cpp:1180
virtual void SetResourcePath(const TCHAR *InResourcePath) override
Definition DatasmithSceneElementsImpl.h:1620
virtual void SetExporterSDKVersion(const TCHAR *InVersion) override
Definition DatasmithSceneElementsImpl.h:1608
virtual PRAGMA_ENABLE_DEPRECATION_WARNINGS void AddActor(const TSharedPtr< IDatasmithActorElement > &InActor) override
Definition DatasmithSceneElementsImpl.h:1661
virtual void AddMetaData(const TSharedPtr< IDatasmithMetaDataElement > &InMetaData) override
Definition DatasmithSceneElementsImpl.h:1691
virtual int32 GetActorsCount() const override
Definition DatasmithSceneElementsImpl.h:1662
virtual void RemoveMesh(const TSharedPtr< IDatasmithMeshElement > &InMesh) override
Definition DatasmithSceneElementsImpl.h:1640
virtual const TCHAR * GetProductName() const override
Definition DatasmithSceneElementsImpl.h:1613
virtual const TCHAR * GetExporterSDKVersion() const override
Definition DatasmithSceneElementsImpl.h:1607
virtual UE_API void AttachActorToSceneRoot(const TSharedPtr< IDatasmithActorElement > &Child, EDatasmithActorAttachmentRule AttachmentRule) override
Definition DatasmithSceneElementsImpl.cpp:1510
virtual UE_API void AttachActor(const TSharedPtr< IDatasmithActorElement > &NewParent, const TSharedPtr< IDatasmithActorElement > &Child, EDatasmithActorAttachmentRule AttachmentRule) override
Definition DatasmithSceneElementsImpl.cpp:1457
virtual void AddLevelVariantSets(const TSharedPtr< IDatasmithLevelVariantSetsElement > &InLevelVariantSets) override
Definition DatasmithSceneElementsImpl.h:1707
virtual void RemoveLevelSequence(const TSharedRef< IDatasmithLevelSequenceElement > &InSequence) override
Definition DatasmithSceneElementsImpl.h:1704
virtual bool GetUsePhysicalSky() const override
Definition DatasmithSceneElementsImpl.h:1689
virtual const TCHAR * GetVendor() const override
Definition DatasmithSceneElementsImpl.h:1610
virtual void SetVendor(const TCHAR *InVendor) override
Definition DatasmithSceneElementsImpl.h:1611
virtual FVector GetGeolocation() const override
Definition DatasmithSceneElementsImpl.h:1628
virtual UE_API void RemoveLevelSequenceAt(int32 InIndex) override
Definition DatasmithSceneElementsImpl.cpp:1282
PRAGMA_DISABLE_DEPRECATION_WARNINGS virtual UE_API void AddCloth(const TSharedPtr< IDatasmithClothElement > &InElement) override
Definition DatasmithSceneElementsImpl.cpp:1146
virtual UE_API void RemoveTextureAt(int32 InIndex) override
Definition DatasmithSceneElementsImpl.cpp:1422
virtual UE_API TSharedPtr< IDatasmithLevelVariantSetsElement > GetLevelVariantSets(int32 InIndex) override
Definition DatasmithSceneElementsImpl.cpp:1290
virtual void SetUsePhysicalSky(bool bInUsePhysicalSky) override
Definition DatasmithSceneElementsImpl.h:1688
virtual void EmptyTextures() override
Definition DatasmithSceneElementsImpl.h:1682
virtual void SetGeolocationElevation(double InElevation) override
Definition DatasmithSceneElementsImpl.h:1631
virtual UE_API void SetHost(const TCHAR *InHostname) override
Definition DatasmithSceneElementsImpl.cpp:1106
virtual void SetProductName(const TCHAR *InProductName) override
Definition DatasmithSceneElementsImpl.h:1614
virtual UE_API TSharedPtr< IDatasmithActorElement > GetActor(int32 InIndex) override
Definition DatasmithSceneElementsImpl.cpp:1368
virtual UE_API void RemoveActor(const TSharedPtr< IDatasmithActorElement > &InActor, EDatasmithActorRemovalRule RemoveRule) override
Definition DatasmithSceneElementsImpl.cpp:1379
virtual int32 GetLevelSequencesCount() const override
Definition DatasmithSceneElementsImpl.h:1701
virtual const TCHAR * GetUserOS() const override
Definition DatasmithSceneElementsImpl.h:1625
virtual void SetExporterVersion(const TCHAR *InVersion) override
Definition DatasmithSceneElementsImpl.h:1605
virtual UE_API void RemoveCloth(const TSharedPtr< IDatasmithClothElement > &InElement) override
Definition DatasmithSceneElementsImpl.cpp:1175
virtual int32 GetLevelVariantSetsCount() const override
Definition DatasmithSceneElementsImpl.h:1708
virtual UE_API void Reset() override
Definition DatasmithSceneElementsImpl.cpp:1073
virtual void AddMaterial(const TSharedPtr< IDatasmithBaseMaterialElement > &InMaterial) override
Definition DatasmithSceneElementsImpl.h:1668
virtual UE_API TSharedPtr< IDatasmithTextureElement > GetTexture(int32 InIndex) override
Definition DatasmithSceneElementsImpl.cpp:1411
virtual void EmptyMaterials() override
Definition DatasmithSceneElementsImpl.h:1674
virtual UE_API void RemoveLevelVariantSetsAt(int32 InIndex) override
Definition DatasmithSceneElementsImpl.cpp:1301
Definition DatasmithSceneElementsImpl.h:1126
virtual const TCHAR * GetDiffuseTexture() const override
Definition DatasmithSceneElementsImpl.h:1148
virtual void SetWeightValue(double InValue) override
Definition DatasmithSceneElementsImpl.h:1276
virtual FLinearColor GetTransparencyColor() const override
Definition DatasmithSceneElementsImpl.h:1204
virtual double GetEmitPower() const override
Definition DatasmithSceneElementsImpl.h:1252
virtual TSharedPtr< IDatasmithCompositeTexture > & GetMetalComp() override
Definition DatasmithSceneElementsImpl.h:1236
virtual FDatasmithTextureSampler GetDiffTextureSampler() const override
Definition DatasmithSceneElementsImpl.h:1151
virtual const TCHAR * GetMetalTexture() const override
Definition DatasmithSceneElementsImpl.h:1230
virtual void SetMetalTexture(const TCHAR *InValue) override
Definition DatasmithSceneElementsImpl.h:1231
virtual bool GetIsStackedLayer() const override
Definition DatasmithSceneElementsImpl.h:1281
virtual void SetBumpTextureSampler(FDatasmithTextureSampler InValue) override
Definition DatasmithSceneElementsImpl.h:1198
virtual void SetIsStackedLayer(bool InValue) override
Definition DatasmithSceneElementsImpl.h:1282
virtual void SetTransparencyColor(FLinearColor InValue) override
Definition DatasmithSceneElementsImpl.h:1205
virtual void SetDiffuseColor(FLinearColor InValue) override
Definition DatasmithSceneElementsImpl.h:1146
virtual TSharedPtr< IDatasmithCompositeTexture > & GetDiffuseComp() override
Definition DatasmithSceneElementsImpl.h:1154
virtual const TCHAR * GetNormalTexture() const override
Definition DatasmithSceneElementsImpl.h:1184
virtual const TCHAR * GetEmitTexture() const override
Definition DatasmithSceneElementsImpl.h:1240
virtual FLinearColor GetReflectanceColor() const override
Definition DatasmithSceneElementsImpl.h:1158
virtual const TSharedPtr< IDatasmithCompositeTexture > & GetTransComp() const override
Definition DatasmithSceneElementsImpl.h:1214
virtual void SetReflectanceTexture(const TCHAR *InValue) override
Definition DatasmithSceneElementsImpl.h:1162
virtual void SetDiffuseComp(const TSharedPtr< IDatasmithCompositeTexture > &InValue) override
Definition DatasmithSceneElementsImpl.h:1156
virtual void SetUseEmissiveForDynamicAreaLighting(bool InUseEmissiveForDynamicAreaLighting) override
Definition DatasmithSceneElementsImpl.h:1288
virtual void SetRefleComp(const TSharedPtr< IDatasmithCompositeTexture > &InValue) override
Definition DatasmithSceneElementsImpl.h:1169
virtual TSharedPtr< IDatasmithCompositeTexture > & GetRefleComp() override
Definition DatasmithSceneElementsImpl.h:1167
virtual double GetMetal() const override
Definition DatasmithSceneElementsImpl.h:1227
virtual TSharedPtr< IDatasmithCompositeTexture > & GetMaskComp() override
Definition DatasmithSceneElementsImpl.h:1223
virtual double GetIORRefra() const override
Definition DatasmithSceneElementsImpl.h:1136
virtual bool GetTwoSided() const override
Definition DatasmithSceneElementsImpl.h:1142
virtual double GetEmitTemperature() const override
Definition DatasmithSceneElementsImpl.h:1249
virtual void SetRefleTextureSampler(FDatasmithTextureSampler InValue) override
Definition DatasmithSceneElementsImpl.h:1165
virtual void SetWeightTextureSampler(FDatasmithTextureSampler InValue) override
Definition DatasmithSceneElementsImpl.h:1269
virtual const bool GetUseEmissiveForDynamicAreaLighting() const override
Definition DatasmithSceneElementsImpl.h:1287
virtual void SetBlendMode(EDatasmithBlendMode InValue) override
Definition DatasmithSceneElementsImpl.h:1279
virtual TSharedPtr< IDatasmithCompositeTexture > & GetRoughnessComp() override
Definition DatasmithSceneElementsImpl.h:1177
virtual TSharedPtr< IDatasmithCompositeTexture > & GetEmitComp() override
Definition DatasmithSceneElementsImpl.h:1255
virtual const TSharedPtr< IDatasmithCompositeTexture > & GetRefleComp() const override
Definition DatasmithSceneElementsImpl.h:1168
virtual FDatasmithTextureSampler GetMaskTextureSampler() const override
Definition DatasmithSceneElementsImpl.h:1220
virtual const TSharedPtr< IDatasmithCompositeTexture > & GetRoughnessComp() const override
Definition DatasmithSceneElementsImpl.h:1178
virtual void SetEmitColor(FLinearColor InValue) override
Definition DatasmithSceneElementsImpl.h:1247
virtual const TCHAR * GetMaskTexture() const override
Definition DatasmithSceneElementsImpl.h:1217
virtual void SetEmitTexture(const TCHAR *InValue) override
Definition DatasmithSceneElementsImpl.h:1241
virtual FDatasmithTextureSampler GetBumpTextureSampler() const override
Definition DatasmithSceneElementsImpl.h:1197
virtual void SetEmitPower(double InValue) override
Definition DatasmithSceneElementsImpl.h:1253
virtual FDatasmithTextureSampler GetTransTextureSampler() const override
Definition DatasmithSceneElementsImpl.h:1210
virtual double GetRoughness() const override
Definition DatasmithSceneElementsImpl.h:1171
virtual double GetIOR() const override
Definition DatasmithSceneElementsImpl.h:1130
virtual FLinearColor GetEmitColor() const override
Definition DatasmithSceneElementsImpl.h:1246
virtual const TSharedPtr< IDatasmithCompositeTexture > & GetDiffuseComp() const override
Definition DatasmithSceneElementsImpl.h:1155
virtual void SetMetalComp(const TSharedPtr< IDatasmithCompositeTexture > &Value) override
Definition DatasmithSceneElementsImpl.h:1238
virtual void SetNormalComp(const TSharedPtr< IDatasmithCompositeTexture > &InValue) override
Definition DatasmithSceneElementsImpl.h:1192
virtual const TSharedPtr< IDatasmithCompositeTexture > & GetWeightComp() const override
Definition DatasmithSceneElementsImpl.h:1272
virtual const TSharedPtr< IDatasmithCompositeTexture > & GetEmitComp() const override
Definition DatasmithSceneElementsImpl.h:1256
virtual void SetRoughTextureSampler(FDatasmithTextureSampler InValue) override
Definition DatasmithSceneElementsImpl.h:1182
virtual void SetIORRefra(double Value) override
Definition DatasmithSceneElementsImpl.h:1137
virtual void SetReflectanceColor(FLinearColor InValue) override
Definition DatasmithSceneElementsImpl.h:1159
virtual const TCHAR * GetBumpTexture() const override
Definition DatasmithSceneElementsImpl.h:1194
virtual void SetShaderUsage(EDatasmithShaderUsage InShaderUsage) override
Definition DatasmithSceneElementsImpl.h:1285
virtual void SetEmitTemperature(double InValue) override
Definition DatasmithSceneElementsImpl.h:1250
virtual void SetMaskTextureSampler(FDatasmithTextureSampler InValue) override
Definition DatasmithSceneElementsImpl.h:1221
virtual double GetIORk() const override
Definition DatasmithSceneElementsImpl.h:1133
virtual FDatasmithTextureSampler GetEmitTextureSampler() const override
Definition DatasmithSceneElementsImpl.h:1243
virtual void SetRoughnessComp(const TSharedPtr< IDatasmithCompositeTexture > &InValue) override
Definition DatasmithSceneElementsImpl.h:1179
virtual void SetDiffuseTexture(const TCHAR *InValue) override
Definition DatasmithSceneElementsImpl.h:1149
virtual void SetNormalTexture(const TCHAR *InValue) override
Definition DatasmithSceneElementsImpl.h:1185
virtual void SetBumpAmount(double InValue) override
Definition DatasmithSceneElementsImpl.h:1140
virtual FDatasmithTextureSampler GetRoughTextureSampler() const override
Definition DatasmithSceneElementsImpl.h:1181
virtual bool GetLightOnly() const override
Definition DatasmithSceneElementsImpl.h:1259
virtual void SetNormalTextureSampler(FDatasmithTextureSampler InValue) override
Definition DatasmithSceneElementsImpl.h:1188
virtual TSharedPtr< IDatasmithCompositeTexture > & GetWeightComp() override
Definition DatasmithSceneElementsImpl.h:1271
virtual EDatasmithBlendMode GetBlendMode() const override
Definition DatasmithSceneElementsImpl.h:1278
virtual FLinearColor GetWeightColor() const override
Definition DatasmithSceneElementsImpl.h:1262
virtual void SetDiffTextureSampler(FDatasmithTextureSampler InValue) override
Definition DatasmithSceneElementsImpl.h:1152
virtual const TSharedPtr< IDatasmithCompositeTexture > & GetMaskComp() const override
Definition DatasmithSceneElementsImpl.h:1224
virtual void SetTwoSided(bool InValue) override
Definition DatasmithSceneElementsImpl.h:1143
virtual const EDatasmithShaderUsage GetShaderUsage() const override
Definition DatasmithSceneElementsImpl.h:1284
virtual void SetEmitTextureSampler(FDatasmithTextureSampler InValue) override
Definition DatasmithSceneElementsImpl.h:1244
virtual void SetMetal(double InValue) override
Definition DatasmithSceneElementsImpl.h:1228
virtual void SetIOR(double InValue) override
Definition DatasmithSceneElementsImpl.h:1131
virtual void SetMetalTextureSampler(FDatasmithTextureSampler InValue) override
Definition DatasmithSceneElementsImpl.h:1234
virtual void SetIORk(double InValue) override
Definition DatasmithSceneElementsImpl.h:1134
virtual void SetTransTextureSampler(FDatasmithTextureSampler InValue) override
Definition DatasmithSceneElementsImpl.h:1211
virtual void SetBumpTexture(const TCHAR *Value) override
Definition DatasmithSceneElementsImpl.h:1195
virtual FDatasmithTextureSampler GetWeightTextureSampler() const override
Definition DatasmithSceneElementsImpl.h:1268
virtual void SetMaskComp(const TSharedPtr< IDatasmithCompositeTexture > &InValue) override
Definition DatasmithSceneElementsImpl.h:1225
virtual void SetTransparencyTexture(const TCHAR *InValue) override
Definition DatasmithSceneElementsImpl.h:1208
virtual void SetWeightColor(FLinearColor InValue) override
Definition DatasmithSceneElementsImpl.h:1263
virtual void SetEmitComp(const TSharedPtr< IDatasmithCompositeTexture > &InValue) override
Definition DatasmithSceneElementsImpl.h:1257
virtual TSharedPtr< IDatasmithCompositeTexture > & GetTransComp() override
Definition DatasmithSceneElementsImpl.h:1213
virtual void SetTransComp(const TSharedPtr< IDatasmithCompositeTexture > &InValue) override
Definition DatasmithSceneElementsImpl.h:1215
virtual FLinearColor GetDiffuseColor() const override
Definition DatasmithSceneElementsImpl.h:1145
virtual const TCHAR * GetReflectanceTexture() const override
Definition DatasmithSceneElementsImpl.h:1161
virtual void SetRoughnessTexture(const TCHAR *InValue) override
Definition DatasmithSceneElementsImpl.h:1175
virtual const TCHAR * GetRoughnessTexture() const override
Definition DatasmithSceneElementsImpl.h:1174
virtual const TCHAR * GetWeightTexture() const override
Definition DatasmithSceneElementsImpl.h:1265
virtual void SetWeightTexture(const TCHAR *InValue) override
Definition DatasmithSceneElementsImpl.h:1266
virtual void SetRoughness(double InValue) override
Definition DatasmithSceneElementsImpl.h:1172
virtual FDatasmithTextureSampler GetRefleTextureSampler() const override
Definition DatasmithSceneElementsImpl.h:1164
virtual FDatasmithTextureSampler GetMetalTextureSampler() const override
Definition DatasmithSceneElementsImpl.h:1233
virtual void SetLightOnly(bool InValue) override
Definition DatasmithSceneElementsImpl.h:1260
virtual double GetBumpAmount() const override
Definition DatasmithSceneElementsImpl.h:1139
virtual TSharedPtr< IDatasmithCompositeTexture > & GetNormalComp() override
Definition DatasmithSceneElementsImpl.h:1190
virtual TSharedPtr< IDatasmithCompositeTexture > & GetBumpComp() override
Definition DatasmithSceneElementsImpl.h:1200
virtual const TSharedPtr< IDatasmithCompositeTexture > & GetBumpComp() const override
Definition DatasmithSceneElementsImpl.h:1201
virtual const TCHAR * GetTransparencyTexture() const override
Definition DatasmithSceneElementsImpl.h:1207
virtual const TSharedPtr< IDatasmithCompositeTexture > & GetMetalComp() const override
Definition DatasmithSceneElementsImpl.h:1237
virtual FDatasmithTextureSampler GetNormalTextureSampler() const override
Definition DatasmithSceneElementsImpl.h:1187
virtual double GetWeightValue() const override
Definition DatasmithSceneElementsImpl.h:1275
virtual void SetWeightComp(const TSharedPtr< IDatasmithCompositeTexture > &InValue) override
Definition DatasmithSceneElementsImpl.h:1273
virtual void SetMaskTexture(const TCHAR *InValue) override
Definition DatasmithSceneElementsImpl.h:1218
virtual void SetBumpComp(const TSharedPtr< IDatasmithCompositeTexture > &InValue) override
Definition DatasmithSceneElementsImpl.h:1202
virtual const TSharedPtr< IDatasmithCompositeTexture > & GetNormalComp() const override
Definition DatasmithSceneElementsImpl.h:1191
Definition DatasmithSceneElementsImpl.h:717
virtual void SetInnerConeAngle(float InInnerConeAngle) override
Definition DatasmithSceneElementsImpl.h:730
FDatasmithSpotLightElementImpl(const TCHAR *InName, EDatasmithElementType ChildType)
Definition DatasmithSceneElementsImpl.h:746
virtual void SetOuterConeAngle(float InOuterConeAngle) override
Definition DatasmithSceneElementsImpl.h:740
FDatasmithSpotLightElementImpl(const TCHAR *InName)
Definition DatasmithSceneElementsImpl.h:720
virtual float GetInnerConeAngle() const override
Definition DatasmithSceneElementsImpl.h:725
virtual float GetOuterConeAngle() const override
Definition DatasmithSceneElementsImpl.h:735
Definition DatasmithSceneElementsImpl.h:1071
virtual void SetTextureFilter(EDatasmithTextureFilter InFilter) override
Definition DatasmithSceneElementsImpl.cpp:586
virtual const TCHAR * GetFile() const override
Definition DatasmithSceneElementsImpl.cpp:547
virtual EDatasmithTextureAddress GetTextureAddressY() const override
Definition DatasmithSceneElementsImpl.cpp:601
virtual EDatasmithTextureFilter GetTextureFilter() const override
Definition DatasmithSceneElementsImpl.cpp:581
virtual FMD5Hash GetFileHash() const override
Definition DatasmithSceneElementsImpl.h:1083
virtual void SetRGBCurve(float InRGBCurve) override
Definition DatasmithSceneElementsImpl.cpp:626
virtual void SetFileHash(FMD5Hash Hash) override
Definition DatasmithSceneElementsImpl.h:1084
virtual void SetTextureMode(EDatasmithTextureMode InMode) override
Definition DatasmithSceneElementsImpl.cpp:576
virtual float GetRGBCurve() const override
Definition DatasmithSceneElementsImpl.cpp:621
virtual void SetData(const uint8 *InData, uint32 InDataSize, EDatasmithTextureFormat InFormat) override
Definition DatasmithSceneElementsImpl.cpp:562
virtual EDatasmithTextureAddress GetTextureAddressX() const override
Definition DatasmithSceneElementsImpl.cpp:591
virtual void SetSRGB(EDatasmithColorSpace Option) override
Definition DatasmithSceneElementsImpl.cpp:636
virtual const uint8 * GetData(uint32 &OutDataSize, EDatasmithTextureFormat &OutFormat) const override
Definition DatasmithSceneElementsImpl.cpp:569
virtual EDatasmithColorSpace GetSRGB() const override
Definition DatasmithSceneElementsImpl.cpp:631
virtual bool GetAllowResize() const override
Definition DatasmithSceneElementsImpl.cpp:611
virtual FMD5Hash CalculateElementHash(bool bForce) override
Definition DatasmithSceneElementsImpl.cpp:518
virtual void SetAllowResize(bool bInAllowResize) override
Definition DatasmithSceneElementsImpl.cpp:616
virtual void SetFile(const TCHAR *InFile) override
Definition DatasmithSceneElementsImpl.cpp:552
virtual EDatasmithTextureMode GetTextureMode() const override
Definition DatasmithSceneElementsImpl.cpp:557
virtual void SetTextureAddressY(EDatasmithTextureAddress InMode) override
Definition DatasmithSceneElementsImpl.cpp:606
virtual void SetTextureAddressX(EDatasmithTextureAddress InMode) override
Definition DatasmithSceneElementsImpl.cpp:596
Definition DatasmithTypes.h:20
static UE_API FString SanitizeObjectName(FString InString)
Definition DatasmithUtils.cpp:74
static COREUOBJECT_API bool IsValidObjectPath(FStringView InObjectPath, FText *OutReason=nullptr)
Definition PackageName.cpp:1327
Definition IDatasmithSceneElements.h:73
Definition IDatasmithSceneElements.h:488
Definition IDatasmithSceneElements.h:626
Definition IDatasmithSceneElements.h:1272
TPair< float, const TCHAR * > ParamVal
Definition IDatasmithSceneElements.h:1274
Definition IDatasmithSceneElements.h:481
Definition IDatasmithSceneElements.h:28
Definition DatasmithAnimationElements.h:120
Definition DatasmithVariantElements.h:71
Definition IDatasmithSceneElements.h:515
Definition IDatasmithSceneElements.h:1410
Definition IDatasmithSceneElements.h:708
Definition IDatasmithSceneElements.h:800
Definition Landscape.Build.cs:7
Definition Array.h:670
SizeType Remove(const ElementType &Item)
Definition Array.h:3091
UE_REWRITE SizeType Num() const
Definition Array.h:1144
SizeType RemoveSingleSwap(const ElementType &Item, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
Definition Array.h:3211
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
SizeType IndexOfByPredicate(Predicate Pred) const
Definition Array.h:1423
void Empty(SizeType Slack=0)
Definition Array.h:2273
Definition DatasmithSceneGraphSharedState.h:67
bool IsValidIndex(SizeType Index) const
Definition DatasmithSceneGraphSharedState.h:97
TArray< TSharedPtr< T > > & Edit()
Definition DatasmithSceneGraphSharedState.h:105
virtual int32 Num() const override
Definition DatasmithSceneGraphSharedState.h:71
const TArray< TSharedPtr< T > > & View() const
Definition DatasmithSceneGraphSharedState.h:104
SizeType Add(const TSharedPtr< T > &Element)
Definition DatasmithSceneGraphSharedState.h:98
void Empty()
Definition DatasmithSceneGraphSharedState.h:102
SizeType Remove(const TSharedPtr< T > &Item)
Definition DatasmithSceneGraphSharedState.h:100
Definition DatasmithSceneGraphSharedState.h:26
const TSharedPtr< T > & View() const
Definition DatasmithSceneGraphSharedState.h:57
TSharedPtr< T > Inner
Definition DatasmithSceneGraphSharedState.h:61
TSharedPtr< T > & Edit()
Definition DatasmithSceneGraphSharedState.h:58
Definition UnrealString.h.inl:34
Definition SharedPointer.h:1640
TSharedRef< ObjectType, Mode > AsShared()
Definition SharedPointer.h:1650
Definition SharedPointer.h:692
TSharedRef< ObjectType, Mode > ToSharedRef() const &
Definition SharedPointer.h:1028
UE_FORCEINLINE_HINT void Reset()
Definition SharedPointer.h:1120
Definition SharedPointer.h:153
U16 Index
Definition radfft.cpp:71
Definition Color.h:48
float G
Definition Color.h:54
float B
Definition Color.h:55
float R
Definition Color.h:53
Definition SecureHash.h:133
static UE_FORCEINLINE_HINT int32 Stricmp(const CharType *String1, const CharType *String2)
Definition CString.h:1030
Definition Tuple.h:652
CORE_API TTransform< T > GetRelativeTransform(const TTransform< T > &Other) const
Definition Transform.cpp:169
TVector< T > GetTranslation() const
Definition TransformNonVectorized.h:1120
TQuat< T > GetRotation() const
Definition TransformNonVectorized.h:1109
TVector< T > GetScale3D() const
Definition TransformNonVectorized.h:1131