X-Git-Url: http://git.dev.opencascade.org/gitweb/?p=occt.git;a=blobdiff_plain;f=src%2FMeshTest%2FMeshTest_PluginCommands.cxx;h=0e8e5092381a9ebe8dd341ae798bd05cf7d3b5b1;hp=c6ea3cfa799f474b9434372e17ae40d0ef262559;hb=b508cbc59f745a019aa6b4d5e64511b2d002f033;hpb=6396eacb4f5269628fe4ac5af09e42b7df68c35b diff --git a/src/MeshTest/MeshTest_PluginCommands.cxx b/src/MeshTest/MeshTest_PluginCommands.cxx index c6ea3cfa79..0e8e509238 100644 --- a/src/MeshTest/MeshTest_PluginCommands.cxx +++ b/src/MeshTest/MeshTest_PluginCommands.cxx @@ -366,7 +366,6 @@ static Standard_Integer tricheck (Draw_Interpretor& di, int n, const char ** a) TopLoc_Location aLoc; Handle(Poly_Triangulation) aT = BRep_Tool::Triangulation(aFace, aLoc); const TColgp_Array1OfPnt& aPoints = aT->Nodes(); - const TColgp_Array1OfPnt2d& aPoints2d = aT->UVNodes(); const gp_Trsf& trsf = aLoc.Transformation(); TColgp_Array1OfPnt pnts(1,2); @@ -381,12 +380,16 @@ static Standard_Integer tricheck (Draw_Interpretor& di, int n, const char ** a) DrawTrSurf::Set (name, poly); DrawTrSurf::Set (name, pnts(1)); DrawTrSurf::Set (name, pnts(2)); - pnts2d(1) = aPoints2d(n1); - pnts2d(2) = aPoints2d(n2); - Handle(Poly_Polygon2D) poly2d = new Poly_Polygon2D (pnts2d); - DrawTrSurf::Set (name, poly2d); - DrawTrSurf::Set (name, pnts2d(1)); - DrawTrSurf::Set (name, pnts2d(2)); + if (aT->HasUVNodes()) + { + const TColgp_Array1OfPnt2d& aPoints2d = aT->UVNodes(); + pnts2d(1) = aPoints2d(n1); + pnts2d(2) = aPoints2d(n2); + Handle(Poly_Polygon2D) poly2d = new Poly_Polygon2D (pnts2d); + DrawTrSurf::Set (name, poly2d); + DrawTrSurf::Set (name, pnts2d(1)); + DrawTrSurf::Set (name, pnts2d(2)); + } } di << "\n"; } @@ -428,10 +431,12 @@ static Standard_Integer tricheck (Draw_Interpretor& di, int n, const char ** a) TopLoc_Location aLoc; Handle(Poly_Triangulation) aT = BRep_Tool::Triangulation(aFace, aLoc); const TColgp_Array1OfPnt& aPoints = aT->Nodes(); - const TColgp_Array1OfPnt2d& aPoints2d = aT->UVNodes(); const gp_Trsf& trsf = aLoc.Transformation(); DrawTrSurf::Set (name, aPoints(inode).Transformed(trsf)); - DrawTrSurf::Set (name, aPoints2d(inode)); + if (aT->HasUVNodes()) + { + DrawTrSurf::Set (name, aT->UVNodes()(inode)); + } di << "{" << iface << " " << inode << "} "; } @@ -520,7 +525,6 @@ static Standard_Integer tricheck (Draw_Interpretor& di, int n, const char ** a) di << "Not connected mesh inside face " << aFaceId << "\n"; const TColgp_Array1OfPnt& aPoints = aT->Nodes(); - const TColgp_Array1OfPnt2d& aPoints2d = aT->UVNodes(); const gp_Trsf& trsf = aLoc.Transformation(); TColgp_Array1OfPnt pnts(1,2); @@ -536,12 +540,16 @@ static Standard_Integer tricheck (Draw_Interpretor& di, int n, const char ** a) DrawTrSurf::Set (name, poly); DrawTrSurf::Set (name, pnts(1)); DrawTrSurf::Set (name, pnts(2)); - pnts2d(1) = aPoints2d(aLink.FirstNode()); - pnts2d(2) = aPoints2d(aLink.LastNode()); - Handle(Poly_Polygon2D) poly2d = new Poly_Polygon2D (pnts2d); - DrawTrSurf::Set (name, poly2d); - DrawTrSurf::Set (name, pnts2d(1)); - DrawTrSurf::Set (name, pnts2d(2)); + if (aT->HasUVNodes()) + { + const TColgp_Array1OfPnt2d& aPoints2d = aT->UVNodes(); + pnts2d(1) = aPoints2d(aLink.FirstNode()); + pnts2d(2) = aPoints2d(aLink.LastNode()); + Handle(Poly_Polygon2D) poly2d = new Poly_Polygon2D (pnts2d); + DrawTrSurf::Set (name, poly2d); + DrawTrSurf::Set (name, pnts2d(1)); + DrawTrSurf::Set (name, pnts2d(2)); + } } di << "\n"; }