RDKit: RDKit::CIPLabeler::Digraph Class Reference

| RDKit Open-source cheminformatics and machine learning.

Loading...
Searching...
No Matches
Public Member Functions | List of all members
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 48 of file Digraph.h.

## Constructor & Destructor Documentation

## ◆ Digraph() [1/3]

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

Referenced by Digraph(), and operator=().

## ◆ Digraph() [2/3]

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

References Digraph().

## ◆ 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

  newroot | the 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

References Digraph().

## ◆ setRule6Ref()

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

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

Parameters

  ref | reference atom

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

- Digraph.h