UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FDatasmithMeshElementImpl Class Reference

#include <DatasmithSceneElementsImpl.h>

+ Inheritance diagram for FDatasmithMeshElementImpl:

Public Member Functions

 FDatasmithMeshElementImpl (const TCHAR *InName)
 
virtual FMD5Hash CalculateElementHash (bool bForce) override
 
virtual const TCHARGetFile () const override
 
virtual void SetFile (const TCHAR *InFile) override
 
virtual FMD5Hash GetFileHash () const override
 
virtual void SetFileHash (FMD5Hash Hash) override
 
virtual void SetDimensions (float InArea, float InWidth, float InHeight, float InDepth) override
 
virtual FVector3f GetDimensions () const override
 
virtual float GetArea () const override
 
virtual float GetWidth () const override
 
virtual float GetHeight () const override
 
virtual float GetDepth () const override
 
virtual int32 GetLightmapCoordinateIndex () const
 
virtual void SetLightmapCoordinateIndex (int32 UVChannel)
 
virtual int32 GetLightmapSourceUV () const override
 
virtual void SetLightmapSourceUV (int32 UVChannel) override
 
virtual void SetMaterial (const TCHAR *MaterialPathName, int32 SlotId) override
 
virtual const TCHARGetMaterial (int32 SlotId) const override
 
virtual int32 GetMaterialSlotCount () const override
 
virtual TSharedPtr< const IDatasmithMaterialIDElementGetMaterialSlotAt (int32 Index) const override
 
virtual TSharedPtr< IDatasmithMaterialIDElementGetMaterialSlotAt (int32 Index) override
 
- Public Member Functions inherited from FDatasmithElementImpl< IDatasmithMeshElement >
 FDatasmithElementImpl (const TCHAR *InName, EDatasmithElementType InType, uint64 InSubType=0)
 
virtual ~FDatasmithElementImpl ()
 
virtual bool IsA (EDatasmithElementType InType) const override
 
virtual const TCHARGetName () const override
 
virtual void SetName (const TCHAR *InName) override
 
virtual const TCHARGetLabel () const override
 
virtual void SetLabel (const TCHAR *InLabel) override
 
virtual TSharedPtr< DirectLink::FSceneGraphSharedStateMakeSharedState () const override
 
virtual const DirectLink::FParameterStoreGetStore () const override
 
virtual DirectLink::FParameterStoreGetStore () override
 
- Public Member Functions inherited from IDatasmithMeshElement
virtual ~IDatasmithMeshElement ()
 

Protected Member Functions

virtual int32 GetLODCount () const override
 
virtual void SetLODCount (int32 Count) override
 
- Protected Member Functions inherited from FDatasmithElementImpl< IDatasmithMeshElement >
virtual bool IsSubTypeInternal (uint64 InSubType) const
 
EDatasmithElementType GetElementType () const
 
uint64 GetSubType () const
 

Additional Inherited Members

- Protected Attributes inherited from FDatasmithElementImpl< IDatasmithMeshElement >
FMD5Hash ElementHash
 
DirectLink::FParameterStore Store
 
TReflected< EDatasmithElementType, uint64Type
 
TReflected< uint64Subtype
 
TReflected< FString > Name
 
TReflected< FString > Label
 

Constructor & Destructor Documentation

◆ FDatasmithMeshElementImpl()

FDatasmithMeshElementImpl::FDatasmithMeshElementImpl ( const TCHAR InName)
explicit

Member Function Documentation

◆ CalculateElementHash()

FMD5Hash FDatasmithMeshElementImpl::CalculateElementHash ( bool  bForce)
overridevirtual

Return a MD5 hash of the content of the Element. Used to quickly identify Element with identical content.

Parameters
bForceForce recalculation of the hash if it was already cached
Returns
The MD5 hash of the Element properties

Reimplemented from FDatasmithElementImpl< IDatasmithMeshElement >.

◆ GetArea()

virtual float FDatasmithMeshElementImpl::GetArea ( ) const
inlineoverridevirtual

Get the total surface area

Implements IDatasmithMeshElement.

◆ GetDepth()

virtual float FDatasmithMeshElementImpl::GetDepth ( ) const
inlineoverridevirtual

Get the bounding box depth

Implements IDatasmithMeshElement.

◆ GetDimensions()

virtual FVector3f FDatasmithMeshElementImpl::GetDimensions ( ) const
inlineoverridevirtual

Get the bounding box dimension of the mesh, in a vector in the form of (Width, Height, Depth )

Implements IDatasmithMeshElement.

◆ GetFile()

virtual const TCHAR * FDatasmithMeshElementImpl::GetFile ( ) const
inlineoverridevirtual

