Navigation
API > API/Plugins > API/Plugins/MutableRuntime > API/Plugins/MutableRuntime/MuR
Inheritance Hierarchy
- RefCounted
- Resource
- Mesh
References
| Module | MutableRuntime |
| Header | /Engine/Plugins/Mutable/Source/MutableRuntime/Public/MuR/Mesh.h |
| Include | #include "MuR/Mesh.h" |
Syntax
class Mesh : public mu::Resource
Remarks
Mesh object containing any number of buffers with any number of channels. The buffers can be per-index or per-vertex. The mesh also includes layout information for every texture channel for internal usage, and it can be ignored. The meshes are always assumed to be triangle list primitives.
Variables
| Type | Name | Description | |
|---|---|---|---|
| TArray< TPair< EMeshBufferType, FMeshBufferSet > > | AdditionalBuffers | Additional buffers used for temporary or custom data in different algorithms. | |
| TArray< Ptr< const mu::PhysicsBody > > | AdditionalPhysicsBodies | Additional physics bodies referenced by the mesh that don't merge. | |
| TArray< FBoneName > | BoneMap | Array containing the bonemaps of all surfaces in the mesh. | |
| TMemoryTrackedArray< FBonePose > | BonePoses | This is the pose used by this mesh fragment, used to update the transforms of the final skeleton taking into consideration the meshes being used. | |
| EMeshFlags | Flags | This is bit - mask on the EMeshFlags enumeration, marking what static formats are compatible with this one and other properties. | |
| FMeshBufferSet | IndexBuffers | ||
| uint32 | InternalId | Non-persistent internal id unique for a mesh generated for a specific state and parameter values. | |
| TArray< Ptr< const Layout > > | Layouts | Texture Layout blocks attached to this mesh. | |
| uint32 | MeshIDPrefix | Prefix for the unique IDs related to this mesh (vertices and layout blocks). | |
| Ptr< const PhysicsBody > | PhysicsBody | ||
| uint32 | ReferenceID | Only valid if the right flags are set, this identifies a referenced mesh. | |
| Ptr< const Skeleton > | Skeleton | This skeleton and physics body are not owned and may be used by other meshes, so it cannot be modified once the mesh has been fully created. | |
| TArray< uint32 > | SkeletonIDs | Externally provided SkeletonIDs of the skeletons required by this mesh. | |
| TArray< uint64 > | StreamedResources | Opaque handle to external resources. | |
| TArray< FMeshSurface > | Surfaces | ||
| TArray< FString > | Tags | ||
| FMeshBufferSet | VertexBuffers |
Destructors
| Type | Name | Description | |
|---|---|---|---|
~Mesh () |
Forbidden. Manage with the Ptr<> template. |
Functions
| Type | Name | Description | |
|---|---|---|---|
| int32 | AddAdditionalPhysicsBody
(
Ptr< const PhysicsBody > Body |
||
| void | |||
| void | AddSkeletonID
(
int32 SkeletonID |
||
| void | AddStreamedResource
(
uint64 ResourceId |
||
| bool | |||
| bool | Return true if the mesh has unique vertex IDs and they stored in an implicit way. | ||
| void | Check mesh buffer data for possible inconsistencies | ||
| Ptr< Mesh > | Clone
(
EMeshCopyFlags Flags |
Clone with flags allowing to not include some parts in the cloned mesh | |
| Ptr< Mesh > | Clone () |
Deep clone this mesh. | |
| void | CopyFrom
(
const Mesh& From, |
Copy form another mesh. | |
| Ptr< Mesh > | CreateAsReference
(
uint32 ID, |
Life cycle. | |
| void | Create the surface data if not present. | ||
| int32 | FindBonePose
(
const FBoneName& BoneName |
||
| Ptr< const PhysicsBody > | GetAdditionalPhysicsBody
(
int32 I |
||
| const TArray< FBoneName > & | GetBoneMap () |
Return an array containing the bonemaps of all surfaces in the mesh. | |
| int32 | |||
| const FBoneName & | GetBonePoseId
(
int32 BoneIndex |
||
| void | GetBonePoseTransform
(
int32 BoneIndex, |
Return a matrix stored per bone. It is a set of 16-float values. | |
| EBoneUsageFlags | GetBoneUsageFlags
(
int32 BoneIndex |
||
| int32 | GetFaceCount () |
||
| UE::Math::TIntVector3< uint32 > | GetFaceVertexIndices
(
int32 f |
Compare the vertex attributes to check if they match. | |
| uint32 | GetId () |
Get an internal identifier used to reference this mesh in operations like deferred mesh building, or instance updating. | |
| const FMeshBufferSet & | |||
| FMeshBufferSet & | Index buffers. They are owned by this mesh. | ||
| int32 | |||
| const Layout * | GetLayout
(
int32 i |
||
| int32 | |||
| Ptr< const PhysicsBody > | |||
| uint32 | Return the id of the engine referenced mesh. Only valid if IsReference. | ||
| Ptr< const Skeleton > | GetSkeleton () |
||
| int32 | GetSkeletonID
(
int32 SkeletonIndex |
||
| int32 | |||
| const TArray< uint64 > & | |||
| void | GetSurface
(
int32 SurfaceIndex, |
||
| int32 | Get the number of surfaces defined in this mesh. | ||
| uint32 | GetSurfaceId
(
int32 SurfaceIndex |
Return an internal id that can be used to match mesh surfaces and instance surfaces. | |
| const FString & | GetTag
(
int32 tagIndex |
||
| int32 | GetTagCount () |
||
| FMeshBufferSet & | Vertex buffers. They are owned by this mesh. | ||
| const FMeshBufferSet & | |||
| int32 | |||
| void | GetVertexMap
(
const Mesh& Other, |
||
| bool | HasCompatibleFormat
(
const Mesh* Other |
Return true if the given mesh has the same vertex and index formats, and in the same buffer structure. | |
| bool | IsForceLoad () |
If true, this is a reference that must be resolved at compile time. | |
| bool | IsReference () |
Return true if this is a reference to an engine image. | |
| bool | Compare the mesh with another one, but ignore internal data like generated vertex indices. | ||
| void | Log
(
FString& Out, |
Debug: get a text representation of the mesh | |
| void | Ensure the format of an empty mesh includes explicit IDs. The mesh cannot have any vertex data. | ||
| void | Create an explicit vertex buffer for vertex IDs if they are implicit. | ||
| void | Change the buffer descriptions so that all buffer indices start at 0 and are in the same order than memory. | ||
| void | Update the flags identifying the mesh format as some of the optimised formats. | ||
| void | Serialise
(
OutputArchive& arch |
||
| void | Serialise
(
const Mesh* InMesh, |
Serialisation | |
| void | SetBoneMap
(
const TArray< FBoneName >& InBoneMap |
Set the bonemap of this mesh. | |
| void | SetBonePose
(
int32 Index, |
||
| void | SetBonePoseCount
(
int32 count |
||
| void | |||
| void | SetPhysicsBody
(
Ptr< const PhysicsBody > |
||
| void | SetSkeleton
(
Ptr< const Skeleton > |
||
| void | SetTag
(
int32 tagIndex, |
||
| void | SetTagCount
(
int32 count |
||
| Ptr< Mesh > | StaticUnserialise
(
InputArchive& Arch |
||
| void | Unserialise
(
InputArchive& arch |
Overridden from Resource
| Type | Name | Description | |
|---|---|---|---|
| int32 | GetDataSize () |
Return the size in bytes of all the LODs of the image. |
Operators
| Type | Name | Description | |
|---|---|---|---|
| bool | operator==
(
const Mesh& o |
Classes
| Type | Name | Description | |
|---|---|---|---|
| FBonePose | |||
| FVertexMatchMap | Make a map from the vertices in this mesh to thefirst matching vertex of the given mesh. |
Typedefs
| Name | Description |
|---|---|
| TMemoryTrackedArray |
Constants
| Name | Description |
|---|---|
| InvalidVertexId |