2#ifndef STORMM_MOLECULE_FORMAT_ENUMERATORS_H
3#define STORMM_MOLECULE_FORMAT_ENUMERATORS_H
6#include "DataTypes/stormm_vector_types.h"
12enum class PdbAtomKind {
19enum class MdlMolVersion {
27enum class MolObjIndexKind {
36enum class RadicalState {
37 NONE, SINGLET, DOUBLET, TRIPLET
41enum class MolObjChirality {
42 ACHIRAL = 0, CHIRAL = 1
46enum class HydrogenAssignment {
51 DO_NOT_HYDROGENATE = 1
55enum class MdlMolBondOrder {
56 SINGLE = 1, DOUBLE = 2, TRIPLE = 3, AROMATIC = 4, SINGLE_OR_DOUBLE = 5,
57 SINGLE_OR_AROMATIC = 6, DOUBLE_OR_AROMATIC = 7, ANY = 8
61enum class MdlMolBondStereo {
62 NOT_STEREO = 0, UP = 1, CIS_OR_TRANS = 3, EITHER = 4, DOWN = 6
66enum class MolObjAtomStereo {
67 NOT_STEREO = 0, ODD = 1, EVEN = 2, UNMARKED = 3
71enum class MolObjRingState {
72 EITHER = 0, RING = 1, CHAIN = 2
76enum class MolObjReactionCenter {
77 NON_CENTER = -1, UNMARKED = 0, CENTER = 1, UNREACTIVE = 2, BOND_MADE_OR_BROKEN = 4,
78 CENTER_WITH_FORMATION = 5, BOND_ORDER_CHANGE = 8, CENTER_WITH_ORDER_CHANGE = 9,
79 BOND_FORMATION_AND_ORDER_CHANGE = 12, CENTER_WITH_FORMATION_AND_ORDER_CHANGE = 13
83enum class StereoRetention {
84 NOT_APPLIED = 0, INVERTED = 1, RETAINED = 2
88enum class MolObjPropField {
89 INTEGER, CHAR4, REAL, STRING
93enum class DataRequestKind {
109enum class MdlMolDataItemKind {
123enum class MdlMolPropertyKind {
145 RGROUP_LABEL_LOCATION,
160 SGROUP_CORRESPONDENCE,
176 SGROUP_BRACKET_STYLE,
183enum class MolObjFeatureKind {
210MdlMolPropertyKind translateMdlMolPropertyKind(char4 input);
217std::string getEnumerationName(MdlMolVersion input);
218std::string getEnumerationName(MolObjIndexKind input);
219std::string getEnumerationName(RadicalState input);
220std::string getEnumerationName(MolObjChirality input);
221std::string getEnumerationName(HydrogenAssignment input);
222std::string getEnumerationName(MdlMolBondOrder input);
223std::string getEnumerationName(MdlMolBondStereo input);
224std::string getEnumerationName(MolObjAtomStereo input);
225std::string getEnumerationName(MolObjRingState input);
226std::string getEnumerationName(MolObjReactionCenter input);
227std::string getEnumerationName(StereoRetention input);
228std::string getEnumerationName(MolObjPropField input);
229std::string getEnumerationName(DataRequestKind input);
230std::string getEnumerationName(MdlMolDataItemKind input);
231std::string getEnumerationName(MdlMolPropertyKind input);
232std::string getEnumerationName(MolObjFeatureKind input);