Navigation
API > API/Plugins > API/Plugins/MutableRuntime > API/Plugins/MutableRuntime/MuR
Inheritance Hierarchy
- Base
- RefCounted
- Resource
- Mesh
References
| Module | MutableRuntime |
| Header | /Engine/Plugins/Experimental/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< Ptr< const PhysicsBody > > | AdditionalPhysicsBodies | Additional physics bodies referenced by the mesh that don't merge. | |
| TArray< uint16 > | 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. | |
| TArray< TPair< EMeshBufferType, FMeshBufferSet > > | m_AdditionalBuffers | Additional buffers used for temporary or custom data in different algorithms. | |
| FMeshBufferSet | m_FaceBuffers | ||
| TArray< FACE_GROUP > | m_faceGroups | ||
| FMeshBufferSet | m_IndexBuffers | ||
| uint32 | m_internalId | Non-persistent internal id unique for a mesh generated for a specific state and parameter values. | |
| TArray< Ptr< const Layout > > | m_layouts | Texture Layout blocks attached to this mesh. | |
| Ptr< const PhysicsBody > | m_pPhysicsBody | ||
| Ptr< const Skeleton > | m_pSkeleton | 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. | |
| uint32 | m_staticFormatFlags | This is bit-mask on the STATIC_MESH_FORMATS enumeration, marking what static formats are compatible with this one. | |
| TArray< MESH_SURFACE > | m_surfaces | ||
| TArray< string > | m_tags | ||
| FMeshBufferSet | m_VertexBuffers | ||
| TArray< uint32 > | SkeletonIDs | Externally provided SkeletonIDs of the skeletons required by this mesh. |
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 | Check mesh buffer data for possible inconsistencies. | ||
| MeshPtr | Clone
(
EMeshCopyFlags Flags |
Clone with flags allowing to not include some parts in the cloned mesh. | |
| MeshPtr | Clone () |
Life cycle. | |
| void | CopyFrom
(
const Mesh& From, |
Copy form another mesh. | |
| void | Create the surface data if not present. | ||
| int32 | FindBonePose
(
uint16 BoneId |
||
| Ptr< const PhysicsBody > | GetAdditionalPhysicsBody
(
int32 I |
||
| const TArray< uint16 > & | GetBoneMap () |
Return an array containing the bonemap indices of all surfaces in the mesh. | |
| int32 | GetBonePoseBoneId
(
int32 PoseIndex |
Return BoneId (uint16) of the pose at index PoseIndex or INDEX_NONE. | |
| int32 | |||
| void | GetBoneTransform
(
int32 BoneIndex, |
Return a matrix stored per bone. It is a set of 16-float values. | |
| EBoneUsageFlags | GetBoneUsageFlags
(
int32 BoneIndex |
||
| FMeshBufferSet & | Face buffers. They are owned by this mesh. | ||
| const FMeshBufferSet & | Face buffers. They are owned by this mesh. | ||
| int | GetFaceCount () |
||
| int | |||
| int | GetFaceGroupFaceCount
(
int group |
||
| const int32 * | GetFaceGroupFaces
(
int group |
||
| const char * | GetFaceGroupName
(
int group |
||
| UE::Math::TIntVector3< uint32 > | GetFaceVertexIndices
(
int 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 & | Index buffers. They are owned by this mesh. | ||
| FMeshBufferSet & | Index buffers. They are owned by this mesh. | ||
| int | |||
| const Layout * | GetLayout
(
int i |
||
| int | |||
| Ptr< const PhysicsBody > | |||
| Ptr< const Skeleton > | GetSkeleton () |
||
| int32 | GetSkeletonID
(
int32 SkeletonIndex |
||
| int32 | |||
| void | GetSurface
(
int32 surfaceIndex, |
||
| int | Get the number of surfaces defined in this mesh. | ||
| uint32 | GetSurfaceId
(
int surfaceIndex |
Return an internal id that can be used to match mesh surfaces and instance surfaces. | |
| const char * | GetTag
(
int tagIndex |
||
| int | GetTagCount () |
||
| const FMeshBufferSet & | Vertex buffers. They are owned by this mesh. | ||
| FMeshBufferSet & | Vertex buffers. They are owned by this mesh. | ||
| int | |||
| void | GetVertexMap
(
const Mesh& other, |
||
| bool | HasCompatibleFormat
(
const Mesh* pOther |
Return true if the given mesh has the same vertex and index formats, and in the same buffer structure. | |
| bool | HasFace
(
const Mesh& other, |
Return true if the mesh has a face with the same vertices than the face in the given mesh. | |
| bool | IsSameVertex
(
uint32 v, |
Compare the vertex attributes to check if they match. | |
| bool | Compare the mesh with another one, but ignore internal data like generated vertex indices. | ||
| void | Debug: get a text representation of the mesh. | ||
| 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* p, |
Serialisation. | |
| void | SetBoneMap
(
const TArray< uint16 >& InBoneMap |
Set the bonemap of this mesh. | |
| void | SetBonePose
(
int32 Index, |
||
| void | SetBonePoseCount
(
int32 count |
||
| void | SetFaceGroupCount
(
int count |
||
| void | SetFaceGroupFaces
(
int group, |
||
| void | SetFaceGroupName
(
int group, |
||
| void | |||
| void | SetPhysicsBody
(
Ptr< const PhysicsBody > |
||
| void | SetSkeleton
(
Ptr< const Skeleton > |
||
| void | SetTag
(
int tagIndex, |
||
| void | SetTagCount
(
int count |
||
| MeshPtr | 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 | |
|---|---|---|---|
| FACE_GROUP | |||
| FBonePose | |||
| VERTEX_MATCH_MAP | Make a map from the vertices in this mesh to thefirst matching vertex of the given mesh. |
Typedefs
| Name | Description |
|---|---|
| TMemoryTrackedArray |