-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathClPoint.java
60 lines (46 loc) · 1.34 KB
/
ClPoint.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// $Id$
//
// Cassowary Incremental Constraint Solver
// Original Smalltalk Implementation by Alan Borning
// This Java Implementation by Greg J. Badros, <[email protected]>
// http://www.cs.washington.edu/homes/gjb
// (C) 1998, 1999 Greg J. Badros and Alan Borning
// See ../LICENSE for legal details regarding this software
//
// ClPoint
//
package EDU.Washington.grad.gjb.cassowary;
public class ClPoint
{
public ClPoint(double x, double y)
{
_clv_x = new ClVariable(x);
_clv_y = new ClVariable(y);
}
public ClPoint(double x, double y, int a)
{
_clv_x = new ClVariable("x"+a,x);
_clv_y = new ClVariable("y"+a,y);
}
public ClPoint(ClVariable clv_x, ClVariable clv_y)
{ _clv_x = clv_x; _clv_y = clv_y; }
public ClVariable X()
{ return _clv_x; }
public ClVariable Y()
{ return _clv_y; }
// use only before adding into the solver
public void SetXY(double x, double y)
{ _clv_x.set_value(x); _clv_y.set_value(y); }
public void SetXY(ClVariable clv_x, ClVariable clv_y)
{ _clv_x = clv_x; _clv_y = clv_y; }
public double Xvalue()
{ return X().value(); }
public double Yvalue()
{ return Y().value(); }
public String toString()
{
return "(" + _clv_x.toString() + ", " + _clv_y.toString() + ")";
}
private ClVariable _clv_x;
private ClVariable _clv_y;
}