Navigation
API > API/Plugins > API/Plugins/DynamicMesh > API/Plugins/DynamicMesh/Parameterization
References
| Module | DynamicMesh |
| Header | /Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Public/Parameterization/MeshRegionGraph.h |
| Include | #include "Parameterization/MeshRegionGraph.h" |
Syntax
class FMeshRegionGraph
Remarks
FMeshRegionGraph represents neighbourhood relationships between mesh patches. This is similar in some ways to a FGroupTopology, however only patch-adjacency connections are tracked. Connectivity between patches can be queried, and patches can be merged without rebuilding the graph.
Each mesh Patch/Region is assigned an integer ID/RegionIndex. After removing or merging regions, some RegionIndex values may be invalid, use IsRegion() to check
An integer ID can be associated with each Region using the ExternalIDFunc passed to the various Build() functions.
Variables
| Type | Name | Description | |
|---|---|---|---|
| TArray< int32 > | EmptyTriSet | ||
| TArray< FRegion > | Regions | ||
| TArray< FIndex3i > | TriangleNbrTris | ||
| TArray< int32 > | TriangleToRegionMap |
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | AreRegionsConnected
(
int32 RegionAIndex, |
||
| bool | AreTrianglesConnected
(
int32 TriangleA, |
||
| void | BuildFromComponents
(
const FDynamicMesh3& Mesh, |
Build a region graph for a Mesh using the given ConnectedComponents | |
| void | BuildFromTriangleSets
(
const FDynamicMesh3& Mesh, |
Build a region graph for a Mesh using the given triangle sets | |
| void | BuildNeigbours
(
int32 RegionIdx |
||
| int32 | GetExternalID
(
int32 RegionIdx |
||
| TArray< int32 > | GetNeighbours
(
int32 RegionIdx |
||
| int32 | GetRegionTriCount
(
int32 RegionIdx |
||
| const TArray< int32 > & | GetRegionTris
(
int32 RegionIdx |
||
| int32 | IsRegion
(
int32 RegionIdx |
||
| int32 | |||
| bool | MergeRegion
(
int32 RemoveRgnIdx, |
Merge one existing Region into another | |
| bool | MergeSmallRegions
(
int32 SmallThreshold, |
Incrementally merge regions with a triangle count below the given SmallThreshold. | |
| bool | MergeSmallRegionsPass
(
int32 SmallThreshold, |
||
| TArray< int32 > && | MoveRegionTris
(
int32 RegionIdx |
This method leaves the FMeshRegionGraph in an invalid state, and should only be used as a means to avoid memory copies while extracting the triangle sets from a FMeshRegionGraph that will then be discarded | |
| bool | OptimizeBorders
(
int32 MaxRounds |
Optimize region borders by swapping triangles. |
Classes
| Type | Name | Description | |
|---|---|---|---|
| FNeighbour | |||
| FRegion |