From 584049346f029c53d621d3a6b180d2419de56f05 Mon Sep 17 00:00:00 2001 From: Mike Smith Date: Sun, 7 Feb 2016 11:49:29 -0800 Subject: [PATCH] Added overloads for transforms that take a vector to allow for X/Y/Z doubles to be used directly --- OSCADSharp/OSCADSharp.ConsoleTests/Program.cs | 10 +-- OSCADSharp/OSCADSharp/OSCADObject.cs | 63 ++++++++++++++++++- 2 files changed, 67 insertions(+), 6 deletions(-) diff --git a/OSCADSharp/OSCADSharp.ConsoleTests/Program.cs b/OSCADSharp/OSCADSharp.ConsoleTests/Program.cs index 643e756..768a30e 100644 --- a/OSCADSharp/OSCADSharp.ConsoleTests/Program.cs +++ b/OSCADSharp/OSCADSharp.ConsoleTests/Program.cs @@ -19,11 +19,11 @@ namespace OSCADSharp.ConsoleTests }; cube = cube.Color("Red") - .Mirror(new Vector3(1, 0, 0)) - .Resize(new Vector3(10, 20, 10)) - .Rotate(new Vector3(90, 90, 0)) - .Scale(new Vector3(1, 1, 2)) - .Translate(new Vector3(10, 5, 2)); + .Mirror(1, 0, 0) + .Resize(10, 20, 10) + .Rotate(90, 90, 0) + .Scale(1, 1, 2) + .Translate(10, 5, 2); Console.WriteLine(cube.ToString()); Console.ReadKey(); diff --git a/OSCADSharp/OSCADSharp/OSCADObject.cs b/OSCADSharp/OSCADSharp/OSCADObject.cs index c60b49e..5a808f3 100644 --- a/OSCADSharp/OSCADSharp/OSCADObject.cs +++ b/OSCADSharp/OSCADSharp/OSCADObject.cs @@ -19,7 +19,7 @@ namespace OSCADSharp public OSCADObject Color(string colorName, double opacity = 1.0) { return new ColoredObject(this, colorName, opacity); - } + } /// /// Mirrors the object about a plane, as specified by the normal @@ -32,6 +32,19 @@ namespace OSCADSharp return new MirroredObject(this, normal); } + /// + /// Mirrors the object about a plane, as specified by the normal + /// described by the x/y/z components provided + /// + /// + /// + /// + /// A mirrored object + public OSCADObject Mirror(double x, double y, double z) + { + return this.Mirror(new Vector3(x, y, z)); + } + /// /// Resizes to a specified set of X/Y/Z dimensions /// @@ -42,6 +55,18 @@ namespace OSCADSharp return new ResizedObject(this, newsize); } + /// + /// Resizes to a specified set of X/Y/Z dimensions + /// + /// + /// + /// + /// A resized object + public OSCADObject Resize(double x, double y, double z) + { + return this.Resize(new Vector3(x, y, z)); + } + /// /// Rotates about a specified X/Y/Z euler angle /// @@ -52,6 +77,18 @@ namespace OSCADSharp return new RotatedObject(this, angle); } + /// + /// Rotates about a specified X/Y/Z euler angle + /// + /// + /// + /// + /// A rotated object + public OSCADObject Rotate(double x, double y, double z) + { + return this.Rotate(new Vector3(x, y, z)); + } + /// /// Rescales an object by an X/Y/Z scale factor /// @@ -62,6 +99,18 @@ namespace OSCADSharp return new ScaledObject(this, scale); } + /// + /// Rescales an object by an X/Y/Z scale factor + /// + /// + /// + /// + /// A scaled object + public OSCADObject Scale(double x, double y, double z) + { + return this.Scale(new Vector3(x, y, z)); + } + /// /// Translates an object by the specified amount /// @@ -71,6 +120,18 @@ namespace OSCADSharp { return new TranslatedObject(this, translation); } + + /// + /// Translates an object by the specified amount + /// + /// + /// + /// + /// A translated object + public OSCADObject Translate(double x, double y, double z) + { + return this.Translate(new Vector3(x, y, z)); + } #endregion } }