| 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