public final Optional<Function1<Resource, Double>> edgeThicknessProperty;
public final double edgeThicknessGain;
public final double edgeThicknessBias;
+ public final Optional<Function1<Resource, Double>> arrowLengthProperty;
+ public final double arrowLengthGain;
+ public final double arrowLengthBias;
public final Optional<Function1<Resource, Double>> elementColoringFunction;
public final float elementColoringGradientHue;
public final float elementColoringGradientSaturation;
public DiagramSettings(
Function1<Resource, Double> vertexScaleProperty, double vertexScaleGain, double vertexScaleBias,
Function1<Resource, Double> edgeThicknessProperty, double edgeThicknessGain, double edgeThicknessBias,
+ Function1<Resource, Double> arrowLengthProperty, double arrowLengthGain, double arrowLengthBias,
Function1<Resource, Double> elementColoringFunction,
float elementColoringGradientHue,
float elementColoringGradientSaturation
this.edgeThicknessProperty = Optional.ofNullable(edgeThicknessProperty);
this.edgeThicknessGain = edgeThicknessGain;
this.edgeThicknessBias = edgeThicknessBias;
+ this.arrowLengthProperty = Optional.ofNullable(arrowLengthProperty);
+ this.arrowLengthGain = arrowLengthGain;
+ this.arrowLengthBias = arrowLengthBias;
this.elementColoringFunction = Optional.ofNullable(elementColoringFunction);
this.elementColoringGradientHue = elementColoringGradientHue;
this.elementColoringGradientSaturation = elementColoringGradientSaturation;
final int prime = 31;
int result = 1;
result = prime * result + edgeThicknessProperty.hashCode();
+ result = prime * result + arrowLengthProperty.hashCode();
long temp;
temp = Double.doubleToLongBits(edgeThicknessGain);
result = prime * result + (int) (temp ^ (temp >>> 32));
temp = Double.doubleToLongBits(edgeThicknessBias);
result = prime * result + (int) (temp ^ (temp >>> 32));
+ temp = Double.doubleToLongBits(arrowLengthGain);
+ result = prime * result + (int) (temp ^ (temp >>> 32));
+ temp = Double.doubleToLongBits(arrowLengthBias);
+ result = prime * result + (int) (temp ^ (temp >>> 32));
result = prime * result + vertexScaleProperty.hashCode();
temp = Double.doubleToLongBits(vertexScaleGain);
result = prime * result + (int) (temp ^ (temp >>> 32));
return false;
if (Double.doubleToLongBits(edgeThicknessBias) != Double.doubleToLongBits(other.edgeThicknessBias))
return false;
+ if (!arrowLengthProperty.equals(other.arrowLengthProperty))
+ return false;
+ if (Double.doubleToLongBits(arrowLengthGain) != Double.doubleToLongBits(other.arrowLengthGain))
+ return false;
+ if (Double.doubleToLongBits(arrowLengthBias) != Double.doubleToLongBits(other.arrowLengthBias))
+ return false;
if (!vertexScaleProperty.equals(other.vertexScaleProperty))
return false;
if (Double.doubleToLongBits(vertexScaleGain) != Double.doubleToLongBits(other.vertexScaleGain))
@Override
public String toString() {
- return String.format("DiagramSettings[%s * %f + %f - %s * %f + %f - coloringFunction: %s, hue: %f, saturation: %f]",
+ return String.format("DiagramSettings[%s * %f + %f - %s * %f + %f - %s * %f + %f - coloringFunction: %s, hue: %f, saturation: %f]",
vertexScaleProperty.toString(), vertexScaleGain, vertexScaleBias,
edgeThicknessProperty, edgeThicknessGain, edgeThicknessBias,
+ arrowLengthProperty, arrowLengthGain, arrowLengthBias,
elementColoringFunction.toString(),
elementColoringGradientHue, elementColoringGradientSaturation
);