Go to the documentation of this file. 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;
134 typedef boost::disjoint_sets <
int*,
int*,
140 #endif // BALL_STRUCTURE_CONNECTEDCOMPONENTSPROCESSOR_H
void getLargestComponent(Molecule &result)
virtual bool finish()
Processor method which is called after the operator()-call.
virtual bool start()
Processor method which is called before the operator()-call.
std::vector< Component > ComponentVector
BALL_CREATE(ConnectedComponentsProcessor)
Size getNumberOfConnectedComponents()
Returns the number of connected components found.
Computation of the connected components of the molecular graph.
void getComponents(ComponentVector &comp)
virtual ~ConnectedComponentsProcessor()
Destructor.
boost::disjoint_sets< int *, int *, boost::find_with_full_path_compression > DisjointSet
void getMinAtomsComponents(MolVec &result, size_t min)
std::vector< Molecule > MolVec
ComponentVector components_
T min(const T &a, const T &b)
ConnectedComponentsProcessor()
Default Constructor.
std::vector< Atom * > Component
void getAllComponents(MolVec &results)