From 48f781fb6e61539ba9d17efcfd9f9e38245cf6c0 Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Wed, 23 May 2018 16:42:38 -0400 Subject: Refactor package structure --- .../src/bezier/geom/transform/TDHCombination.java | 64 ++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 CSMath/src/bezier/geom/transform/TDHCombination.java (limited to 'CSMath/src/bezier/geom/transform/TDHCombination.java') diff --git a/CSMath/src/bezier/geom/transform/TDHCombination.java b/CSMath/src/bezier/geom/transform/TDHCombination.java new file mode 100644 index 0000000..27d71e7 --- /dev/null +++ b/CSMath/src/bezier/geom/transform/TDHCombination.java @@ -0,0 +1,64 @@ +package bezier.geom.transform; + +import java.util.ArrayList; +import java.util.List; + +import bezier.geom.TDHPoint; + +public class TDHCombination implements TDHTransform { + public final List forms; + + @Override + public TDHTransformType type() { + return TDHTransformType.COMBINATION; + } + + public TDHCombination(TDHTransform... forms) { + this.forms = new ArrayList<>(forms.length); + + for (TDHTransform form : forms) { + this.forms.add(form); + } + } + + @Override + public TDHPoint transform(TDHPoint punkt) { + TDHPoint ret = punkt; + + for (TDHTransform form : forms) { + ret = form.transform(ret); + } + + return ret; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((forms == null) ? 0 : forms.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + TDHCombination other = (TDHCombination) obj; + if (forms == null) { + if (other.forms != null) + return false; + } else if (!forms.equals(other.forms)) + return false; + return true; + } + + @Override + public String toString() { + return "TDHCombination [forms=" + forms + "]"; + } +} \ No newline at end of file -- cgit v1.2.3