Navigation
API > API/Runtime > API/Runtime/GeometryCore
FDynamicMeshAttributeSet manages a set of extended attributes for a FDynamicMesh3. This includes UV and Normal overlays, etc.
Currently the default is to always have one UV layer and one Normal layer, but the number of layers can be requested on construction.
| Name | FDynamicMeshAttributeSet |
| Type | class |
| Header File | /Engine/Source/Runtime/GeometryCore/Public/DynamicMesh/DynamicMeshAttributeSet.h |
| Include Path | #include "DynamicMesh/DynamicMeshAttributeSet.h" |
Syntax
class FDynamicMeshAttributeSet : public UE::Geometry::TDynamicAttributeSetBase< FDynamicMesh3 >
Inheritance Hierarchy
- TDynamicAttributeSetBase → FDynamicMeshAttributeSet
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FDynamicMeshAttributeSet
(
FDynamicMesh3* Mesh, |
DynamicMesh/DynamicMeshAttributeSet.h | ||
FDynamicMeshAttributeSet
(
FDynamicMesh3* Mesh |
DynamicMesh/DynamicMeshAttributeSet.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FDynamicMeshAttributeSet() |
DynamicMesh/DynamicMeshAttributeSet.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| GenericAttributesMap | TMap< FName, TUniquePtr< FDynamicMeshAttributeBase > > | DynamicMesh/DynamicMeshAttributeSet.h | |
| SkinWeightAttributesMap | TMap< FName, TUniquePtr< FDynamicMeshVertexSkinWeightsAttribute > > | DynamicMesh/DynamicMeshAttributeSet.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| SculptLayers | FDynamicMeshSculptLayers | Class to manage sculpt layer data, separated out mainly for clearer organization. | DynamicMesh/DynamicMeshAttributeSet.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool AppendBonesUnique
(
const FDynamicMeshAttributeSet& Other |
Append bone attributes from another set. | DynamicMesh/DynamicMeshAttributeSet.h | |
void AttachAttribute
(
FName AttribName, |
Attach a new attribute (and transfer ownership of it to the attribute set) | DynamicMesh/DynamicMeshAttributeSet.h | |
void AttachSkinWeightsAttribute
(
FName InProfileName, |
Skin weights Create a new skin weights attribute with a given skin weights profile name. | DynamicMesh/DynamicMeshAttributeSet.h | |
bool CheckBoneValidity
(
EValidityCheckFailMode FailMode |
The attribute is valid if either all attributes are empty or if the bone name attribute is not empty then all the other attributes must be either empty or their size is equal to the bone name attribute size. | DynamicMesh/DynamicMeshAttributeSet.h | |
void CompactCopy
(
const FCompactMaps& CompactMaps, |
Performs a CompactCopy of the attached overlays/attributes. | DynamicMesh/DynamicMeshAttributeSet.h | |
void CompactInPlace
(
const FCompactMaps& CompactMaps |
Compacts the attribute set in place Called by the parent mesh CompactInPlace function | DynamicMesh/DynamicMeshAttributeSet.h | |
void Copy
(
const FDynamicMeshAttributeSet& Copy |
DynamicMesh/DynamicMeshAttributeSet.h | ||
void CopyBoneAttributes
(
const FDynamicMeshAttributeSet& Copy |
Bone Attributes Copy all bone attributes from the given attribute set to this attribute set, removing any values that were there before. | DynamicMesh/DynamicMeshAttributeSet.h | |
void CopyBoneAttributesWithRemapping
(
const FDynamicMeshAttributeSet& Copy, |
Copy bone attributes from the given attribute set to this attribute set, removing any values that were there before, using the given bone hierarchy map to control which bones are copied, and how parent bone indices should be remapped. | DynamicMesh/DynamicMeshAttributeSet.h | |
void DisableBones() |
Disable all bone attributes. | DynamicMesh/DynamicMeshAttributeSet.h | |
void DisableMaterialID() |
DynamicMesh/DynamicMeshAttributeSet.h | ||
void DisablePrimaryColors() |
DynamicMesh/DynamicMeshAttributeSet.h | ||
void DisableTangents() |
Disable Tangents overlays | DynamicMesh/DynamicMeshAttributeSet.h | |
void DiscardSculptLayers() |
Discard sculpt layer data from the mesh. | DynamicMesh/DynamicMeshAttributeSet.h | |
void EnableBones
(
const int InBonesNum |
Enable all bone attributes and intialize their size to the given bone number. | DynamicMesh/DynamicMeshAttributeSet.h | |
void EnableMatchingAttributes
(
const FDynamicMeshAttributeSet& ToMatch, |
Enable the matching attributes and overlay layers as the ToMatch set, but do not copy any data across. | DynamicMesh/DynamicMeshAttributeSet.h | |
void EnableMatchingBoneAttributes
(
const FDynamicMeshAttributeSet& ToMatch, |
DynamicMesh/DynamicMeshAttributeSet.h | ||
void EnableMaterialID() |
DynamicMesh/DynamicMeshAttributeSet.h | ||
void EnablePrimaryColors() |
DynamicMesh/DynamicMeshAttributeSet.h | ||
void EnableSculptLayers
(
int32 MinLayers |
Enable sculpt layers on the mesh, if they are not already enabled. | DynamicMesh/DynamicMeshAttributeSet.h | |
void EnableTangents() |
Enable Tangents overlays (Tangent = Normal layer 1, Bitangent = Normal layer 2) | DynamicMesh/DynamicMeshAttributeSet.h | |
const FDynamicMeshAttributeBase * GetAttachedAttribute
(
FName AttribName |
DynamicMesh/DynamicMeshAttributeSet.h | ||
FDynamicMeshAttributeBase * GetAttachedAttribute
(
FName AttribName |
DynamicMesh/DynamicMeshAttributeSet.h | ||
const TMap< FName, TUniquePtr< FDynamicMeshAttributeBase > > & GetAttachedAttributes() |
DynamicMesh/DynamicMeshAttributeSet.h | ||
const FDynamicMeshBoneColorAttribute * GetBoneColors () |
DynamicMesh/DynamicMeshAttributeSet.h | ||
FDynamicMeshBoneColorAttribute * GetBoneColors () |
DynamicMesh/DynamicMeshAttributeSet.h | ||
const FDynamicMeshBoneNameAttribute * GetBoneNames () |
DynamicMesh/DynamicMeshAttributeSet.h | ||
FDynamicMeshBoneNameAttribute * GetBoneNames () |
DynamicMesh/DynamicMeshAttributeSet.h | ||
FDynamicMeshBoneParentIndexAttribute * GetBoneParentIndices () |
DynamicMesh/DynamicMeshAttributeSet.h | ||
const FDynamicMeshBoneParentIndexAttribute * GetBoneParentIndices () |
DynamicMesh/DynamicMeshAttributeSet.h | ||
FDynamicMeshBonePoseAttribute * GetBonePoses () |
DynamicMesh/DynamicMeshAttributeSet.h | ||
const FDynamicMeshBonePoseAttribute * GetBonePoses () |
DynamicMesh/DynamicMeshAttributeSet.h | ||
SIZE_T GetByteCount() |
DynamicMesh/DynamicMeshAttributeSet.h | ||
FDynamicMeshMaterialAttribute * GetMaterialID () |
DynamicMesh/DynamicMeshAttributeSet.h | ||
const FDynamicMeshMaterialAttribute * GetMaterialID () |
DynamicMesh/DynamicMeshAttributeSet.h | ||
const FDynamicMeshNormalOverlay * GetNormalLayer
(
int Index |
DynamicMesh/DynamicMeshAttributeSet.h | ||
FDynamicMeshNormalOverlay * GetNormalLayer
(
int Index |
DynamicMesh/DynamicMeshAttributeSet.h | ||
int32 GetNumBones() |
Get number of bones. | DynamicMesh/DynamicMeshAttributeSet.h | |
| DynamicMesh/DynamicMeshAttributeSet.h | |||
const FDynamicMesh3 * GetParentMesh () |
DynamicMesh/DynamicMeshAttributeSet.h | ||
const FDynamicMeshPolygroupAttribute * GetPolygroupLayer
(
int Index |
DynamicMesh/DynamicMeshAttributeSet.h | ||
FDynamicMeshPolygroupAttribute * GetPolygroupLayer
(
int Index |
DynamicMesh/DynamicMeshAttributeSet.h | ||
| DynamicMesh/DynamicMeshAttributeSet.h | |||
const FDynamicMeshSculptLayers * GetSculptLayers () |
DynamicMesh/DynamicMeshAttributeSet.h | ||
FDynamicMeshVertexSkinWeightsAttribute * GetSkinWeightsAttribute
(
FName InProfileName |
Returns a pointer to a skin weight attribute of the given profile name. | DynamicMesh/DynamicMeshAttributeSet.h | |
const TMap< FName, TUniquePtr< FDynamicMeshVertexSkinWeightsAttribute > > & GetSkinWeightsAttributes() |
Returns a map of all skin weight attributes. | DynamicMesh/DynamicMeshAttributeSet.h | |
FDynamicMeshUVOverlay * GetUVLayer
(
int Index |
DynamicMesh/DynamicMeshAttributeSet.h | ||
const FDynamicMeshUVOverlay * GetUVLayer
(
int Index |
DynamicMesh/DynamicMeshAttributeSet.h | ||
const FDynamicMeshWeightAttribute * GetWeightLayer
(
int Index |
DynamicMesh/DynamicMeshAttributeSet.h | ||
FDynamicMeshWeightAttribute * GetWeightLayer
(
int Index |
DynamicMesh/DynamicMeshAttributeSet.h | ||
bool HasAttachedAttribute
(
FName AttribName |
DynamicMesh/DynamicMeshAttributeSet.h | ||
bool HasBones() |
DynamicMesh/DynamicMeshAttributeSet.h | ||
bool HasMaterialID() |
Per-Triangle Material ID | DynamicMesh/DynamicMeshAttributeSet.h | |
bool HasPrimaryColors() |
DynamicMesh/DynamicMeshAttributeSet.h | ||
bool HasSkinWeightsAttribute
(
FName InProfileName |
Returns true if the list of skin weight attributes includes the given profile name. | DynamicMesh/DynamicMeshAttributeSet.h | |
bool HasTangentSpace() |
DynamicMesh/DynamicMeshAttributeSet.h | ||
bool IsCompact() |
Returns true if the attached overlays/attributes are compact | DynamicMesh/DynamicMeshAttributeSet.h | |
virtual bool IsMaterialBoundaryEdge
(
int EdgeID |
DynamicMesh/DynamicMeshAttributeSet.h | ||
bool IsSameAs
(
const FDynamicMeshAttributeSet& Other, |
Returns true if this AttributeSet is the same as Other. | DynamicMesh/DynamicMeshAttributeSet.h | |
bool IsSameBoneAttributesAs
(
const FDynamicMeshAttributeSet& Other |
Only compares bone names and parent indices. | DynamicMesh/DynamicMeshAttributeSet.h | |
virtual bool IsSeamEdge
(
int EdgeID, |
DynamicMesh/DynamicMeshAttributeSet.h | ||
virtual bool IsSeamEdge
(
int EdgeID, |
DynamicMesh/DynamicMeshAttributeSet.h | ||
virtual bool IsSeamEdge
(
int EdgeID |
DynamicMesh/DynamicMeshAttributeSet.h | ||
virtual bool IsSeamEndEdge
(
int EdgeID |
DynamicMesh/DynamicMeshAttributeSet.h | ||
virtual bool IsSeamIntersectionVertex
(
int32 VertexID |
DynamicMesh/DynamicMeshAttributeSet.h | ||
virtual bool IsSeamVertex
(
int VertexID, |
DynamicMesh/DynamicMeshAttributeSet.h | ||
int NumAttachedAttributes() |
DynamicMesh/DynamicMeshAttributeSet.h | ||
virtual int NumNormalLayers() |
Normal Layers | DynamicMesh/DynamicMeshAttributeSet.h | |
virtual int32 NumPolygroupLayers() |
Polygroup layers | DynamicMesh/DynamicMeshAttributeSet.h | |
int32 NumSculptLayers() |
Number of sculpt layers enabled on the mesh. | DynamicMesh/DynamicMeshAttributeSet.h | |
virtual int NumUVLayers() |
UV Layers | DynamicMesh/DynamicMeshAttributeSet.h | |
virtual int32 NumWeightLayers() |
Weight layers | DynamicMesh/DynamicMeshAttributeSet.h | |
const FDynamicMeshNormalOverlay * PrimaryBiTangents () |
DynamicMesh/DynamicMeshAttributeSet.h | ||
FDynamicMeshNormalOverlay * PrimaryBiTangents () |
DynamicMesh/DynamicMeshAttributeSet.h | ||
const FDynamicMeshColorOverlay * PrimaryColors () |
DynamicMesh/DynamicMeshAttributeSet.h | ||
FDynamicMeshColorOverlay * PrimaryColors () |
DynamicMesh/DynamicMeshAttributeSet.h | ||
const FDynamicMeshNormalOverlay * PrimaryNormals () |
DynamicMesh/DynamicMeshAttributeSet.h | ||
FDynamicMeshNormalOverlay * PrimaryNormals () |
DynamicMesh/DynamicMeshAttributeSet.h | ||
const FDynamicMeshNormalOverlay * PrimaryTangents () |
DynamicMesh/DynamicMeshAttributeSet.h | ||
FDynamicMeshNormalOverlay * PrimaryTangents () |
DynamicMesh/DynamicMeshAttributeSet.h | ||
FDynamicMeshUVOverlay * PrimaryUV () |
DynamicMesh/DynamicMeshAttributeSet.h | ||
const FDynamicMeshUVOverlay * PrimaryUV () |
DynamicMesh/DynamicMeshAttributeSet.h | ||
void RemoveAttribute
(
FName AttribName |
DynamicMesh/DynamicMeshAttributeSet.h | ||
void RemoveSkinWeightsAttribute
(
FName InProfileName |
Remove a skin weights attribute matching the given profile name. | DynamicMesh/DynamicMeshAttributeSet.h | |
virtual void RemoveWeightLayer
(
int32 Index |
Remove a weight layer at the specified index | DynamicMesh/DynamicMeshAttributeSet.h | |
void Serialize
(
FArchive& Ar, |
Serialize to and from an archive. | DynamicMesh/DynamicMeshAttributeSet.h | |
virtual void SetNumNormalLayers
(
int Num |
Set number of Normals (3-vector float overlay) layers | DynamicMesh/DynamicMeshAttributeSet.h | |
virtual void SetNumPolygroupLayers
(
int32 Num |
Set the number of Polygroup layers | DynamicMesh/DynamicMeshAttributeSet.h | |
virtual void SetNumUVLayers
(
int Num |
Set number of UV (2-vector float overlay) layers | DynamicMesh/DynamicMeshAttributeSet.h | |
virtual void SetNumWeightLayers
(
int32 Num |
Set the number of weight layers | DynamicMesh/DynamicMeshAttributeSet.h | |
void SplitAllBowties
(
bool bParallel |
Split all bowtie vertices in all layers | DynamicMesh/DynamicMeshAttributeSet.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void Initialize
(
int MaxVertexID, |
Initialize the existing attribute layers with the given vertex and triangle sizes | DynamicMesh/DynamicMeshAttributeSet.h |
Overridden from TDynamicAttributeSetBase
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool CheckValidity
(
bool bAllowNonmanifold, |
Check validity of attributes | DynamicMesh/DynamicMeshAttributeSet.h | |
virtual void OnCollapseEdge
(
const DynamicMeshInfo::FEdgeCollapseInfo& collapseInfo |
DynamicMesh/DynamicMeshAttributeSet.h | ||
virtual void OnFlipEdge
(
const DynamicMeshInfo::FEdgeFlipInfo& flipInfo |
DynamicMesh/DynamicMeshAttributeSet.h | ||
virtual void OnMergeEdges
(
const DynamicMeshInfo::FMergeEdgesInfo& mergeInfo |
DynamicMesh/DynamicMeshAttributeSet.h | ||
virtual void OnMergeVertices
(
const DynamicMeshInfo::FMergeVerticesInfo& mergeInfo |
DynamicMesh/DynamicMeshAttributeSet.h | ||
virtual void OnNewTriangle
(
int TriangleID, |
These functions are called by the FDynamicMesh3 to update the various attributes when the parent mesh topology has been modified. | DynamicMesh/DynamicMeshAttributeSet.h | |
virtual void OnNewVertex
(
int VertexID, |
DynamicMesh/DynamicMeshAttributeSet.h | ||
virtual void OnPokeTriangle
(
const DynamicMeshInfo::FPokeTriangleInfo& pokeInfo |
DynamicMesh/DynamicMeshAttributeSet.h | ||
virtual void OnRemoveTriangle
(
int TriangleID |
DynamicMesh/DynamicMeshAttributeSet.h | ||
virtual void OnRemoveVertex
(
int VertexID |
DynamicMesh/DynamicMeshAttributeSet.h | ||
virtual void OnReverseTriOrientation
(
int TriangleID |
DynamicMesh/DynamicMeshAttributeSet.h | ||
virtual void OnSplitEdge
(
const DynamicMeshInfo::FEdgeSplitInfo& SplitInfo |
Mesh-specific on* functions; may be split out | DynamicMesh/DynamicMeshAttributeSet.h | |
virtual void OnSplitVertex
(
const DynamicMeshInfo::FVertexSplitInfo& SplitInfo, |
DynamicMesh/DynamicMeshAttributeSet.h |