code: [FTriangleID](API\Runtime\MeshDescription\FTriangleID) AppendTriangle ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) & Vertex0, const [FVertexID](API\Runtime\MeshDescription\FVertexID) & Vertex1, const [FVertexID](API\Runtime\MeshDescription\FVertexID) & Vertex2, const [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) & PolygonGroup )


description: IModuleInterfaceimplementation

module: MeshConversion

code: virtual void StartupModule()


description: Append a triangle to the mesh using the given vertex instances and PolygonGroup ID

code: [FTriangleID](API\Runtime\MeshDescription\FTriangleID) AppendTriangle ( const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) & Instance0, const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) & Instance1, const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) & Instance2, const [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) & PolygonGroup )


description: Append a UV 'vertex' and return a new UV ID

code: [FUVID](API\Runtime\MeshDescription\FUVID) AppendUV ( const FVector2D & UVvalue, int32 UVLayerIndex )


description: Append a UV triangle to the specified UV layer. This will use both shared and per-instance UV storage

code: void AppendUVTriangle ( const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) & TriangleID, const [FUVID](API\Runtime\MeshDescription\FUVID) UVverterxID0, const [FUVID](API\Runtime\MeshDescription\FUVID) UVvertexID1, const [FUVID](API\Runtime\MeshDescription\FUVID) UVvertexID2, int32 UVLayerIndex )


description: Append vertex and return new vertex ID

code: [FVertexID](API\Runtime\MeshDescription\FVertexID) AppendVertex ( const FVector & Position )


description: Return the current bounding box of the mesh

code: FBox ComputeBoundingBox() const


description: Create a new MeshDescription PolygonGroup and return it's ID. PolygonGroups are not the same as Polygroups, they essentially represent Mesh Sections, which then reference Material Slots, etc

code: [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) AppendPolygonGroup ( [FName](API\Runtime\Core\UObject\FName) MaterialSlotName )


description: Enable per-triangle integer attribute named PolyTriGroups

code: void EnablePolyGroups()


description: Return position of vertex

code: FVector GetPosition ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) & VertexID )


description: Return position of vertex parent of instance

code: FVector GetPosition ( const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) & InstanceID )


description: Pre-allocate space in the mesh description

code: void ReserveNewVertices ( int32 Count )


description: Pre-allocate space in the mesh description for UVs in the indicated UVLayer

code: void ReserveNewUVs ( int32 Count, int UVLayerIndex )


description: Enable the construction of secondary data structures in the mesh description

code: void ResumeMeshDescriptionIndexing()


description: SetMeshAttribute::Edge::IsHardto true for all edges

code: void SetAllEdgesHardness ( bool bHard )


description: Set the Normal of a vertex instance

code: void SetInstanceNormal ( const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) & InstanceID, const FVector & Normal )


description: Set the full tangent space of a vertex instance, this is stored as a vec3 normal, vec3 tangent, and a bitangent sign

code: void SetInstanceTangentSpace ( const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) & InstanceID, const FVector & Normal, const FVector & Tangent, float Sign )


description: Set the UV of a vertex instance. Note: this generally shouldn't be called directly because it alters the instance UVs but not the shared UVs When setting UVs use AppendUVTriangle

code: void SetInstanceUV ( const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) & InstanceID, const FVector2D & InstanceUV, int32 UVLayerIndex )


code: void SetMeshDescription ( [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) * Description )


description: Set the number of UV layers

code: void SetNumUVLayers ( int32 NumUVLayers )


description: Set the Color of a vertex instance

code: void SetInstanceColor ( const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) & InstanceID, const FVector4f & Color )


description: Set the position of a vertex

code: void SetPosition ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) & VertexID, const FVector & NewPosition )


description: Set the PolyTriGroups attribute value to a specific GroupID for a Triangle

code: void SetPolyGroupID ( const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) & TriangleID, int GroupID )


description: Set the specified value for the named attribute / vertex index combination. If a vertex attribute with the given name doesn't exist, it is created.

