개요


struct FCutWorkingInfo
 {
    FDynamicMesh3*               Mesh;              // 작업할 메시    
    double                       SnapToleranceSq;   // 스냅 허용 오차 (제곱값)
    TMultiMap< int, int >        FaceVertices;      // 삼각형 내부에 삽입할 점들
    TMultiMap< int, int >        EdgeVertices;      // 엣지 위에 삽입할 점들    
    TArray< FVector3d >          BaseFaceNormals;   // 원본 삼각형의 법선들
    TArray< FPtOnMesh >          IntersectionVerts; // 교차점들의 위치와 타입 정보
    TArray< FSegmentToElements > Segments;          // 교차 세그먼트 정보
};

메쉬 절단 작업 중 필요한 모든 정보를 저장하는 임시 작업공간이며 실질적으로 메쉬를 절단하는 역할을 하기도 한다. 메쉬 절단은 다음의 과정을 거친다.



메쉬의 절단 과정


  1. FCutWorkingInfo::AddSegments()
  2. FCutWorkingInfo::InsertFaceVertices()
  3. FCutWorkingInfo::InsertEdgeVertices()
  4. FCutWorkingInfo::ConnectEdges()