/*
- * Sixth 3D engine. Author: Svjatoslav Agejenko.
+ * Sixth 3D engine. Author: Svjatoslav Agejenko.
* This project is released under Creative Commons Zero (CC0) license.
*/
package eu.svjatoslav.sixth.e3d.math;
import eu.svjatoslav.sixth.e3d.geometry.Point3D;
+/**
+ * Used to represent transformation in a 3D space.
+ * Transformations are represented as a translation and an orientation.
+ */
public class Transform implements Cloneable {
private final Point3D translation;
orientation = new Orientation();
}
+ /**
+ * Creates a new transform with the specified translation.
+ *
+ * @param translation the translation
+ */
public Transform(final Point3D translation) {
this.translation = translation;
orientation = new Orientation();
}
+ /**
+ * Creates a new transform with the specified translation and orientation.
+ *
+ * @param translation the translation
+ * @param angleXZ the angle around the XZ axis
+ * @param angleYZ the angle around the YZ axis
+ */
public Transform(final Point3D translation, final double angleXZ,
final double angleYZ) {
orientation = new Orientation(angleXZ, angleYZ);
}
+ /**
+ * Creates a new transform with the specified translation and orientation.
+ *
+ * @param translation the translation
+ * @param orientation the orientation
+ */
public Transform(final Point3D translation, final Orientation orientation) {
this.translation = translation;
this.orientation = orientation;