From 82292cad66acb2f12c688cf0cbceb23cec639cb2 Mon Sep 17 00:00:00 2001 From: Aliaksandr Dziarkach <18146690+AliaksandrDziarkach@users.noreply.github.com> Date: Mon, 18 Nov 2024 16:59:19 +0300 Subject: [PATCH] #2458 - The reaction with catalysts is displayed incorrectly with ACS style setting and after layout (#2637) Co-authored-by: Aliakasndr Dziarkach --- .../tests/layout/ref/acs_issue_2458.ket | 52 ++++---- .../molecule/src/base_molecule.cpp | 4 +- .../backend/service/tests/api/indigo_test.py | 122 ------------------ .../tests/api/ref/render-eleptical-arrow.png | Bin 5563 -> 0 bytes 4 files changed, 29 insertions(+), 149 deletions(-) delete mode 100644 utils/indigo-service/backend/service/tests/api/ref/render-eleptical-arrow.png diff --git a/api/tests/integration/tests/layout/ref/acs_issue_2458.ket b/api/tests/integration/tests/layout/ref/acs_issue_2458.ket index 89239e4592..30137a1d43 100644 --- a/api/tests/integration/tests/layout/ref/acs_issue_2458.ket +++ b/api/tests/integration/tests/layout/ref/acs_issue_2458.ket @@ -42,12 +42,12 @@ "mode": "open-angle", "pos": [ { - "x": 9.8, + "x": 10.008333, "y": 0.0, "z": 0.0 }, { - "x": 20.216667, + "x": 21.674999, "y": 0.0, "z": 0.0 } @@ -286,8 +286,8 @@ { "label": "P", "location": [ - 10.425, - 1.333333, + 10.668056, + 1.402778, 0.0 ] } @@ -300,8 +300,8 @@ { "label": "P", "location": [ - 12.091667, - 1.333333, + 12.543056, + 1.402778, 0.0 ] } @@ -314,7 +314,7 @@ { "label": "O", "location": [ - 9.175, + 9.348611, 0.0, 0.0 ] @@ -328,8 +328,8 @@ { "label": "O", "location": [ - 14.591668, - 1.333333, + 15.390278, + 1.402778, 0.0 ] } @@ -342,8 +342,8 @@ { "label": "O", "location": [ - 16.258335, - 1.333333, + 17.265278, + 1.402778, 0.0 ] } @@ -356,7 +356,7 @@ { "label": "N", "location": [ - 21.258333, + 22.820831, 1.309017, 0.0 ] @@ -364,7 +364,7 @@ { "label": "C", "location": [ - 22.209391, + 23.771889, 1.0, 0.0 ] @@ -372,7 +372,7 @@ { "label": "C", "location": [ - 20.670547, + 22.233047, 0.5, 0.0 ] @@ -380,7 +380,7 @@ { "label": "C", "location": [ - 22.209391, + 23.771889, -0.0, 0.0 ] @@ -388,7 +388,7 @@ { "label": "N", "location": [ - 23.075417, + 24.637915, 1.5, 0.0 ] @@ -396,7 +396,7 @@ { "label": "N", "location": [ - 21.258333, + 22.820833, -0.309017, 0.0 ] @@ -404,7 +404,7 @@ { "label": "C", "location": [ - 23.075417, + 24.637915, -0.5, 0.0 ] @@ -412,7 +412,7 @@ { "label": "C", "location": [ - 23.941441, + 25.503941, 1.0, 0.0 ] @@ -420,7 +420,7 @@ { "label": "N", "location": [ - 23.941441, + 25.503941, 0.0, 0.0 ] @@ -428,7 +428,7 @@ { "label": "O", "location": [ - 23.075415, + 24.637915, -1.5, 0.0 ] @@ -436,7 +436,7 @@ { "label": "N", "location": [ - 24.807467, + 26.369965, 1.5, 0.0 ] @@ -535,8 +535,8 @@ { "label": "P", "location": [ - 17.091669, - 1.333333, + 18.168055, + 1.402778, 0.0 ] } @@ -549,8 +549,8 @@ { "label": "O", "location": [ - 19.591667, - 1.333333, + 21.015278, + 1.402778, 0.0 ] } diff --git a/core/indigo-core/molecule/src/base_molecule.cpp b/core/indigo-core/molecule/src/base_molecule.cpp index 258a41f0f6..4e81f7ddd5 100644 --- a/core/indigo-core/molecule/src/base_molecule.cpp +++ b/core/indigo-core/molecule/src/base_molecule.cpp @@ -4535,7 +4535,9 @@ void BaseMolecule::getAtomBoundingBox(int atom_idx, float font_size, LABEL_MODE if (font_size <= EPSILON) return; - float symbol_size = font_size * 0.6f; + float constexpr WIDTH_FACTOR = 0.7f; // width of font symbols + + float symbol_size = font_size * WIDTH_FACTOR; if (isPseudoAtom(atom_idx) || isTemplateAtom(atom_idx)) { diff --git a/utils/indigo-service/backend/service/tests/api/indigo_test.py b/utils/indigo-service/backend/service/tests/api/indigo_test.py index 273e1b6209..78c5d709af 100644 --- a/utils/indigo-service/backend/service/tests/api/indigo_test.py +++ b/utils/indigo-service/backend/service/tests/api/indigo_test.py @@ -1670,128 +1670,6 @@ def test_check_overlap(self): result_data["overlapping_atoms"], ) - def test_render_eleptical_arrow(self): - ket = """{ - "root": { - "nodes": [ - { - "$ref": "mol0" - }, - { - "$ref": "mol1" - }, - { - "$ref": "mol2" - }, - { - "type": "arrow", - "data": { - "mode": "elliptical-arc-arrow-open-angle", - "pos": [ - { - "x": 5.799999999999997, - "y": -8.200000000000003, - "z": 0 - }, - { - "x": 7.205569279687058, - "y": -8.200000000000003, - "z": 0 - } - ], - "height": 1 - } - }, - { - "type": "arrow", - "data": { - "mode": "open-angle", - "pos": [ - { - "x": 7.775, - "y": -8.225, - "z": 0 - }, - { - "x": 8.875, - "y": -8.225, - "z": 0 - } - ] - } - }, - { - "type": "plus", - "location": [ - 6.525, - -8.225, - 0 - ], - "prop": {} - } - ], - "connections": [], - "templates": [] - }, - "mol0": { - "type": "molecule", - "atoms": [ - { - "label": "N", - "location": [ - 5.749999999999999, - -8.350000000000001, - 0 - ] - } - ] - }, - "mol1": { - "type": "molecule", - "atoms": [ - { - "label": "O", - "location": [ - 7.3999999999999995, - -8.3, - 0 - ] - } - ] - }, - "mol2": { - "type": "molecule", - "atoms": [ - { - "label": "C", - "location": [ - 9.15, - -8.3, - 0 - ] - } - ] - } -}""" - ref_path = joinPathPy("ref/", __file__) - headers, data = self.get_headers( - { - "output_format": "image/png", - "struct": ket, - } - ) - result = requests.post( - self.url_prefix + "/render", - headers=headers, - data=data, - ) - fname = "render-eleptical-arrow.png" - # with open(os.path.join(ref_path, fname), "wb") as file: - # file.write(result.content) - with open(os.path.join(ref_path, fname), "rb") as file: - ref = file.read() - self.assertEqual(result.content, ref) - def test_check_stereo(self): # up headers, data = self.get_headers( diff --git a/utils/indigo-service/backend/service/tests/api/ref/render-eleptical-arrow.png b/utils/indigo-service/backend/service/tests/api/ref/render-eleptical-arrow.png deleted file mode 100644 index 39157a278f2f4bb10caf06f99a43a0b94e7e6562..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5563 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