From 8f42378c707c8c962082e394fe67ac3bb5cd557b Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Sun, 14 Oct 2018 11:42:53 -0400 Subject: General cleanup --- .../src/bezier/geom/transform/TDHCombination.java | 12 ++++++++++ .../bezier/geom/transform/TDHLineReflection.java | 20 ++++++++++++++++ .../bezier/geom/transform/TDHMatrixTransform.java | 28 ++++++++++++++++++++++ .../bezier/geom/transform/TDHPointRotation.java | 17 +++++++++++++ CSMath/src/bezier/geom/transform/TDHRotation.java | 14 +++++++++++ CSMath/src/bezier/geom/transform/TDHScale.java | 1 + CSMath/src/bezier/geom/transform/TDHShear.java | 16 +++++++++++++ .../bezier/geom/transform/TDHXAxisReflection.java | 5 ++++ .../bezier/geom/transform/TDHYAxisReflection.java | 5 ++++ 9 files changed, 118 insertions(+) (limited to 'CSMath/src/bezier/geom/transform') diff --git a/CSMath/src/bezier/geom/transform/TDHCombination.java b/CSMath/src/bezier/geom/transform/TDHCombination.java index 27d71e7..65dec7c 100644 --- a/CSMath/src/bezier/geom/transform/TDHCombination.java +++ b/CSMath/src/bezier/geom/transform/TDHCombination.java @@ -5,7 +5,15 @@ import java.util.List; import bezier.geom.TDHPoint; +/** + * Combination of 2D homogenous transforms. + * @author bjculkin + * + */ public class TDHCombination implements TDHTransform { + /** + * The transforms that make up this transform. + */ public final List forms; @Override @@ -13,6 +21,10 @@ public class TDHCombination implements TDHTransform { return TDHTransformType.COMBINATION; } + /** + * Create a new combined transform. + * @param forms The transforms to combine. + */ public TDHCombination(TDHTransform... forms) { this.forms = new ArrayList<>(forms.length); diff --git a/CSMath/src/bezier/geom/transform/TDHLineReflection.java b/CSMath/src/bezier/geom/transform/TDHLineReflection.java index 0158d60..1ebb76e 100644 --- a/CSMath/src/bezier/geom/transform/TDHLineReflection.java +++ b/CSMath/src/bezier/geom/transform/TDHLineReflection.java @@ -2,11 +2,31 @@ package bezier.geom.transform; import bezier.geom.TDHPoint; +/** + * Transform to reflect across a line. + * @author bjculkin + * + */ public class TDHLineReflection implements TDHTransform { + /** + * 'a' value for line. + */ public final double a; + /** + * 'b' value for line. + */ public final double b; + /** + * 'c' value for line. + */ public final double c; + /** + * Create a new line-reflect transform. + * @param a 'a' value for the line. + * @param b 'b' value for the line. + * @param c 'c' value for the line. + */ public TDHLineReflection(double a, double b, double c) { this.a = a; this.b = b; diff --git a/CSMath/src/bezier/geom/transform/TDHMatrixTransform.java b/CSMath/src/bezier/geom/transform/TDHMatrixTransform.java index 5014d1f..0952703 100644 --- a/CSMath/src/bezier/geom/transform/TDHMatrixTransform.java +++ b/CSMath/src/bezier/geom/transform/TDHMatrixTransform.java @@ -3,13 +3,34 @@ package bezier.geom.transform; import bezier.geom.Matrix; import bezier.geom.TDHPoint; +/** + * 2D homogenous transform defined by a matrix. + * + * @author bjculkin + * + */ public class TDHMatrixTransform implements TDHTransform { + /** + * The matrix for the transform. + */ public final Matrix mat; + /** + * Create a new matrix-based transform. + * + * @param mat + * The matrix that defines the transform. + */ public TDHMatrixTransform(Matrix mat) { this.mat = mat; } + /** + * Create a new matrix-based transform. + * + * @param mat + * The matrix that defines the transform. + */ public TDHMatrixTransform(double[][] mat) { this.mat = new Matrix(mat); } @@ -26,6 +47,13 @@ public class TDHMatrixTransform implements TDHTransform { return new TDHPoint(mult[0], mult[1], mult[2]); } + /** + * Chain two matrix transforms together. + * + * @param trans + * The next transform to use. + * @return A transform that represents the two transforms in serial. + */ public TDHTransform then(TDHMatrixTransform trans) { return new TDHMatrixTransform(mat.multiply(trans.mat)); } diff --git a/CSMath/src/bezier/geom/transform/TDHPointRotation.java b/CSMath/src/bezier/geom/transform/TDHPointRotation.java index a207612..c92b172 100644 --- a/CSMath/src/bezier/geom/transform/TDHPointRotation.java +++ b/CSMath/src/bezier/geom/transform/TDHPointRotation.java @@ -2,10 +2,27 @@ package bezier.geom.transform; import bezier.geom.TDHPoint; +/** + * Transformation doing rotation about a point. + * @author bjculkin + * + */ public class TDHPointRotation extends TDHRotation { + /** + * x-coordinate of point. + */ public final double x0; + /** + * y-coordinate of point. + */ public final double y0; + /** + * Create a new point rotation. + * @param theta The degrees to rotate about the point. + * @param x0 The x-coordinate of the point. + * @param y0 The y-coordinate of the point. + */ public TDHPointRotation(double theta, double x0, double y0) { super(theta); diff --git a/CSMath/src/bezier/geom/transform/TDHRotation.java b/CSMath/src/bezier/geom/transform/TDHRotation.java index a8c4cd6..4cea452 100644 --- a/CSMath/src/bezier/geom/transform/TDHRotation.java +++ b/CSMath/src/bezier/geom/transform/TDHRotation.java @@ -2,9 +2,21 @@ package bezier.geom.transform; import bezier.geom.TDHPoint; +/** + * Rotation transform. + * @author bjculkin + * + */ public class TDHRotation implements TDHTransform { + /** + * Degrees to rotate. + */ public final double theta; + /** + * Create a new rotation transform. + * @param theta The degrees to rotate. + */ public TDHRotation(double theta) { this.theta = theta; } @@ -17,11 +29,13 @@ public class TDHRotation implements TDHTransform { return new TDHPoint(x, y, punkt.z); } + @Override public double[][] matrix() { return new double[][] { new double[] { Math.cos(theta), Math.sin(theta), 0 }, new double[] { -Math.sin(theta), Math.cos(theta), 0 }, new double[] { 0, 0, 1 } }; } + @Override public TDHTransform invert() { return new TDHRotation(-theta); } diff --git a/CSMath/src/bezier/geom/transform/TDHScale.java b/CSMath/src/bezier/geom/transform/TDHScale.java index 83c7a63..c064f1b 100644 --- a/CSMath/src/bezier/geom/transform/TDHScale.java +++ b/CSMath/src/bezier/geom/transform/TDHScale.java @@ -81,6 +81,7 @@ public class TDHScale implements TDHTransform { return new double[][] { new double[] { sx, 0, 0 }, new double[] { 0, sy, 0 }, new double[] { 0, 0, sz } }; } + @Override public TDHTransform invert() { return new TDHScale(1 / sx, 1 / sy, 1 / sy); } diff --git a/CSMath/src/bezier/geom/transform/TDHShear.java b/CSMath/src/bezier/geom/transform/TDHShear.java index f099e74..7e09b63 100644 --- a/CSMath/src/bezier/geom/transform/TDHShear.java +++ b/CSMath/src/bezier/geom/transform/TDHShear.java @@ -2,8 +2,19 @@ package bezier.geom.transform; import bezier.geom.TDHPoint; +/** + * Shear transform. + * @author bjculkin + * + */ public class TDHShear implements TDHTransform { + /** + * x-value for shear. + */ public final double shx; + /** + * y-value for shear. + */ public final double shy; @Override @@ -11,6 +22,11 @@ public class TDHShear implements TDHTransform { return TDHTransformType.SHEAR; } + /** + * Create a new shear transform. + * @param shx The x-value for shearing. + * @param shy The y-value for shearing. + */ public TDHShear(double shx, double shy) { this.shx = shx; this.shy = shy; diff --git a/CSMath/src/bezier/geom/transform/TDHXAxisReflection.java b/CSMath/src/bezier/geom/transform/TDHXAxisReflection.java index 21af1a8..0324c88 100644 --- a/CSMath/src/bezier/geom/transform/TDHXAxisReflection.java +++ b/CSMath/src/bezier/geom/transform/TDHXAxisReflection.java @@ -2,6 +2,11 @@ package bezier.geom.transform; import bezier.geom.TDHPoint; +/** + * Reflect about x-axis. + * @author bjculkin + * + */ public class TDHXAxisReflection implements TDHTransform { @Override public TDHTransformType type() { diff --git a/CSMath/src/bezier/geom/transform/TDHYAxisReflection.java b/CSMath/src/bezier/geom/transform/TDHYAxisReflection.java index c4ada7f..7e8f6d9 100644 --- a/CSMath/src/bezier/geom/transform/TDHYAxisReflection.java +++ b/CSMath/src/bezier/geom/transform/TDHYAxisReflection.java @@ -2,6 +2,11 @@ package bezier.geom.transform; import bezier.geom.TDHPoint; +/** + * Reflect about y-axis. + * @author bjculkin + * + */ public class TDHYAxisReflection implements TDHTransform { @Override public TDHTransformType type() { -- cgit v1.2.3