Visualization Library 2.1.0

A lightweight C++ OpenGL middleware for 2D/3D graphics

VL     Star     Watch     Fork     Issue

[Download] [Tutorials] [All Classes] [Grouped Classes]
Public Member Functions | Protected Attributes | List of all members
vl::RingExtractor Class Reference

The RingExtractor class traverses a molecule's graph and detects various types of cycles, mainly used for aromatic ring detection. More...

#include <RingExtractor.hpp>

Public Member Functions

 RingExtractor (Molecule *mol)
 
void setMolecule (Molecule *mol)
 
Moleculemolecule () const
 
void run ()
 
void bootstrap ()
 
void depthFirstVisit (Atom *atom, std::vector< ref< Atom > > &current_path)
 
void keepAromaticCycles ()
 
void sortCycles ()
 
void keepPlanarCycles (float epsilon)
 
void removeDoubles ()
 
void keepMinimalCycles ()
 

Protected Attributes

MoleculemMolecule
 

Detailed Description

The RingExtractor class traverses a molecule's graph and detects various types of cycles, mainly used for aromatic ring detection.

Definition at line 44 of file RingExtractor.hpp.

Constructor & Destructor Documentation

◆ RingExtractor()

vl::RingExtractor::RingExtractor ( Molecule mol)
inline

Definition at line 47 of file RingExtractor.hpp.

Member Function Documentation

◆ bootstrap()

void vl::RingExtractor::bootstrap ( )
inline

◆ depthFirstVisit()

void vl::RingExtractor::depthFirstVisit ( Atom atom,
std::vector< ref< Atom > > &  current_path 
)
inline

◆ keepAromaticCycles()

void vl::RingExtractor::keepAromaticCycles ( )
inline

◆ keepMinimalCycles()

void vl::RingExtractor::keepMinimalCycles ( )
inline

Definition at line 206 of file RingExtractor.hpp.

References vl::Molecule::atoms(), vl::Molecule::cycles(), and molecule().

Referenced by run().

◆ keepPlanarCycles()

void vl::RingExtractor::keepPlanarCycles ( float  epsilon)
inline

◆ molecule()

Molecule* vl::RingExtractor::molecule ( ) const
inline

◆ removeDoubles()

void vl::RingExtractor::removeDoubles ( )
inline

Definition at line 194 of file RingExtractor.hpp.

References vl::Molecule::cycle(), vl::Molecule::cycles(), and molecule().

Referenced by run().

◆ run()

void vl::RingExtractor::run ( )
inline

◆ setMolecule()

void vl::RingExtractor::setMolecule ( Molecule mol)
inline

Definition at line 49 of file RingExtractor.hpp.

References mMolecule.

◆ sortCycles()

void vl::RingExtractor::sortCycles ( )
inline

Definition at line 133 of file RingExtractor.hpp.

References vl::Molecule::cycle(), vl::Molecule::cycles(), vl::Atom::isAtomAdjacent(), and molecule().

Referenced by run().

Member Data Documentation

◆ mMolecule

Molecule* vl::RingExtractor::mMolecule
protected

Definition at line 245 of file RingExtractor.hpp.

Referenced by molecule(), and setMolecule().


The documentation for this class was generated from the following file: