1 #ifndef BALL_STRUCTURE_CONNECTEDCOMPONENTSPROCESSOR_H 2 #define BALL_STRUCTURE_CONNECTEDCOMPONENTSPROCESSOR_H 4 #ifndef BALL_CONCEPT_PROCESSOR_H 8 #ifndef BALL_KERNEL_MOLECULE_H 12 #ifndef BOOST_PENDING_DISJOINT_SETS_HPP 13 #include <boost/pending/disjoint_sets.hpp> 39 typedef std::vector<Molecule>
MolVec;
73 virtual bool finish();
82 Size getNumberOfConnectedComponents();
97 void getComponents(ComponentVector &comp);
109 void getLargestComponent(
Molecule &result);
121 void getMinAtomsComponents(MolVec &result,
size_t min);
130 void getAllComponents(MolVec& results);
134 typedef boost::disjoint_sets <
int*,
int*,
140 #endif // BALL_STRUCTURE_CONNECTEDCOMPONENTSPROCESSOR_H ComponentVector components_
std::vector< Molecule > MolVec
std::vector< Atom * > Component
boost::disjoint_sets< int *, int *, boost::find_with_full_path_compression > DisjointSet
Computation of the connected components of the molecular graph.
T min(const T &a, const T &b)
#define BALL_CREATE(name)
std::vector< Component > ComponentVector