9건의 항목
개요 주어진 2개의 메쉬를 통해 연산을 하는 클래스이다.
전처리 메시 복사 및 변환 FDynamicMesh3 CutMeshB( *Meshes[ 1 ] ); if (Result != Meshes[ 0 ] ) { *Result = *Meshes[ 0 ]; } FDynamicMesh3* CutMesh[ 2 ]{ Result, &CutMeshB }; 연산을 수행할 두 메쉬를 FDynamicMesh3로 변환한다.
새로운 엣지 단순화 엣지 단순화 옵션 if ( bSimplifyAlongNewEdges ) { SimplifyAlongNewEdges( NumMeshesToProcess, CutMesh, CutBoundaryEdges, AllVIDMatches ); } 부울 연산으로 생성된 새로운 엣지를 따라 불필요한 정점들을 제거하여 메시를 단순화한다.
전처리 Operation을 적용, 즉 메쉬를 구성하는 삼각형들의 정보를 변경하기 위해 CutBoundaryEdiges, PossUnmatchedBdryVerts, KeepTri를 준비한다.
허용 오차 계산 double DegenerateEdgeTolSq = DegenerateEdgeTolFactor * DegenerateEdgeTolFactor * SnapTolerance * SnapTolerance; 최적화를 위해 squared 기준으로 연산한다.
namespace MeshIntersection { struct FPointIntersection { int TriangleID[ 2 ]; FVector3d Point; }; struct FSegmentIntersection { int TriangleID[ 2 ]; FVector3d Point[ 2 ]; }; struct FPolygonIntersection { int TriangleID[ 2 ]; FVector3d Point[ 6 ]; int Quantity; }; struct FIntersectionsQueryResult { T...
개요 classDiagram ISpatial--|>IMeshSpatial IMeshSpatial--|>TMeshAABBTree3 TMeshAABBTree3는 메쉬를 구성하는 삼각형들을 공간으로 분할하여 트리로 담아두기 위한 자료구조이다.
개요 enum class EBooleanOp { Union, Difference, Intersect, TrimInside, TrimOutside, NewGroupInside, NewGroupOutside }; FMeshBoolean에서 사용하는 불린 연산 타입을 정의한다.