UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MeshCut::FCutWorkingInfo Struct Reference

Public Member Functions

 FCutWorkingInfo (FDynamicMesh3 *WorkingMesh, double SnapTolerance)
 
void Init (FDynamicMesh3 *WorkingMesh)
 
void AddSegments (const MeshIntersection::FIntersectionsQueryResult &Intersections, int WhichSide)
 
void InsertFaceVertices ()
 
void InsertEdgeVertices ()
 
bool ConnectEdges (TArray< int > *VertexChains=nullptr, TArray< int > *SegmentToChain=nullptr)
 
void UpdateFromSplit (FPtOnMesh &Pt, int SplitVertex, const FIndex2i &SplitEdges)
 
void UpdateFromPoke (FPtOnMesh &Pt, int PokeVertex, const FIndex3i &PokeEdges, const FIndex3i &PokeTris)
 
int OnVertex (const FTriangle3d &Tri, const FVector3d &V)
 
int OnEdge (const FTriangle3d &Tri, const FVector3d &V)
 
int OnEdgeWithSkip (const FTriangle3d &Tri, const FVector3d &V, int SkipIdx)
 
int ClosestEdge (FIndex2i EIDs, const FVector3d &Pos)
 
int OnEdge (FIndex3i EIDs, const FVector3d &Pos, double BestDSq)
 
bool IsInTriangle (int TID, const FVector3d &Pos)
 

Static Public Member Functions

static FVector3d GetDegenTriangleEdgeDirection (const FDynamicMesh3 *Mesh, int TID, FVector3d DefaultDir=FVector3d::ZAxisVector)
 

Public Attributes

FDynamicMesh3Mesh
 
double SnapToleranceSq
 
TMultiMap< int, int > FaceVertices
 
TMultiMap< int, int > EdgeVertices
 
TArray< FVector3dBaseFaceNormals
 
TArray< FPtOnMeshIntersectionVerts
 
TArray< FSegmentToElementsSegments
 

Detailed Description

Per mesh info about an in-progress cut. Only stored temporarily while cut is performed; not retained

Constructor & Destructor Documentation

◆ FCutWorkingInfo()

MeshCut::FCutWorkingInfo::FCutWorkingInfo ( FDynamicMesh3 WorkingMesh,
double  SnapTolerance 
)
inline

Member Function Documentation

◆ AddSegments()

void MeshCut::FCutWorkingInfo::AddSegments ( const MeshIntersection::FIntersectionsQueryResult Intersections,
int  WhichSide 
)
inline

◆ ClosestEdge()

int MeshCut::FCutWorkingInfo::ClosestEdge ( FIndex2i  EIDs,
const FVector3d Pos 
)
inline

◆ ConnectEdges()

bool MeshCut::FCutWorkingInfo::ConnectEdges ( TArray< int > *  VertexChains = nullptr,
TArray< int > *  SegmentToChain = nullptr 
)
inline
Parameters
VertexChainsOptional packed storage of chains of vertices inserted by mesh cutting, to allow downstream to track what was cut
SegmentToChainOptional mapping of VertexChains to the segments that created them; useful for corresponding insertions across meshes

◆ GetDegenTriangleEdgeDirection()

static FVector3d MeshCut::FCutWorkingInfo::GetDegenTriangleEdgeDirection ( const FDynamicMesh3 Mesh,
int  TID,
FVector3d  DefaultDir = FVector3d::ZAxisVector 
)
inlinestatic

◆ Init()

void MeshCut::FCutWorkingInfo::Init ( FDynamicMesh3 WorkingMesh)
inline

◆ InsertEdgeVertices()

void MeshCut::FCutWorkingInfo::InsertEdgeVertices ( )
inline

◆ InsertFaceVertices()

void MeshCut::FCutWorkingInfo::InsertFaceVertices ( )
inline

◆ IsInTriangle()

bool MeshCut::FCutWorkingInfo::IsInTriangle ( int  TID,
const FVector3d Pos 
)
inline

◆ OnEdge() [1/2]

int MeshCut::FCutWorkingInfo::OnEdge ( const FTriangle3d Tri,
const FVector3d V 
)
inline

◆ OnEdge() [2/2]

int MeshCut::FCutWorkingInfo::OnEdge ( FIndex3i  EIDs,
const FVector3d Pos,
double  BestDSq 
)
inline

◆ OnEdgeWithSkip()

int MeshCut::FCutWorkingInfo::OnEdgeWithSkip ( const FTriangle3d Tri,
const FVector3d V,
int  SkipIdx 
)
inline

◆ OnVertex()

int MeshCut::FCutWorkingInfo::OnVertex ( const FTriangle3d Tri,
const FVector3d V 
)
inline

◆ UpdateFromPoke()

void MeshCut::FCutWorkingInfo::UpdateFromPoke ( FPtOnMesh Pt,
int  PokeVertex,
const FIndex3i PokeEdges,
const FIndex3i PokeTris 
)
inline

◆ UpdateFromSplit()

void MeshCut::FCutWorkingInfo::UpdateFromSplit ( FPtOnMesh Pt,
int  SplitVertex,
const FIndex2i SplitEdges 
)
inline

Member Data Documentation

◆ BaseFaceNormals

TArray<FVector3d> MeshCut::FCutWorkingInfo::BaseFaceNormals

◆ EdgeVertices

TMultiMap<int, int> MeshCut::FCutWorkingInfo::EdgeVertices

◆ FaceVertices

TMultiMap<int, int> MeshCut::FCutWorkingInfo::FaceVertices

◆ IntersectionVerts

TArray<FPtOnMesh> MeshCut::FCutWorkingInfo::IntersectionVerts

◆ Mesh

FDynamicMesh3* MeshCut::FCutWorkingInfo::Mesh

◆ Segments

TArray<FSegmentToElements> MeshCut::FCutWorkingInfo::Segments

◆ SnapToleranceSq

double MeshCut::FCutWorkingInfo::SnapToleranceSq

The documentation for this struct was generated from the following file: