geometry: move up `Point3d::offset` from gamnit
authorAlexis Laferrière <alexis.laf@xymus.net>
Tue, 6 Jun 2017 23:30:59 +0000 (19:30 -0400)
committerAlexis Laferrière <alexis.laf@xymus.net>
Thu, 8 Jun 2017 15:57:24 +0000 (11:57 -0400)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

lib/gamnit/flat.nit
lib/geometry/points_and_lines.nit

index 6a52dc4..f7f7c4a 100644 (file)
@@ -583,12 +583,6 @@ private class Simple2dProgram
 end
 
 redef class Point3d[N]
-       # Get a new `Point3d[Float]` with an offset of each axis of `x, y, z`
-       fun offset(x, y, z: Numeric): Point3d[Float]
-       do
-               return new Point3d[Float](self.x.to_f+x.to_f, self.y.to_f+y.to_f, self.z.to_f+z.to_f)
-       end
-
        # ---
        # Associate each point to its sprites
 
index 16efae0..22d2c51 100644 (file)
@@ -142,6 +142,17 @@ interface IPoint3d[N: Numeric]
                var s = dist2_xy(other).add(dz.mul(dz))
                return x.value_of(s)
        end
+
+       # Get a new `Point3d[Float]` at an offset of `x, y, z` from `self`
+       #
+       # ~~~
+       # var origin = new Point3d[Float](1.0, 1.0, 1.0)
+       # assert origin.offset(1.0, 2.0, 3.0).to_s == "(2.0, 3.0, 4.0)"
+       # ~~~
+       fun offset(x, y, z: Numeric): Point3d[Float]
+       do return new Point3d[Float](self.x.to_f+x.to_f,
+                                    self.y.to_f+y.to_f,
+                                    self.z.to_f+z.to_f)
 end
 
 # 3D point with `x`, `y` and `z`