UMeshDescriptionBase

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

MeshDescription

Header

/Engine/Source/Runtime/MeshDescription/Public/MeshDescriptionBase.h

Include

#include "MeshDescriptionBase.h"

Syntax

class UMeshDescriptionBase : public UObject

Variables

Functions

Name Description

Public function

void

 

ComputePolygonTriangulation

(
    FPolygonID PolygonID
)

Generates triangles and internal edges for the given polygon

Public function

FEdgeID

 

CreateEdge

(
    FVertexID VertexID0,
    FVertexID VertexID1
)

Adds a new edge to the mesh and returns its ID

Public function

void

 

CreateEdgeWithID

(
    FEdgeID EdgeID,
    FVertexID VertexID0,
    FVertexID VertexID1
)

Adds a new edge to the mesh with the given ID

Public function

FPolygonID

 

CreatePolygon

(
    FPolygonGroupID PolygonGroupID,
    TArray< FVertexInstanceID >& Verte...,
    TArray< FEdgeID >& NewEdgeIDs
)

Adds a new polygon to the mesh and returns its ID.

Public function

FPolygonGrou...

 

CreatePolygonGroup()

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

Public function

void

 

CreatePolygonGroupWithID

(
    FPolygonGroupID PolygonGroupID
)

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

Public function

void

 

CreatePolygonWithID

(
    FPolygonID PolygonID,
    FPolygonGroupID PolygonGroupID,
    TArray< FVertexInstanceID >& Verte...,
    TArray< FEdgeID >& NewEdgeIDs
)

Adds a new polygon to the mesh with the given ID.

Public function

FTriangleID

 

CreateTriangle

(
    FPolygonGroupID PolygonGroupID,
    const TArray< FVertexInstanceID >&...,
    TArray< FEdgeID >& NewEdgeIDs
)

Adds a new triangle to the mesh and returns its ID.

Public function

void

 

CreateTriangleWithID

(
    FTriangleID TriangleID,
    FPolygonGroupID PolygonGroupID,
    const TArray< FVertexInstanceID >&...,
    TArray< FEdgeID >& NewEdgeIDs
)

Adds a new triangle to the mesh with the given ID.

Public function

FVertexID

 

CreateVertex()

Adds a new vertex to the mesh and returns its ID

Public function

FVertexInsta...

 

CreateVertexInstance

(
    FVertexID VertexID
)

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

Public function

void

 

CreateVertexInstanceWithID

(
    FVertexInstanceID VertexInstanceID,
    FVertexID VertexID
)

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

Public function

void

 

CreateVertexWithID

(
    FVertexID VertexID
)

Adds a new vertex to the mesh with the given ID

Public function

void

 

DeleteEdge

(
    FEdgeID EdgeID,
    TArray< FVertexID >& OrphanedVerti...
)

Deletes an edge from a mesh

Public function

void

 

DeletePolygon

(
    FPolygonID PolygonID,
    TArray< FEdgeID >& OrphanedEdges,
    TArray< FVertexInstanceID >& Orpha...,
    TArray< FPolygonGroupID >& Orphane...
)

Deletes a polygon from the mesh

Public function

void

 

DeletePolygonGroup

(
    FPolygonGroupID PolygonGroupID
)

Deletes a polygon group from the mesh

Public function

void

 

DeleteTriangle

(
    FTriangleID TriangleID,
    TArray< FEdgeID >& OrphanedEdges,
    TArray< FVertexInstanceID >& Orpha...,
    TArray< FPolygonGroupID >& Orphane...
)

Deletes a triangle from the mesh

Public function

void

 

DeleteVertex

(
    FVertexID VertexID
)

Deletes a vertex from the mesh

Public function

void

 

DeleteVertexInstance

(
    FVertexInstanceID VertexInstanceID,
    TArray< FVertexID >& OrphanedVerti...
)

Deletes a vertex instance from a mesh

Public function Const

const TAttri...

 

EdgeAttributes()

Public function

TAttributesS...

 

EdgeAttributes()

Public function Const

const FEdgeA...

 

Edges()

Public function

FEdgeArray &

 

Edges()

Public function

void

 

Empty()

Empty the mesh description

Public function Const

void

 

GetEdgeConnectedPolygons

