| Easy.java |
1 package fi.jyu.mit.graphics;
2
3 /**
4 * Rajapinta "helpolle piirtämiselle".
5 *
6 * @author Markus Kivioja
7 *
8 */
9 public interface Easy {
10
11 /**
12 * Lisää olioon uuden viivan. Palauttaa viitteen lisättyyn
13 * viivaan, jolloin sille voidaan heti suorittaa jokin muukin operaatio, esimerkiksi:
14 * <pre>
15 * space.addLine(0,0,100,100).setColor(Color.RED);
16 * </pre>
17 * @param x1 viivan alkupisteen x
18 * @param y1 viivan alkupisteen y
19 * @param x2 viivan loppupisteen x
20 * @param y2 viivan loppupisteen y
21 * @return lisättyn viivaolion viite
22 */
23 Line addLine(double x1, double y1, double x2, double y2);
24
25 /**
26 * Lisää olioon viivan. Palauttaa viitteen lisättyyn
27 * viivaan, jolloin sille voidaan heti suorittaa jokin muukin operaatio, esimerkiksi:
28 * <pre>
29 * space.addLine(0, 0, 0, 100, 100, 100).setColor(Color.RED);
30 * </pre>
31 * @param x1 lähtöpisteen x-koordinaatti
32 * @param y1 lähtöpisteen y-koordinaatti
33 * @param z1 lähtöpisteen z-koordinaatti
34 * @param x2 loppupisteen x-koordinaatti
35 * @param y2 loppupisteen y-koordinaatti
36 * @param z2 loppupisteen z-koordinaatti
37 * @return lisätty Line-olio
38 */
39 Line addLine(double x1, double y1, double z1, double x2, double y2, double z2);
40
41 /**
42 * Lisää olioon monikulmion. Palauttaa viitteen lisättyyn
43 * monikulmioon, jolloin sille voidaan heti suorittaa jokin muukin operaatio, esimerkiksi:
44 * <pre>
45 * double[] xpoints = {-1, 2, 4};
46 * double[] ypoints = [5, 6, 7};
47 * space.addPolygon(xpoints, ypoints).setColor(Color.RED);
48 * </pre>
49 * @param xpoints monikulmion kärkipisteiden x-koordinaatit
50 * @param ypoints monikulmion käskipisteiden y-koordinaatit
51 * @return lisätty Polygon-olio
52 */
53 Polygon addPolygon(double[] xpoints, double[] ypoints);
54
55 /**
56 * Lisää olioon monikulmion. Palauttaa viitteen lisättyyn
57 * monikulmioon, jolloin sille voidaan heti suorittaa jokin muukin operaatio, esimerkiksi:
58 * <pre>
59 * double[][] points = {{2, 6}, {5, 5}, {-1, 2.5}}
60 * space.addPoylgon(points).setColor(Color.RED);
61 * </pre>
62 * @param points monikulmion kärkipisteiden koordinaatit
63 * @return lisätty Polygon-olio
64 */
65 Polygon addPolygon(double[][] points);
66
67 /**
68 * Lisää olioon täytetyn monikulmion. Palauttaa viitteen lisättyyn
69 * täytettyyn monikulmioon, jolloin sille voidaan heti suorittaa jokin muukin operaatio, esimerkiksi:
70 * <pre>
71 * double[] xpoints = {-1, 2, 4};
72 * double[] ypoints = [5, 6, 7};
73 * space.addFillPolygon(xpoints, ypoints).setColor(Color.RED);
74 * </pre>
75 * @param xpoints monikulmion kärkipisteiden x-koordinaatit
76 * @param ypoints monikulmion käskipisteiden y-koordinaatit
77 * @return lisätty FillPolygon-olio
78 */
79 FillPolygon addFillPolygon(double[] xpoints, double[] ypoints);
80
81 /**
82 * Lisää olioon täytetyn monikulmion. Palauttaa viitteen lisättyyn
83 * täytettyyn monikulmioon, jolloin sille voidaan heti suorittaa jokin muukin operaatio, esimerkiksi:
84 * <pre>
85 * double[][] points = {{2, 6}, {5, 5}, {-1, 2.5}}
86 * space.addFillPoylgon(points).setColor(Color.RED);
87 * </pre>
88 * @param points monikulmion kärkipisteiden koordinaatit
89 * @return lisätty FillPolygon-olio
90 */
91 FillPolygon addFillPolygon(double[][] points);
92
93 /**
94 * Lisää olioon ympyrän. Palauttaa viitteen lisättyyn
95 * ympyrään, jolloin sille voidaan heti suorittaa jokin muukin operaatio, esimerkiksi:
96 * <pre>
97 * space.addCircle(0, 0, 1).setColor(Color.RED);
98 * </pre>
99 * @param x ympyrän keskipisteen x-koordinaatti
100 * @param y ympyrän keskipisteen y-koordinaatti
101 * @param r ympyrän säde
102 * @return lisätty Circle-olio
103 */
104 Circle addCircle(double x, double y, double r);
105
106 /**
107 * Lisää olioon ympyrän. Palauttaa viitteen lisättyyn
108 * ympyrään, jolloin sille voidaan heti suorittaa jokin muukin operaatio, esimerkiksi:
109 * <pre>
110 * space.addCircle(0, 0, 0, 1).setColor(Color.RED);
111 * </pre>
112 * @param x ympyrän keskipisteen x-koordinaatti
113 * @param y ympyrän keskipisteen y-koordinaatti
114 * @param z ympyrän keskipisteen z-koordinaatti
115 * @param r ympyrän säde
116 * @return lisätty Circle-olio
117 */
118 Circle addCircle(double x, double y, double z, double r);
119
120 /**
121 * Lisää olioon koordinaatistoakselit. Palauttaa viitteen lisättyyn
122 * akselistoon, jolloin sille voidaan heti suorittaa jokin muukin operaatio, esimerkiksi:
123 * <pre>
124 * space.addAxis(5, 5, 5).setColor(Color.RED);
125 * </pre>
126 * @param xLength x-akselin pituus
127 * @param yLength y-akselin pituus
128 * @param zLength z-akselin pituus
129 * @return lisätty Axis-olio
130 */
131 Axis addAxis(double xLength, double yLength, double zLength);
132
133 /**
134 * Lisää olioon koordinaatistoakselit. Palauttaa viitteen lisättyyn
135 * akselistoon, jolloin sille voidaan heti suorittaa jokin muukin operaatio, esimerkiksi:
136 * <pre>
137 * space.addAxis(5, 5, 5, 0, 0, 0).setColor(Color.RED);
138 * </pre>
139 * @param xLength x-akselin pituus
140 * @param yLength y-akselin pituus
141 * @param zLength z-akselin pituus
142 * @param x akselien leikkauspisteen x-koordinaatti
143 * @param y akselien leikkauspisteen y-koordinaatti
144 * @param z akselien leikkauspisteen z-koordinaatti
145 * @return lisätty Axis-olio
146 */
147 Axis addAxis(double xLength, double yLength, double zLength, double x, double y, double z);
148
149 /**
150 * Lisää olioon kuvion joka on Drawable-olio. Palauttaa viitteen lisättyyn
151 * kuvioon, jolloin sille voidaan heti suorittaa jokin muukin operaatio, esimerkiksi:
152 * <pre>
153 * space.addShape(new Line(0, 0, 10, 10)).setColor(Color.RED);
154 * </pre>
155 * @param shape lisättävä kuvio
156 * @return lisätty olio
157 */
158 Drawable addShape(Drawable shape);
159 }
160