Navigation
API > API/Runtime > API/Runtime/GeometryCore > API/Runtime/GeometryCore/Operations
References
| Module | GeometryCore |
| Header | /Engine/Source/Runtime/GeometryCore/Public/Operations/LocalPlanarSimplify.h |
| Include | #include "Operations/LocalPlanarSimplify.h" |
Syntax
class FLocalPlanarSimplify
Remarks
Class to support local planar simplification, to reduce excess edges created by plane cuts, edge loop insertions, and similar operations (Note a custom version of this logic also exists on the FMeshBoolean class)
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bPreserveOverlayUVs | Prevent simplification from distorting overlay UVs | |
| bool | bPreserveTriangleGroups | Prevent simplification from distorting triangle groups | |
| bool | bPreserveVertexNormals | Prevent simplification from distorting vertex normals | |
| bool | bPreserveVertexUVs | Prevent simplification from distorting vertex UVs | |
| float | NormalDistortTolerance | When preserving normals, sets maximum allowed change in normals from collapsing an edge, measured at the removed vertex in degrees | |
| double | SimplificationAngleTolerance | Degrees of deviation from coplanar that we will still simplify | |
| double | TryToImproveTriQualityThreshold | If triangle quality (aspect ratio) is worse than this threshold, only simplify in ways that improve quality. | |
| float | UVDistortTolerance | When preserving UVs, sets maximum allowed change in UV coordinates from collapsing an edge, measured at the removed vertex |
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | CollapseWouldChangeShapeOrUVs
(
const FDynamicMesh3& Mesh, |
Test if a given edge collapse would change the mesh shape, mesh triangle group shape, or UVs unacceptably | |
| bool | CollapseWouldHurtTriangleQuality
(
const FDynamicMesh3& Mesh, |
Test if a given edge collapse would cause a triangle flip or other unacceptable decrease in mesh quality Specialized for collapsing at flat triangles Test if a given edge collapse would cause a triangle flip or other unacceptable decrease in mesh quality | |
| bool | IsDevelopableAlongEdge
(
const FDynamicMesh3& Mesh, |
Test if the triangles connected to a vertex could be flattened by folding along the given edge | |
| bool | IsFlat
(
const FDynamicMesh3& Mesh, |
The below helper functions are used by SimplifyAlongEdges, but also the similar customized versions of the same algorithm in FMeshBoolean and FMeshSelfUnion as well Test if the triangles connected to a vertex are all coplanar | |
| void | SimplifyAlongEdges
(
FDynamicMesh3& Mesh, |
Simplify Mesh along the given edges, and update the edge set accordingly |