29 #ifndef CDPL_CONFGEN_RMSDCONFORMERSELECTOR_HPP
30 #define CDPL_CONFGEN_RMSDCONFORMERSELECTOR_HPP
34 #include <unordered_map>
66 static constexpr std::size_t DEF_MAX_NUM_SYMMETRY_MAPPINGS = 32768;
146 typedef std::vector<std::size_t> IndexArray;
150 void buildSymMappingSearchMolGraph(
const Util::BitSet& atom_mask);
151 void setupSymMappingValidationData(
const Util::BitSet& stable_config_atom_mask,
158 VectorArrayPtr buildCoordsArrayForMapping(
const IndexArray& mapping,
161 typedef std::unordered_map<const Chem::Atom*, Chem::StereoDescriptor> AtomStereoDescriptorMap;
162 typedef std::vector<const Chem::Atom*> AtomList;
164 typedef std::vector<IndexArray*> IndexArrayList;
165 typedef std::vector<VectorArrayPtr> VectorArrayList;
173 IndexArrayList symMappings;
174 AtomStereoDescriptorMap atomStereoDescrs;
176 VectorArrayList confAlignCoords;
177 VectorArrayList selectedConfAlignCoords;
178 AtomList atomNeighbors;
180 std::size_t maxNumSymMappings;
Definition of class CDPL::Chem::AutomorphismGroupSearch.
Declaration of type CDPL::Util::BitSet.
Type definition of a generic wrapper class for storing user-defined callback functions.
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::Fragment.
Definition of class CDPL::Util::ObjectPool.
Definition of class CDPL::Util::ObjectStack.
Definition of the type CDPL::Chem::StereoDescriptor.
Implementation of the Kabsch algorithm.
Definition of class CDPL::Math::VectorArray.
Data structure for the common storage of related atom to atom and bond to bond mappings.
Definition: AtomBondMapping.hpp:55
Enumerates the atom/bond automorphisms of a molecular graph.
Definition: AutomorphismGroupSearch.hpp:58
Concrete Chem::MolecularGraph implementation that stores references to a selectable subset of atoms a...
Definition: Fragment.hpp:57
Abstract base class for representations of a chemical structure as a graph of bonded atoms.
Definition: MolecularGraph.hpp:57
std::shared_ptr< ObjectType > SharedObjectPointer
A smart pointer to a borrowed object that returns the object to the pool on destruction.
Definition: ObjectPool.hpp:71
std::function< bool()> CallbackFunction
Generic wrapper for storing user-defined callback functions returning a bool status flag (see [FUNWRP...
Definition: CallbackFunction.hpp:47
VectorArray< Vector3D > Vector3DArray
Array storing vectors of type Math::Vector3D.
Definition: VectorArray.hpp:85
boost::dynamic_bitset BitSet
Dynamic bitset class.
Definition: BitSet.hpp:46
The namespace of the Chemical Data Processing Library.