code: template<typename T> void SetVertexAttributeValue ( [FName](API\Runtime\Core\UObject\FName) AttributeName, [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID, const T & Value )


description: Disable the construction of secondary data structures in the mesh description

code: void SuspendMeshDescriptionIndexing()


description: Translate the MeshDescription vertex positions

code: void Translate ( const FVector & Translation )


className: FMeshDescriptionBuilder

description: Utility class to construct MeshDescription instances. NB: this will add a vertex-instance UV to the Description, if it has none.

code: class FMeshDescriptionBuilder

GroupMaterialSlotNames

type: TPolygonGroupAt...

InstanceBiTangentSign

type: TVertexInstance...

MeshDescription

type: FMeshDescriptio...

PolyGroups

type: TPolygonAttribu...

TempBuffer

type: TArray<FVertex...

TempUVBuffer

type: TArray<FUVID>

UVCoordinateLayers

type: TArray< TUVAttr...

VertexPositions

type: TVertexAttribut...


code: uint64 GetChangeStamp() const


code: FVector3f GetNormal ( int32 IDValue ) const


code: [FIndex3i](API\Runtime\MeshConversion\FMeshDescriptionEditableTriangle-\FIndex3i) GetTriangle ( int32 IDValue ) const


code: void GetTriVertices ( int32 IDValue, FVector3d & V0, FVector3d & V1, FVector3d & V2 ) const


code: FVector3d GetVertex ( int32 IDValue ) const


code: bool IsNormal ( int32 NID ) const


code: bool IsTriangle ( int32 TID ) const


code: bool IsVertex ( int32 VID ) const


description: ID and Count are the same for MeshDescription because it's compact.

code: int32 MaxTriangleID() const


code: void SetNormal ( int32 IDValue, const FVector3f & Normal )


code: void SetVertex ( int32 IDValue, const FVector3d & NewPos )


code: int32 TriangleCount() const


description: Non-const version of the adapter, with non-const storage and setters TODO: try to be smarter about sharing code w/ the above const version


code: FMeshDescriptionEditableTriangleMeshAdapter ( [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) * MeshIn )


code: FMeshDescriptionMeshAdapterd ( const [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) * MeshIn )


code: FMeshDescriptionMeshAdapterd ( [FMeshDescriptionTriangleMeshAdapter](API\Runtime\MeshConversion\FMeshDescriptionTriangleMeshAdap-) ParentAdapterIn )


className: FMeshDescriptionMeshAdapterd

description: TTriangleMeshAdapter version ofFMeshDescriptionTriangleMeshAdapter

code: struct FMeshDescriptionMeshAdapterd : public [UE::Geometry::TTriangleMeshAdapter< double >](API\Runtime\GeometryCore\TTriangleMeshAdapter)


description: This is the counterpart to DynamicMeshToMeshDescription::ApplyVertexColorTransform to undo an applied sRGB-to-Linear transformation when the MeshDescription was built.

code: void ApplyVertexColorTransform ( FVector4f & Color ) const


description: Default conversion of MeshDescription to DynamicMesh

code: void Convert ( const [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) * MeshIn, [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & MeshOut, bool bCopyTangents )


description: Convert()must have been used to create the TargetMesh before calling this function

code: void CopyTangents ( const [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) * SourceMesh, const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * TargetMesh, [UE::Geometry::TMeshTangents](API\Runtime\GeometryCore\DynamicMesh\TMeshTangents)< double > * TangentsOut )


code: void CopyTangents ( const [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) * SourceMesh, const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * TargetMesh, [UE::Geometry::TMeshTangents](API\Runtime\GeometryCore\DynamicMesh\TMeshTangents)< float > * TangentsOut )


className: EPrimaryGroupMode

description: Various modes can be used to create output triangle groups

code: enum EPrimaryGroupMode { SetToZero, SetToPolygonID, SetToPolygonGroupID, SetToPolyGroup, }


className: FMeshDescriptionToDynamicMesh

description: ConvertFMeshDescriptionto FDynamicMesh3

code: class FMeshDescriptionToDynamicMesh

bCalculateMaps

type: bool

description: Should we calculate conversion index maps

bDisableAttributes

description: Ignore all mesh attributes (e.g. UV/Normal layers, color layer, material groups)

bEnableOutputGroups

description: Should we initialize triangle groups on output mesh

bPrintDebugMessages

description: If true, will print some possibly-helpful debugging spew to output log

bTransformVertexColorsLinearToSRGB

description: Should Vertex Colors of MeshDescription be transformed from Linear to SRGB

bVIDsFromNonManifoldMeshDescriptionAttr

description: If the source MeshDescription is non-manifold, store mesh vertex id as a vertex attribute on the result mesh This data can be accessed using FNonManifoldMappingSupport ( see NonManifoldMappingSupport.h)

GroupMode

type: EPrimaryGroupMo...

description: Which mode to use to create groups on output mesh. Ignored if bEnableOutputGroups = false.

TriIDMap

type: TArray<FTriang...

description: Map from DynamicMesh triangle ID to MeshDescriptionFTriangleID

VertIDMap

description: Map from DynamicMesh vertex Id to MeshDecriptionFVertexID.


code: uint64 GetChangeStamp() const


description: Get Normal by VertexInstanceID

code: FVector3f GetNormal ( int32 IDValue ) const


code: [FIndex3i](API\Runtime\MeshConversion\FMeshDescriptionTriangleMeshAdap-\FIndex3i) GetTriangle ( int32 IDValue ) const


description: Get Normals for a given Triangle

code: template<typename VectorType> void GetTriNormals ( int32 TriId, VectorType & N0, VectorType & N1, VectorType & N2 )


description: Get UVs for a given UVLayer and Triangle

code: template<typename VectorType> void GetTriUVs ( const int32 TriId, const int32 UVLayer, VectorType & UV0, VectorType & UV1, VectorType & UV2 )


code: void GetTriVertices ( int32 IDValue, FVector3d & V0, FVector3d & V1, FVector3d & V2 ) const


code: template<typename VectorType> void GetTriVertices ( int32 IDValue, VectorType & V0, VectorType & V1, VectorType & V2 ) const


description: Get UV by VertexInstanceID for a given UVLayer

code: FVector2f GetUV ( const int32 IDValue, const int32 UVLayer ) const


code: FVector3d GetVertex ( int32 IDValue ) const


code: bool HasUVs ( const int32 UVLayer ) const


code: bool IsTriangle ( int32 TID ) const


code: bool IsNormal ( int32 NID ) const


code: bool IsUV ( const int32 UVId ) const


code: bool IsVertex ( int32 VID ) const


description: ID and Count are the same for MeshDescription because it's compact.

code: int32 MaxTriangleID() const


code: void SetBuildScale ( const FVector3d & BuildScaleIn, bool bScaleNormalsIn )


code: int32 TriangleCount() const


className: FMeshDescriptionTriangleMeshAdapter

description: Usage example  given some const FMeshDescription* Mesh: FMeshDescriptionAABBAdapter MeshAdapter(Mesh); // adapt the mesh TMeshAABBTree3AABBTree(&MeshAdapter); // provide the adapter to a templated class like TMeshAABBTree3

Mesh

type: constFMeshDesc...

TriangleVertexInstanceIndices

type: TArrayView< con...


code: void BakeBackUVsFromUVMesh ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * DynamicUVMesh, [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) * OutputMeshDescription ) const


code: int32 GetNumUVLayers ( const [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) * InputMeshDescription ) const


description: TODO: The conversion function forward to a dynamic mesh should be made to produce maps similar to MeshDescriptionToDynamicMesh, which is why this is not a const function.

code: [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) > GetUVMesh ( const [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) * InputMeshDescription )


className: FMeshDescriptionUVsToDynamicMesh

description: The converter prefers shared UVs when they are available, though it will populate instanced UVs as well on the way back.

code: class FMeshDescriptionUVsToDynamicMesh

ScaleFactor

type: double

description: The [0,1] UV range will be scaled to [0, ScaleFactor].


code: uint64 GetChangeStamp() const


code: FVector3f GetNormal ( int32 IDValue ) const


code: FVector3f GetTangentX ( int32 IDValue ) const


code: [FColor](API\Runtime\Core\Math\FColor) GetColor ( int32 IDValue ) const


code: [FIndex3i](API\Runtime\MeshConversion\FStaticMeshLODResourcesMeshAdapt-\FIndex3i) GetTriangle ( int32 IDValue ) const


code: FVector3f GetTangentY ( int32 IDValue ) const


code: FMeshDescriptionTriangleMeshAdapter ( const [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) * MeshIn )


description: Get Colors for a given Triangle

code: void GetTriColors ( int32 TriId, [FColor](API\Runtime\Core\Math\FColor) & C0, [FColor](API\Runtime\Core\Math\FColor) & C1, [FColor](API\Runtime\Core\Math\FColor) & C2 )


description: Get Normals for a given Triangle

code: template<typename VectorType> void GetTriNormals ( int32 TriId, VectorType & N0, VectorType & N1, VectorType & N2 )


description: Get Tangent X for a given Triangle

code: template<typename VectorType> void GetTriTangentsX ( int32 TriId, VectorType & T0, VectorType & T1, VectorType & T2 )


description: Get Tangent Y for a given Triangle

code: template<typename VectorType> void GetTriTangentsY ( int32 TriId, VectorType & T0, VectorType & T1, VectorType & T2 )


code: template<typename VectorType> void GetTriUVs ( const int32 TriId, const int32 UVLayer, VectorType & UV0, VectorType & UV1, VectorType & UV2 )


code: void GetTriVertices ( int32 IDValue, FVector3d & V0, FVector3d & V1, FVector3d & V2 ) const


code: template<typename VectorType> void GetTriVertices ( int32 IDValue, VectorType & V0, VectorType & V1, VectorType & V2 ) const


code: FVector2f GetUV ( const int32 IDValue, const int32 UVLayer ) const


code: FVector3d GetVertex ( int32 IDValue ) const


code: bool IsColor ( int32 ColorIndex ) const


code: bool HasUVs ( const int32 UVLayer ) const


code: bool IsNormal ( int32 NID ) const


code: bool IsTriangle ( int32 TID ) const


code: bool IsUV ( const int32 UVId ) const


code: bool IsVertex ( int32 VID ) const


description: ID and Count are the same for StaticMeshLODResources because it's compact.

code: int32 MaxTriangleID() const


code: void SetBuildScale ( const FVector3d & BuildScaleIn, bool bScaleNormalsIn )


code: int32 TriangleCount() const


code: const [FStaticMeshSection](API\Runtime\Engine\FStaticMeshSection) & TriangleToSection ( int32 & InOutIDValue ) const


code: FStaticMeshLODResourcesMeshAdapter()


code: FStaticMeshLODResourcesMeshAdapter ( const [FStaticMeshLODResources](API\Runtime\Engine\FStaticMeshLODResources) * MeshIn )


className: FStaticMeshLODResourcesMeshAdapter

description: Basic struct to adapt aFStaticMeshLODResourcesfor use by GeometryProcessing classes that template the mesh type and expect a standard set of basic accessors For example, this adapter will let you use aFStaticMeshLODResourceswith GeometryProcessing's TMeshAABBTree3

Mesh

type: constFStaticMe...

TriangleOffsetArray

type: TArray< int32 >

ValidSections

type: TArray< constF...


code: int FindOrAddUnique ( const AttrType & AttrValue, int VertexID )


className: FVertexAttr

code: typedef [TVertexAttr](API\Runtime\MeshConversion\TVertexAttr)< AttrType > FVertexAttr


className: OverlayType

code: typedef typename [TOverlayTraits](API\Runtime\MeshConversion\TOverlayTraits)< AttrType >::[OverlayType](API\Runtime\MeshConversion\TAttrWelder\OverlayType) OverlayType


code: TAttrWelder ( [OverlayType](API\Runtime\MeshConversion\TAttrWelder\OverlayType) * OverlayIn )


className: TAttrWelder

description: Welder used for exact attribute value welding when constructing overlay.

code: template<typename AttrType> class TAttrWelder

Overlay

type: OverlayType...

UniqueVertexAttrs

type: TMap<FVertexAt...


className: TOverlayTraits

code: template<typename AttrType> struct TOverlayTraits


className: TOverlayTraits< FVector2f >

code: template<> struct TOverlayTraits< FVector2f >


className: TOverlayTraits< FVector3f >

code: template<> struct TOverlayTraits< FVector3f >


className: TOverlayTraits< FVector4f >

code: template<> struct TOverlayTraits< FVector4f >


description: Convert To FDynamicMesh. Will Copy GroupID to the mesh, and will create overlays with UVs, Normal, MaterialID (additionally Tangents and BiTangents if requested)

code: void Convert ( FDynamicMesh3 & MeshOut, const SrcMeshType & MeshIn, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< int32(const [SrcTriIDType](API\Runtime\MeshConversion\TToDynamicMesh\SrcTriIDType) &SrcTrID)> GroupIDFunction, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< int32(const [SrcTriIDType](API\Runtime\MeshConversion\TToDynamicMesh\SrcTriIDType) &SrcTrID)> MaterialIDFunction, bool bCopyTangents )


description: Convert To FDynamicMesh w/o attributes.

code: void ConvertWOAttributes ( FDynamicMesh3 & MeshOut, const SrcMeshType & MeshIn, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< int32(const [SrcTriIDType](API\Runtime\MeshConversion\TToDynamicMesh\SrcTriIDType) &SrcTrID)> GroupIDFunction )


className: MyBase

code: typedef TToDynamicMeshBase< SrcMeshType > MyBase


code: template<typename AttrType, typename SrcAttrIDType> void PopulateOverlay ( typename TOverlayTraits< AttrType >::OverlayType * Overlay, const [TArray](API\Runtime\Core\Containers\TArray)< SrcAttrIDType > & SrcAttrIDs, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< AttrType(const SrcAttrIDType &AttrID)> SharedAttrValues, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool(const [SrcTriIDType](API\Runtime\MeshConversion\TToDynamicMesh\SrcTriIDType) &SrcTriID, SrcAttrIDType &AttrID0, SrcAttrIDType &AttrID1, SrcAttrIDType &AttrID2)> AttrTriIndices, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< AttrType(const [SrcWedgeIDType](API\Runtime\MeshConversion\TToDynamicMesh\SrcWedgeIDType) &WegdeID)> WedgeAttrs, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(const [SrcTriIDType](API\Runtime\MeshConversion\TToDynamicMesh\SrcTriIDType) &SrcTriID, [SrcWedgeIDType](API\Runtime\MeshConversion\TToDynamicMesh\SrcWedgeIDType) &WID0, [SrcWedgeIDType](API\Runtime\MeshConversion\TToDynamicMesh\SrcWedgeIDType) &WID1, [SrcWedgeIDType](API\Runtime\MeshConversion\TToDynamicMesh\SrcWedgeIDType) &WID2)> TriToWedges )


code: template<typename AttrType, typename SrcAttrIDType> void PopulateOverlayFromSharedAttr ( typename TOverlayTraits< AttrType >::OverlayType * Overlay, const [TArray](API\Runtime\Core\Containers\TArray)< SrcAttrIDType > & SrcAttrIDs, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< AttrType(const SrcAttrIDType &AttrID)> SharedAttrValues, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool(const [SrcTriIDType](API\Runtime\MeshConversion\TToDynamicMesh\SrcTriIDType) &SrcTriID, SrcAttrIDType &AttrID0, SrcAttrIDType &AttrID1, SrcAttrIDType &AttrID2)> AttrTriIndices )


description: Access the attributes in the Source Mesh on a per-wedge granularity (each corner of each triangle is a wedge), and weld them based on strict equality when creating the overlay.

code: template<typename AttrType> void PopulateOverlayFromWedgeAttr ( typename TOverlayTraits< AttrType >::OverlayType * Overlay, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< AttrType(const [SrcWedgeIDType](API\Runtime\MeshConversion\TToDynamicMesh\SrcWedgeIDType) &WedgeID)> WedgeAttrs, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(const [SrcTriIDType](API\Runtime\MeshConversion\TToDynamicMesh\SrcTriIDType) &SrcTriID, [SrcWedgeIDType](API\Runtime\MeshConversion\TToDynamicMesh\SrcWedgeIDType) &WID0, [SrcWedgeIDType](API\Runtime\MeshConversion\TToDynamicMesh\SrcWedgeIDType) &WID1, [SrcWedgeIDType](API\Runtime\MeshConversion\TToDynamicMesh\SrcWedgeIDType) &WID2)> TriToWedges, bool bWeldIdenticalAttrs )


description: Populates overlays for UVs, Normal, Color, Material ID. Also Tangent and BiTangent if bCopyTangents == true. NB: This does not copy any polygroup information.

code: void PopulateOverlays ( FDynamicMesh3 & MeshOut, const SrcMeshType & MeshIn, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< int32(const [SrcTriIDType](API\Runtime\MeshConversion\TToDynamicMesh\SrcTriIDType) &SrcTrID)> MaterialIDFunction, bool bCopyTangents )


className: SrcColorIDType

code: typedef typename SrcMeshType::ColorIDType SrcColorIDType


className: SrcNormalIDType

code: typedef typename SrcMeshType::NormalIDType SrcNormalIDType


className: SrcTriIDType

code: typedef typename MyBase::SrcTriIDType SrcTriIDType


className: SrcVertIDType

code: typedef typename MyBase::SrcVertIDType SrcVertIDType


className: SrcWedgeIDType

code: typedef typename SrcMeshType::WedgeIDType SrcWedgeIDType


className: TToDynamicMesh

code: template<typename SrcMeshType> class TToDynamicMesh : public TToDynamicMeshBase< SrcMeshType >


description: Produces a DynamicMesh3 w/o attributes from the MeshIn.

code: void Convert ( FDynamicMesh3 & MeshOut, const SrcMeshType & MeshIn, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< int32(const [SrcTriIDType](API\Runtime\MeshConversion\TToDynamicMeshBase\SrcTriIDType) &SrcTrID)> GroupIDFunction )


code: typedef typename SrcMeshType::TriIDType SrcTriIDType


className: SrcUVIDType

code: typedef typename SrcMeshType::UVIDType SrcUVIDType


code: typedef typename SrcMeshType::VertIDType SrcVertIDType


className: TToDynamicMeshBase

code: template<typename SrcMeshType> class TToDynamicMeshBase

type: FDateTime

ToSrcTriIDMap

type: TArray<SrcTriI...

ToSrcVertIDMap

type: TArray<SrcVert...

description: Mapping data captured by conversion.


code: bool operator== ( const [TVertexAttr](API\Runtime\MeshConversion\TVertexAttr) & o ) const


description: // "Index Buffer" info const Iterable_TriIDType& GetTriIDs() const // return false if this TriID is not contained in mesh. /**

code: namespace UE { namespace Geometry { *bool UE::Geometry::GetTri ( const TriIDType TriID, VertIDType & VID0, VertIDType & VID1, VertIDType & VID2 ) const } }


code: namespace UE { *FVector3f UE::GetBiTangent ( NormalIDType ID ) const }


code: namespace UE { **const [TArray](API\Runtime\Core\Containers\TArray)< NormalIDType > & UE::GetBiTangentIDs() const }


code: namespace UE { *bool UE::GetBiTangentTri ( const TriIDType & TID, NormalIDType & NID0, NormalIDType & NID1, NormalIDType & NID2 ) const }


code: namespace UE { *FVector4f UE::GetBoneColor ( int32 BoneIdx ) const }


code: namespace UE { *[FName](API\Runtime\Core\UObject\FName) UE::GetBoneName ( int32 BoneIdx ) const }


code: namespace UE { *int32 UE::GetBoneParentIndex ( int32 BoneIdx ) const }


code: namespace UE { *FVector4f UE::GetColor ( ColorIDType ID ) const }


code: namespace UE { *FTransform UE::GetBonePose ( int32 BoneIdx ) const }


className: TVertexAttr

description: Used for exact attribute value welding.

code: template<typename AttrType> struct TVertexAttr

AttrValue

type: AttrType

VID

type: int


code: namespace UE { **const [TArray](API\Runtime\Core\Containers\TArray)< ColorIDType > & UE::GetColorIDs() const }


code: namespace UE { *bool UE::GetColorTri ( const TriIDType & TID, ColorIDType & NID0, ColorIDType & NID1, ColorIDType & NID2 ) const }


code: namespace UE { *FVector3f UE::GetNormal ( NormalIDType ID ) const }


code: namespace UE { *bool UE::GetNormalTri ( const TriIDType & TID, NormalIDType & NID0, NormalIDType & NID1, NormalIDType & NID2 ) const }


code: namespace UE { **const [TArray](API\Runtime\Core\Containers\TArray)< NormalIDType > & UE::GetNormalIDs() const }


code: namespace UE { ***int32 UE::GetNumBones() const }


code: namespace UE { *[FName](API\Runtime\Core\UObject\FName) UE::GetSkinWeightAttributeName ( int32 SkinWeightAttributeIndex ) const }


code: namespace UE { *FVector3f UE::GetTangent ( NormalIDType ID ) const }


code: namespace UE { **const [TArray](API\Runtime\Core\Containers\TArray)< NormalIDType > & UE::GetTangentIDs() const }


code: namespace UE { *bool UE::GetTangentTri ( const TriIDType & TID, NormalIDType & NID0, NormalIDType & NID1, NormalIDType & NID2 ) const }


code: namespace UE { template<typename AttrType> FORCEINLINEuint32 UE::GetTypeHash ( const [TVertexAttr](API\Runtime\MeshConversion\TVertexAttr)< AttrType > & Vector ) }


description: const TArray& GetUVIDs(int32 LayerID) const; FVector2f GetUV(int32 LayerID, UVIDType UVID) const; /**Returns the mesh UV.

code: namespace UE { *bool UE::GetUVTri ( int32 LayerID, const TriIDType & TID, UVIDType & ID0, UVIDType & ID1, UVIDType & ID2 ) const }


code: namespace UE { *[UE::AnimationCore::FBoneWeights](API\Runtime\AnimationCore\FBoneWeights) UE::GetVertexSkinWeight ( int32 SkinWeightAttributeIndex, VertIDType VtxID ) const }


code: namespace UE { *[FName](API\Runtime\Core\UObject\FName) UE::GetWeightMapName ( int32 WeightMapIndex ) const }


code: namespace UE { *float UE::GetVertexWeight ( int32 WeightMapIndex, int32 SrcVertID ) const }


code: namespace UE { ***int32 UE::NumSkinWeightAttributes() const }


description: IModuleInterfaceimplementation

module: MeshConversionEngineTypes

code: virtual void StartupModule()


description: Called before the module is unloaded, right before the module object is destroyed. During normal shutdown, this is called in reverse order that modules finishStartupModule(). This means that, as long as a module references dependent modules in it'sStartupModule(), it can safely reference those dependencies inShutdownModule()as well.

code: virtual void ShutdownModule()


code: namespace UE { ***int32 UE::NumWeightMapLayers() const }


className: FMeshConversionEngineTypesModule

code: class FMeshConversionEngineTypesModule : public [IModuleInterface](API\Runtime\Core\Modules\IModuleInterface)


className: FSkeletalMeshLODModelToDynamicMesh

description: ConvertFSkeletalMeshLODModelto FDynamicMesh3

bCalculateMaps

description: Should we calculate conversion index maps

bDisableAttributes

description: Ignore all mesh attributes (e.g. UV/Normal layers, material groups)

bEnableOutputGroups

description: Should we initialize triangle groups on output mesh

bPrintDebugMessages

description: If true, will print some possibly-helpful debugging spew to output log

TriIDMap

description: Map from DynamicMesh triangle ID toFSkeletalMeshLODModelTriIdx

VertIDMap

description: Map from DynamicMesh vertex Id toFSkeletalMeshLODModelFVertexID.


description: Default conversion of MeshDescription to DynamicMesh

code: void Convert ( const [FSkeletalMeshLODModel](API\Runtime\Engine\Rendering\FSkeletalMeshLODModel) * MeshIn, [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & MeshOut, bool bCopyTangents )


className: ConversionOptions

code: struct ConversionOptions

BuildScale

description: Mesh vertex positions are multiplied by the build scale


className: FStaticMeshLODResourcesToDynamicMesh

description: FStaticMeshLODResourcesToDynamicMeshcan be used to create aFDynamicMesh3from aFStaticMeshLODResources, which is the variant of the mesh in a StaticMesh Asset used for rendering (and which is available at runtime). TheFStaticMeshLODResourceshas vertices duplicated at any split UV/normal/tangent/color, ie in the overlays there will be a unique overlay element for each base mesh vertex.


description: Convert rendering buffer data (fromFStaticMeshLODResources) to a DynamicMesh3. The output FDynamicMesh3 attribute set will have as many UV channels as found in VertexData, as well as overlay Tangents enabled/copied, and MaterialID set.

code: namespace UE { namespace Conversion { void UE::Conversion::RenderBuffersToDynamicMesh ( const [FStaticMeshVertexBuffers](API\Runtime\Engine\FStaticMeshVertexBuffers) & VertexData, const [FRawStaticIndexBuffer](API\Runtime\Engine\FRawStaticIndexBuffer) & IndexData, const [FStaticMeshSectionArray](API\Runtime\Engine\FStaticMeshSectionArray) & SectionData, [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & MeshOut, bool bAttemptToWeldSeams ) } }


code: static bool Convert ( const [FStaticMeshLODResources](API\Runtime\Engine\FStaticMeshLODResources) * StaticMeshResources, const [ConversionOptions](API\Runtime\MeshConversionEngineTypes\FStaticMeshLODResourcesToDynamic-\ConversionOption-) & Options, [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & OutputMesh )


module: MeshDescription

code: void operator() ( [FName](API\Runtime\Core\UObject\FName) Name, ForEachFunc Fn, const [FMeshAttributeArraySetBase](API\Runtime\MeshDescription\FMeshAttributeArraySetBase) * Attributes )


className: ConstDispatchFunctor

code: template<typename ElementIDType, typename AttributeType, typename ForEachFunc> struct ConstDispatchFunctor


description: Define dispatch function.

code: namespace CreateTypeImpl { template<uint32 I> static [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FMeshAttributeArraySetBase](API\Runtime\MeshDescription\FMeshAttributeArraySetBase) > CreateTypeImpl::Dispatch ( uint32 Extent ) }


description: Build RegisterAttributeOfType jump table at compile time, a separate instantiation of Dispatch for each attribute type.

code: namespace CreateTypeImpl { template<uint32... Is> static constexpr [JumpTableType](API\Runtime\MeshDescription\JumpTableType) CreateTypeImpl::MakeJumpTable ( [TIntegerSequence](API\Runtime\Core\Delegates\TIntegerSequence)< uint32, Is... > ) }


className: DispatchFunctor

code: template<typename ElementIDType, typename AttributeType, typename ForEachFunc> struct DispatchFunctor


code: void operator() ( [FName](API\Runtime\Core\UObject\FName) Name, ForEachFunc Fn, [FMeshAttributeArraySetBase](API\Runtime\MeshDescription\FMeshAttributeArraySetBase) * Attributes )


code: void AppendAttributesFrom ( const [FAttributesSetBase](API\Runtime\MeshDescription\FAttributesSetBase) & OtherAttributesSet )


description: Determine whether an attribute has all of the given flags

code: bool DoesAttributeHaveAllFlags ( const [FName](API\Runtime\Core\UObject\FName) AttributeName, EMeshAttributeFlags AttributeFlags ) const


description: Returns an array of all the attribute names registered

code: template<typename Allocator> void GetAttributeNames ( [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName), Allocator > & OutAttributeNames ) const


code: template<typename T> [TMeshAttributesRef](API\Runtime\MeshDescription\TMeshAttributesRef)< int32, typename [TMeshAttributesRefType](API\Runtime\MeshDescription\TMeshAttributesRefType)< T >::RefType > GetAttributesRef ( const [FName](API\Runtime\Core\UObject\FName) AttributeName )


description: Get an attribute array with the given type and name. The attribute type must correspond to the type passed as the template parameter.

code: template<typename T> TMeshAttributesConstRef< int32, typename [TMeshAttributesRefType](API\Runtime\MeshDescription\TMeshAttributesRefType)< T >::ConstRefType > GetAttributesRef ( const [FName](API\Runtime\Core\UObject\FName) AttributeName ) const


description: Determine whether an attribute has any of the given flags

code: bool DoesAttributeHaveAnyFlags ( const [FName](API\Runtime\Core\UObject\FName) AttributeName, EMeshAttributeFlags AttributeFlags ) const


description: Gets the number of elements in the attribute set

code: int32 GetNumElements() const


code: uint32 GetHash ( const [FName](API\Runtime\Core\UObject\FName) AttributeName ) const


description: Determines whether an attribute of the given type exists with the given name

code: template<typename T> bool HasAttributeOfType ( const [FName](API\Runtime\Core\UObject\FName) AttributeName ) const


description: Determines whether an attribute exists with the given name

code: bool HasAttribute ( const [FName](API\Runtime\Core\UObject\FName) AttributeName ) const


description: Insert a new element at the given index. The public API version of this function takes an ID of ElementIDType instead of a typeless index.

code: void Insert ( const int32 Index )


description: Initializes all attributes to have the given number of elements with the default value

code: void Initialize ( const int32 Count )


description: Obtain a reference to this with GetAttributesRef(...)

code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<![TIsArray](API\Runtime\Core\Templates\TIsArray)< T >::Value, int >::Type> TMeshAttributesArray< typename [TMeshAttributesRegisterType](API\Runtime\MeshDescription\TMeshAttributesRegisterType)< T >::RefType > RegisterAttribute ( const [FName](API\Runtime\Core\UObject\FName) AttributeName, const int32 NumberOfChannels, const T & Default, const EMeshAttributeFlags Flags )


description: Obtain a reference to this with GetAttributesRef<TArrayView>(...)

code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsArray](API\Runtime\Core\Templates\TIsArray)< T >::Value, int >::Type> TMeshAttributesArray< typename [TMeshAttributesRegisterType](API\Runtime\MeshDescription\TMeshAttributesRegisterType)< T >::RefType > RegisterAttribute ( const [FName](API\Runtime\Core\UObject\FName) AttributeName, const int32 NumberOfChannels, const typename [TMeshAttributesRegisterType](API\Runtime\MeshDescription\TMeshAttributesRegisterType)< T >::RealAttributeType & Default, const EMeshAttributeFlags Flags )


description: Applies the given remapping to the attributes set

code: void Remap ( const [TSparseArray](API\Runtime\Core\Containers\TSparseArray)< int32 > & IndexRemap )


description: Obtain a reference to this with GetAttributesRef>(...)

code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< std::is_same_v< typename [TMeshAttributesRegisterType](API\Runtime\MeshDescription\TMeshAttributesRegisterType)< T >::RealAttributeType, int >, int >::Type> TMeshAttributesArray< typename [TMeshAttributesRegisterType](API\Runtime\MeshDescription\TMeshAttributesRegisterType)< T >::RefType > RegisterIndexAttribute ( const [FName](API\Runtime\Core\UObject\FName) AttributeName, const int32 NumberOfChannels, const EMeshAttributeFlags Flags )


description:
Example of use: VertexInstanceAttributes().RegisterAttribute( "UV", 8 );
                   . . .
TVertexInstanceAttributeArray& UV0 = VertexInstanceAttributes().GetAttributes( "UV", 0 );
UV0[ VertexInstanceID ] = FVector2f( 1.0f, 1.0f );

code: template<typename T> TMeshAttributesArray< typename [TMeshAttributesRegisterType](API\Runtime\MeshDescription\TMeshAttributesRegisterType)< T >::RefType > RegisterAttributeInternal ( const [FName](API\Runtime\Core\UObject\FName) AttributeName, const int32 NumberOfChannels, const typename [TMeshAttributesRegisterType](API\Runtime\MeshDescription\TMeshAttributesRegisterType)< T >::RealAttributeType & Default, const EMeshAttributeFlags Flags )


description: Remove an element at the given index. The public API version of this function takes an ID of ElementIDType instead of a typeless index.

code: void Remove ( const int32 Index )


description: Unregister an attribute with the given name.

code: void UnregisterAttribute ( const [FName](API\Runtime\Core\UObject\FName) AttributeName )


description: Sets all attributes to have the given number of elements, preserving existing values and filling extra elements with the default value

code: void SetNumElements ( const int32 Count )


description: Constructor

code: FAttributesSetBase()


className: FAttributesSetBase

description: This is the container for all attributes and their arrays. It wraps aTMap, mapping from attribute name to attribute array. An attribute may be of any arbitrary type; we use a mixture of polymorphism and compile-time templates to handle the different types.

code: class FAttributesSetBase

Map

type: TMap<FName,FA...

description: The actual container

NumElements

description: The number of elements in each attribute array


description: Given a type at runtime, allocate an attribute array of that type, owned by Ptr

code: void CreateArrayOfType ( const uint32 Type, const uint32 Extent )


description: Transparent access through theTUniquePtr

code: const [FMeshAttributeArraySetBase](API\Runtime\MeshDescription\FMeshAttributeArraySetBase) * Get() const


code: const [FMeshAttributeArraySetBase](API\Runtime\MeshDescription\FMeshAttributeArraySetBase) * operator->() const


className: FAttributesSetEntry::operator bool

description: Object can be coerced to bool to indicate if it is valid

code: operator bool() const


description: Default move assignment

code: [FAttributesSetEntry](API\Runtime\MeshDescription\FAttributesSetEntry) & operator= ( [FAttributesSetEntry](API\Runtime\MeshDescription\FAttributesSetEntry) && )


description: Polymorphic assignment

code: [FAttributesSetEntry](API\Runtime\MeshDescription\FAttributesSetEntry) & operator= ( const [FAttributesSetEntry](API\Runtime\MeshDescription\FAttributesSetEntry) & Other )


code: const [FMeshAttributeArraySetBase](API\Runtime\MeshDescription\FMeshAttributeArraySetBase) & operator*() const


description: Default constructor. This breaks the invariant that Ptr be always valid, but is necessary so that it can be the value type of aTMap.

code: FAttributesSetEntry()


description: Default move constructor

code: FAttributesSetEntry ( [FAttributesSetEntry](API\Runtime\MeshDescription\FAttributesSetEntry) && )


description: Polymorphic copy: a new copy of Other is created

code: FAttributesSetEntry ( const [FAttributesSetEntry](API\Runtime\MeshDescription\FAttributesSetEntry) & Other )


description: Default destructor

code: ~FAttributesSetEntry()


description: Construct a validFAttributesSetEntryof the concrete type specified.

code: template<typename AttributeType> FAttributesSetEntry ( const int32 NumberOfChannels, const AttributeType & Default, const EMeshAttributeFlags Flags, const int32 NumElements, const int32 Extent )


className: FAttributesSetEntry

description: This is a wrapper for an allocated attributes array. It holds aTUniquePtrpointing to the actual attributes array, and performs polymorphic copy and assignment, as per the actual array type.

code: class FAttributesSetEntry


code: FBoneID ( const [FElementID](API\Runtime\MeshDescription\FElementID) InitElementID )


code: FBoneID ( const int32 InitIDValue )


className: FBoneID

code: struct FBoneID : public [FElementID](API\Runtime\MeshDescription\FElementID)


className: Invalid

description: Invalid edge ID

code: static const [FEdgeID](API\Runtime\MeshDescription\FEdgeID) Invalid;


code: FEdgeID ( const [FElementID](API\Runtime\MeshDescription\FElementID) InitElementID )


code: FEdgeID ( const int32 InitIDValue )


className: FEdgeID

code: struct FEdgeID : public [FElementID](API\Runtime\MeshDescription\FElementID)


description: Invalid element ID

code: static const [FElementID](API\Runtime\MeshDescription\FElementID) Invalid;


className: FElementID::operator int32

code: operator int32() const


code: bool operator== ( const [FElementID](API\Runtime\MeshDescription\FElementID) & Other ) const


code: bool operator== ( const int32 Other ) const


code: bool operator!= ( const [FElementID](API\Runtime\MeshDescription\FElementID) & Other ) const


code: bool operator!= ( const int32 Other ) const


code: FElementID ( const int32 InitIDValue )


className: FElementID

code: struct FElementID

IDValue

description: The actual mesh element index this ID represents. Read-only.


code: [FEdgeID](API\Runtime\MeshDescription\FEdgeID) GetRemappedEdgeID ( [FEdgeID](API\Runtime\MeshDescription\FEdgeID) EdgeID ) const


code: [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) GetRemappedPolygonGroupID ( [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) PolygonGroupID ) const


code: [FPolygonID](API\Runtime\MeshDescription\FPolygonID) GetRemappedPolygonID ( [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID ) const


code: [FTriangleID](API\Runtime\MeshDescription\FTriangleID) GetRemappedTriangleID ( [FTriangleID](API\Runtime\MeshDescription\FTriangleID) TriangleID ) const


code: [FUVID](API\Runtime\MeshDescription\FUVID) GetRemappedUVID ( [FUVID](API\Runtime\MeshDescription\FUVID) UVID ) const


code: [FVertexID](API\Runtime\MeshDescription\FVertexID) GetRemappedVertexID ( [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID ) const


code: [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) GetRemappedVertexInstanceID ( [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) VertexInstanceID ) const


code: [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FMeshAttributeArraySetBase](API\Runtime\MeshDescription\FMeshAttributeArraySetBase) > Clone() const


className: FElementIDRemappings

description: This is a structure which holds the ID remappings returned by a Compact operation, or passed to a Remap operation.

code: struct FElementIDRemappings

NewEdgeIndexLookup

type: TSparseArray< i...


description: Get the type extent of this attribute array set

code: uint32 GetExtent() const


description: Get the flags for this attribute array set

code: EMeshAttributeFlags GetFlags() const


code: int32 GetNumChannels() const


description: Return number of elements each attribute index has

code: int32 GetNumElements() const


description: Determine whether this attribute array set is of the given type

code: template<typename T> bool HasType() const


description: Deprecated* Please useGetNumChannels().

code: int32 GetNumIndices() const


description: Get the type index of this attribute array set

code: uint32 GetType() const


code: void Initialize ( const int32 Count )


code: void Insert ( const int32 Index )


code: void InsertChannel ( const int32 Index )


description: Deprecated* Please useInsertChannel().

code: void InsertIndex ( const int32 Index )


code: void Remap ( const [TSparseArray](API\Runtime\Core\Containers\TSparseArray)< int32 > & IndexRemap )


code: void Remove ( const int32 Index )


code: void RemoveChannel ( const int32 Index )


description: Deprecated* Please useRemoveChannel().

code: void RemoveIndex ( const int32 Index )


description: Set the flags for this attribute array set

code: void SetFlags ( const EMeshAttributeFlags InFlags )


code: void Serialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


code: void SetNumChannels ( const int32 NumChannels )


description: Deprecated* Please useSetNumChannels().

code: void SetNumIndices ( const int32 NumIndices )


code: void SetNumElements ( const int32 Count )


description: Constructor

code: FMeshAttributeArraySetBase ( const uint32 InType, const EMeshAttributeFlags InFlags, const int32 InNumberOfElements, const uint32 InExtent )


description: Virtual interface

code: virtual ~FMeshAttributeArraySetBase()


className: FMeshAttributeArraySetBase

description: In general, we avoid accessing them via virtual dispatch by insisting that their type be passed as a template parameter in the accessor. This can be checked against the Type field to ensure that we are accessing an instance by its correct type.

code: class FMeshAttributeArraySetBase

Extent

description: Extent of the type, i.e. the number of array elements it consists of

Flags

type: EMeshAttributeF...

description: Implementation-defined attribute name flags

NumElements

description: Number of elements in each index

Type

description: Type of the attribute array (based on the tuple element index from AttributeTypes)


code: TEdgeAttributesConstRef< [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FVertexID](API\Runtime\MeshDescription\FVertexID) > > GetEdgeVertexIndices() const


description: Accessors for array of vertex IDs for edges

code: TEdgeAttributesRef< [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FVertexID](API\Runtime\MeshDescription\FVertexID) > > GetEdgeVertexIndices()


code: TPolygonAttributesConstRef< [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) > GetPolygonPolygonGroupIndices() const


description: Accessors for array of polygon group IDs for polygons

code: TPolygonAttributesRef< [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) > GetPolygonPolygonGroupIndices()


code: TTriangleAttributesConstRef< [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FEdgeID](API\Runtime\MeshDescription\FEdgeID) > > GetTriangleEdgeIndices() const


description: Accessors for array of edge IDs for triangles

code: TTriangleAttributesRef< [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FEdgeID](API\Runtime\MeshDescription\FEdgeID) > > GetTriangleEdgeIndices()


description: Accessors for array of polygon group IDs for triangles


code: TTriangleAttributesConstRef< [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) > GetTrianglePolygonGroupIndices() const


description: Accessors for array of UV IDs for triangles

code: TTriangleAttributesRef< [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FUVID](API\Runtime\MeshDescription\FUVID) > > GetTriangleUVIndices()


code: TTriangleAttributesConstRef< [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FUVID](API\Runtime\MeshDescription\FUVID) > > GetTriangleUVIndices() const


description: Accessors for array of vertex IDs for triangles

code: TTriangleAttributesRef< [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FVertexID](API\Runtime\MeshDescription\FVertexID) > > GetTriangleVertexIndices()


code: TTriangleAttributesConstRef< [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FVertexID](API\Runtime\MeshDescription\FVertexID) > > GetTriangleVertexIndices() const


description: Accessors for array of vertex instance IDs for triangles

code: TTriangleAttributesRef< [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) > > GetTriangleVertexInstanceIndices()


code: TTriangleAttributesConstRef< [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) > > GetTriangleVertexInstanceIndices() const


description: Accessors for UV coordinates

code: TUVAttributesRef< FVector2f > GetUVCoordinates ( int32 UVChannel )


code: TUVAttributesConstRef< FVector2f > GetUVCoordinates ( int32 UVChannel ) const


description: Accessors for array of vertex IDs for vertex instances

code: TVertexInstanceAttributesRef< [FVertexID](API\Runtime\MeshDescription\FVertexID) > GetVertexInstanceVertexIndices()


code: TVertexInstanceAttributesConstRef< [FVertexID](API\Runtime\MeshDescription\FVertexID) > GetVertexInstanceVertexIndices() const


description: Accessors for cached vertex position array

code: TVertexAttributesRef< FVector3f > GetVertexPositions()


code: TVertexAttributesConstRef< FVector3f > GetVertexPositions() const


code: static bool IsReservedAttributeName ( const [FName](API\Runtime\Core\UObject\FName) InAttributeName )


code: virtual void Register ( bool bKeepExistingAttribute )


code: FMeshAttributes ( [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) & InMeshDescription )


code: virtual ~FMeshAttributes()


className: FMeshAttributes

code: class FMeshAttributes

MeshDescription

type: FMeshDescriptio...


code: TEdgeAttributesConstRef< [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FVertexID](API\Runtime\MeshDescription\FVertexID) > > GetEdgeVertexIndices() const


code: TTriangleAttributesConstRef< [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FEdgeID](API\Runtime\MeshDescription\FEdgeID) > > GetTriangleEdgeIndices() const


code: TPolygonAttributesConstRef< [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) > GetPolygonPolygonGroupIndices() const


code: TTriangleAttributesConstRef< [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) > GetTrianglePolygonGroupIndices() const


code: TTriangleAttributesConstRef< [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FVertexID](API\Runtime\MeshDescription\FVertexID) > > GetTriangleVertexIndices() const


code: TTriangleAttributesConstRef< [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FUVID](API\Runtime\MeshDescription\FUVID) > > GetTriangleUVIndices() const


code: TTriangleAttributesConstRef< [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) > > GetTriangleVertexInstanceIndices() const


description: Accessors for UV coordinates

code: TUVAttributesConstRef< FVector2f > GetUVCoordinates ( int32 UVChannel ) const


code: FMeshConstAttributes ( const [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) & InMeshDescription )


className: FMeshConstAttributes

code: class FMeshConstAttributes

type: constFMeshDesc...


code: void BuildPolygonGroupIndexers()


code: void BuildPolygonIndexers()


code: void BuildVertexIndexers()


code: void BuildVertexInstanceIndexers()


description: Compacts the data held in the mesh description, and returns an object describing how the IDs have been remapped.

code: void Compact ( [FElementIDRemappings](API\Runtime\MeshDescription\FElementIDRemappings) & OutRemappings )


code: FBox ComputeBoundingBox() const


description: Generates triangles and internal edges for the given polygon

code: void ComputePolygonTriangulation ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID )


description: Adds a new edge to the mesh and returns its ID

code: [FEdgeID](API\Runtime\MeshDescription\FEdgeID) CreateEdge ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID0, const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID1 )


description: Adds a new edge to the mesh with the given ID

code: void CreateEdgeWithID ( const [FEdgeID](API\Runtime\MeshDescription\FEdgeID) EdgeID, const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID0, const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID1 )


description: Adds a new polygon group to the mesh and returns its ID


description: Adds a new polygon to the mesh and returns its ID. This will also make any missing edges, and all constituent triangles.

code: [FPolygonID](API\Runtime\MeshDescription\FPolygonID) CreatePolygon ( const [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) PolygonGroupID, [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) > VertexInstanceIDs, [TArray](API\Runtime\Core\Containers\TArray)< [FEdgeID](API\Runtime\MeshDescription\FEdgeID) > * OutEdgeIDs )


description: Adds a new polygon group to the mesh with the given ID

code: void CreatePolygonGroupWithID ( const [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) PolygonGroupID )


description: Adds a new polygon to the mesh with the given ID. This will also make any missing edges, and all constituent triangles.

code: void CreatePolygonWithID ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID, const [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) PolygonGroupID, [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) > VertexInstanceIDs, [TArray](API\Runtime\Core\Containers\TArray)< [FEdgeID](API\Runtime\MeshDescription\FEdgeID) > * OutEdgeIDs )


description: Adds a new triangle to the mesh with the given ID. This will also make an encapsulating polygon, and any missing edges.

code: void CreateTriangleWithID ( const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) TriangleID, const [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) PolygonGroupID, [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) > VertexInstanceIDs, [TArray](API\Runtime\Core\Containers\TArray)< [FEdgeID](API\Runtime\MeshDescription\FEdgeID) > * OutEdgeIDs )


description: Adds a new triangle to the mesh and returns its ID. This will also make an encapsulating polygon, and any missing edges.

code: [FTriangleID](API\Runtime\MeshDescription\FTriangleID) CreateTriangle ( const [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) PolygonGroupID, [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) > VertexInstanceIDs, [TArray](API\Runtime\Core\Containers\TArray)< [FEdgeID](API\Runtime\MeshDescription\FEdgeID) > * OutEdgeIDs )


description: Adds a new UV to the mesh and returns its ID

code: [FUVID](API\Runtime\MeshDescription\FUVID) CreateUV ( const int32 UVChannel )


description: Adds a new UV to the mesh with the given ID

code: void CreateUVWithID ( const [FUVID](API\Runtime\MeshDescription\FUVID) UVID, const int32 UVChannel )


description: Adds a new vertex to the mesh and returns its ID


description: Adds a new vertex instance to the mesh and returns its ID

code: [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) CreateVertexInstance ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID )


description: Adds a new vertex instance to the mesh with the given ID

code: void CreateVertexInstanceWithID ( const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) VertexInstanceID, const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID )


description: Adds a new vertex to the mesh with the given ID

code: void CreateVertexWithID ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID )


description: Deletes an edge from the mesh

code: void DeleteEdge ( const [FEdgeID](API\Runtime\MeshDescription\FEdgeID) EdgeID, [TArray](API\Runtime\Core\Containers\TArray)< [FVertexID](API\Runtime\MeshDescription\FVertexID) > * InOutOrphanedVerticesPtr )


description: Deletes a polygon group from the mesh

code: void DeletePolygonGroup ( const [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) PolygonGroupID )


description: Deletes a polygon from the mesh

code: void DeletePolygon ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID, [TArray](API\Runtime\Core\Containers\TArray)< [FEdgeID](API\Runtime\MeshDescription\FEdgeID) > * InOutOrphanedEdgesPtr, [TArray](API\Runtime\Core\Containers\TArray)< [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) > * InOutOrphanedVertexInstancesPtr, [TArray](API\Runtime\Core\Containers\TArray)< [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) > * InOutOrphanedPolygonGroupsPtr )


description: Deletes polygons from the mesh and remove all orphaned polygon groups, vertex instances, edges and vertices. Will not compact the internal arrays, you must callCompact()manually.

code: void DeletePolygons ( const [TArray](API\Runtime\Core\Containers\TArray)< [FPolygonID](API\Runtime\MeshDescription\FPolygonID) > & Polygons )


description: Deletes a triangle from the mesh

code: void DeleteTriangle ( const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) TriangleID, [TArray](API\Runtime\Core\Containers\TArray)< [FEdgeID](API\Runtime\MeshDescription\FEdgeID) > * InOutOrphanedEdgesPtr, [TArray](API\Runtime\Core\Containers\TArray)< [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) > * InOutOrphanedVertexInstancesPtr, [TArray](API\Runtime\Core\Containers\TArray)< [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) > * InOutOrphanedPolygonGroupsPtr )


description: Deletes a UV from the mesh

code: void DeleteUV ( const [FUVID](API\Runtime\MeshDescription\FUVID) UVID, const int32 UVChannel )


description: Deletes a vertex from the mesh

code: void DeleteVertex ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID )


description: Deletes a vertex instance from a mesh

code: void DeleteVertexInstance ( const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) VertexInstanceID, [TArray](API\Runtime\Core\Containers\TArray)< [FVertexID](API\Runtime\MeshDescription\FVertexID) > * InOutOrphanedVerticesPtr )


code: [TAttributesSet](API\Runtime\MeshDescription\TAttributesSet)< [FEdgeID](API\Runtime\MeshDescription\FEdgeID) > & EdgeAttributes()


code: const [TAttributesSet](API\Runtime\MeshDescription\TAttributesSet)< [FEdgeID](API\Runtime\MeshDescription\FEdgeID) > & EdgeAttributes() const


code: const FEdgeArray & Edges() const


description: Empty the meshdescription.

code: void Empty()


description: Deletes triangles from the mesh and remove all orphaned polygon groups, vertex instances, edges and vertices. Will not compact the internal arrays, you must callCompact()manually.

code: void DeleteTriangles ( const [TArray](API\Runtime\Core\Containers\TArray)< [FTriangleID](API\Runtime\MeshDescription\FTriangleID) > & Triangles )


description: Determines the vertex instances which form the perimeter of a polygon

code: void FindPolygonPerimeter ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID, [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FEdgeID](API\Runtime\MeshDescription\FEdgeID) > Edges ) const


code: void FindPolygonPerimeter ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) > Triangles, [TArrayView](API\Runtime\Core\Containers\TArrayView)< [TTuple](API\Runtime\Core\Misc\TTuple)< int32, int32 >> Result ) const


description: Returns the polygons connected to this edge as an array with the specified allocator template type.

code: template<typename Alloc> [TArray](API\Runtime\Core\Containers\TArray)< [FPolygonID](API\Runtime\MeshDescription\FPolygonID), Alloc > GetEdgeConnectedPolygons ( const [FEdgeID](API\Runtime\MeshDescription\FEdgeID) EdgeID ) const


description: Returns the polygons connected to this edge

code: [TArray](API\Runtime\Core\Containers\TArray)< [FPolygonID](API\Runtime\MeshDescription\FPolygonID) > GetEdgeConnectedPolygons ( const [FEdgeID](API\Runtime\MeshDescription\FEdgeID) EdgeID ) const


description: Populates the passed array with polygon IDs connected to this edge

code: template<typename Alloc> void GetEdgeConnectedPolygons ( const [FEdgeID](API\Runtime\MeshDescription\FEdgeID) EdgeID, [TArray](API\Runtime\Core\Containers\TArray)< [FPolygonID](API\Runtime\MeshDescription\FPolygonID), Alloc > & OutPolygonIDs ) const


description: Returns reference to an array of triangle IDs connected to this edge

code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) > GetEdgeConnectedTriangleIDs ( const [FEdgeID](API\Runtime\MeshDescription\FEdgeID) EdgeID ) const


description: Deprecated* Please useGetEdgeConnectedTriangleIDs()instead.

code: [TArray](API\Runtime\Core\Containers\TArray)< [FTriangleID](API\Runtime\MeshDescription\FTriangleID) > GetEdgeConnectedTriangles ( const [FEdgeID](API\Runtime\MeshDescription\FEdgeID) EdgeID ) const


description: Returns bounds of vertices

code: FBoxSphereBounds GetBounds() const


description: Returns the vertex ID corresponding to one of the edge endpoints

code: [FVertexID](API\Runtime\MeshDescription\FVertexID) GetEdgeVertex ( const [FEdgeID](API\Runtime\MeshDescription\FEdgeID) EdgeID, int32 VertexNumber ) const


description: Returns a pair of vertex IDs defining the edge

code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FVertexID](API\Runtime\MeshDescription\FVertexID) > GetEdgeVertices ( const [FEdgeID](API\Runtime\MeshDescription\FEdgeID) EdgeID ) const


code: const [TMap](API\Runtime\Core\Containers\TMap)< [FName](API\Runtime\Core\UObject\FName), [FMeshElementTypeWrapper](API\Runtime\MeshDescription\FMeshElementTypeWrapper) > & GetElements() const


code: [TMap](API\Runtime\Core\Containers\TMap)< [FName](API\Runtime\Core\UObject\FName), [FMeshElementTypeWrapper](API\Runtime\MeshDescription\FMeshElementTypeWrapper) > & GetElements()


description: Returns the number of polygons connected to this edge

code: int32 GetNumEdgeConnectedPolygons ( const [FEdgeID](API\Runtime\MeshDescription\FEdgeID) EdgeID ) const


code: int32 GetNumEdgeConnectedTriangles ( const [FEdgeID](API\Runtime\MeshDescription\FEdgeID) EdgeID ) const


description: Returns the number of polygons in this polygon group

code: int32 GetNumPolygonGroupPolygons ( const [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) PolygonGroupID ) const


description: Returns the number of triangles in this polygon group

code: int32 GetNumPolygonGroupTriangles ( const [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) PolygonGroupID ) const


description: Return the number of internal edges in this polygon

code: int32 GetNumPolygonInternalEdges ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID ) const


description: Return the number of triangles which comprise this polygon

code: int32 GetNumPolygonTriangles ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID ) const


description: Returns the number of vertices this polygon has

code: int32 GetNumPolygonVertices ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID ) const


description: Gets the number of UV element channels

code: int32 GetNumUVElementChannels() const


description: Returns number of edges connected to this vertex

code: int32 GetNumVertexConnectedEdges ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID ) const


description: Returns the number of triangles connected to this vertex instance

code: int32 GetNumVertexInstanceConnectedTriangles ( const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) VertexInstanceID ) const


description: Returns number of triangles connected to this vertex

code: int32 GetNumVertexConnectedTriangles ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID ) const


description: Returns the number of polygons connected to this vertex instance.

code: int32 GetNumVertexInstanceConnectedPolygons ( const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) VertexInstanceID ) const


description: Returns number of vertex instances created from this vertex

code: int32 GetNumVertexVertexInstances ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID ) const


description: Return adjacent polygons into aTArraywith the specified allocator

code: template<typename Alloc> [TArray](API\Runtime\Core\Containers\TArray)< [FPolygonID](API\Runtime\MeshDescription\FPolygonID), Alloc > GetPolygonAdjacentPolygons ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID ) const


description: Return adjacent polygons to this polygon

code: [TArray](API\Runtime\Core\Containers\TArray)< [FPolygonID](API\Runtime\MeshDescription\FPolygonID) > GetPolygonAdjacentPolygons ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID ) const


description: Populates the passed array with adjacent polygons

code: template<typename Alloc> void GetPolygonAdjacentPolygons ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID, [TArray](API\Runtime\Core\Containers\TArray)< [FPolygonID](API\Runtime\MeshDescription\FPolygonID), Alloc > & OutPolygonIDs ) const


code: float GetPolygonCornerAngleForVertex ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID, const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID ) const


description: Returns the number of polygons connected to this vertex

code: int32 GetNumVertexConnectedPolygons ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID ) const


description: Returns the polygons associated with the given polygon group

code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) > GetPolygonGroupPolygonIDs ( const [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) PolygonGroupID ) const


description: Returns the triangles associated with the given polygon group

code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) > GetPolygonGroupTriangles ( const [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) PolygonGroupID ) const


description: Deprecated* Please useGetPolygonGroupPolygonIDs()instead.

code: [TArray](API\Runtime\Core\Containers\TArray)< [FPolygonID](API\Runtime\MeshDescription\FPolygonID) > GetPolygonGroupPolygons ( const [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) PolygonGroupID ) const


description: Return the internal edges of this polygon, i.e. those which separate constituent triangles

code: template<typename Alloc> [TArray](API\Runtime\Core\Containers\TArray)< [FEdgeID](API\Runtime\MeshDescription\FEdgeID), Alloc > GetPolygonInternalEdges ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID ) const


code: [TArray](API\Runtime\Core\Containers\TArray)< [FEdgeID](API\Runtime\MeshDescription\FEdgeID) > GetPolygonInternalEdges ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID ) const


description: Populate the provided array with a list of edges which are internal to the polygon, i.e. those which separate constituent triangles.

code: template<typename Alloc> void GetPolygonInternalEdges ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID, [TArray](API\Runtime\Core\Containers\TArray)< [FEdgeID](API\Runtime\MeshDescription\FEdgeID), Alloc > & OutEdgeIDs ) const


description: Returns the vertices which form the polygon perimeter as an array templated on the given allocator

code: template<typename Alloc> [TArray](API\Runtime\Core\Containers\TArray)< [FEdgeID](API\Runtime\MeshDescription\FEdgeID), Alloc > GetPolygonPerimeterEdges ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID ) const


description: Returns the vertices which form the polygon perimeter

code: [TArray](API\Runtime\Core\Containers\TArray)< [FEdgeID](API\Runtime\MeshDescription\FEdgeID) > GetPolygonPerimeterEdges ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID ) const


description: Populates the passed array with the edges which form the polygon perimeter

code: template<typename Alloc> void GetPolygonPerimeterEdges ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID, [TArray](API\Runtime\Core\Containers\TArray)< [FEdgeID](API\Runtime\MeshDescription\FEdgeID), Alloc > & OutEdgeIDs ) const


description: Return the polygon group associated with a polygon

code: [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) GetPolygonPolygonGroup ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID ) const


description: Deprecated* Please useGetPolygonTriangles()instead.

code: [TArray](API\Runtime\Core\Containers\TArray)< [FTriangleID](API\Runtime\MeshDescription\FTriangleID) > GetPolygonTriangleIDs ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID ) const


description: Return reference to an array of triangle IDs which comprise this polygon

code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) > GetPolygonTriangles ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID ) const


code: template<typename Alloc> [TArray](API\Runtime\Core\Containers\TArray)< [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID), Alloc > GetPolygonVertexInstances ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID ) const


code: [TArray](API\Runtime\Core\Containers\TArray)< [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) > GetPolygonVertexInstances ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID ) const


description: Returns reference to an array of VertexInstance IDs forming the perimeter of this polygon

code: template<typename Alloc> void GetPolygonVertexInstances ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID, [TArray](API\Runtime\Core\Containers\TArray)< [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID), Alloc > & OutVertexInstanceIDs ) const


code: template<typename Alloc> [TArray](API\Runtime\Core\Containers\TArray)< [FVertexID](API\Runtime\MeshDescription\FVertexID), Alloc > GetPolygonVertices ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID ) const


code: [TArray](API\Runtime\Core\Containers\TArray)< [FVertexID](API\Runtime\MeshDescription\FVertexID) > GetPolygonVertices ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID ) const


description: Populates the passed array of VertexIDs with the vertices which form the polygon perimeter

code: template<typename Alloc> void GetPolygonVertices ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID, [TArray](API\Runtime\Core\Containers\TArray)< [FVertexID](API\Runtime\MeshDescription\FVertexID), Alloc > & OutVertexIDs ) const


description: Return adjacent triangles into aTArraywith the specified allocator

code: template<typename Alloc> [TArray](API\Runtime\Core\Containers\TArray)< [FTriangleID](API\Runtime\MeshDescription\FTriangleID), Alloc > GetTriangleAdjacentTriangles ( const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) TriangleID ) const


description: Return adjacent triangles to this triangle

code: [TArray](API\Runtime\Core\Containers\TArray)< [FTriangleID](API\Runtime\MeshDescription\FTriangleID) > GetTriangleAdjacentTriangles ( const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) TriangleID ) const


description: Populates the passed array with adjacent triangles

code: template<typename Alloc> void GetTriangleAdjacentTriangles ( const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) TriangleID, [TArray](API\Runtime\Core\Containers\TArray)< [FTriangleID](API\Runtime\MeshDescription\FTriangleID), Alloc > & OutTriangleIDs ) const


code: float GetTriangleCornerAngleForVertex ( const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) TriangleID, const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID ) const


description: Return the edges which form this triangle

code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FEdgeID](API\Runtime\MeshDescription\FEdgeID) > GetTriangleEdges ( const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) TriangleID ) const


description: Populates the passed array with the edges which define this triangle

code: void GetTriangleEdges ( const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) TriangleID, [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FEdgeID](API\Runtime\MeshDescription\FEdgeID) > OutEdgeIDs ) const


description: Get the polygon which contains this triangle

code: [FPolygonID](API\Runtime\MeshDescription\FPolygonID) GetTrianglePolygon ( const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) TriangleID ) const


description: Get the polygon group which contains this triangle

code: [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) GetTrianglePolygonGroup ( const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) TriangleID ) const


description: Return UV indices for this triangle for the given channel

code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FUVID](API\Runtime\MeshDescription\FUVID) > GetTriangleUVIndices ( const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) TriangleID, int32 UVChannel ) const


description: Get the specified vertex instance by index

code: [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) GetTriangleVertexInstance ( const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) TriangleID, const int32 Index ) const


description: Get the vertex instances which define this triangle

code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) > GetTriangleVertexInstances ( const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) TriangleID ) const


description: Return the vertices which define this triangle

code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FVertexID](API\Runtime\MeshDescription\FVertexID) > GetTriangleVertices ( const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) TriangleID ) const


description: Populates the passed array with the vertices which define this triangle

code: void GetTriangleVertices ( const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) TriangleID, [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FVertexID](API\Runtime\MeshDescription\FVertexID) > OutVertexIDs ) const


description: Returns the vertices adjacent to this vertex as an array with the specified allocator template type.

code: template<typename Alloc> [TArray](API\Runtime\Core\Containers\TArray)< [FVertexID](API\Runtime\MeshDescription\FVertexID), Alloc > GetVertexAdjacentVertices ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID ) const


description: Returns the vertices adjacent to this vertex

code: [TArray](API\Runtime\Core\Containers\TArray)< [FVertexID](API\Runtime\MeshDescription\FVertexID) > GetVertexAdjacentVertices ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID ) const


description: Populates the passed array of VertexIDs with the vertices adjacent to this vertex

code: template<typename Alloc> void GetVertexAdjacentVertices ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID, [TArray](API\Runtime\Core\Containers\TArray)< [FVertexID](API\Runtime\MeshDescription\FVertexID), Alloc > & OutAdjacentVertexIDs ) const


description: Returns reference to an array of Edge IDs connected to this vertex

code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FEdgeID](API\Runtime\MeshDescription\FEdgeID) > GetVertexConnectedEdgeIDs ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID ) const


description: Returns the polygons connected to this vertex as an array with the specified allocator template type.

code: template<typename Alloc> [TArray](API\Runtime\Core\Containers\TArray)< [FPolygonID](API\Runtime\MeshDescription\FPolygonID), Alloc > GetVertexConnectedPolygons ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID ) const


description: Deprecated* Please use GetVertexConnectedEdgeIDs instead.

code: [TArray](API\Runtime\Core\Containers\TArray)< [FEdgeID](API\Runtime\MeshDescription\FEdgeID) > GetVertexConnectedEdges ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID ) const


description: Returns the polygons connected to this vertex

code: [TArray](API\Runtime\Core\Containers\TArray)< [FPolygonID](API\Runtime\MeshDescription\FPolygonID) > GetVertexConnectedPolygons ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID ) const


description: Populates the passed array of PolygonIDs with the polygons connected to this vertex

code: template<typename Alloc> void GetVertexConnectedPolygons ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID, [TArray](API\Runtime\Core\Containers\TArray)< [FPolygonID](API\Runtime\MeshDescription\FPolygonID), Alloc > & OutConnectedPolygonIDs ) const


description: Returns the triangles connected to this vertex as an array with the specified allocator template type.

code: template<typename Alloc> [TArray](API\Runtime\Core\Containers\TArray)< [FTriangleID](API\Runtime\MeshDescription\FTriangleID), Alloc > GetVertexConnectedTriangles ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID ) const


description: Returns the triangles connected to this vertex

code: [TArray](API\Runtime\Core\Containers\TArray)< [FTriangleID](API\Runtime\MeshDescription\FTriangleID) > GetVertexConnectedTriangles ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID ) const


description: Populates the passed array of TriangleIDs with the triangles connected to this vertex

code: template<typename Alloc> void GetVertexConnectedTriangles ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID, [TArray](API\Runtime\Core\Containers\TArray)< [FTriangleID](API\Runtime\MeshDescription\FTriangleID), Alloc > & OutConnectedTriangleIDs ) const


description: Returns reference to an array of Triangle IDs connected to this vertex instance

code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) > GetVertexInstanceConnectedTriangleIDs ( const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) VertexInstanceID ) const


description: Returns the polygons connected to this vertex instance as an array with the specified allocator template type.

code: template<typename Alloc> [TArray](API\Runtime\Core\Containers\TArray)< [FPolygonID](API\Runtime\MeshDescription\FPolygonID), Alloc > GetVertexInstanceConnectedPolygons ( const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) VertexInstanceID ) const


description: Returns the polygons connected to this vertex instance

code: [TArray](API\Runtime\Core\Containers\TArray)< [FPolygonID](API\Runtime\MeshDescription\FPolygonID) > GetVertexInstanceConnectedPolygons ( const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) VertexInstanceID ) const


description: Deprecated* Please use GetVertexInstanceTriangleIDs() instead.

code: [TArray](API\Runtime\Core\Containers\TArray)< [FTriangleID](API\Runtime\MeshDescription\FTriangleID) > GetVertexInstanceConnectedTriangles ( const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) VertexInstanceID ) const


description: Return the vertex instance which corresponds to the given vertex on the given polygon, or INDEX_NONE

code: [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) GetVertexInstanceForPolygonVertex ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID, const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID ) const


description: Return the vertex instance which corresponds to the given vertex on the given triangle, or INDEX_NONE

code: [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) GetVertexInstanceForTriangleVertex ( const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) TriangleID, const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID ) const


description: Returns the edge ID defined by the two given vertex instance IDs, if there is one; otherwise INDEX_NONE

code: [FEdgeID](API\Runtime\MeshDescription\FEdgeID) GetVertexInstancePairEdge ( const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) VertexInstanceID0, const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) VertexInstanceID1 ) const


description: Returns the vertex ID associated with the given vertex instance

code: [FVertexID](API\Runtime\MeshDescription\FVertexID) GetVertexInstanceVertex ( const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) VertexInstanceID ) const


description: Returns the edge ID defined by the two given vertex IDs, if there is one; otherwise INDEX_NONE

code: [FEdgeID](API\Runtime\MeshDescription\FEdgeID) GetVertexPairEdge ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID0, const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID1 ) const


description: Returns the position of this vertex

code: FVector3f GetVertexPosition ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID ) const


code: TVertexAttributesRef< FVector3f > GetVertexPositions()


description: Populates the passed array with the polygons connected to this vertex instance

code: template<typename Alloc> void GetVertexInstanceConnectedPolygons ( const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) VertexInstanceID, [TArray](API\Runtime\Core\Containers\TArray)< [FPolygonID](API\Runtime\MeshDescription\FPolygonID), Alloc > & OutPolygonIDs ) const


code: TVertexAttributesRef< const FVector3f > GetVertexPositions() const


description: Returns reference to an array of VertexInstance IDs instanced from this vertex

code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) > GetVertexVertexInstanceIDs ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID ) const


description: Deprecated* Please use GetVertexVertexInstanceIDs instead.

code: [TArray](API\Runtime\Core\Containers\TArray)< [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) > GetVertexVertexInstances ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID ) const


description: Determine whether a given edge is an internal edge between triangles of a polygon

code: bool IsEdgeInternal ( const [FEdgeID](API\Runtime\MeshDescription\FEdgeID) EdgeID ) const


description: Determine whether a given edge is an internal edge between triangles of a specific polygon

code: bool IsEdgeInternalToPolygon ( const [FEdgeID](API\Runtime\MeshDescription\FEdgeID) EdgeID, const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID ) const


description: Returns whether the passed edge ID is valid

code: bool IsEdgeValid ( const [FEdgeID](API\Runtime\MeshDescription\FEdgeID) EdgeID ) const


description: Return whether the mesh description is empty.

code: bool IsEmpty() const


description: Returns whether the passed polygon group ID is valid

code: bool IsPolygonGroupValid ( const [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) PolygonGroupID ) const


description: Returns whether the passed polygon ID is valid

code: bool IsPolygonValid ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID ) const


description: Returns whether the passed triangle ID is valid

code: bool IsTriangleValid ( const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) TriangleID ) const


description: Returns whether the passed UV ID is valid

code: bool IsUVValid ( const [FUVID](API\Runtime\MeshDescription\FUVID) UVID, const int32 UVChannel ) const


description: Returns whether the passed vertex instance ID is valid

code: bool IsVertexInstanceValid ( const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) VertexInstanceID ) const


description: Returns whether a given vertex is orphaned, i.e. it doesn't form part of any polygon

code: bool IsVertexOrphaned ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID ) const


description: Returns whether the passed vertex ID is valid

code: bool IsVertexValid ( const [FVertexID](API\Runtime\MeshDescription\FVertexID) VertexID ) const


description: Determines if this triangle is part of an n-gon

code: bool IsTrianglePartOfNgon ( const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) TriangleID ) const


description: Determines if callingCompact()would perform actual compaction or not.

code: bool NeedsCompact() const


code: [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) & operator= ( const [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) & )


code: [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) & operator= ( [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) && )


code: [TAttributesSet](API\Runtime\MeshDescription\TAttributesSet)< [FPolygonID](API\Runtime\MeshDescription\FPolygonID) > & PolygonAttributes()


code: const [TAttributesSet](API\Runtime\MeshDescription\TAttributesSet)< [FPolygonID](API\Runtime\MeshDescription\FPolygonID) > & PolygonAttributes() const


code: [TAttributesSet](API\Runtime\MeshDescription\TAttributesSet)< [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) > & PolygonGroupAttributes()


code: const [TAttributesSet](API\Runtime\MeshDescription\TAttributesSet)< [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) > & PolygonGroupAttributes() const


code: FPolygonGroupArray & PolygonGroups()


code: const FPolygonGroupArray & PolygonGroups() const


code: FPolygonArray & Polygons()


code: const FPolygonArray & Polygons() const


description: Remaps the element IDs in the mesh description according to the passed in object

code: void Remap ( const [FElementIDRemappings](API\Runtime\MeshDescription\FElementIDRemappings) & Remappings )


description: Reserves space for this number of new edges

code: void ReserveNewEdges ( const int32 NumEdges )


description: Reserves space for this number of new polygon groups

code: void ReserveNewPolygonGroups ( const int32 NumPolygonGroups )


description: Remaps polygon groups according to the supplied map

code: void RemapPolygonGroups ( const [TMap](API\Runtime\Core\Containers\TMap)< [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID), [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) > & Remap )


description: Reserves space for this number of new polygons

code: void ReserveNewPolygons ( const int32 NumPolygons )


description: Reserves space for this number of new triangles

code: void ReserveNewTriangles ( const int32 NumTriangles )


description: Reserves space for this number of new UVs

code: void ReserveNewUVs ( const int32 NumUVs, const int32 UVChannel )


description: Reserves space for this number of new vertex instances

code: void ReserveNewVertexInstances ( const int32 NumVertexInstances )


description: Reserves space for this number of new vertices

code: void ReserveNewVertices ( const int32 NumVertices )


description: Operations on all the indexers.

code: void ResetIndexers()


code: void ResumeEdgeIndexing()


code: void ResumePolygonIndexing()


code: void ResumeVertexIndexing()


code: void ResumeVertexInstanceIndexing()


description: Reverses the winding order of all polygons in the mesh

code: void ReverseAllPolygonFacing()


code: void ResumePolygonGroupIndexing()


description: Reverse the winding order of the vertices of this triangle

code: void ReverseTriangleFacing ( const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) TriangleID )


description: Serialize the mesh description.

code: void Serialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


description: Legacy serialization for old assets.

code: void SerializeLegacy ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


description: Sets the specified number of UV channels

code: void SetNumUVChannels ( const int32 NumUVChannels )


description: Set the vertex instance at the given index around the polygon to the new value

code: void SetPolygonVertexInstance ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID, const int32 PerimeterIndex, const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) VertexInstanceID )


code: void SuspendPolygonIndexing()


code: void SetPolygonVertexInstances ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID, [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) > VertexInstanceIDs )


description: Reverse the winding order of the vertices of this polygon

code: void ReversePolygonFacing ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID )


description: Set the UV indices for this triangle

code: void SetTriangleUVIndices ( const [FTriangleID](API\Runtime\MeshDescription\FTriangleID) TriangleID, [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FUVID](API\Runtime\MeshDescription\FUVID) > UVIDs, int32 UVChannel )


code: void SuspendEdgeIndexing()


code: void SuspendPolygonGroupIndexing()


description: Sets the polygon group associated with a polygon

code: void SetPolygonPolygonGroup ( const [FPolygonID](API\Runtime\MeshDescription\FPolygonID) PolygonID, const [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) PolygonGroupID )


code: void SuspendVertexIndexing()


code: void SuspendVertexInstanceIndexing()


description: Transfer the source polygon group data to the destination polygon group. The source data is append to the destination

code: void TransferPolygonGroup ( [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) SourceID, [FPolygonGroupID](API\Runtime\MeshDescription\FPolygonGroupID) DestinationID )


code: [TAttributesSet](API\Runtime\MeshDescription\TAttributesSet)< [FTriangleID](API\Runtime\MeshDescription\FTriangleID) > & TriangleAttributes()


code: const [TAttributesSet](API\Runtime\MeshDescription\TAttributesSet)< [FTriangleID](API\Runtime\MeshDescription\FTriangleID) > & TriangleAttributes() const


code: FTriangleArray & Triangles()


code: const FTriangleArray & Triangles() const


description: Retriangulates the entire mesh

code: void TriangulateMesh()


code: [TAttributesSet](API\Runtime\MeshDescription\TAttributesSet)< [FUVID](API\Runtime\MeshDescription\FUVID) > & UVAttributes ( int32 Index )


code: const [TAttributesSet](API\Runtime\MeshDescription\TAttributesSet)< [FUVID](API\Runtime\MeshDescription\FUVID) > & UVAttributes ( int32 Index ) const


code: FUVArray & UVs ( int32 Index )


code: const FUVArray & UVs ( int32 Index ) const


code: [TAttributesSet](API\Runtime\MeshDescription\TAttributesSet)< [FVertexID](API\Runtime\MeshDescription\FVertexID) > & VertexAttributes()


code: const [TAttributesSet](API\Runtime\MeshDescription\TAttributesSet)< [FVertexID](API\Runtime\MeshDescription\FVertexID) > & VertexAttributes() const


code: [TAttributesSet](API\Runtime\MeshDescription\TAttributesSet)< [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) > & VertexInstanceAttributes()


code: const [TAttributesSet](API\Runtime\MeshDescription\TAttributesSet)< [FVertexInstanceID](API\Runtime\MeshDescription\FVertexInstanceID) > & VertexInstanceAttributes() const


code: const FVertexInstanceArray & VertexInstances() const


code: FVertexArray & Vertices()


code: const FVertexArray & Vertices() const


description: Mesh description should be a moveable type. Hence explicitly declare all the below as defaulted, to ensure they will be generated by the compiler.

code: FMeshDescription()


code: FMeshDescription ( const [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) & )


code: FMeshDescription ( [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) && )


className: FMeshDescription

code: struct FMeshDescription


description: Empties the bulk data

code: void Empty()


description: Gets the size of the serialized bulk data

code: int64 GetBulkDataSize()


description: Return unique ID string for this bulk data


description: Returns all of the CustomVersions that can be used when serializing anFMeshDescription.

code: static TConstArrayView< [FGuid](API\Runtime\Core\Misc\FGuid) > GetMeshDescriptionCustomVersions()


description: Returns true if there is no bulk data available

code: bool IsEmpty() const


description: Load the mesh description from the bulk data

code: void LoadMeshDescription ( [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) & MeshDescription )


description: Store a new mesh description in the bulk data

code: void SaveMeshDescription ( [FMeshDescription](API\Runtime\MeshDescription\FMeshDescription) & MeshDescription )


description: Serialization

code: void Serialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar, [UObject](API\Runtime\CoreUObject\UObject\UObject) * Owner )


description: Uses a hash as the GUID, useful to prevent recomputing content already in cache.

code: void UseHashAsGuid()


code: FMeshDescriptionBulkData()


className: FMeshDescriptionBulkData

description: Bulk data storage forFMeshDescription

code: struct FMeshDescriptionBulkData


description: Transparent access through the array

code: const [FMeshElementContainer](API\Runtime\MeshDescription\FMeshElementContainer) & Get ( const int32 Index ) const


code: [FMeshElementContainer](API\Runtime\MeshDescription\FMeshElementContainer) & Get ( const int32 Index )


description: Get the number of indices

code: int32 GetNumChannels() const


description: Determines whether the mesh element type is empty or not


code: const [FMeshElementContainer](API\Runtime\MeshDescription\FMeshElementContainer) * operator->() const


code: const [FMeshElementContainer](API\Runtime\MeshDescription\FMeshElementContainer) & operator*() const


code: const [FMeshElementContainer](API\Runtime\MeshDescription\FMeshElementContainer) & operator[] ( const int32 Index ) const


code: [FMeshElementContainer](API\Runtime\MeshDescription\FMeshElementContainer) & operator[] ( const int32 Index )


description: Resets the containers

code: void Reset()


description: Change the number of indices

code: void SetNumChannels ( const int32 NumIndices )


description: Default constructor creates a single element

code: FMeshElementChannels ( const int32 NumberOfIndices )


className: FMeshElementChannels

description: This is a wrapper for an array of allocated MeshElementContainers.

code: class FMeshElementChannels


description: Add a new element at the next available index, and return the new ID

code: int32 Add()


description: Compacts elements and returns a remapping table

code: void Compact ( [TSparseArray](API\Runtime\Core\Containers\TSparseArray)< int32 > & OutIndexRemap )


code: FConstIterator begin&40;&41; const


code: FConstIterator end&40;&41; const


code: int32 operator&42;&40;&41; const


className: FConstIterator

description: operator++()

code: class FConstIterator


code: FConstIterator &40; TConstSetBitIterator<> && It &41;


code: FElementIDs &40; const TBitArray<> & InArray &41;


className: FElementIDs

description:
This is a special type of iterator which returns successive IDs of valid elements, rather than the elements themselves. It is designed to be used with a range-for: for (const int32 VertexIndex : GetVertices().GetElementIDs())
{
    DoSomethingWith(VertexIndex);
}

code: class FElementIDs


description: Returns the index after the last valid element

code: int32 GetArraySize() const


description: Accessor for attributes


code: const [FAttributesSetBase](API\Runtime\MeshDescription\FAttributesSetBase) & GetAttributes() const


description: Return iterable proxy object from container


description: Returns the first valid ID

code: int32 GetFirstValidID() const


description: Inserts a new element with the given index

code: void Insert ( const int32 Index )


description: Returns whether the given ID is valid or not

code: bool IsValid ( const int32 Index ) const


description: Returns the number of elements in the container

code: int32 Num() const


code: [FMeshElementContainer](API\Runtime\MeshDescription\FMeshElementContainer) & operator= ( const [FMeshElementContainer](API\Runtime\MeshDescription\FMeshElementContainer) & )


description: Move assignment operator which ensures that NumHoles is set correctly in the moved object

code: [FMeshElementContainer](API\Runtime\MeshDescription\FMeshElementContainer) & operator= ( [FMeshElementContainer](API\Runtime\MeshDescription\FMeshElementContainer) && Other )


description: Removes the element with the given ID

code: void Remove ( const int32 Index )


description: Remaps elements according to the passed remapping table

code: void Remap ( const [TSparseArray](API\Runtime\Core\Containers\TSparseArray)< int32 > & IndexRemap )


description: Reserves space for the specified total number of elements

code: void Reserve ( const int32 Elements )


description: Resets the container, optionally reserving space for elements to be added

code: void Reset ( const int32 Elements )


code: FMeshElementContainer ( const [FMeshElementContainer](API\Runtime\MeshDescription\FMeshElementContainer) & )


description: Move constructor which ensures that NumHoles is set correctly in the moved object

code: FMeshElementContainer ( [FMeshElementContainer](API\Runtime\MeshDescription\FMeshElementContainer) && Other )


className: FMeshElementContainer

description: Class representing a collection of mesh elements, such as vertices or triangles. It has two purposes: 1) To generate new element IDs on demand, and recycle those which have been discarded. 2) To hold a map of attributes for a given element type and their values.

code: class FMeshElementContainer

Attributes

type: FAttributesSetB...

description: Attributes associated with this element container

BitArray

type: TBitArray

description: A bit array of all indices currently in use

NumHoles

description: A count of the number of unused indices in the bit array.


description: Add a reference to a key. This will be queued and take effect in batch when an affected key is looked up. This is preferable to regenerating the index entirely.

code: void AddReferenceToKey ( int32 KeyIndex, int32 ReferenceIndex, int32 KeyChannelIndex )


description: Build any stale indices

code: void Build()


description: Retrieve all referencer indices whose named attribute refers to KeyIndex. Non-const because finding a stale index might cause a rebuild.

code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< const int32 > Find ( int32 KeyIndex, int32 KeyChannelIndex )


code: template<typename ElementIDType> [TArrayView](API\Runtime\Core\Containers\TArrayView)< const ElementIDType > Find ( int32 KeyIndex, int32 KeyChannelIndex )


description: Force the indexer to be completely rebuilt.

code: void ForceRebuild()


code: [FMeshElementIndexer](API\Runtime\MeshDescription\FMeshElementIndexer) & operator= ( const [FMeshElementIndexer](API\Runtime\MeshDescription\FMeshElementIndexer) & )


code: [FMeshElementIndexer](API\Runtime\MeshDescription\FMeshElementIndexer) & operator= ( [FMeshElementIndexer](API\Runtime\MeshDescription\FMeshElementIndexer) && )


description: Remove the specified key from the indexer

code: void RemoveKey ( int32 KeyIndex, int32 KeyChannelIndex )


description: Remove reference from key. This will take immediate effect.

code: void RemoveReferenceFromKey ( int32 KeyIndex, int32 ReferenceIndex, int32 KeyChannelIndex )


description: Resets the indexer

code: void Reset()


description: Resume indexing and mark indexer as stale, but do not force an immediate rebuild

code: void Resume()


description: Set the parameters of this mesh element indexer

code: void Set ( const [FMeshElementChannels](API\Runtime\MeshDescription\FMeshElementChannels) * Key, const [FMeshElementChannels](API\Runtime\MeshDescription\FMeshElementChannels) * Referencer, [FName](API\Runtime\Core\UObject\FName) AttributeName, int32 ReferencerChannelIndex )


description: Sets the chunk size for the indexer, for optimization purposes. The default chunk size is 256.

code: void SetChunkSize ( int InChunkSize )