0024277: DRAW command that shows coordinates of a vertex
authoribs <ibs@opencascade.com>
Thu, 31 Oct 2013 09:52:27 +0000 (13:52 +0400)
committerbugmaster <bugmaster@opencascade.com>
Thu, 31 Oct 2013 09:53:21 +0000 (13:53 +0400)
"getcoords" command added

"getcoords" moved to BRepTest/BRepTest_BasicCommands

src/BRepTest/BRepTest_BasicCommands.cxx

index 5fc30b7..30697b7 100755 (executable)
@@ -370,6 +370,34 @@ static Standard_Integer boundingstr(Draw_Interpretor& di,Standard_Integer n,cons
   return 0;
 }
 
+//=======================================================================
+//function : getcoords
+//purpose  : 
+//=======================================================================
+static Standard_Integer getcoords(Draw_Interpretor& di,Standard_Integer n,const char** a)
+{
+  if(n < 2) 
+    return 1;
+
+  for (Standard_Integer i = 1; i < n; i++) 
+  {
+    const TopoDS_Shape aShape = DBRep::Get (a[i]);
+
+    if (aShape.IsNull())
+      continue;
+
+    if (aShape.ShapeType() == TopAbs_VERTEX)
+    {
+      const TopoDS_Vertex& aVertex = TopoDS::Vertex(aShape);
+      gp_Pnt aPnt = BRep_Tool::Pnt(aVertex);
+
+      di << a[i] << " (x,y,z) : " << aPnt.X() << " " << aPnt.Y() << " " << aPnt.Z() << "\n";
+    }
+  }
+
+  return 0;
+}
+
 //=======================================================================
 //function : bounding
 //purpose  : 
@@ -879,6 +907,11 @@ void  BRepTest::BasicCommands(Draw_Interpretor& theCommands)
                  __FILE__,
                  orientsolid,g);
 
+  theCommands.Add("getcoords",
+    "getcoords vertex1 vertex 2... ; shows coords of input vertices",
+    __FILE__,
+    getcoords,g);
+  
   theCommands.Add("bounding",
                  "bounding shape [ xmin ymin zmin xmax ymax zmax] ; draw bounds",
                  __FILE__,