29 #ifndef CDPL_CONFGEN_TORSIONRULEMATCHER_HPP
30 #define CDPL_CONFGEN_TORSIONRULEMATCHER_HPP
57 typedef std::vector<TorsionRuleMatch> RuleMatchList;
180 bool uniqueMappingsOnly;
181 bool stopAtFirstRule;
182 RuleMatchList matches;
Definition of the preprocessor macro CDPL_CONFGEN_API.
#define CDPL_CONFGEN_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Definition of class CDPL::Chem::SubstructureSearch.
Definition of class CDPL::ConfGen::TorsionLibrary.
Definition of class CDPL::ConfGen::TorsionRuleMatch.
Data structure for the common storage of related atom to atom and bond to bond mappings.
Definition: AtomBondMapping.hpp:55
Abstract base class representing a chemical bond between two Chem::Atom instances.
Definition: Bond.hpp:54
Abstract base class for representations of a chemical structure as a graph of bonded atoms.
Definition: MolecularGraph.hpp:57
Subgraph-isomorphism search of a query molecular graph against a target molecular graph,...
Definition: SubstructureSearch.hpp:74
Represents a node of a hierarchical torsion library.
Definition: TorsionCategory.hpp:54
std::shared_ptr< TorsionLibrary > SharedPointer
A reference-counted smart pointer [SHPTR] for dynamically allocated TorsionLibrary instances.
Definition: TorsionLibrary.hpp:56
A single match of a ConfGen::TorsionRule against a rotatable bond: the rule, the bond and the four at...
Definition: TorsionRuleMatch.hpp:58
Finds torsion rules from a TorsionLibrary that apply to a given rotatable bond.
Definition: TorsionRuleMatcher.hpp:55
ConstMatchIterator getMatchesBegin() const
Returns a constant iterator pointing to the beginning of the stored torsion rule matches.
ConstMatchIterator getMatchesEnd() const
Returns a constant iterator pointing to the end of the stored torsion rule matches.
const TorsionRuleMatch & getMatch(std::size_t idx) const
Returns a const reference to the stored torsion rule match object at index idx.
TorsionRuleMatcher()
Constructs the TorsionRuleMatcher instance without an associated torsion library.
bool findAllRuleMappings() const
Tells whether all matching rules are reported during matching.
bool findMatches(const Chem::Bond &bond, const Chem::MolecularGraph &molgraph, bool append=false)
Searches the associated TorsionLibrary for rules that apply to the bond bond of molgraph.
void findUniqueMappingsOnly(bool unique)
Specifies whether only unique substructure mappings shall be reported during matching.
void setTorsionLibrary(const TorsionLibrary::SharedPointer &lib)
Sets the torsion library to query.
void stopAtFirstMatchingRule(bool stop)
Specifies whether the matching process shall stop at the first rule that produces matches.
RuleMatchList::const_iterator ConstMatchIterator
A constant iterator over the stored torsion rule matches.
Definition: TorsionRuleMatcher.hpp:61
ConstMatchIterator end() const
Returns a constant iterator pointing to the end of the stored torsion rule matches.
TorsionRuleMatcher(const TorsionLibrary::SharedPointer &lib)
Constructs the TorsionRuleMatcher instance and associates it with lib.
bool stopAtFirstMatchingRule() const
Tells whether matching stops at the first rule that produces matches.
ConstMatchIterator begin() const
Returns a constant iterator pointing to the beginning of the stored torsion rule matches.
void findAllRuleMappings(bool all)
Specifies whether all matching rules shall be reported (instead of just the most-specific one).
const TorsionLibrary::SharedPointer & getTorsionLibrary() const
Returns the currently associated torsion library.
std::size_t getNumMatches() const
Returns the number of stored torsion rule matches found by calls to findMatches().
bool findUniqueMappingsOnly() const
Tells whether only unique substructure mappings are reported during matching.
Data structure for the representation of single torsion library rules.
Definition: TorsionRule.hpp:53
The namespace of the Chemical Data Processing Library.