--- /dev/null
+package org.simantics.datatypes.literal;\r
+\r
+import org.simantics.databoard.Bindings;\r
+import org.simantics.databoard.binding.Binding;\r
+import org.simantics.databoard.util.Bean;\r
+\r
+\r
+final public class Vec2i extends Bean {\r
+\r
+ public static final Binding BINDING = Bindings.getBindingUnchecked(Vec2i.class);\r
+\r
+ public int x;\r
+ public int y;\r
+\r
+ public Vec2i(int x, int y) {\r
+ super(BINDING);\r
+ this.x = x;\r
+ this.y = y;\r
+ }\r
+\r
+ public boolean isZero() {\r
+ return x==0 && y==0; \r
+ }\r
+ \r
+ public double norm1() {\r
+ return Math.abs(x) + Math.abs(y);\r
+ }\r
+ \r
+ public double norm2() {\r
+ return Math.sqrt(x*x+y*y);\r
+ }\r
+ \r
+ public double length() {\r
+ return norm2();\r
+ }\r
+ \r
+ public double dot(Vec2i other) {\r
+ return x*other.x + y*other.y;\r
+ }\r
+\r
+ public Vec2i sum(Vec2i other) {\r
+ return new Vec2i(x + other.x , y + other.y);\r
+ }\r
+\r
+ @Override\r
+ public String toString() {\r
+ return "Vec2i[x=" + x + ", y=" + y + "]";\r
+ }\r
+ \r
+}\r