PlanarCut

Choose your operating system:

Windows

macOS

Linux

Classes

Name

Description

Public struct

FInternalSurfaceMaterials

Auxiliary structure for FPlanarCells to carry material info

Public struct

FNoiseSettings

Copyright Epic Games, Inc. All Rights Reserved.

Public struct

FPlanarCells

Stores planar facets that divide space into cells.

Public struct

FTextureAttributeSettings

Public class

IPlanarCutPlugin

The public interface to this module

Enums

Functions

Name Description

Public function

int32

 

AddCollisionSampleVertices

(
    double TargetSpacing,
    FGeometryCollection& Collection,
    const TArrayView< const int32 >& T...
)

Scatter additional vertices (w/ no associated triangle) as needed to satisfy minimum point spacing

Public function

void

 

ConvertToMeshDescription

(
    FMeshDescription& OutputMesh,
    FTransform& TransformOut,
    bool bCenterPivot,
    FGeometryCollection& Collection,
    const TManagedArray< FTransform >&...,
    const TArrayView< const int32 >& T...
)

Convert chosen Geometry groups inside a GeometryCollection to a single Mesh Description.

Public function

int32

 

CutMultipleWithMultiplePlanes

(
    const TArrayView< const FPlane >& ...,
    FInternalSurfaceMaterials& Interna...,
    FGeometryCollection& Collection,
    const TArrayView< const int32 >& T...,
    double Grout,
    double CollisionSampleSpacing,
    int32 RandomSeed,
    const TOptional< FTransform >& Tra...,
    bool bSetDefaultInternalMaterialsFr...
)

Cut multiple Geometry groups inside a GeometryCollection with Planes, and add each cut cell back to the GeometryCollection as a new child of their source Geometry.

Public function

int32

 

CutMultipleWithPlanarCells

(
    FPlanarCells& Cells,
    FGeometryCollection& Collection,
    const TArrayView< const int32 >& T...,
    double Grout,
    double CollisionSampleSpacing,
    int32 RandomSeed,
    const TOptional< FTransform >& Tra...,
    bool bIncludeOutsideCellInOutput,
    float CheckDistanceAcrossOutsideCel...,
    bool bSetDefaultInternalMaterialsFr...
)

Cut multiple Geometry groups inside a GeometryCollection with PlanarCells, and add each cut cell back to the GeometryCollection as a new child of their source Geometry.

Public function

int32

 

CutWithMesh

(
    FMeshDescription* CuttingMesh,
    FTransform CuttingMeshTransform,
    FInternalSurfaceMaterials& Interna...,
    FGeometryCollection& Collection,
    const TArrayView< const int32 >& T...,
    double CollisionSampleSpacing,
    const TOptional< FTransform >& Tra...,
    bool bSetDefaultInternalMaterialsFr...
)

Cut multiple Geometry groups inside a GeometryCollection with a mesh, and add each cut cell back to the GeometryCollection as a new child of their source Geometry.

Public function

int32

 

CutWithPlanarCells

(
    FPlanarCells& Cells,
    FGeometryCollection& Collection,
    int32 TransformIdx,
    double Grout,
    double CollisionSampleSpacing,
    int32 RandomSeed,
    const TOptional< FTransform >& Tra...,
    bool bIncludeOutsideCellInOutput,
    float CheckDistanceAcrossOutsideCel...,
    bool bSetDefaultInternalMaterialsFr...
)

Cut a Geometry inside a GeometryCollection with PlanarCells, and add each cut cell back to the GeometryCollection as a new child of the input Geometry.

Public function

void

 

FilterBonesByVolume

(
    FGeometryCollection& Collection,
    const TArrayView< const int32 >& T...,
    const TArrayView< const double >& ...,
    TFunctionRef< bool...,
    TArray< int32 >& OutSmallBones
)

Populate an array of transform indices w/ those that match a custom volume-based filter

Public function

void

 

FindBoneVolumes

(
    FGeometryCollection& Collection,
    const TArrayView< const int32 >& T...,
    TArray< double >& OutVolumes,
    double ScalePerDimension
)

Populate an array of transform indices w/ those that are smaller than a threshold volume

Public function

void

 

FindSmallBones

(
    FGeometryCollection& Collection,
    const TArrayView< const int32 >& T...,
    const TArrayView< const double >& ...,
    double MinVolume,
    TArray< int32 >& OutSmallBones
)

Populate an array of transform indices w/ those that are smaller than a threshold volume

Public function

int32

 

MergeBones

(
    FGeometryCollection& Collection,
    const TArrayView< const int32 >& T...,
    const TArrayView< const double >& ...,
    double MinVolume,
    const TArrayView< const int32 >& S...,
    bool bUnionJoinedPieces,
    UE::PlanarCut::ENeighborSelectionMe...
)

Merge chosen geometry into neighboring geometry.

Public function

void

 

RecomputeNormalsAndTangents

(
    bool bOnlyTangents,
    bool bMakeSharpEdges,
    float SharpAngleDegrees,
    FGeometryCollection& Collection,
    const TArrayView< const int32 >& T...,
    bool bOnlyOddMaterials,
    const TArrayView< const int32 >& W...
)

Recompute normals and tangents of selected geometry, optionally restricted to faces with odd or given material IDs (i.e. to target internal faces)