7#include "Topo/TopomakerReport.h"
16class FTopologicalEdge;
17class FTopologicalFace;
18class FTopologicalVertex;
60namespace TopomakerTools
119 EdgeLengthTolerance = SewTolerance * 2.;
121 SewToleranceToForceJoin = Tolerance * ForceJoinFactor;
122 LargeEdgeLengthTolerance = SewToleranceToForceJoin * 2.;
124 ThinFaceWidth = Tolerance * ForceJoinFactor * 0.5;
132 void SplitIntoConnectedShells();
139 void UnlinkNonManifoldVertex();
144 void UnlinkFromOther();
152 void DeleteNonmanifoldLink();
157 Report.PrintSewReport();
162 Report.PrintRemoveThinFacesReport();
176 void RemoveEmptyShells();
178 void RemoveDuplicatedFaces();
191 void RemoveIsolatedEdges();
212 void MergeUnconnectedSuccessiveEdges();
214 void SetToProcessMarkerOfFaces();
215 void ResetMarkersOfFaces();
219 ESewOption SewOptions;
222 double ForceJoinFactor;
225 double SewToleranceToForceJoin;
227 double EdgeLengthTolerance;
228 double LargeEdgeLengthTolerance;
230 double ThinFaceWidth;
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
#define UE_DOUBLE_SQRT_2
Definition UnrealMathUtility.h:170
Definition SharedPointer.h:692
Definition Topomaker.h:86
void SetTolerance(const FTopomakerOptions Options)
Definition Topomaker.h:105
TArray< FShell * > Shells
Definition Topomaker.h:92
FSession & Session
Definition Topomaker.h:90
TArray< TSharedPtr< FTopologicalFace > > Faces
Definition Topomaker.h:93
Definition CADEntity.cpp:23
ESewOption
Definition Topomaker.h:21
Definition Topomaker.h:72
double Tolerance
Definition Topomaker.h:74
double ForceJoinFactor
Definition Topomaker.h:75
FTopomakerOptions(ESewOption InSewOptions, double InTolerance, double InForceJoinFactor)
Definition Topomaker.h:77
ESewOption SewOptions
Definition Topomaker.h:73