Get the output filename, it can be absolute or relative to the scene file

Implements IDatasmithMeshElement.

◆ GetFileHash()

virtual FMD5Hash FDatasmithMeshElementImpl::GetFileHash ( ) const
inlineoverridevirtual

Return a MD5 hash of the content of the Mesh Element. Used in CalculateElementHash to quickly identify Element with identical content

Implements IDatasmithMeshElement.

◆ GetHeight()

virtual float FDatasmithMeshElementImpl::GetHeight ( ) const
inlineoverridevirtual

Get the bounding box height

Implements IDatasmithMeshElement.

◆ GetLightmapCoordinateIndex()

virtual int32 FDatasmithMeshElementImpl::GetLightmapCoordinateIndex ( ) const
inlinevirtual

Get the UV channel that will be used for the lightmap

Implements IDatasmithMeshElement.

◆ GetLightmapSourceUV()

virtual int32 FDatasmithMeshElementImpl::GetLightmapSourceUV ( ) const
inlineoverridevirtual

Get the source UV channel that will be used at import to generate the lightmap UVs

Implements IDatasmithMeshElement.

◆ GetLODCount()

virtual int32 FDatasmithMeshElementImpl::GetLODCount ( ) const
inlineoverrideprotectedvirtual

Get number of LODs

Implements IDatasmithMeshElement.

◆ GetMaterial()

const TCHAR * FDatasmithMeshElementImpl::GetMaterial ( int32  SlotId) const
overridevirtual

Get the name of the material mapped to slot Id, return nullptr if slot isn't mapped

Implements IDatasmithMeshElement.

◆ GetMaterialSlotAt() [1/2]

TSharedPtr< const IDatasmithMaterialIDElement > FDatasmithMeshElementImpl::GetMaterialSlotAt ( int32  Index) const
overridevirtual

Get the material mapping for slot Index

Implements IDatasmithMeshElement.

◆ GetMaterialSlotAt() [2/2]

TSharedPtr< IDatasmithMaterialIDElement > FDatasmithMeshElementImpl::GetMaterialSlotAt ( int32  Index)
overridevirtual

Implements IDatasmithMeshElement.

◆ GetMaterialSlotCount()

int32 FDatasmithMeshElementImpl::GetMaterialSlotCount ( ) const
overridevirtual

Get the number of material slot set on this mesh

Implements IDatasmithMeshElement.

◆ GetWidth()

virtual float FDatasmithMeshElementImpl::GetWidth ( ) const
inlineoverridevirtual

Get the bounding box width

Implements IDatasmithMeshElement.

◆ SetDimensions()

virtual void FDatasmithMeshElementImpl::SetDimensions ( float  InArea,
float  InWidth,
float  InHeight,
float  InDepth 
)
inlineoverridevirtual

Set surface area and bounding box dimensions to be used on lightmap size calculation.

Parameters
InAreatotal surface area
InWidthbounding box width
InHeightbounding box height
InDepthbounding box depth

Implements IDatasmithMeshElement.

◆ SetFile()

virtual void FDatasmithMeshElementImpl::SetFile ( const TCHAR InFile)
inlineoverridevirtual

Set the output filename, it can be absolute or relative to the scene file

Implements IDatasmithMeshElement.

◆ SetFileHash()

virtual void FDatasmithMeshElementImpl::SetFileHash ( FMD5Hash  Hash)
inlineoverridevirtual

Set the MD5 hash of the current mesh file. This should be a hash of its content.

Implements IDatasmithMeshElement.

◆ SetLightmapCoordinateIndex()

virtual void FDatasmithMeshElementImpl::SetLightmapCoordinateIndex ( int32  UVChannel)
inlinevirtual

Set the UV channel that will be used for the lightmap Note: If the lightmap coordinate index is something greater than -1 it will make the importer skip the lightmap generation

Implements IDatasmithMeshElement.

◆ SetLightmapSourceUV()

virtual void FDatasmithMeshElementImpl::SetLightmapSourceUV ( int32  UVChannel)
inlineoverridevirtual

Set the source UV channel that will be used at import to generate the lightmap UVs

Implements IDatasmithMeshElement.

◆ SetLODCount()

virtual void FDatasmithMeshElementImpl::SetLODCount ( int32  Count)
inlineoverrideprotectedvirtual

Set number of LODs

Implements IDatasmithMeshElement.

◆ SetMaterial()

void FDatasmithMeshElementImpl::SetMaterial ( const TCHAR MaterialPathName,
int32  SlotId 
)
overridevirtual

Set the material slot Id to use the material MaterialPathName

Implements IDatasmithMeshElement.


The documentation for this class was generated from the following files: