29 #ifndef CDPL_CHEM_STEREOISOMERGENERATOR_HPP
30 #define CDPL_CHEM_STEREOISOMERGENERATOR_HPP
114 typedef std::pair<bool, std::size_t> StereoCenterID;
117 bool isExcluded(
const Bond& bond,
const MolecularGraph& molgraph,
bool has_config)
const;
121 void flipConfiguration(
const StereoCenterID& ctr_id);
123 typedef std::vector<StereoCenterID> StereoCenterIDList;
127 bool enumAtomConfig{
true};
128 bool enumBondConfig{
true};
129 bool incSpecifiedCtrs{
false};
130 bool incSymmetricCtrs{
false};
131 bool incBridgeheads{
false};
132 bool incInvNitrogens{
false};
133 bool incRingBonds{
false};
134 std::size_t minRingSize{8};
135 StereoDescriptorArray atomDescrs;
136 StereoDescriptorArray bondDescrs;
137 StereoCenterIDList procCtrs;
Definition of the class CDPL::Util::Array.
Type definition of a generic wrapper class for storing user-defined Chem::Atom predicates.
Definition of the type CDPL::Util::BitSet.
Type definition of a generic wrapper class for storing user-defined Chem::Bond predicates.
Definition of the preprocessor macro CDPL_CHEM_API.
#define CDPL_CHEM_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Definition of the type CDPL::Chem::StereoDescriptor.
Atom.
Definition: Atom.hpp:52
Bond.
Definition: Bond.hpp:50
MolecularGraph.
Definition: MolecularGraph.hpp:52
StereoisomerGenerator.
Definition: StereoisomerGenerator.hpp:58
std::size_t getMinRingSize() const
const StereoDescriptorArray & getBondDescriptors()
void setBondPredicate(const BondPredicate &pred)
void enumerateAtomConfig(bool enumerate)
void includeSymmetricCenters(bool include)
void setMinRingSize(std::size_t min_size)
void includeSpecifiedCenters(bool include)
bool ringBondsIncluded() const
bool symmetricCentersIncluded() const
void setAtomPredicate(const AtomPredicate &pred)
void includeBridgeheadAtoms(bool include)
bool specifiedCentersIncluded() const
void enumerateBondConfig(bool enumerate)
bool invertibleNitrogensIncluded() const
void setup(const MolecularGraph &molgraph)
Util::Array< StereoDescriptor > StereoDescriptorArray
Definition: StereoisomerGenerator.hpp:63
const BondPredicate & getBondPredicate() const
void includeInvertibleNitrogens(bool include)
bool bondConfigEnumerated() const
bool atomConfigEnumerated() const
const StereoDescriptorArray & getAtomDescriptors()
std::shared_ptr< StereoisomerGenerator > SharedPointer
Definition: StereoisomerGenerator.hpp:61
void includeRingBonds(bool include)
bool bridgeheadAtomsIncluded() const
const AtomPredicate & getAtomPredicate() const
std::function< bool(const Chem::Atom &)> AtomPredicate
A generic wrapper class used to store a user-defined atom predicate.
Definition: AtomPredicate.hpp:41
std::function< bool(const Chem::Bond &)> BondPredicate
A generic wrapper class used to store a user-defined bond predicate.
Definition: BondPredicate.hpp:41
boost::dynamic_bitset BitSet
A dynamic bitset class.
Definition: BitSet.hpp:46
The namespace of the Chemical Data Processing Library.