FillPolygon.java |
1 package fi.jyu.mit.graphics; 2 3 import java.awt.Graphics; 4 5 /** 6 * Luokka täytetyille monikulmioille 7 * @author Markus Kivioja 8 * 9 */ 10 public class FillPolygon extends Polygon { 11 12 public FillPolygon() { 13 super(); 14 } 15 /** 16 * Luo täytetyn monikulmion annetuista kulmapisteiden 17 * x- ja y-koordinaateista 18 * @param xpoints taulukko kulmapisteiden x-koordinaateista 19 * @param ypoints taulukko kulmapisteiden y-koordinaateista 20 */ 21 public FillPolygon(double[] xpoints, double[] ypoints) { 22 super(xpoints, ypoints); 23 } 24 25 /** 26 * Luo täytetyn monikulmion annetuista kulmapisteiden 27 * x-, y- ja z-koordinaateista 28 * @param xpoints taulukko kulmapisteiden x-koordinaateista 29 * @param ypoints taulukko kulmapisteiden y-koordinaateista 30 * @param zpoints taulikko kulmapisteiden z-koordinaateista 31 */ 32 public FillPolygon(double[] xpoints, double[] ypoints, double[] zpoints) { 33 super(xpoints, ypoints, zpoints); 34 } 35 36 /** 37 * Luo täytetyn kaksi- tai kolmiulotteisen monikulmion annetuista kulmapisteistä, esimerkiksi: 38 * <pre> 39 * double[][] points = {{2, 6}, {5, 5}, {-1, 2.5}} 40 * FillPolygon fp = new FillPolygon(points); 41 * 42 * Luo täytetyn monikulmion jonka kärkipisteet ovat (2, 6), (5, 5) ja (-1, 2.5) 43 * </pre> 44 * @param points 45 */ 46 public FillPolygon(double[][] points) { 47 super(points); 48 } 49 50 /** 51 * Luo täytetyn monikulmion annetuista kulmapisteistä jotka ovat RPoint olioita 52 * @param points taulukko kulmapisteistä jotka ovat RPoint-olioita 53 */ 54 public FillPolygon(RPoint[] points) { 55 super(points); 56 } 57 58 public void drawEmpty(Graphics g, Matrix a) { 59 super.drawShape(g, a); 60 } 61 62 @Override 63 protected void drawShape(Graphics g, Matrix a) { 64 int[][] sPoints = makeScreenPoints(a); 65 g.fillPolygon(sPoints[0], sPoints[1], getCount()); 66 } 67 } 68