1 package de.lathanda.eos.base.layout;
3 import de.lathanda.eos.base.math.Point;
4 import de.lathanda.eos.base.math.Vector;
15 private final double angle;
16 private final boolean mirrorx;
17 private final double scale;
27 private Transform(
Vector v,
double angle,
boolean mirrorx,
double scale) {
30 this.mirrorx = mirrorx;
36 return new Transform(v, this.angle - angle,
true, scale);
38 return new Transform(v, this.angle + angle,
false, scale);
60 return new Transform(v, angle, mirrorx, scale * factor);
69 return new Transform(v.
add(-dx, dy), angle, mirrorx, scale);
71 return new Transform(v.
add(dx, dy), angle, mirrorx, scale);
79 return new Transform(this.v.
add(v), angle, mirrorx, scale);
91 return result.
mirrorX().scale(scale).rotate(angle);
93 return result.scale(scale).rotate(angle);
163 return new Transform(v, angle, mirrorx, scale);
172 return "Transform{" +
"p=" + v +
", angle=" + angle +
", scale=" + scale +
'}';
Vector multiply(double k)
Vector rotate(double dAngle)
Vector substract(Vector v)
Vector setdx(double newdx)
Vector setdy(double newdy)