RRect.java |
1 package fi.jyu.mit.graphics; 2 3 /** 4 * Neliskulmio jonka kärkipisteet kolmiulotteisia pisteitä 5 * @author Markus Kivioja 6 * 7 */ 8 public class RRect { 9 10 private final RPoint p1, p2; 11 12 /** 13 * Luo uuden neliskulmion jonka kärkipisteet ovat RPoint-olioita 14 * @param leftTop vasen yläkulma 15 * @param rightBottom oikea alakulma 16 */ 17 public RRect(RPoint leftTop, RPoint rightBottom) { 18 this.p1 = leftTop; 19 this.p2 = rightBottom; 20 } 21 22 /** 23 * Luo uuden annettujen kärkipisteiden koordinaattien mukaisen neliskulmion 24 * @param left vaseman reunan x-koordinaatti 25 * @param top yläreunan y-koordinaatti 26 * @param right oikean reunan x-koordinaatti 27 * @param bottom alareunan y-koordinaatti 28 */ 29 public RRect(double left, double top, double right, double bottom) { 30 this.p1 = new RPoint(left, top); 31 this.p2 = new RPoint(right, bottom); 32 } 33 34 /** 35 * Antaa tämän neliskulmion leveyden 36 * @return neliskulmion leveys 37 */ 38 public double width() { 39 return p2.getX() - p1.getX(); 40 } 41 42 /** 43 * Antaa tämän neliskulmion korkeuden 44 * @return neliskulmion korkeus 45 */ 46 public double height() { 47 return p2.getY() - p1.getY(); 48 } 49 50 /** 51 * Antaa tämän neliskulmion keskipisteen x-koordinaatin 52 * @return neliskulmion keskipisteen x-koordinaatti 53 */ 54 public double midX() { 55 return (p1.getX() + p2.getX()) / 2.0; 56 } 57 58 /** 59 * Antaa tämän neliskulmion keskipisteen y-koordinaatin 60 * @return neliskulmion keskipisteen y-koordinaatti 61 */ 62 public double midY() { 63 return (p1.getY() + p2.getY()) / 2.0; 64 } 65 66 /** 67 * Antaa tämän neliskulmion vasemman yläkulman RPoint-oliona 68 * @return neliskulmion vasen yläkulma 69 */ 70 public RPoint getP1() { 71 return p1; 72 } 73 74 /** 75 * Antaa tämän neliskulmion oikean alakulman RPoint-oliona 76 * @return neliskulmion oikea alakulma 77 */ 78 public RPoint getP2() { 79 return p2; 80 } 81 } 82