import javax.media.j3d.Shape3D;
import javax.vecmath.Point3d;
import com.sun.j3d.utils.geometry.*;

public class ContourTest{

//the result Shape3D from this method doesn't look correct
   public static Shape3D getTestShape(){
      Point3d[] coordinates = {
                //outer bounds of the polygon
                new Point3d(2., -1.224606353822377E-016, 7.498303609110687E-033),
                new Point3d(2., -4.89842541528951E-017, 1.2),
                new Point3d(0., 1.959370166115803E-016, 1.2),
                new Point3d(0., 0., 0.),

                //the hole
                new Point3d(1.93, -1.096022686671028E-016, 0.07000000000000001),
                new Point3d(0.07000000000000006, 1.181745131438594E-016, 0.07000000000000001),
                new Point3d(0.07000000000000006, 1.830786498964454E-016, 1.13),
                new Point3d(1.93, -4.469813191451677E-017, 1.13)

                };

      int[] strips = {4,4};
      int[] contours = {2};

      GeometryInfo gi = new GeometryInfo(GeometryInfo.POLYGON_ARRAY);
      gi.setCoordinates(coordinates);
      gi.setStripCounts(strips);
      gi.setContourCounts(contours);
      Triangulator tr = new Triangulator();
      tr.triangulate(gi);
      NormalGenerator ng = new NormalGenerator();
      ng.generateNormals(gi);
      return(new Shape3D(gi.getGeometryArray()));

   }
}
