Describe a path : Path « 2D Graphics GUI « Java






Describe a path

Describe a path
  

import java.awt.Shape;
import java.awt.geom.PathIterator;
import java.awt.geom.Rectangle2D;

public class DescribePath {
  public static void describePath(Shape s) {
    PathIterator pi = s.getPathIterator(null);

    while (pi.isDone() == false) {
      describeCurrentSegment(pi);
      pi.next();
    }
  }

  public static void describeCurrentSegment(PathIterator pi) {
    double[] coordinates = new double[6];
    int type = pi.currentSegment(coordinates);
    switch (type) {
    case PathIterator.SEG_MOVETO:
      System.out.println("move to " + coordinates[0] + ", "
          + coordinates[1]);
      break;
    case PathIterator.SEG_LINETO:
      System.out.println("line to " + coordinates[0] + ", "
          + coordinates[1]);
      break;
    case PathIterator.SEG_QUADTO:
      System.out.println("quadratic to " + coordinates[0] + ", "
          + coordinates[1] + ", " + coordinates[2] + ", "
          + coordinates[3]);
      break;
    case PathIterator.SEG_CUBICTO:
      System.out.println("cubic to " + coordinates[0] + ", "
          + coordinates[1] + ", " + coordinates[2] + ", "
          + coordinates[3] + ", " + coordinates[4] + ", "
          + coordinates[5]);
      break;
    case PathIterator.SEG_CLOSE:
      System.out.println("close");
      break;
    default:
      break;
    }
  }

  public static void main(String[] args) {
    describePath(new Rectangle2D.Double(0, 0, 72, 72));
  }
}

           
         
    
  








Related examples in the same category

1.GeneralPath DemoGeneralPath Demo
2.Open GeneralPath DemoOpen GeneralPath Demo
3.Fill GeneralPathFill GeneralPath
4.Yet another GeneralPath demoYet another GeneralPath demo
5.GeneralPathGeneralPath
6.Hypnosis SpiralHypnosis Spiral
7.A class representing a cubic path segment
8.A class representing a linear path segment.
9.A class representing a quadratic path segment
10.Utilitiy class for length calculations of paths.
11.A geometric path constructed from straight lines, quadratic and cubic (Bezier) curves and elliptical arc.