initial commit
[sixth-3d.git] / src / main / java / eu / svjatoslav / sixth / e3d / geometry / Rectangle.java
1 /*
2  * Sixth - System for data storage, computation, exploration and interaction.
3  * Copyright ©2012-2016, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
4  * 
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of version 3 of the GNU Lesser General Public License
7  * or later as published by the Free Software Foundation.
8  */
9
10
11 package eu.svjatoslav.sixth.e3d.geometry;
12
13 public class Rectangle {
14
15     public Point2D p1, p2;
16
17     public Rectangle(final double size) {
18         p2 = new Point2D(size / 2, size / 2);
19         p1 = p2.clone().invert();
20     }
21
22     public Rectangle(final Point2D p1, final Point2D p2) {
23         this.p1 = p1;
24         this.p2 = p2;
25     }
26
27     public double getHeight() {
28         return Math.abs(p1.y - p2.y);
29     }
30
31     public double getLowerX() {
32         if (p1.x < p2.x)
33             return p1.x;
34         return p2.x;
35     }
36
37     public double getLowerY() {
38         if (p1.y < p2.y)
39             return p1.y;
40         return p2.y;
41     }
42
43     public double getWidth() {
44         return Math.abs(p1.x - p2.x);
45     }
46
47 }