]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.datatypes/src/org/simantics/datatypes/literal/Vec2i.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.datatypes / src / org / simantics / datatypes / literal / Vec2i.java
1 package org.simantics.datatypes.literal;\r
2 \r
3 import org.simantics.databoard.Bindings;\r
4 import org.simantics.databoard.binding.Binding;\r
5 import org.simantics.databoard.util.Bean;\r
6 \r
7 \r
8 final public class Vec2i extends Bean {\r
9 \r
10         public static final Binding BINDING = Bindings.getBindingUnchecked(Vec2i.class);\r
11 \r
12         public int x;\r
13         public int y;\r
14 \r
15         public Vec2i(int x, int y) {\r
16                 super(BINDING);\r
17                 this.x = x;\r
18                 this.y = y;\r
19         }\r
20 \r
21         public boolean isZero() {\r
22                 return x==0 && y==0; \r
23         }\r
24         \r
25         public double norm1() {\r
26                 return Math.abs(x) + Math.abs(y);\r
27         }\r
28         \r
29         public double norm2() {\r
30                 return Math.sqrt(x*x+y*y);\r
31         }\r
32         \r
33         public double length() {\r
34                 return norm2();\r
35         }\r
36         \r
37         public double dot(Vec2i other) {\r
38                 return x*other.x + y*other.y;\r
39         }\r
40 \r
41         public Vec2i sum(Vec2i other) {\r
42                 return new Vec2i(x + other.x , y + other.y);\r
43         }\r
44 \r
45         @Override\r
46         public String toString() {\r
47                 return "Vec2i[x=" + x + ", y=" + y + "]";\r
48         }\r
49         \r
50 }\r