Skip to content

Commit 42d9738

Browse files
minhsuehChiu Peterpre-commit-ci[bot]tschaume
authored
Retain atom index info in _meta (#470)
* add atom index to _meta * Revert "add atom index to _meta" This reverts commit 56497f2. * add index to _meta * remove empty line * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * ruff format * add retain_atom_idx --------- Co-authored-by: Chiu Peter <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Patrick Huck <[email protected]>
1 parent bc94ff5 commit 42d9738

File tree

3 files changed

+19
-0
lines changed

3 files changed

+19
-0
lines changed

crystal_toolkit/core/scene.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,7 @@ def merge(cls, sphere_list):
214214
visible=sphere_list[0].visible,
215215
clickable=sphere_list[0].clickable,
216216
tooltip=sphere_list[0].tooltip,
217+
_meta=sphere_list[0]._meta,
217218
)
218219

219220

@@ -320,13 +321,18 @@ def merge(cls, cylinder_list):
320321
chain.from_iterable([cylinder.positionPairs for cylinder in cylinder_list])
321322
)
322323

324+
new_meta_list = list(
325+
chain.from_iterable([[cylinder._meta] for cylinder in cylinder_list])
326+
)
327+
323328
return cls(
324329
positionPairs=new_positionPairs,
325330
color=cylinder_list[0].color,
326331
radius=cylinder_list[0].radius,
327332
visible=cylinder_list[0].visible,
328333
clickable=cylinder_list[0].clickable,
329334
tooltip=cylinder_list[0].tooltip,
335+
_meta=new_meta_list,
330336
)
331337

332338
@property

crystal_toolkit/renderables/site.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ def get_site_scene(
4747
visualize_bond_orders: bool = False,
4848
magmom_scale: float = 1.0,
4949
legend: Legend | None = None,
50+
retain_atom_idx: bool = False,
5051
) -> Scene:
5152
"""Get a Scene object for a Site.
5253
@@ -70,6 +71,7 @@ def get_site_scene(
7071
visualize_bond_orders (bool, optional): Defaults to False.
7172
magmom_scale (float, optional): Defaults to 1.0.
7273
legend (Legend | None, optional): Defaults to None.
74+
retain_atom_idx (bool, optional): Defaults to False.
7375
7476
Returns:
7577
Scene: The scene object containing atoms, bonds, polyhedra, magmoms.
@@ -135,6 +137,7 @@ def get_site_scene(
135137
phiEnd=phiEnd,
136138
clickable=True,
137139
tooltip=name,
140+
_meta=[site_idx] if retain_atom_idx else None,
138141
)
139142
atoms.append(sphere)
140143

@@ -207,6 +210,9 @@ def get_site_scene(
207210
radius=bond_radius / 2,
208211
clickable=True,
209212
tooltip=name_cyl,
213+
_meta=[site_idx, connected_site.index]
214+
if retain_atom_idx
215+
else None,
210216
)
211217
)
212218
trans_vector = trans_vector + 0.25 * max_radius
@@ -218,6 +224,9 @@ def get_site_scene(
218224
radius=bond_radius,
219225
clickable=True,
220226
tooltip=name_cyl,
227+
_meta=[site_idx, connected_site.index]
228+
if retain_atom_idx
229+
else None,
221230
)
222231
bonds.append(cylinder)
223232

@@ -228,6 +237,7 @@ def get_site_scene(
228237
radius=bond_radius,
229238
clickable=True,
230239
tooltip=name_cyl,
240+
_meta=[site_idx, connected_site.index] if retain_atom_idx else None,
231241
)
232242
bonds.append(cylinder)
233243
all_positions.append(connected_position.tolist())
@@ -251,6 +261,7 @@ def get_site_scene(
251261
positionPairs=[[position, bond_midpoint.tolist()]],
252262
color=color,
253263
radius=bond_radius,
264+
_meta=[site_idx, connected_site.index] if retain_atom_idx else None,
254265
)
255266
bonds.append(cylinder)
256267
all_positions.append(connected_position.tolist())

crystal_toolkit/renderables/structuregraph.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,8 @@ def get_weight_color(weight):
197197
explicitly_calculate_polyhedra_hull=explicitly_calculate_polyhedra_hull,
198198
legend=legend,
199199
bond_radius=bond_radius,
200+
site_idx=idx,
201+
show_atom_idx=True,
200202
**(site_get_scene_kwargs or {}),
201203
)
202204

0 commit comments

Comments
 (0)