(
    FEdgeID EdgeID,
    TArray< FPolygonID >& OutConnected...
)

Returns the polygons connected to this edge

Public function Const

void

 

GetEdgeConnectedTriangles

(
    FEdgeID EdgeID,
    TArray< FTriangleID >& OutConnecte...
)

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

Public function Const

FVertexID

 

GetEdgeVertex

(
    FEdgeID EdgeID,
    int32 VertexNumber
)

Returns the vertex ID corresponding to one of the edge endpoints

Public function Const

void

 

GetEdgeVertices

(
    const FEdgeID EdgeID,
    TArray< FVertexID >& OutVertexIDs
)

Returns a pair of vertex IDs defining the edge

Public function Const

const FMeshD...

 

GetMeshDescription()

Public function

FMeshDescrip...

 

GetMeshDescription()

Get a reference to the actual mesh description

Public function Const

int32

 

GetNumEdgeConnectedPolygons

(
    FEdgeID EdgeID
)

Returns the number of polygons connected to this edge

Public function Const

int32

 

GetNumEdgeConnectedTriangles

(
    FEdgeID EdgeID
)

Returns the number of triangles connected to this edge

Public function Const

int32

 

GetNumPolygonGroupPolygons

(
    FPolygonGroupID PolygonGroupID
)

Returns the number of polygons in this polygon group

Public function Const

int32

 

GetNumPolygonInternalEdges

(
    FPolygonID PolygonID
)

Return the number of internal edges in this polygon

Public function Const

int32

 

GetNumPolygonTriangles

(
    FPolygonID PolygonID
)

Return the number of triangles which comprise this polygon

Public function Const

int32

 

GetNumPolygonVertices

(
    FPolygonID PolygonID
)

Returns the number of vertices this polygon has

Public function Const

int32

 

GetNumVertexConnectedEdges

(
    FVertexID VertexID
)

Returns number of edges connected to this vertex

Public function Const

int32

 

GetNumVertexConnectedPolygons

(
    FVertexID VertexID
)

Returns the number of polygons connected to this vertex

Public function Const

int32

 

GetNumVertexConnectedTriangles

(
    FVertexID VertexID
)

Returns number of triangles connected to this vertex

Public function Const

int32

 

GetNumVertexInstanceConnectedPolygons

(
    FVertexInstanceID VertexInstanceID
)

Returns the number of polygons connected to this vertex instance.

Public function Const

int32

 

GetNumVertexInstanceConnectedTriangles

(
    FVertexInstanceID VertexInstanceID
)

Returns the number of triangles connected to this vertex instance

Public function Const

int32

 

GetNumVertexVertexInstances

(
    FVertexID VertexID
)

Returns number of vertex instances created from this vertex

Public function Const

void

 

GetPolygonAdjacentPolygons

(
    FPolygonID PolygonID,
    TArray< FPolygonID >& OutPolygonID...
)

Populates the passed array with adjacent polygons

Public function Const

void

 

GetPolygonGroupPolygons

(
    FPolygonGroupID PolygonGroupID,
    TArray< FPolygonID >& OutPolygonID...
)

Returns the polygons associated with the given polygon group

Public function Const

void

 

GetPolygonInternalEdges

(
    FPolygonID PolygonID,
    TArray< FEdgeID >& OutEdgeIDs
)

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

Public function Const

void

 

GetPolygonPerimeterEdges

(
    FPolygonID PolygonID,
    TArray< FEdgeID >& OutEdgeIDs
)

Returns the edges which form the polygon perimeter

Public function Const

FPolygonGrou...

 

GetPolygonPolygonGroup

(
    FPolygonID PolygonID
)

Return the polygon group associated with a polygon

Public function Const

void

 

GetPolygonTriangles

(
    FPolygonID PolygonID,
    TArray< FTriangleID >& OutTriangle...
)

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

Public function Const

void

 

GetPolygonVertexInstances

(
    FPolygonID PolygonID,
    TArray< FVertexInstanceID >& OutVe...
)

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

Public function Const

void

 

GetPolygonVertices

(
    FPolygonID PolygonID,
    TArray< FVertexID >& OutVertexIDs
)

Returns the vertices which form the polygon perimeter

Public function Virtual Const

const FMeshA...

 

GetRequiredAttributes()

Public function Virtual

