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