BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
BALL::RingFinder Class Reference

#include <BALL/KERNEL/standardPredicates.h>

Public Member Functions

 RingFinder ()
 Default constructor. More...
 
 RingFinder (Size n)
 
virtual ~RingFinder ()
 Destructor. More...
 
bool operator() (const Atom &atom)
 
bool dfs (const Atom &atom, const Size limit)
 
void setRingSize (Size n)
 
const HashSet< const Bond * > & getVisitedBonds () const
 
const std::vector< const Atom * > & getRingAtoms () const
 

Private Attributes

const Atomfirst_atom_
 
Size n_
 
bool exact_
 
HashSet< const Bond * > visited_bonds_
 
std::vector< const Atom * > ring_atoms_
 

Detailed Description

Helper class for all predicates that need ring information.

Definition at line 833 of file standardPredicates.h.

Constructor & Destructor Documentation

BALL::RingFinder::RingFinder ( )

Default constructor.

BALL::RingFinder::RingFinder ( Size  n)

Detailed constructor. Initialize this instance with the size of the ring we want to find. Default setting is 0 which means that any ring size will match.

virtual BALL::RingFinder::~RingFinder ( )
virtual

Destructor.

Member Function Documentation

bool BALL::RingFinder::dfs ( const Atom atom,
const Size  limit 
)

Depth first search for finding rings.

const std::vector<const Atom*>& BALL::RingFinder::getRingAtoms ( ) const

Return the vector of ring atoms.

const HashSet<const Bond*>& BALL::RingFinder::getVisitedBonds ( ) const

Return the hashset containing all visited bonds.

bool BALL::RingFinder::operator() ( const Atom atom)

Return true, if atom is in a ring.

void BALL::RingFinder::setRingSize ( Size  n)

Set the ring size we want to find. Ring sizes below 3 will always return false, except if the size is set to 0, then any ring size will match.

Member Data Documentation

bool BALL::RingFinder::exact_
private

Definition at line 885 of file standardPredicates.h.

const Atom* BALL::RingFinder::first_atom_
private

Definition at line 877 of file standardPredicates.h.

Size BALL::RingFinder::n_
private

Definition at line 881 of file standardPredicates.h.

std::vector<const Atom*> BALL::RingFinder::ring_atoms_
private

Definition at line 893 of file standardPredicates.h.

HashSet<const Bond*> BALL::RingFinder::visited_bonds_
private

Definition at line 889 of file standardPredicates.h.