4 #ifndef BALL_MOLMEC_AMBER_GAFFCESPARSER_H
5 #define BALL_MOLMEC_AMBER_GAFFCESPARSER_H
7 #ifndef BALL_KERNEL_ATOM_H
11 #ifndef BALL_DATATYPE_STRING_H
TruePredicate root
The root atom has no CESPredicate to test, so it's considered always true.
bool match(Atom &atom) const
void endChildPredicates()
CESPredicate * root_predicate
CESPredicate * current_root_predicate
void startChildPredicates()
Size read(char *buf, Size max_size)
void initElementSymbols()
const std::set< String > & getElementSymbols()
std::set< String > element_symbols_
bool GAFFCESatomMatcher(Atom &atom, const String &cesstring)
CESPredicate * current_predicate
bool parse(const String &cesstring)
GAFFCESParser(const String &cesstring)
bool isRingAtom(Atom &atom)
@ NO_SINGLE_BOND_TO_PARENT
@ NO_DOUBLE_BOND_TO_PARENT
@ NO_TRIPLE_BOND_TO_PARENT
@ DELOCALIZED_BOND_TO_PARENT
@ NO_PURE_DOUBLE_BOND_TO_PARENT
@ NO_AROMATIC_BOND_TO_PARENT
@ NO_DELOCALIZED_BOND_TO_PARENT
@ PURE_SINGLE_BOND_TO_PARENT
@ AROMATIC_BOND_TO_PARENT
@ PURE_DOUBLE_BOND_TO_PARENT
@ IS_PLANAR_WITH_DB_TO_NR
@ NO_PURE_SINGLE_BOND_TO_PARENT
std::vector< std::vector< APSTerm > > aps_terms
bool operator()(Atom &atom, Atom &predecessor)
bool checkGAFFProperties(Atom &atom, Atom &predecessor, APSTerm aps)
bool isNonRingAtom(Atom &atom)
int isNRingAtom(Size size, Atom &atom)
bool hasBond_(Atom *atom, Atom *predecessor, int bond_type, int feature_number)
APSTerm(APSType new_type, int new_feature_number)
GAFFCESParser * current_parser
APSMatcher::APSType current_aps_type
std::map< String, CESwildcards > getStringToWildcard()
CESPredicate(GAFFCESParser *parser)
std::vector< CESPredicate * > children
void addNewOR(APSMatcher::APSType aps, int feature_number)
void addCESelementPredicate(String name)
virtual bool operator()(Atom &atom)
virtual bool match(Atom &)
std::map< String, CESwildcards > stringToWildcard_
void addCESwildcardsConnectionPredicate(String wildcard, Size partners)
void addTruePredicate() const
bool alreadySeenThisAtom(Atom *atom)
void addCESwildcardsPredicate(String wildcard)
void addCESelementConnectionPredicate(Size partners, String name)
void initStringToWildcard()
void setElementName(String name)
CESelementConnectionPredicate(GAFFCESParser *parser)
void setNumberOfPartners(Size number)
~CESelementConnectionPredicate()
Size getNumberOfPartners()
void setElementName(String name)
CESelementPredicate(GAFFCESParser *parser)
bool matchWildcards(Atom &atom)
CESwildcardsPredicate(GAFFCESParser *parser)
void setWildcards(String new_wildcard)
CESwildcards getWildcards()
void setNumberOfPartners(Size number)
CESwildcards getWildcards()
CESwildcardsConnectionPredicate(GAFFCESParser *parser)
Size getNumberOfPartners()
void setWildcards(String new_wildcard)
bool matchWildcards(Atom &atom)
~CESwildcardsConnectionPredicate()
TruePredicate(GAFFCESParser *parser)