8#include "Containers/Array.h"
11#define UE_API DATASMITHCORE_API
26 for (
const FString&
String : Strings)
32 template<
typename ReferenceType >
37 FMD5Hash ReferenceHash = Reference.Edit()->CalculateElementHash(
true);
42 template<
typename ClassType >
112template<
typename InterfaceType >
115 ,
public TSharedFromThis< FDatasmithMaterialExpressionImpl< InterfaceType > >
167template<
typename InterfaceType >
465 RegisterReferenceProxy(
Inputs,
"Inputs" );
466 RegisterReferenceProxy(
Properties,
"Properties" );
537 RegisterReferenceProxy(
Inputs,
"Inputs" );
751template<
typename InterfaceType >
754 , DefaultOutputIndex( 0 )
756 this->RegisterReferenceProxy(
Outputs,
"Outputs" );
760template<
typename InterfaceType >
777template<
typename InterfaceType >
781 ResetExpressionImpl();
783 this->Label = FString();
786 for (
int InputIndex = 0; InputIndex < GetInputCount(); ++InputIndex )
789 Input->SetExpression(
nullptr );
@ INDEX_NONE
Definition CoreMiscDefines.h:150
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EDatasmithShaderDataType
Definition DatasmithDefinitions.h:323
EDatasmithElementType
Definition DatasmithDefinitions.h:20
@ MaterialExpressionOutput
EDatasmithShadingModel
Definition DatasmithDefinitions.h:357
EDatasmithMaterialExpressionType
Definition DatasmithDefinitions.h:90
#define UE_API
Definition DatasmithMaterialElementsImpl.h:11
#define ArgName(Type, Name)
Definition TypedElementQueryCapabilityForwarder.h:45
TStoreKey< T, S > & RegisterParameter(TStoreKey< T, S > &Key, FName Name)
Definition DirectLinkParameterStore.h:118
Definition DirectLinkParameterStore.h:168
Definition DirectLinkParameterStore.h:28
Definition DatasmithSceneElementsImpl.h:1365
Definition DatasmithSceneElementsImpl.h:25
TReflected< uint64 > Subtype
Definition DatasmithSceneElementsImpl.h:55
FMD5Hash ElementHash
Definition DatasmithSceneElementsImpl.h:51
uint64 GetSubType() const
Definition DatasmithSceneElementsImpl.h:48
TReflected< FString > Name
Definition DatasmithSceneElementsImpl.h:56
DirectLink::FParameterStore Store
Definition DatasmithSceneElementsImpl.h:53
Definition DatasmithMaterialElementsImpl.h:90
FMD5Hash CalculateElementHash(bool bForce) override
Definition DatasmithMaterialElementsImpl.h:96
FDatasmithExpressionOutputImpl(const TCHAR *InOutputName)
Definition DatasmithMaterialElementsImpl.h:92
Definition DatasmithMaterialElementsImpl.h:169
FDatasmithExpressionParameterImpl(EDatasmithMaterialExpressionType InSubType)
Definition DatasmithMaterialElementsImpl.h:173
FMD5Hash ComputeHash()
Definition DatasmithMaterialElementsImpl.h:183
virtual const TCHAR * GetGroupName() const override
Definition DatasmithMaterialElementsImpl.h:179
FDatasmithMaterialExpressionImpl< InterfaceType > TBaseExpression
Definition DatasmithMaterialElementsImpl.h:171
virtual void SetGroupName(const TCHAR *InGroupName) override
Definition DatasmithMaterialElementsImpl.h:180
TReflected< FString > GroupName
Definition DatasmithMaterialElementsImpl.h:199
Definition DatasmithMaterialElementsImpl.h:203
FMD5Hash CalculateElementHash(bool bForce) override
Definition DatasmithMaterialElementsImpl.h:216
TReflected< bool > bValue
Definition DatasmithMaterialElementsImpl.h:235
virtual bool & GetBool() override
Definition DatasmithMaterialElementsImpl.h:207
virtual void ResetExpressionImpl() override
Definition DatasmithMaterialElementsImpl.h:210
FDatasmithMaterialExpressionBoolImpl()
Definition DatasmithMaterialElementsImpl.cpp:78
virtual const bool & GetBool() const override
Definition DatasmithMaterialElementsImpl.h:208
Definition DatasmithMaterialElementsImpl.h:239
virtual FLinearColor & GetColor() override
Definition DatasmithMaterialElementsImpl.h:243
TReflected< FLinearColor > LinearColor
Definition DatasmithMaterialElementsImpl.h:271
virtual void ResetExpressionImpl() override
Definition DatasmithMaterialElementsImpl.h:246
FMD5Hash CalculateElementHash(bool bForce) override
Definition DatasmithMaterialElementsImpl.h:252
virtual const FLinearColor & GetColor() const override
Definition DatasmithMaterialElementsImpl.h:244
FDatasmithMaterialExpressionColorImpl()
Definition DatasmithMaterialElementsImpl.cpp:86
Definition DatasmithMaterialElementsImpl.h:588
virtual const TCHAR * GetCode() const override
Definition DatasmithMaterialElementsImpl.h:597
virtual FMD5Hash CalculateElementHash(bool bForce) override
Definition DatasmithMaterialElementsImpl.h:628
virtual void SetArgumentName(int32 ArgIndex, const TCHAR *ArgName) override
Definition DatasmithMaterialElementsImpl.cpp:442
FDatasmithMaterialExpressionCustomImpl()
Definition DatasmithMaterialElementsImpl.cpp:414
virtual int32 GetAdditionalDefineCount() const override
Definition DatasmithMaterialElementsImpl.h:609
TReflected< TArray< FString > > Defines
Definition DatasmithMaterialElementsImpl.h:657
TReflected< EDatasmithShaderDataType, uint32 > OutputType
Definition DatasmithMaterialElementsImpl.h:655
TReflected< TArray< FString > > ArgNames
Definition DatasmithMaterialElementsImpl.h:658
virtual void ResetExpressionImpl() override
Definition DatasmithMaterialElementsImpl.h:617
virtual int32 GetInputCount() const override
Definition DatasmithMaterialElementsImpl.h:592
virtual int32 GetIncludeFilePathCount() const override
Definition DatasmithMaterialElementsImpl.h:605
virtual void AddAdditionalDefine(const TCHAR *Define) override
Definition DatasmithMaterialElementsImpl.h:610
virtual const TCHAR * GetIncludeFilePath(int32 Index) const override
Definition DatasmithMaterialElementsImpl.h:607
virtual const TCHAR * GetDescription() const override
Definition DatasmithMaterialElementsImpl.h:600
virtual void SetDescription(const TCHAR *InDescription) override
Definition DatasmithMaterialElementsImpl.h:599
virtual const IDatasmithExpressionInput * GetInput(int32 Index) const override
Definition DatasmithMaterialElementsImpl.h:594
virtual void SetOutputType(EDatasmithShaderDataType InOutputType) override
Definition DatasmithMaterialElementsImpl.h:602
virtual int32 GetArgumentNameCount() const override
Definition DatasmithMaterialElementsImpl.h:613
TReflected< FString > Description
Definition DatasmithMaterialElementsImpl.h:654
virtual const TCHAR * GetArgumentName(int32 Index) const override
Definition DatasmithMaterialElementsImpl.h:615
TReflected< TArray< FString > > IncludeFilePaths
Definition DatasmithMaterialElementsImpl.h:656
virtual void AddIncludeFilePath(const TCHAR *Path) override
Definition DatasmithMaterialElementsImpl.h:606
virtual EDatasmithShaderDataType GetOutputType() const override
Definition DatasmithMaterialElementsImpl.h:603
virtual const TCHAR * GetAdditionalDefine(int32 Index) const override
Definition DatasmithMaterialElementsImpl.h:611
TReflected< FString > Code
Definition DatasmithMaterialElementsImpl.h:653
TDatasmithReferenceArrayProxy< FDatasmithExpressionInputImpl > Inputs
Definition DatasmithMaterialElementsImpl.h:659
virtual void SetCode(const TCHAR *InCode) override
Definition DatasmithMaterialElementsImpl.h:596
virtual IDatasmithExpressionInput * GetInput(int32 Index) override
Definition DatasmithMaterialElementsImpl.cpp:426
Definition DatasmithMaterialElementsImpl.h:417
virtual const IDatasmithExpressionInput * GetInput(int32 Index) const override
Definition DatasmithMaterialElementsImpl.h:429
TDatasmithReferenceProxy< FDatasmithExpressionInputImpl > Normal
Definition DatasmithMaterialElementsImpl.h:453
virtual const IDatasmithExpressionInput & GetFlatness() const override
Definition DatasmithMaterialElementsImpl.h:425
virtual void ResetExpressionImpl() override
Definition DatasmithMaterialElementsImpl.h:431
virtual IDatasmithExpressionInput & GetNormal() override
Definition DatasmithMaterialElementsImpl.h:421
FMD5Hash CalculateElementHash(bool bForce) override
Definition DatasmithMaterialElementsImpl.h:433
virtual IDatasmithExpressionInput * GetInput(int32 Index) override
Definition DatasmithMaterialElementsImpl.h:428
virtual const IDatasmithExpressionInput & GetNormal() const override
Definition DatasmithMaterialElementsImpl.h:422
virtual int32 GetInputCount() const override
Definition DatasmithMaterialElementsImpl.h:427
virtual IDatasmithExpressionInput & GetFlatness() override
Definition DatasmithMaterialElementsImpl.h:424
FDatasmithMaterialExpressionFlattenNormalImpl()
Definition DatasmithMaterialElementsImpl.cpp:131
TDatasmithReferenceProxy< FDatasmithExpressionInputImpl > Flatness
Definition DatasmithMaterialElementsImpl.h:454
Definition DatasmithMaterialElementsImpl.h:532
FMD5Hash CalculateElementHash(bool bForce) override
Definition DatasmithMaterialElementsImpl.h:563
virtual const TCHAR * GetFunctionPathName() const override
Definition DatasmithMaterialElementsImpl.h:542
TDatasmithReferenceArrayProxy< FDatasmithExpressionInputImpl > Inputs
Definition DatasmithMaterialElementsImpl.h:583
virtual void ResetExpressionImpl() override
Definition DatasmithMaterialElementsImpl.h:557
virtual void SetFunctionPathName(const TCHAR *InFunctionPathName) override
Definition DatasmithMaterialElementsImpl.h:541
FDatasmithMaterialExpressionFunctionCallImpl()
Definition DatasmithMaterialElementsImpl.h:534
virtual IDatasmithExpressionInput * GetInput(int32 Index) override
Definition DatasmithMaterialElementsImpl.h:545
virtual int32 GetInputCount() const override
Definition DatasmithMaterialElementsImpl.h:544
virtual const IDatasmithExpressionInput * GetInput(int32 Index) const override
Definition DatasmithMaterialElementsImpl.h:555
TReflected< FString > FunctionPathName
Definition DatasmithMaterialElementsImpl.h:584
Definition DatasmithMaterialElementsImpl.h:458
TDatasmithReferenceArrayProxy< IDatasmithKeyValueProperty > Properties
Definition DatasmithMaterialElementsImpl.h:528
virtual void ResetExpressionImpl() override
Definition DatasmithMaterialElementsImpl.h:497
TDatasmithReferenceArrayProxy< FDatasmithExpressionInputImpl > Inputs
Definition DatasmithMaterialElementsImpl.h:525
virtual const IDatasmithExpressionInput * GetInput(int32 Index) const override
Definition DatasmithMaterialElementsImpl.h:495
int32 GetPropertiesCount() const override
Definition DatasmithMaterialElementsImpl.h:474
TReflected< FString > ExpressionName
Definition DatasmithMaterialElementsImpl.h:526
virtual int32 GetInputCount() const override
Definition DatasmithMaterialElementsImpl.h:484
virtual void SetExpressionName(const TCHAR *InExpressionName) override
Definition DatasmithMaterialElementsImpl.h:471
FMD5Hash CalculateElementHash(bool bForce) override
Definition DatasmithMaterialElementsImpl.h:504
static TSharedPtr< IDatasmithKeyValueProperty > NullPropertyPtr
Definition DatasmithMaterialElementsImpl.h:460
void AddProperty(const TSharedPtr< IDatasmithKeyValueProperty > &InProperty) override
Definition DatasmithMaterialElementsImpl.cpp:184
const TSharedPtr< IDatasmithKeyValueProperty > & GetPropertyByName(const TCHAR *InName) const override
Definition DatasmithMaterialElementsImpl.cpp:164
FDatasmithMaterialExpressionGenericImpl()
Definition DatasmithMaterialElementsImpl.h:462
virtual const TCHAR * GetExpressionName() const override
Definition DatasmithMaterialElementsImpl.h:472
virtual IDatasmithExpressionInput * GetInput(int32 Index) override
Definition DatasmithMaterialElementsImpl.h:485
const TSharedPtr< IDatasmithKeyValueProperty > & GetProperty(int32 InIndex) const override
Definition DatasmithMaterialElementsImpl.cpp:144
Definition DatasmithMaterialElementsImpl.h:116
virtual int32 GetInputCount() const override
Definition DatasmithMaterialElementsImpl.h:136
FMD5Hash ComputeHash()
Definition DatasmithMaterialElementsImpl.h:148
virtual const IDatasmithExpressionInput * GetInput(int32 Index) const override
Definition DatasmithMaterialElementsImpl.h:138
TDatasmithReferenceArrayProxy< FDatasmithExpressionOutputImpl > Outputs
Definition DatasmithMaterialElementsImpl.h:162
virtual void ConnectExpression(IDatasmithExpressionInput &ExpressionInput) override
Definition DatasmithMaterialElementsImpl.h:129
virtual void ConnectExpression(IDatasmithExpressionInput &ExpressionInput, int32 OutputIndex) override
Definition DatasmithMaterialElementsImpl.h:761
virtual ~FDatasmithMaterialExpressionImpl()=default
virtual IDatasmithExpressionInput * GetInput(int32 Index) override
Definition DatasmithMaterialElementsImpl.h:137
TReflected< int32 > DefaultOutputIndex
Definition DatasmithMaterialElementsImpl.h:164
virtual void SetDefaultOutputIndex(int32 InDefaultOutputIndex) override
Definition DatasmithMaterialElementsImpl.h:141
virtual int32 GetDefaultOutputIndex() const override
Definition DatasmithMaterialElementsImpl.h:140
virtual bool IsSubType(const EDatasmithMaterialExpressionType ExpressionType) const override
Definition DatasmithMaterialElementsImpl.h:124
virtual void ResetExpressionImpl()=0
virtual bool IsSubTypeInternal(uint64 InSubType) const override
Definition DatasmithMaterialElementsImpl.h:127
virtual EDatasmithMaterialExpressionType GetExpressionType() const override
Definition DatasmithMaterialElementsImpl.h:122
FDatasmithMaterialExpressionImpl(EDatasmithMaterialExpressionType InSubType)
Definition DatasmithMaterialElementsImpl.h:752
virtual void ResetExpression() override
Definition DatasmithMaterialElementsImpl.h:778
Definition DatasmithMaterialElementsImpl.h:275
virtual const float & GetScalar() const override
Definition DatasmithMaterialElementsImpl.h:280
virtual void ResetExpressionImpl() override
Definition DatasmithMaterialElementsImpl.h:282
virtual float & GetScalar() override
Definition DatasmithMaterialElementsImpl.h:279
TReflected< float > Scalar
Definition DatasmithMaterialElementsImpl.h:307
FDatasmithMaterialExpressionScalarImpl()
Definition DatasmithMaterialElementsImpl.cpp:98
FMD5Hash CalculateElementHash(bool bForce) override
Definition DatasmithMaterialElementsImpl.h:288
Definition DatasmithMaterialElementsImpl.h:370
TReflected< float > VTiling
Definition DatasmithMaterialElementsImpl.h:413
FDatasmithMaterialExpressionTextureCoordinateImpl()
Definition DatasmithMaterialElementsImpl.cpp:120
virtual float GetVTiling() const override
Definition DatasmithMaterialElementsImpl.h:380
virtual int32 GetCoordinateIndex() const override
Definition DatasmithMaterialElementsImpl.h:374
virtual void SetCoordinateIndex(int32 InCoordinateIndex) override
Definition DatasmithMaterialElementsImpl.h:375
virtual void ResetExpressionImpl() override
Definition DatasmithMaterialElementsImpl.h:383
virtual void SetVTiling(float InVTiling) override
Definition DatasmithMaterialElementsImpl.h:381
FMD5Hash CalculateElementHash(bool bForce) override
Definition DatasmithMaterialElementsImpl.h:390
TReflected< int32 > CoordinateIndex
Definition DatasmithMaterialElementsImpl.h:411
virtual void SetUTiling(float InUTiling) override
Definition DatasmithMaterialElementsImpl.h:378
virtual float GetUTiling() const override
Definition DatasmithMaterialElementsImpl.h:377
TReflected< float > UTiling
Definition DatasmithMaterialElementsImpl.h:412
Definition DatasmithMaterialElementsImpl.h:311
virtual const TCHAR * GetTexturePathName() const override
Definition DatasmithMaterialElementsImpl.h:315
TReflected< FString > TexturePathName
Definition DatasmithMaterialElementsImpl.h:355
virtual const IDatasmithExpressionInput * GetInput(int32 Index) const override
Definition DatasmithMaterialElementsImpl.h:326
virtual IDatasmithExpressionInput & GetInputCoordinate() override
Definition DatasmithMaterialElementsImpl.h:321
virtual int32 GetInputCount() const override
Definition DatasmithMaterialElementsImpl.h:324
virtual IDatasmithExpressionInput * GetInput(int32 Index) override
Definition DatasmithMaterialElementsImpl.h:325
FDatasmithMaterialExpressionTextureImpl()
Definition DatasmithMaterialElementsImpl.cpp:106
virtual void SetTexturePathName(const TCHAR *InTexturePathName)
Definition DatasmithMaterialElementsImpl.h:316
FMD5Hash CalculateElementHash(bool bForce) override
Definition DatasmithMaterialElementsImpl.h:334
TDatasmithReferenceProxy< FDatasmithExpressionInputImpl > TextureCoordinate
Definition DatasmithMaterialElementsImpl.h:357
virtual void ResetExpressionImpl() override
Definition DatasmithMaterialElementsImpl.h:328
virtual const IDatasmithExpressionInput & GetInputCoordinate() const override
Definition DatasmithMaterialElementsImpl.h:322
Definition DatasmithMaterialElementsImpl.h:663
TDatasmithReferenceProxy< FDatasmithExpressionInputImpl > BaseColor
Definition DatasmithMaterialElementsImpl.h:722
virtual IDatasmithExpressionInput & GetClearCoat() override
Definition DatasmithMaterialElementsImpl.h:679
virtual UE_API int32 GetExpressionIndex(const IDatasmithMaterialExpression *Expression) const override
Definition DatasmithMaterialElementsImpl.cpp:297
virtual IDatasmithExpressionInput & GetSpecular() override
Definition DatasmithMaterialElementsImpl.h:672
TReflected< float > OpacityMaskClipValue
Definition DatasmithMaterialElementsImpl.h:744
virtual IDatasmithExpressionInput & GetBaseColor() override
Definition DatasmithMaterialElementsImpl.h:670
virtual float GetOpacityMaskClipValue() const override
Definition DatasmithMaterialElementsImpl.h:699
virtual IDatasmithExpressionInput & GetClearCoatRoughness() override
Definition DatasmithMaterialElementsImpl.h:680
virtual IDatasmithExpressionInput & GetOpacity() override
Definition DatasmithMaterialElementsImpl.h:675
virtual bool GetIsThinSurface() const override
Definition DatasmithMaterialElementsImpl.h:690
virtual int32 GetExpressionsCount() const override
Definition DatasmithMaterialElementsImpl.h:705
virtual IDatasmithExpressionInput & GetNormal() override
Definition DatasmithMaterialElementsImpl.h:676
virtual IDatasmithExpressionInput & GetMetallic() override
Definition DatasmithMaterialElementsImpl.h:671
virtual IDatasmithExpressionInput & GetMaterialAttributes() override
Definition DatasmithMaterialElementsImpl.h:682
virtual UE_API const TCHAR * GetParentLabel() const override
Definition DatasmithMaterialElementsImpl.cpp:388
virtual UE_API FMD5Hash CalculateElementHash(bool bForce) override
Definition DatasmithMaterialElementsImpl.cpp:245
TDatasmithReferenceProxy< FDatasmithExpressionInputImpl > Specular
Definition DatasmithMaterialElementsImpl.h:724
TReflected< bool > bTwoSided
Definition DatasmithMaterialElementsImpl.h:740
virtual void SetUseMaterialAttributes(bool bInUseMaterialAttributes) override
Definition DatasmithMaterialElementsImpl.h:694
TDatasmithReferenceProxy< FDatasmithExpressionInputImpl > WorldDisplacement
Definition DatasmithMaterialElementsImpl.h:729
virtual void SetTranslucencyLightingMode(int InMode)
Definition DatasmithMaterialElementsImpl.h:703
virtual IDatasmithExpressionInput & GetEmissiveColor() override
Definition DatasmithMaterialElementsImpl.h:674
virtual UE_API void CustomSerialize(class DirectLink::FSnapshotProxy &Ar) override
Definition DatasmithMaterialElementsImpl.cpp:394
virtual void SetTwoSided(bool bInTwoSided) override
Definition DatasmithMaterialElementsImpl.h:688
TDatasmithReferenceProxy< FDatasmithExpressionInputImpl > ClearCoat
Definition DatasmithMaterialElementsImpl.h:732
virtual IDatasmithExpressionInput & GetRoughness() override
Definition DatasmithMaterialElementsImpl.h:673
virtual UE_API IDatasmithMaterialExpression * GetExpression(int32 Index) override
Definition DatasmithMaterialElementsImpl.cpp:292
virtual void SetShadingModel(const EDatasmithShadingModel InShadingModel) override
Definition DatasmithMaterialElementsImpl.h:716
virtual ~FDatasmithUEPbrMaterialElementImpl()=default
TDatasmithReferenceArrayProxy< IDatasmithMaterialExpression > Expressions
Definition DatasmithMaterialElementsImpl.h:737
virtual int GetTranslucencyLightingMode() const
Definition DatasmithMaterialElementsImpl.h:702
TDatasmithReferenceProxy< FDatasmithExpressionInputImpl > ClearCoatRoughness
Definition DatasmithMaterialElementsImpl.h:733
virtual EDatasmithShadingModel GetShadingModel() const override
Definition DatasmithMaterialElementsImpl.h:717
virtual void SetParentLabel(const TCHAR *InParentLabel) override
Definition DatasmithMaterialElementsImpl.h:713
virtual void SetBlendMode(int InBlendMode) override
Definition DatasmithMaterialElementsImpl.h:685
TDatasmithReferenceProxy< FDatasmithExpressionInputImpl > Metallic
Definition DatasmithMaterialElementsImpl.h:723
TReflected< int32 > BlendMode
Definition DatasmithMaterialElementsImpl.h:739
TDatasmithReferenceProxy< FDatasmithExpressionInputImpl > Opacity
Definition DatasmithMaterialElementsImpl.h:727
TDatasmithReferenceProxy< FDatasmithExpressionInputImpl > AmbientOcclusion
Definition DatasmithMaterialElementsImpl.h:731
TDatasmithReferenceProxy< FDatasmithExpressionInputImpl > Normal
Definition DatasmithMaterialElementsImpl.h:728
TReflected< bool > bUseMaterialAttributes
Definition DatasmithMaterialElementsImpl.h:742
TReflected< FString > ParentLabel
Definition DatasmithMaterialElementsImpl.h:747
TDatasmithReferenceProxy< FDatasmithExpressionInputImpl > WorldPositionOffset
Definition DatasmithMaterialElementsImpl.h:734
virtual void SetMaterialFunctionOnly(bool bInMaterialFunctionOnly) override
Definition DatasmithMaterialElementsImpl.h:697
virtual UE_API IDatasmithMaterialExpression * AddMaterialExpression(const EDatasmithMaterialExpressionType ExpressionType) override
Definition DatasmithMaterialElementsImpl.cpp:314
TReflected< bool > bMaterialFunctionOnly
Definition DatasmithMaterialElementsImpl.h:743
virtual void SetOpacityMaskClipValue(float InClipValue) override
Definition DatasmithMaterialElementsImpl.h:700
virtual bool GetUseMaterialAttributes() const override
Definition DatasmithMaterialElementsImpl.h:693
TReflected< int32 > TranslucencyLightingMode
Definition DatasmithMaterialElementsImpl.h:745
virtual IDatasmithExpressionInput & GetAmbientOcclusion() override
Definition DatasmithMaterialElementsImpl.h:678
virtual void SetIsThinSurface(bool bInIsThinSurface) override
Definition DatasmithMaterialElementsImpl.h:691
virtual bool GetTwoSided() const override
Definition DatasmithMaterialElementsImpl.h:687
TDatasmithReferenceProxy< FDatasmithExpressionInputImpl > Refraction
Definition DatasmithMaterialElementsImpl.h:730
virtual int GetBlendMode() const override
Definition DatasmithMaterialElementsImpl.h:684
TReflected< bool > bIsThinSurface
Definition DatasmithMaterialElementsImpl.h:741
TDatasmithReferenceProxy< FDatasmithExpressionInputImpl > MaterialAttributes
Definition DatasmithMaterialElementsImpl.h:735
virtual UE_API void ResetExpressionGraph(bool bRemoveAllExpressions) override
Definition DatasmithMaterialElementsImpl.cpp:357
virtual IDatasmithExpressionInput & GetRefraction() override
Definition DatasmithMaterialElementsImpl.h:677
virtual IDatasmithExpressionInput & GetWorldPositionOffset() override
Definition DatasmithMaterialElementsImpl.h:681
TDatasmithReferenceProxy< FDatasmithExpressionInputImpl > Roughness
Definition DatasmithMaterialElementsImpl.h:725
virtual bool GetMaterialFunctionOnly() const override
Definition DatasmithMaterialElementsImpl.h:696
TDatasmithReferenceProxy< FDatasmithExpressionInputImpl > EmissiveColor
Definition DatasmithMaterialElementsImpl.h:726
TReflected< EDatasmithShadingModel, uint8 > ShadingModel
Definition DatasmithMaterialElementsImpl.h:748
!it would be cool if these were implemented as subclasses of
Definition SecureHash.h:58
CORE_API void Update(const uint8 *input, uint64 inputLen)
Definition SecureHash.cpp:135
Definition DatasmithMaterialElements.h:23
Definition DatasmithMaterialElements.h:205
Definition DatasmithMaterialElements.h:184
Definition DatasmithMaterialElements.h:38
UE_REWRITE SizeType Num() const
Definition Array.h:1144
Definition DatasmithSceneGraphSharedState.h:67
bool IsValidIndex(SizeType Index) const
Definition DatasmithSceneGraphSharedState.h:97
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
Definition DatasmithSceneGraphSharedState.h:26
const TSharedPtr< T > & View() const
Definition DatasmithSceneGraphSharedState.h:57
TSharedPtr< T > & Edit()
Definition DatasmithSceneGraphSharedState.h:58
Definition SharedPointer.h:1640
Definition SharedPointer.h:692
UE_FORCEINLINE_HINT ObjectType * Get() const
Definition SharedPointer.h:1065
Definition DatasmithMaterialElementsImpl.h:15
void UpdateHashWithArray(FMD5 &MD5, TDatasmithReferenceArrayProxy< ClassType > &Array)
Definition DatasmithMaterialElementsImpl.h:43
FORCEINLINE void UpdateHashWithString(FMD5 &MD5, const FString &String)
Definition DatasmithMaterialElementsImpl.h:16
void UpdateHashWithReference(FMD5 &MD5, TDatasmithReferenceProxy< ReferenceType > &Reference)
Definition DatasmithMaterialElementsImpl.h:33
FORCEINLINE void UpdateHashWithStrings(FMD5 &MD5, const TArray< FString > &Strings)
Definition DatasmithMaterialElementsImpl.h:24
U16 Index
Definition radfft.cpp:71
Definition SecureHash.h:133
const uint8 * GetBytes() const
Definition SecureHash.h:175
const int32 GetSize() const
Definition SecureHash.h:176
bool IsValid() const
Definition SecureHash.h:138
void Set(FMD5 &MD5)
Definition SecureHash.h:141