From: Alexis Laferrière Date: Tue, 6 Jun 2017 23:30:59 +0000 (-0400) Subject: geometry: move up `Point3d::offset` from gamnit X-Git-Url: http://nitlanguage.org geometry: move up `Point3d::offset` from gamnit Signed-off-by: Alexis Laferrière --- diff --git a/lib/gamnit/flat.nit b/lib/gamnit/flat.nit index 6a52dc4..f7f7c4a 100644 --- a/lib/gamnit/flat.nit +++ b/lib/gamnit/flat.nit @@ -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 diff --git a/lib/geometry/points_and_lines.nit b/lib/geometry/points_and_lines.nit index 16efae0..22d2c51 100644 --- a/lib/geometry/points_and_lines.nit +++ b/lib/geometry/points_and_lines.nit @@ -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`