Navigation
API > API/Plugins > API/Plugins/DynamicMesh
Polygroup sets can be stored in multiple places. The default location is in the per-triangle group integer stored directly on a FDynamicMesh3. Additional layers may be stored in the FDynamicMeshAttributeSet. Future iterations could store packed polygroups in other places, store them in separate arrays, and so on. FPolygroupSet can be used to abstract these different cases, by providing a standard Polygroup Get/Set API.
To support unique Polygroup ID allocation, FPolygroupSet calculates the maximum GroupID on creation, and updates this maximum across SetGroup() calls. AllocateNewGroupID() can be used to provide new unused GroupIDs. For consistency with FDynamicMesh3, MaxGroupID is set such that all GroupIDs are less than MaxGroupID
| Name | FPolygroupSet |
| Type | struct |
| Header File | /Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Public/Polygroups/PolygroupSet.h |
| Include Path | #include "Polygroups/PolygroupSet.h" |
Syntax
struct FPolygroupSet
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FPolygroupSet
(
const FDynamicMesh3* MeshIn |
Initialize a PolygroupSet for the given Mesh, and standard triangle group layer | Polygroups/PolygroupSet.h | |
FPolygroupSet
(
const FPolygroupSet* CopyIn |
Initialize a PolygroupSet by copying an existing PolygroupSet | Polygroups/PolygroupSet.h | |
FPolygroupSet
(
const FDynamicMesh3* MeshIn, |
Initialize a PolygroupSet for the given Mesh, and standard triangle group layer | Polygroups/PolygroupSet.h | |
FPolygroupSet
(
const FDynamicMesh3* MeshIn, |
Initialize a PolygroupSet for given Mesh and specific Polygroup attribute layer | Polygroups/PolygroupSet.h | |
FPolygroupSet
(
const FDynamicMesh3* MeshIn, |
Initialize a PolygroupSet for given Mesh and specific Polygroup attribute layer, found by index. | Polygroups/PolygroupSet.h | |
FPolygroupSet
(
const FDynamicMesh3* MeshIn, |
Initialize a PolygroupSet for given Mesh and specific Polygroup attribute layer, found by name. | Polygroups/PolygroupSet.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| GroupLayerIndex | int32 | Polygroups/PolygroupSet.h | ||
| MaxGroupID | int32 | Polygroups/PolygroupSet.h | ||
| Mesh | const FDynamicMesh3 * | Polygroups/PolygroupSet.h | ||
| PolygroupAttrib | const FDynamicMeshPolygroupAttribute * | Polygroups/PolygroupSet.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
int32 AllocateNewGroupID() |
Allocate a new unused PolygroupID by incrementing the MaxGroupID member | Polygroups/PolygroupSet.h | |
int32 GetGroup
(
int32 TriangleID |
Polygroups/PolygroupSet.h | ||
const FDynamicMesh3 * GetMesh() |
Polygroups/PolygroupSet.h | ||
const FDynamicMeshPolygroupAttribute * GetPolygroup() |
Polygroups/PolygroupSet.h | ||
int32 GetPolygroupIndex() |
Polygroups/PolygroupSet.h | ||
int32 GetTriangleGroup
(
int32 TriangleID |
Polygroups/PolygroupSet.h | ||
void RecalculateMaxGroupID() |
Calculate the current maximum PolygroupID used in the active set and store in MaxGroupID member | Polygroups/PolygroupSet.h | |
void SetGroup
(
int32 TriangleID, |
Set the PolygroupID for a TriangleID | Polygroups/PolygroupSet.h |