Skip to content

feat: CIF handling#2339

Open
RobBuchananCompPhys wants to merge 3 commits intodevelop2from
dissolve2/cif-handling
Open

feat: CIF handling#2339
RobBuchananCompPhys wants to merge 3 commits intodevelop2from
dissolve2/cif-handling

Conversation

@RobBuchananCompPhys
Copy link
Contributor

@RobBuchananCompPhys RobBuchananCompPhys commented Mar 17, 2026

This work aims to encompass much of the existing functionality of the CIFHandler and ImportCIFDialog interfaces. It does this via passing a pointer to a CIFContext (which is a node type alias for CIFHandler) between various nodes.
Together these form a sort of CIF-node "family".

  • CIFLoaderNode: Initialises a CIFContext object and reads into it the contents of a .cif file.
  • CIFConfigurationNode: Recieves and stores a CIFContext *, generating from it the unit cell species, molecular species, supercell species, and supercell configuration as output parameters
  • CIFAtomicOptionsNode, CIFBondingOptionsNode, and CIFNETAOptionsNode operate on the context pointer and apply various settings to it (for instance removeAtomics, useCIFBondingDefinitions, and setMoietyRemovalNeta etc.`
  • SetCIFAtomGroupActivity takes the CIFContext * and allows for activation/deactivation of chosen CIFAssembly CIFAtomGroup instances.

@RobBuchananCompPhys RobBuchananCompPhys marked this pull request as ready for review March 23, 2026 13:20
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As briefly discussed, it is probably worth having a separate Configuration-maker node for each type of crystal cell we're generating (supercell, non-periodic, full species etc.).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants