Skip to content

Commit a895a09

Browse files
committed
Tweak this function for choosing where to place a label in depictions. If there are equally good places to place we prefer that which is pointing left/right.
1 parent 57c008b commit a895a09

File tree

1 file changed

+9
-1
lines changed
  • display/renderbasic/src/main/java/org/openscience/cdk/renderer/generators/standard

1 file changed

+9
-1
lines changed

display/renderbasic/src/main/java/org/openscience/cdk/renderer/generators/standard/VecmathUtil.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,15 @@ static Vector2d newVectorInLargestGap(final List<Vector2d> vectors) {
338338
for (int i = 0; i < vectors.size(); i++) {
339339
double extent = extents[(i + 1) % vectors.size()] - extents[i];
340340
if (extent < 0) extent += TAU;
341-
if (extent > max) {
341+
double delta = extent - max;
342+
// is significantly better?
343+
if (delta > 0.01) {
344+
max = extent;
345+
index = i;
346+
}
347+
// not significantly better -> put is left/right aligned
348+
else if ((extents[i] < TAU && extents[i]+extent > TAU) ||
349+
(extents[i] < Math.PI && extents[i]+extent > Math.PI)) {
342350
max = extent;
343351
index = i;
344352
}

0 commit comments

Comments
 (0)