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 139 initStringToWildcard();
145 void initStringToWildcard();
146 std::map<String, CESwildcards> getStringToWildcard();
149 void addCESwildcardsConnectionPredicate(
String wildcard,
Size partners);
151 void addCESwildcardsPredicate(
String wildcard);
153 void addCESelementPredicate(
String name);
155 void addCESelementConnectionPredicate(
Size partners,
String name);
157 void addTruePredicate()
const;
167 bool alreadySeenThisAtom(
Atom* atom);
195 numberOfPartners_(0),
196 elementName_(
"NoName")
201 void setNumberOfPartners(
Size number);
202 void setElementName(
String name);
203 Size getNumberOfPartners();
218 elementName_(
"NoName")
224 void setElementName(
String name);
242 void setWildcards(
String new_wildcard);
243 CESwildcards getWildcards();
245 bool matchWildcards(
Atom& atom);
262 void setNumberOfPartners(
Size number);
263 void setWildcards(
String new_wildcard);
264 Size getNumberOfPartners();
267 bool matchWildcards(
Atom& atom);
CESPredicate * current_predicate
void initElementSymbols()
std::set< String > element_symbols_
CESwildcardsPredicate(GAFFCESParser *parser)
bool GAFFCESatomMatcher(Atom &atom, const String &cesstring)
CESelementConnectionPredicate(GAFFCESParser *parser)
APSMatcher::APSType current_aps_type
virtual bool match(Atom &)
bool match(Atom &atom) const
bool operator()(Atom &atom, Atom &predecessor)
void endChildPredicates()
TruePredicate root
The root atom has no CESPredicate to test, so it's considered always true.
void startChildPredicates()
CESPredicate * root_predicate
std::vector< std::vector< APSTerm > > aps_terms
CESPredicate * current_root_predicate
bool checkGAFFProperties(Atom &atom, Atom &predecessor, APSTerm aps)
const std::set< String > & getElementSymbols()
CESwildcardsConnectionPredicate(GAFFCESParser *parser)
APSTerm(APSType new_type, int new_feature_number)
bool hasBond_(Atom *atom, Atom *predecessor, int bond_type, int feature_number)
GAFFCESParser * current_parser
TruePredicate(GAFFCESParser *parser)
bool parse(const String &cesstring)
Size read(char *buf, Size max_size)
CESPredicate(GAFFCESParser *parser)
bool isNonRingAtom(Atom &atom)
std::vector< CESPredicate * > children
int isNRingAtom(Size size, Atom &atom)
std::map< String, CESwildcards > stringToWildcard_
bool isRingAtom(Atom &atom)
CESelementPredicate(GAFFCESParser *parser)