FMeshAttribu...

 

GetRequiredAttributes()

Public function Const

void

 

GetTriangleAdjacentTriangles

(
    FTriangleID TriangleID,
    TArray< FTriangleID >& OutTriangle...
)

Returns the adjacent triangles to this triangle

Public function Const

void

 

GetTriangleEdges

(
    FTriangleID TriangleID,
    TArray< FEdgeID >& OutEdgeIDs
)

Returns the edges which define this triangle

Public function Const

FPolygonID

 

GetTrianglePolygon

(
    FTriangleID TriangleID
)

Get the polygon which contains this triangle

Public function Const

FPolygonGrou...

 

GetTrianglePolygonGroup

(
    FTriangleID TriangleID
)

Get the polygon group which contains this triangle

Public function Const

FVertexInsta...

 

GetTriangleVertexInstance

(
    FTriangleID TriangleID,
    int32 Index
)

Get the specified vertex instance by index

Public function Const

void

 

GetTriangleVertexInstances

(
    FTriangleID TriangleID,
    TArray< FVertexInstanceID >& OutVe...
)

Get the vertex instances which define this triangle

Public function Const

void

 

GetTriangleVertices

(
    FTriangleID TriangleID,
    TArray< FVertexID >& OutVertexIDs
)

Returns the vertices which define this triangle

Public function Const

void

 

GetVertexAdjacentVertices

(
    FVertexID VertexID,
    TArray< FVertexID >& OutAdjacentVe...
)

Returns the vertices adjacent to this vertex

Public function Const

void

 

GetVertexConnectedEdges

(
    FVertexID VertexID,
    TArray< FEdgeID >& OutEdgeIDs
)

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

Public function Const

void

 

GetVertexConnectedPolygons

(
    FVertexID VertexID,
    TArray< FPolygonID >& OutConnected...
)

Returns the polygons connected to this vertex

Public function Const

void

 

GetVertexConnectedTriangles

(
    FVertexID VertexID,
    TArray< FTriangleID >& OutConnecte...
)

Returns the triangles connected to this vertex

Public function Const

void

 

GetVertexInstanceConnectedPolygons

(
    FVertexInstanceID VertexInstanceID,
    TArray< FPolygonID >& OutConnected...
)

Returns the polygons connected to this vertex instance

Public function Const

void

 

GetVertexInstanceConnectedTriangles

(
    FVertexInstanceID VertexInstanceID,
    TArray< FTriangleID >& OutConnecte...
)

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

Public function Const

FVertexInsta...

 

GetVertexInstanceForPolygonVertex

(
    FPolygonID PolygonID,
    FVertexID VertexID
)

Return the vertex instance which corresponds to the given vertex on the given polygon, or FVertexInstanceID::Invalid

Public function Const

FVertexInsta...

 

GetVertexInstanceForTriangleVertex

(
    FTriangleID TriangleID,
    FVertexID VertexID
)

Return the vertex instance which corresponds to the given vertex on the given triangle, or FVertexInstanceID::Invalid

Public function Const

FEdgeID

 

GetVertexInstancePairEdge

(
    FVertexInstanceID VertexInstanceID0,
    FVertexInstanceID VertexInstanceID1
)

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

Public function Const

FVertexID

 

GetVertexInstanceVertex

(
    FVertexInstanceID VertexInstanceID
)

Returns the vertex ID associated with the given vertex instance

Public function Const

FEdgeID

 

GetVertexPairEdge

(
    FVertexID VertexID0,
    FVertexID VertexID1
)

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

Public function Const

FVector

 

GetVertexPosition

(
    FVertexID VertexID
)

Gets a vertex position

Public function Const

TVertexAttri...

 

GetVertexPositions()

Public function

TVertexAttri...

 

GetVertexPositions()

Accessors for cached vertex position array

Public function Const

void

 

GetVertexVertexInstances

(
    FVertexID VertexID,
    TArray< FVertexInstanceID >& OutVe...
)

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

Public function Const

bool

 

IsEdgeInternal

(
    FEdgeID EdgeID
)

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

Public function Const

bool

 

IsEdgeInternalToPolygon

(
    FEdgeID EdgeID,
    FPolygonID PolygonID
)

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

Public function Const

bool

 

IsEdgeValid

(
    FEdgeID EdgeID
)

