Navigation
API > API/Runtime > API/Runtime/GeometryCore > API/Runtime/GeometryCore/Operations
References
| Module | GeometryCore |
| Header | /Engine/Source/Runtime/GeometryCore/Public/Operations/MeshBoolean.h |
| Include | #include "Operations/MeshBoolean.h" |
Syntax
class FMeshBoolean
Remarks
MeshBoolean perform a boolean operation on two input meshes.
Variables
| Type | Name | Description | |
|---|---|---|---|
| TSet< int32 > | AllNewEdges | All edges created by mesh boolean algorithm. Only populated if bTrackAllNewEdges = true | |
| bool | bCollapseDegenerateEdgesOnCut | Whether to do additional processing to try to remove degenerate edges | |
| bool | bPopulateSecondMeshGroupMap | When doing an operation that merges two meshes (Union, Difference, Intersect) and bPopulateSecondMeshGroupMap is true, we populate a map from group ID's in the second mesh to group ID's in the result. | |
| 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 | |
| bool | bPutResultInInputSpace | Put the Result mesh in the same space as the input. | |
| bool | bSimplifyAlongNewEdges | Control whether we attempt to auto-simplify the small planar triangles that the boolean operation tends to generate | |
| bool | bTrackAllNewEdges | Control whether new edges should be tracked | |
| bool | bWeldSharedEdges | Weld newly-created cut edges where the input meshes meet. | |
| TArray< int > | CreatedBoundaryEdges | Boundary edges created by the mesh boolean algorithm failing to cleanly weld (doesn't include boundaries that already existed in source meshes) | |
| double | DegenerateEdgeTolFactor | Tolerance factor (multiplied by SnapTolerance) for removing short edges created by the cutting process; should be no more than 2 | |
| const FDynamicMesh3 *[2] | Meshes | Inputs | |
| float | NormalDistortTolerance | When preserving normals, sets maximum allowed change in normals from collapsing an edge, measured at the removed vertex in degrees | |
| EBooleanOp | Operation | ||
| int | PreserveUVsOnlyForMesh | If > -1, then only preserve the UVs of one of the input meshes. | |
| FProgressCancel * | Progress | Set this to be able to cancel running operation | |
| FDynamicMesh3 * | Result | An existing mesh, to be filled with the boolean result. | |
| FTransformSRT3d | ResultTransform | OutputTransform taking the result mesh back to the original space of the inputs | |
| FIndexMapi | SecondMeshGroupMap | ||
| double | SimplificationAngleTolerance | Simplification-specific settings (only relevant if bSimplifyAlongNewEdges==true):Degrees of deviation from coplanar that we will still simplify | |
| double | SnapTolerance | Tolerance distance for considering a point to be on a vertex or edge, especially during mesh-mesh cutting | |
| const FTransformSRT3d[2] | Transforms | ||
| 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 | |
| double | WindingThreshold | Threshold to determine whether triangle in one mesh is inside or outside of the other |
Constructors
| Type | Name | Description | |
|---|---|---|---|
FMeshBoolean
(
const FDynamicMesh3* MeshA, |
|||
FMeshBoolean
(
const FDynamicMesh3* MeshA, |
Perform a boolean operation to combine two meshes into a provided output mesh. |
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | Cancelled () |
If this returns true, abort computation. | |
| bool | Compute () |
Compute the Boolean operation | |
| EOperationValidationResult | Validate () |
Enums
| Type | Name | Description | |
|---|---|---|---|
| EBooleanOp |