refactor: Dissolve2 CIF #2425
Conversation
9e73738 to
e7ce154
Compare
trisyoungs
left a comment
There was a problem hiding this comment.
Two significant comments to make:
- We could remove all of the old "secondary" CIF nodes which just adjust things in the main context since we need to reimplement them in node form anyway. That would break unit tests for the time being, but its probably easier to do that than try to maintain both while we work it up.
- My thought was that we could completely remove use of
ConfigurationandSpeciesand generate aStructuredirectly from the contents of the CIF.
…IFImportBaseVisitor.h)
c50f630 to
e14f873
Compare
|
|
||
| // Option | ||
| addOption<std::string>("FilePath", "File path", filePath_); | ||
| addOption<bool>("PreventMetallicBonds", "Whether to prevent metallic bonding", preventMetallicBonds_); |
There was a problem hiding this comment.
Another option that can be gotten rid of.
| #include "classes/structure.h" | ||
| #include "data/spaceGroups.h" | ||
| #include "math/matrix4.h" | ||
| #include "neta/neta.h" |
There was a problem hiding this comment.
Presumably not needed any more...
| #include "neta/neta.h" |
| /* | ||
| * CIF I/O | ||
| */ | ||
|
|
||
| /* | ||
| * Raw Data | ||
| */ |
There was a problem hiding this comment.
| /* | |
| * CIF I/O | |
| */ | |
| /* | |
| * Raw Data | |
| */ | |
| /* | |
| * Basic CIF Data | |
| */ |
| /* | ||
| * CIF I/O | ||
| */ | ||
|
|
||
| /* | ||
| * Raw Data | ||
| */ |
There was a problem hiding this comment.
| /* | |
| * CIF I/O | |
| */ | |
| /* | |
| * Raw Data | |
| */ | |
| /* | |
| * Basic CIF Data | |
| */ |
| // Whether to prevent metallic bonding | ||
| bool preventMetallicBonds_{true}; |
There was a problem hiding this comment.
| // Whether to prevent metallic bonding | |
| bool preventMetallicBonds_{true}; |
| // Temporary atom types used for unique atom labels | ||
| std::vector<std::shared_ptr<AtomType>> atomLabelTypes_; |
There was a problem hiding this comment.
I wrote this - I don't like it any more! It's a strange use of AtomType. I'll flag this on the Dissolve2ToDo as something to refactor.
| /* | ||
| * End CIF I/O | ||
| */ | ||
|
|
There was a problem hiding this comment.
| /* | |
| * End CIF I/O | |
| */ |
There was a problem hiding this comment.
How come the graphene species dialog got removed here? I don't recall there being any dependence on CIF in there! This is definitely destined for a node, too...
This PR lays the ground work for refactoring the CIF node ecosystem into a more condensed form, where a (most likely) single node -
ImportCIFStructureNode- returns aStructure *created from the species atoms and any connectivity parsed from the import.ciffile. Virtually all of the Dissolve1 functionality for managing.cifimport and parsing has been migrated into thenode/cif/iofolder. This includes the cif-relevant ANTLR4 classes.