summaryrefslogtreecommitdiff
path: root/CSMath/src/bezier/transforms/geom/TDHMatrixTransform.java
diff options
context:
space:
mode:
authorbculkin2442 <bjculkin@mix.wvu.edu>2018-05-23 16:42:38 -0400
committerbculkin2442 <bjculkin@mix.wvu.edu>2018-05-23 16:42:38 -0400
commit48f781fb6e61539ba9d17efcfd9f9e38245cf6c0 (patch)
tree97e5743678a00d09024ec040490b8fcf8ccb1c74 /CSMath/src/bezier/transforms/geom/TDHMatrixTransform.java
parent81d8191c01629d881486f1f1fe5ae16c42b46287 (diff)
Refactor package structure
Diffstat (limited to 'CSMath/src/bezier/transforms/geom/TDHMatrixTransform.java')
-rw-r--r--CSMath/src/bezier/transforms/geom/TDHMatrixTransform.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/CSMath/src/bezier/transforms/geom/TDHMatrixTransform.java b/CSMath/src/bezier/transforms/geom/TDHMatrixTransform.java
new file mode 100644
index 0000000..ace590d
--- /dev/null
+++ b/CSMath/src/bezier/transforms/geom/TDHMatrixTransform.java
@@ -0,0 +1,32 @@
+package bezier.transforms.geom;
+
+import bezier.geom.Matrix;
+import bezier.geom.TDHPoint;
+
+public class TDHMatrixTransform implements TDHTransform {
+ public final Matrix mat;
+
+ public TDHMatrixTransform(Matrix mat) {
+ this.mat = mat;
+ }
+
+ public TDHMatrixTransform(double[][] mat) {
+ this.mat = new Matrix(mat);
+ }
+
+ @Override
+ public TDHTransformType type() {
+ return TDHTransformType.MATRIX;
+ }
+
+ @Override
+ public TDHPoint transform(TDHPoint punkt) {
+ double[] mult = mat.scalarMultiply(new double[] { punkt.x, punkt.y, punkt.z });
+
+ return new TDHPoint(mult[0], mult[1], mult[2]);
+ }
+
+ public TDHTransform then(TDHMatrixTransform trans) {
+ return new TDHMatrixTransform(mat.multiply(trans.mat));
+ }
+} \ No newline at end of file