Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2014
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.60 KB | None | 0 0
  1. public class CollectionPolygon extends SimplePolygon
  2. {
  3.     private List<Vertex2D> vertices = new ArrayList<Vertex2D>();
  4.     /**
  5.      * Constructor for objects of class CollectionPolygon
  6.      */
  7.     public CollectionPolygon(Vertex2D[] vertArray)
  8.     {
  9.         if (vertArray == null)
  10.             throw new NullPointerException("Array is null.");
  11.            
  12.         for (int i = 0; i < vertArray.length; i++)
  13.         {
  14.             if (vertArray[i] == null)
  15.             {
  16.                 throw new NullPointerException(i +" in array is null.");
  17.             }
  18.             else
  19.             {
  20.                 vertices.add(vertArray[i]);
  21.             }
  22.         }
  23.     }
  24.     public int getNumVertices(){
  25.         return vertices.size();
  26.     }
  27.     public Vertex2D getVertex(int index){
  28.         if (index < 0)
  29.             throw new IllegalArgumentException("Index cant be negative.");
  30.        
  31.         return vertices.get(index % this.vertices.size());
  32.     }
  33.        
  34.     public Collection<Vertex2D> getVertices(){
  35.         return Collections.unmodifiableList(vertices);
  36.        
  37.     }
  38.     public CollectionPolygon invert(){
  39.         List<Vertex2D> reversed = new ArrayList<Vertex2D>();
  40.         for ( int i = vertices.size() - 1; i >= 0; i-- )
  41.         {
  42.            Vertex2D obj = this.vertices.get( i ) ;
  43.            reversed.add( obj ) ;
  44.         }
  45.         Vertex2D[] reversedArray = new Vertex2D[reversed.size()];
  46.         reversedArray = reversed.toArray(reversedArray);
  47.         CollectionPolygon reversedPolygon = new CollectionPolygon(reversedArray);
  48.         return reversedPolygon;
  49.        
  50.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement