]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.datatypes/src/org/simantics/datatypes/literal/Vec2d.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.datatypes / src / org / simantics / datatypes / literal / Vec2d.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 Vec2d extends Bean {\r
9 \r
10         public static final Binding BINDING = Bindings.getBindingUnchecked(Vec2d.class);\r
11 \r
12         public double x;\r
13         public double y;\r
14 \r
15         public Vec2d(double x, double 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.0 && y==0.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(Vec2d other) {\r
38                 return x*other.x + y*other.y;\r
39         }\r
40 \r
41         public Vec2d sum(Vec2d other) {\r
42                 return new Vec2d(x + other.x , y + other.y);\r
43         }\r
44 \r
45         public Vec2d subtraction(Vec2d other) {\r
46                 return new Vec2d(x - other.x , y - other.y);\r
47         }\r
48 \r
49         @Override\r
50         public String toString() {\r
51                 return "Vec2d[x=" + x + ", y=" + y + "]";\r
52         }\r
53         \r
54 }\r