Navigation
API > API/Runtime > API/Runtime/GeometryCore
TDynamicMeshTriangleAttribute is an add-on to a FDynamicMesh3 that allows for per-triangle storage of an attribute value.
The FDynamicMesh3 mesh topology operations (eg split/flip/collapse edge, poke face, etc) can be mirrored to the overlay via OnSplitEdge(), etc.
| Name | TDynamicMeshTriangleAttribute |
| Type | class |
| Header File | /Engine/Source/Runtime/GeometryCore/Public/DynamicMesh/DynamicMeshTriangleAttribute.h |
| Include Path | #include "DynamicMesh/DynamicMeshTriangleAttribute.h" |
Syntax
template<typename AttribValueType, int AttribDimension>
class TDynamicMeshTriangleAttribute : public UE::Geometry::TDynamicAttributeBase< FDynamicMesh3 >
Inheritance Hierarchy
- TDynamicAttributeBase → TDynamicMeshTriangleAttribute
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Create an empty overlay | DynamicMesh/DynamicMeshTriangleAttribute.h | ||
TDynamicMeshTriangleAttribute
(
FDynamicMesh3* ParentMeshIn, |
Create an overlay for the given parent mesh | DynamicMesh/DynamicMeshTriangleAttribute.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| Super | FDynamicMeshAttributeBase | DynamicMesh/DynamicMeshTriangleAttribute.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void CompactCopy
(
const FCompactMaps& CompactMaps, |
DynamicMesh/DynamicMeshTriangleAttribute.h | ||
void Copy
(
const TDynamicMeshTriangleAttribute< AttribValueType, AttribDimension >& Copy |
Set this overlay to contain the same arrays as the copy overlay | DynamicMesh/DynamicMeshTriangleAttribute.h | |
virtual bool CopyThroughMapping
(
const TDynamicAttributeBase< FDynamicMesh3 >* Source, |
Accessors/Queries | DynamicMesh/DynamicMeshTriangleAttribute.h | |
void CopyValue
(
int FromTriangleID, |
Copy the attribute value at FromTriangleID to ToTriangleID | DynamicMesh/DynamicMeshTriangleAttribute.h | |
virtual AttribValueType GetDefaultAttributeValue() |
DynamicMesh/DynamicMeshTriangleAttribute.h | ||
const FDynamicMesh3 * GetParentMesh () |
DynamicMesh/DynamicMeshTriangleAttribute.h | ||
| DynamicMesh/DynamicMeshTriangleAttribute.h | |||
void GetValue
(
int TriangleID, |
Get the element at a given index | DynamicMesh/DynamicMeshTriangleAttribute.h | |
void GetValue
(
int TriangleID, |
Get the element at a given index | DynamicMesh/DynamicMeshTriangleAttribute.h | |
void Initialize
(
AttribValueType InitialValue |
Initialize the attribute values with InitialValue, and resize to the parent mesh's max triangle ID | DynamicMesh/DynamicMeshTriangleAttribute.h | |
bool IsBorderEdge
(
int EdgeID, |
Returns true if the parent-mesh edge is a "Seam" in this overlay | DynamicMesh/DynamicMeshTriangleAttribute.h | |
bool IsSameAs
(
const TDynamicMeshTriangleAttribute< AttribValueType, AttribDimension >& Other, |
Returns true if this AttributeSet is the same as Other. | DynamicMesh/DynamicMeshTriangleAttribute.h | |
virtual FDynamicMeshAttributeBase * MakeCompactCopy
(
const FCompactMaps& CompactMaps, |
DynamicMesh/DynamicMeshTriangleAttribute.h | ||
virtual FDynamicMeshAttributeBase * MakeCopy
(
FDynamicMesh3* ParentMeshIn |
DynamicMesh/DynamicMeshTriangleAttribute.h | ||
virtual FDynamicMeshAttributeBase * MakeNew
(
FDynamicMesh3* ParentMeshIn |
DynamicMesh/DynamicMeshTriangleAttribute.h | ||
void ResizeAttribStoreIfNeeded
(
int TriangleID |
DynamicMesh/DynamicMeshTriangleAttribute.h | ||
void Serialize
(
FArchive& Ar, |
Serialize to and from an archive. | DynamicMesh/DynamicMeshTriangleAttribute.h | |
void SetNewValue
(
int NewTriangleID, |
DynamicMesh/DynamicMeshTriangleAttribute.h | ||
void SetScalarValue
(
int TriangleID, |
Set the element at a given index with a scalar value (the same value for each dimension) | DynamicMesh/DynamicMeshTriangleAttribute.h | |
void SetValue
(
int TriangleID, |
Set the element at a given index | DynamicMesh/DynamicMeshTriangleAttribute.h | |
void SetValue
(
int TriangleID, |
Set the element at a given index | DynamicMesh/DynamicMeshTriangleAttribute.h |
Overridden from TDynamicAttributeBase
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool Append
(
const TDynamicAttributeBase& Source, |
Add elements from the Source attribute, using the AppendInfo to determine the range to copy. | DynamicMesh/DynamicMeshTriangleAttribute.h | |
virtual void AppendDefaulted
(
const UE::Geometry::FDynamicMesh3::FAppendInfo& AppendInfo |
Add default-valued elements, using the AppendInfo to determine the range to add. | DynamicMesh/DynamicMeshTriangleAttribute.h | |
virtual void CompactInPlace
(
const FCompactMaps& CompactMaps |
Compact the attribute in place | DynamicMesh/DynamicMeshTriangleAttribute.h | |
virtual bool CopyIn
(
int RawID, |
Generic function to copy data in to an attribute; it's up to the derived class to map RawID to chunks of attribute data | DynamicMesh/DynamicMeshTriangleAttribute.h | |
virtual bool CopyOut
(
int RawID, |
Generic function to copy data out of an attribute; it's up to the derived class to map RawID to chunks of attribute data | DynamicMesh/DynamicMeshTriangleAttribute.h | |
virtual SIZE_T GetByteCount() |
DynamicMesh/DynamicMeshTriangleAttribute.h | ||
virtual TUniquePtr< FDynamicMeshAttributeChangeBase > NewBlankChange() |
DynamicMesh/DynamicMeshTriangleAttribute.h | ||
virtual void OnCollapseEdge
(
const DynamicMeshInfo::FEdgeCollapseInfo& CollapseInfo |
Update the overlay to reflect an edge collapse in the parent mesh | DynamicMesh/DynamicMeshTriangleAttribute.h | |
virtual void OnFlipEdge
(
const DynamicMeshInfo::FEdgeFlipInfo& FlipInfo |
Update the overlay to reflect an edge flip in the parent mesh | DynamicMesh/DynamicMeshTriangleAttribute.h | |
virtual void OnMergeEdges
(
const DynamicMeshInfo::FMergeEdgesInfo& MergeInfo |
Update the overlay to reflect an edge merge in the parent mesh | DynamicMesh/DynamicMeshTriangleAttribute.h | |
virtual void OnMergeVertices
(
const DynamicMeshInfo::FMergeVerticesInfo& MergeInfo |
Update to reflect a vertex merge that does not resolve as a collapse or edge merge (i.e. a vertex merge that resolves as bowtie creation). | DynamicMesh/DynamicMeshTriangleAttribute.h | |
virtual void OnNewTriangle
(
int TriangleID, |
DynamicMesh/DynamicMeshTriangleAttribute.h | ||
virtual void OnPokeTriangle
(
const DynamicMeshInfo::FPokeTriangleInfo& PokeInfo |
Update the overlay to reflect a face poke in the parent mesh | DynamicMesh/DynamicMeshTriangleAttribute.h | |
virtual void OnSplitEdge
(
const DynamicMeshInfo::FEdgeSplitInfo& SplitInfo |
Update the overlay to reflect an edge split in the parent mesh | DynamicMesh/DynamicMeshTriangleAttribute.h | |
virtual void OnSplitVertex
(
const DynamicMeshInfo::FVertexSplitInfo& SplitInfo, |
Update the overlay to reflect a vertex split in the parent | DynamicMesh/DynamicMeshTriangleAttribute.h |