2014-10-10 2 views
0

System.Windows.Media.Media3D.MeshGeometry3D 개체가 있고 그 개체에서 모든 삼각형을 다음과 같이 가져와야합니다.MeshGeometry3D에서 모든 삼각형을 얻는 방법?

System.Windows.Media.Media3D.MeshGeometry3D m; 
// 
// code to generate mesh and assign to 'm' 
// 
foreach (var t in m.Triangles) //there is no Triangles property, only TriangleIndices 
{ 
    //t.p1, t.p2, t.p2 --> need all three points of a triangle 
} 

메쉬 'm'에서 모든 삼각형을 얻으려면 어떻게해야합니까?

답변

1

삼각형은 Position 속성에서 가져옵니다. 이 목록에서 Point3D 점의 연속적인 삼중 항은 삼각형을 나타냅니다. 예외 : TriangleIndices 속성이 설정되면이 목록에서 트리플을 가져와야합니다. 이 트리플의 모든 항목은 위치 목록의 색인입니다.

위치 목록이 P0, P1, P2, P3, P4, P5 일 때 삼각형 (P1, P2, P3), (P4, P5, P6)을 얻습니다.

추가로 TriangleIndices 목록이 3, 4, 5, 1, 0, 2이면 삼각형 (P3, P4, P5), (P1, P0, P2)를 얻습니다. (Px는 Point3D 구조체입니다)

+0

@fratyx, 고마워. –

관련 문제