import java.awt.Stroke;
import java.awt.geom.AffineTransform;
import java.awt.geom.Path2D;
-import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
import org.simantics.district.network.ModelledCRS;
private Color color;
+ private Double stroke;
+
@Override
public void init() {
}
g2d.setColor(color);
if (STROKE != null) {
if (scaleStroke && STROKE instanceof BasicStroke) {
- BasicStroke bs = GeometryUtils.scaleStroke(STROKE, (float) (1.0 / GeometryUtils.getScale(g2d.getTransform())));
+ double str;
+ if (stroke != null)
+ str = Math.abs(stroke);
+ else
+ str = 1.0;
+ BasicStroke bs = GeometryUtils.scaleStroke(STROKE, (float) (str / GeometryUtils.getScale(g2d.getTransform())));
g2d.setStroke(bs);
} else {
g2d.setStroke(STROKE);
public static Path2D calculatePath(DistrictNetworkEdge edge) {
// Convert to screen coordinates
double startX = ModelledCRS.longitudeToX(edge.getStartPoint().getX());
- double startY = ModelledCRS.latitudeToY(edge.getStartPoint().getY());
+ double startY = ModelledCRS.latitudeToY(-edge.getStartPoint().getY()); // Invert for Simantics
double endX = ModelledCRS.longitudeToX(edge.getEndPoint().getX());
- double endY = ModelledCRS.latitudeToY(edge.getEndPoint().getY());
+ double endY = ModelledCRS.latitudeToY(-edge.getEndPoint().getY());// Invert for Simantics
// render
Path2D path = new Path2D.Double();
return color;
}
+ @PropertySetter(value = "stroke")
+ public void setStroke(Double stroke) {
+ this.stroke = stroke;
+ }
+
}