Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Rendering] Allow multiple visualization types for the same (group of) atom types. #47

Open
Torilla opened this issue Jan 24, 2021 · 1 comment

Comments

@Torilla
Copy link

Torilla commented Jan 24, 2021

Is your feature request related to a problem? Please describe.
Not really.
In order to create nice surface slab pictures it would be outstanding
if one could, for example, represent the bulk surface atoms with
vdW-radii, while adsorbates are represented with covalent radii.
Also different representation modes like Ball and Stick, Wireframe,
tetrahedron motifs or similar, would be fantastic.
Also a (sort of dashed line or sth) that indicates H-bonding if
desired would be nice.

Describe the solution you'd like
Similar as you can set up e.g. in Vesta (But ofc much better as usual...)
Possibly divide Atoms into "Sub molecules" that have their own type
of representation.

Describe alternatives you've considered
Vesta and VMD... But,... well would be great if vipster had such capabilities :>

@sgsaenger
Copy link
Owner

Thanks for your interest!

I'm aware it's not particularly intuitive, but your surface-slab example is actually possible as you can override the draw-radius for each atom type. Just copy the vdW-radius for your surface atom types into the covalent-radius property.
If you have an overlap between atom types, you can create impromptu atom types just by entering a similar name (e.g. C_s for surface carbon) so you can manage their properties separately.

To your overall request:
It would be nice to have more advanced representations, particularly H-bonding.
I'm relatively busy in the moment, so I can't promise to get around to it anytime soon.
Very open to contrubtions, though ;)

A few quick thoughts on possible implementation:
So far, there's a handful of classes that handle all drawing for a particular datastructure (e.g. gui/common/stepdata.h for the regular atomic structures) which will handle all drawing. Adding a new representation would be as straightforward as adding a new method to the relevant datastructures and register it with the GUI. However, i'm not too sure how they could be mixed, as Vipster's way of drawing is more closely related to the actual datastructure than e.g. VMD's. Maybe composition has to be done via the 'define-groups' mechanism, which is kinda cumbersome, but not actually that different from VMD.

@sgsaenger sgsaenger removed their assignment Feb 4, 2023
@sgsaenger sgsaenger changed the title [REQUEST] Allow multiple visualization types for the same (group of) atom types. [Rendering] Allow multiple visualization types for the same (group of) atom types. Feb 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

No branches or pull requests

2 participants