3D modeling & numerical simulation

### Triangulation of simple face.

Triangulation of simple face.
 Niko Lehikoinen 2012/10/23 11:56 Hello, I have a problem triangulating a simple quad polygon/face. The following code produces IMO false result: //-------------------------------------------------- gp_Pnt p0(0.0, 0.0, 0.0); gp_Pnt p1(1.0, 0.0, 0.0); gp_Pnt p2(1.0, 1.0, 0.0); gp_Pnt p3(0.0, 1.0, 0.0); Handle(Geom_TrimmedCurve) seg0 = GC_MakeSegment(p0, p1); Handle(Geom_TrimmedCurve) seg1 = GC_MakeSegment(p3, p2); TopoDS_Edge edge0 = BRepBuilderAPI_MakeEdge(seg0); TopoDS_Edge edge1 = BRepBuilderAPI_MakeEdge(seg1); const TopoDS_Face face = BRepFill::Face(edge0, edge1); TopLoc_Location loc; double accuracy = 0.01; BRepMesh::Mesh(face, accuracy); TopExp_Explorer expl; for (expl.Init(face, TopAbs_FACE); expl.More(); expl.Next()) { TopoDS_Face f = TopoDS::Face(expl.Current()); Handle(Poly_Triangulation) triangulation = BRep_Tool::Triangulation(f, loc); const Poly_Array1OfTriangle &triangles = triangulation->Triangles(); for (int i=1; i { int n1,n2,n3; if (f.Orientation() == TopAbs_REVERSED )      triangles(i).Get(n3,n2,n1); else      triangles(i).Get(n1,n2,n3); std::cout << "triface " << n1 << " " << n2 << " " << n3 << std::endl; } } //-------------------------------------------------- I think triangulating polygon with four vertices should produce two triangles. Running the above program tells me: triface 4 1 2 where as expected results would be: triface 4 1 2 triface 4 2 3 There must be something simple I forgot to do, I really would appreciate if you could point the err of my ways. Best regards, Niko
 Niko Lehikoinen 2012/10/29 14:33 I forgot to mention that I am using the pre-built developer libraries on Ubuntu 12.10, could there be some clue why this do not work for me? Best regards, Niko