package oripa.paint.byvalue;
import javax.vecmath.Vector2d;
import oripa.ORIPA;
import oripa.geom.GeomUtil;
import oripa.paint.core.PaintConfig;
import oripa.paint.core.PaintContext;
import oripa.paint.core.PickingVertex;
import oripa.value.OriLine;
public class SelectingVertexToDrawLine extends PickingVertex {
@Override
protected void initialize() {
}
@Override
protected void onResult(PaintContext context) {
Vector2d vertex = context.getVertex(0);
double length;
double angle;
try {
ValueDB valDB = ValueDB.getInstance();
length = valDB.getLength();
angle = valDB.getAngle();
if (length > 0) {
OriLine vl = GeomUtil.getLineByValue(vertex, length, -angle, PaintConfig.inputLineType);
ORIPA.doc.pushUndoInfo();
ORIPA.doc.addLine(vl);
}
}
catch (Exception ex) {
}
context.clear(false);
}
}