net.sourceforge.plantuml.klimt.shape.ULine Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of plantuml-mit Show documentation
Show all versions of plantuml-mit Show documentation
PlantUML is a component that allows to quickly write diagrams from text.
// THIS FILE HAS BEEN GENERATED BY A PREPROCESSOR.
package net.sourceforge.plantuml.klimt.shape;
//::comment when __HAXE__
import java.awt.geom.AffineTransform;
import net.sourceforge.plantuml.klimt.AbstractShadowable;
import net.sourceforge.plantuml.klimt.UShapeSized;
import net.sourceforge.plantuml.klimt.geom.XPoint2D;
public class ULine extends AbstractShadowable implements UShapeSized {
private final double dx;
private final double dy;
public static ULine create(XPoint2D p1, XPoint2D p2) {
return new ULine(p2.getX() - p1.getX(), p2.getY() - p1.getY());
}
public ULine(double dx, double dy) {
this.dx = dx;
this.dy = dy;
}
// ::comment when __HAXE__
public ULine rotate(double theta) {
if (theta == 0)
return this;
final AffineTransform rot = AffineTransform.getRotateInstance(theta);
final XPoint2D tmp = new XPoint2D(dx, dy).transform(rot);
return new ULine(tmp.getX(), tmp.getY());
}
public static ULine hline(double dx) {
return new ULine(dx, 0);
}
public static ULine vline(double dy) {
return new ULine(0, dy);
}
@Override
public String toString() {
return "ULine dx=" + dx + " dy=" + dy;
}
public double getDX() {
return dx;
}
public double getDY() {
return dy;
}
public double getLength() {
return Math.sqrt(dx * dx + dy * dy);
}
public double getWidth() {
return dx;
}
public double getHeight() {
return dy;
}
}