在得到一个图形的GeneralPath后 怎么知道它是个什么样的图形
有的object是矩形 有的是椭圆 
怎么区分
我要用的到得paths(点集合)在C#里面画出来,椭圆什么的就化成多边形了
怎么区分这些
这个是一个椭圆的
          path "M160.0 196.0C160.0 236.46753 128.71466 269.27307 90.122314 269.27307C51.529907 269.27307 20.244629 236.46753 20.244629 196.0C20.244629 155.53241 51.529907 122.72693 90.122314 122.72693C128.71466 122.72693 160.0 155.53241 160.0 196.0z"这个是一条直线的 
path "M447.04785 630.5L447.04785 623.0"
           Shape  ss =  object.getShape();//ss就是GeneralPath类型的
  PathIterator path = ss.getPathIterator(null);
           float[] data = new float[6];
           String paths="";
            while(!path.isDone())
            {           
             switch(path.currentSegment(data))
             {
              case PathIterator.SEG_MOVETO:
              paths+=String.valueOf(data[0])+","+String.valueOf(data[1])+" ";
                     break;
              case PathIterator.SEG_LINETO:
              paths+=String.valueOf(data[0])+","+String.valueOf(data[1])+" ";
                     break;
              case PathIterator.SEG_QUADTO:
              paths+=String.valueOf(data[0])+","+String.valueOf(data[1])+" "+String.valueOf(data[2])+","+String.valueOf(data[3])+" ";
                     break;
              case PathIterator.SEG_CUBICTO:
              paths+=String.valueOf(data[0])+","+String.valueOf(data[1])+" "+String.valueOf(data[2])+","+String.valueOf(data[3])+" "+String.valueOf(data[4])+","+String.valueOf(data[5])+" ";
                     break;
              case PathIterator.SEG_CLOSE:
              //cyclic = true;
              paths+=String.valueOf(data[0])+","+String.valueOf(data[1])+" ";
              break;
             }
             path.next();
            }