Returns whether the passed edge ID is valid

Public function Const

bool

 

IsEmpty()

Return whether the mesh description is empty

Public function Const

bool

 

IsPolygonGroupValid

(
    FPolygonGroupID PolygonGroupID
)

Returns whether the passed polygon group ID is valid

Public function Const

bool

 

IsPolygonValid

(
    FPolygonID PolygonID
)

Returns whether the passed polygon ID is valid

Public function Const

bool

 

IsTrianglePartOfNgon

(
    FTriangleID TriangleID
)

Determines if this triangle is part of an n-gon

Public function Const

bool

 

IsTriangleValid

(
    const FTriangleID TriangleID
)

Returns whether the passed triangle ID is valid

Public function Const

bool

 

IsVertexInstanceValid

(
    FVertexInstanceID VertexInstanceID
)

Returns whether the passed vertex instance ID is valid

Public function Const

bool

 

IsVertexOrphaned

(
    FVertexID VertexID
)

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

Public function Const

bool

 

IsVertexValid

(
    FVertexID VertexID
)

Returns whether the passed vertex ID is valid

Public function Const

const TAttri...

 

PolygonAttributes()

Public function

TAttributesS...

 

PolygonAttributes()

Public function Const

const TAttri...

 

PolygonGroupAttributes()

Public function

TAttributesS...

 

PolygonGroupAttributes()

Public function Const

const FPolyg...

 

PolygonGroups()

Public function

FPolygonGrou...

 

PolygonGroups()

Public function

FPolygonArra...

 

Polygons()

Public function Const

const FPolyg...

 

Polygons()

Public function Virtual

void

 

RegisterAttributes()

Public function

void

 

ReserveNewEdges

(
    int32 NumberOfNewEdges
)

Reserves space for this number of new edges

Public function

void

 

ReserveNewPolygonGroups

(
    int32 NumberOfNewPolygonGroups
)

Reserves space for this number of new polygon groups

Public function

void

 

ReserveNewPolygons

(
    const int32 NumberOfNewPolygons
)

Reserves space for this number of new polygons

Public function

void

 

ReserveNewTriangles

(
    int32 NumberOfNewTriangles
)

Reserves space for this number of new triangles

Public function

void

 

ReserveNewVertexInstances

(
    int32 NumberOfNewVertexInstances
)

Reserves space for this number of new vertex instances

Public function

void

 

ReserveNewVertices

(
    int32 NumberOfNewVertices
)

Reserves space for this number of new vertices

Public function

void

 

Reset()

Reset the contained mesh description

Public function

void

 

ReversePolygonFacing

(
    FPolygonID PolygonID
)

Reverse the winding order of the vertices of this polygon

Public function

void

 

SetMeshDescription

(
    FMeshDescription InMeshDescription
)

Set the mesh description

Public function

void

 

SetPolygonPolygonGroup

(
    FPolygonID PolygonID,
    FPolygonGroupID PolygonGroupID
)

Sets the polygon group associated with a polygon

Public function

void

 

SetPolygonVertexInstance

(
    FPolygonID PolygonID,
    int32 PerimeterIndex,
    FVertexInstanceID VertexInstanceID
)

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

Public function

void

 

SetVertexPosition

(
    FVertexID VertexID,
    const FVector& Position
)

Sets a vertex position

Public function Const

const TAttri...

 

TriangleAttributes()

Public function

TAttributesS...

 

TriangleAttributes()

Public function

FTriangleArr...

 

Triangles()

Public function Const

const FTrian...

 

Triangles()

Public function

TAttributesS...

 

VertexAttributes()

Accessors for mesh element attributes

Public function Const

const TAttri...

 

VertexAttributes()

Public function

TAttributesS...

 

VertexInstanceAttributes()

Public function Const

const TAttri...

 

VertexInstanceAttributes()

Public function

FVertexInsta...

 

VertexInstances()

Public function Const

const FVerte...

 

VertexInstances()

Public function

FVertexArray...

 

Vertices()

Accessors for mesh element arrays

Public function Const

const FVerte...

 

Vertices()

Overridden from UObject

Name Description

Public function Virtual

void

 

Serialize

(
    FArchive& Ar
)

Handles reading, writing, and reference collecting using FArchive.

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss