BALL  1.4.1
 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.
 RingFinder (Size n)
virtual ~RingFinder ()
 Destructor.
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.