RDKit
Open-source cheminformatics and machine learning.
Loading...
Searching...
No Matches
RDKit::CIPLabeler::Digraph Class Reference

#include <Digraph.h>

Public Member Functions

 Digraph ()=delete
 
 Digraph (const Digraph &)=delete
 
Digraph & operator= (const Digraph &)=delete
 
 Digraph (const CIPMol &mol, Atom *atom, bool atropsomerMode=false)
 
const CIPMol & getMol () const
 
Node * getOriginalRoot () const
 
Node * getCurrentRoot () const
 
int getNumNodes () const
 
std::vector< Node * > getNodes (Atom *atom) const
 
Atom * getRule6Ref () const
 
void setRule6Ref (Atom *ref)
 
void changeRoot (Node *newroot)
 
void expand (Node *beg)
 
Node & addNode (std::vector< char > &&visit, Atom *atom, boost::rational< int > &&frac, int dist, int flags)
 

Detailed Description

A class to hold directed acyclic graphs representing the molecule.

The root of the DAG is one of the foci of the configuration for which the label is being calculated. The tmproot may be set to other nodes that may become relevant in the calculation.

Definition at line 46 of file Digraph.h.

Constructor & Destructor Documentation

◆ Digraph() [1/3]

RDKit::CIPLabeler::Digraph::Digraph ( )
delete

◆ Digraph() [2/3]

RDKit::CIPLabeler::Digraph::Digraph ( const Digraph &  )
delete

◆ Digraph() [3/3]

RDKit::CIPLabeler::Digraph::Digraph ( const CIPMol &  mol,
Atom *  atom,
bool  atropsomerMode = false 
)

Member Function Documentation

◆ addNode()

Node & RDKit::CIPLabeler::Digraph::addNode ( std::vector< char > &&  visit,
Atom *  atom,
boost::rational< int > &&  frac,
int  dist,
int  flags 
)

◆ changeRoot()

void RDKit::CIPLabeler::Digraph::changeRoot ( Node *  newroot)

Sets the root node of this digraph by flipping the directions of edges as required.

This is more efficient than building a new Digraph, but is only valid for neighboring Nodes.

Parameters
newrootthe new root

◆ expand()

void RDKit::CIPLabeler::Digraph::expand ( Node *  beg)

◆ getCurrentRoot()

Node * RDKit::CIPLabeler::Digraph::getCurrentRoot ( ) const

◆ getMol()

const CIPMol & RDKit::CIPLabeler::Digraph::getMol ( ) const

◆ getNodes()

std::vector< Node * > RDKit::CIPLabeler::Digraph::getNodes ( Atom *  atom) const

Get all nodes which refer to atom in order of distance from the root.

◆ getNumNodes()

int RDKit::CIPLabeler::Digraph::getNumNodes ( ) const

◆ getOriginalRoot()

Node * RDKit::CIPLabeler::Digraph::getOriginalRoot ( ) const

◆ getRule6Ref()

Atom * RDKit::CIPLabeler::Digraph::getRule6Ref ( ) const

Access the reference atom for Rule 6 (if one is set).

◆ operator=()

Digraph & RDKit::CIPLabeler::Digraph::operator= ( const Digraph &  )
delete

◆ setRule6Ref()

void RDKit::CIPLabeler::Digraph::setRule6Ref ( Atom *  ref)

Used exclusively for Rule 6, we set one atom as the reference.

Parameters
refreference atom

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