package org.poly2tri.transform.coordinate;
import java.util.List;
import org.poly2tri.geometry.primitives.Point;
public abstract class Matrix3Transform implements CoordinateTransform {
protected double m00, m01, m02, m10, m11, m12, m20, m21, m22;
public void transform(Point p, Point store) {
final double px = p.getX();
final double py = p.getY();
final double pz = p.getZ();
store.set(m00 * px + m01 * py + m02 * pz, m10 * px + m11 * py + m12
* pz, m20 * px + m21 * py + m22 * pz);
}
public void transform(Point p) {
final double px = p.getX();
final double py = p.getY();
final double pz = p.getZ();
p.set(m00 * px + m01 * py + m02 * pz, m10 * px + m11 * py + m12 * pz,
m20 * px + m21 * py + m22 * pz);
}
public void transform(List<? extends Point> list) {
for (Point p : list) {
transform(p);
}
}
}