Chemical Data Processing Library C++ API - Version 1.4.0
Public Types | Public Member Functions | Friends | List of all members
CDPL::Vis::StructureView2D Class Reference

Implements the 2D visualization of chemical structures. More...

#include <StructureView2D.hpp>

+ Inheritance diagram for CDPL::Vis::StructureView2D:

Public Types

typedef std::shared_ptr< StructureView2DSharedPointer
 A reference-counted smart pointer [SHPTR] for dynamically allocated StructureView2D instances. More...
 
- Public Types inherited from CDPL::Base::ControlParameterContainer
typedef ParameterMap::value_type ParameterEntry
 A Base::LookupKey / Base::Any pair used to store the control-parameter values and associated keys. More...
 
typedef ParameterMap::const_iterator ConstParameterIterator
 A constant iterator used to iterate over the control-parameter entries. More...
 
typedef std::function< void(const LookupKey &, const Any &)> ParameterChangedCallbackFunction
 A functor class that wraps callback target functions which get invoked when the value of a control-parameter has changed. More...
 
typedef std::function< void(const LookupKey &)> ParameterRemovedCallbackFunction
 A functor class that wraps callback target functions which get invoked when a control-parameter entry has been removed. More...
 
typedef std::function< void()> ParentChangedCallbackFunction
 A functor class that wraps callback target functions which get invoked when the parent container has been changed or was detached. More...
 

Public Member Functions

 StructureView2D (const Chem::MolecularGraph *molgraph=0)
 Constructs and initializes a StructureView2D instance for the visualization of the molecular graph molgraph. More...
 
 StructureView2D (const StructureView2D &)=delete
 
 ~StructureView2D ()
 Destructor. More...
 
StructureView2Doperator= (const StructureView2D &)=delete
 
void render (Renderer2D &renderer)
 Renders the visual representation of the model using the specified Vis::Renderer2D instance. More...
 
void setFontMetrics (FontMetrics *font_metrics)
 Specifies a Vis::FontMetrics instance that will be used to measure the dimension of text labels. More...
 
FontMetricsgetFontMetrics () const
 Returns a pointer to the Vis::FontMetrics instance used for measuring the dimension of text labels. More...
 
void setStructure (const Chem::MolecularGraph *molgraph)
 Specifies the chemical structure to visualize. More...
 
const Chem::MolecularGraphgetStructure () const
 Returns a pointer to the visualized chemical structure. More...
 
void getModelBounds (Rectangle2D &bounds)
 Calculates the axis-aligned bounding rectangle of the visualized model. More...
 
- Public Member Functions inherited from CDPL::Vis::View2D
virtual ~View2D ()
 Virtual destructor. More...
 
- Public Member Functions inherited from CDPL::Base::ControlParameterContainer
std::size_t getNumParameters () const
 Returns the number of container entries. More...
 
template<typename T >
void setParameter (const LookupKey &key, T &&val)
 Sets the value of the control-parameter specified by key to val. More...
 
const AnygetParameter (const LookupKey &key, bool throw_=false, bool local=false) const
 Returns the value of the control-parameter specified by key. More...
 
template<typename T >
const T & getParameter (const LookupKey &key, bool local=false) const
 Returns the value of the control-parameter specified by key as a const reference to an object of type T. More...
 
template<typename T >
const T & getParameterOrDefault (const LookupKey &key, const T &def_val, bool local=false) const
 Returns the value of the control-parameter specified by key as a const reference to an object of type T, or the default value def_val if a stored value does not exist. More...
 
bool removeParameter (const LookupKey &key)
 Removes the entry for the control-parameter specified by key. More...
 
void clearParameters ()
 Erases all container entries. More...
 
bool isParameterSet (const LookupKey &key, bool local=false) const
 Tells whether or not a value has been assigned to the control-parameter specified by key. More...
 
void addParameters (const ControlParameterContainer &cntnr)
 Adds the control-parameter value entries in the ControlParameterContainer instance cntnr. More...
 
void copyParameters (const ControlParameterContainer &cntnr)
 Replaces the current set of properties by a copy of the entries in cntnr. More...
 
ConstParameterIterator getParametersBegin () const
 Returns a constant iterator pointing to the beginning of the entries. More...
 
ConstParameterIterator getParametersEnd () const
 Returns a constant iterator pointing to the end of the entries. More...
 
ConstParameterIterator begin () const
 Returns a constant iterator pointing to the beginning of the entries. More...
 
ConstParameterIterator end () const
 Returns a constant iterator pointing to the end of the entries. More...
 
void setParent (const ControlParameterContainer *cntnr)
 Sets or removes the parent control-parameter container used to resolve requests for missing entries. More...
 
const ControlParameterContainergetParent () const
 Returns a pointer to the parent control-parameter container. More...
 
std::size_t registerParameterChangedCallback (const ParameterChangedCallbackFunction &func)
 Registers a callback target function that gets invoked when the value of a control-parameter has changed. More...
 
void unregisterParameterChangedCallback (std::size_t id)
 Unregisters the callback specified by id. More...
 
std::size_t registerParameterRemovedCallback (const ParameterRemovedCallbackFunction &func)
 Registers a callback target function that gets invoked when a control-parameter entry has been removed. More...
 
void unregisterParameterRemovedCallback (std::size_t id)
 Unregisters the callback specified by id. More...
 
std::size_t registerParentChangedCallback (const ParentChangedCallbackFunction &func)
 Registers a callback target function that gets invoked when the parent container has been changed or was detached. More...
 
void unregisterParentChangedCallback (std::size_t id)
 Unregisters the callback specified by id. More...
 
const ControlParameterContainergetParameters () const
 Returns a const reference to itself. More...
 

Friends

class ReactionView2D
 

Additional Inherited Members

- Protected Member Functions inherited from CDPL::Base::ControlParameterContainer
 ControlParameterContainer ()
 Constructs an empty ControlParameterContainer instance. More...
 
 ControlParameterContainer (const ControlParameterContainer &cntnr)
 Constructs a copy of the ControlParameterContainer instance cntnr. More...
 
virtual ~ControlParameterContainer ()
 Virtual destructor. More...
 
ControlParameterContaineroperator= (const ControlParameterContainer &cntnr)
 Assignment operator. More...
 

Detailed Description

Implements the 2D visualization of chemical structures.

StructureView2D visualizes chemical structures in the form of 2D structure diagrams (also known as skeletal formulas [WSKF] or structural formulas [WSTF]) that allow for an easy perception of important chemical characteristics like constitution, connectivity and stereochemistry.

Graphical details of the generated structure diagrams (colors, fonts, line-widths etc.) are configurable on a StructureView2D instance level by control-parameters and on a visualized data object level by setting appropriate Chem::Atom, Chem::Bond or Chem::MolecularGraph properties. Properties of the visualized data objects have a higher priority than equivalent control-parameters of the StructureView2D instance and properties of Chem::Atom or Chem::Bond objects override corresponding properties of the parent Chem::MolecularGraph instance.

StructureView2D supports the following control-parameters:

Control-Parameter Description
Vis::ControlParameter::VIEWPORT Specifies a rectangular viewport area which constrains the location and size of the generated structure diagram
Vis::ControlParameter::SIZE_ADJUSTMENT Specifies how to adjust the size of the structure diagram relative to the available viewport area
Vis::ControlParameter::ALIGNMENT Specifies the alignment of the structure diagram within the viewport area
Vis::ControlParameter::BACKGROUND_BRUSH Specifies the brush for filling the background of the structure diagram
Vis::ControlParameter::ATOM_COLOR Specifies the color of atom labels
Vis::ControlParameter::ATOM_COLOR_TABLE Specifies a lookup table for the atom type dependent coloring of atom labels
Vis::ControlParameter::USE_CALCULATED_ATOM_COORDINATES Specifies whether or not to use calculated atom coordinates
Vis::ControlParameter::ATOM_LABEL_FONT Specifies the font for atom element and query match expression labels
Vis::ControlParameter::ATOM_LABEL_SIZE Specifies the size of atom element and query match expression labels
Vis::ControlParameter::SECONDARY_ATOM_LABEL_FONT Specifies the font for text labels that show the value of various atomic properties
Vis::ControlParameter::SECONDARY_ATOM_LABEL_SIZE Specifies the size of text labels that show the value of various atomic properties
Vis::ControlParameter::ATOM_CONFIGURATION_LABEL_FONT Specifies the font for atom configuration labels
Vis::ControlParameter::ATOM_CONFIGURATION_LABEL_SIZE Specifies the size of atom configuration labels
Vis::ControlParameter::ATOM_CONFIGURATION_LABEL_COLOR Specifies the color of atom configuration labels
Vis::ControlParameter::ATOM_CUSTOM_LABEL_FONT Specifies the font for atom custom labels
Vis::ControlParameter::ATOM_CUSTOM_LABEL_SIZE Specifies the size of atom custom labels
Vis::ControlParameter::ATOM_CUSTOM_LABEL_COLOR Specifies the color of atom custom labels
Vis::ControlParameter::ATOM_LABEL_MARGIN Specifies the margin of free space around atom labels
Vis::ControlParameter::RADICAL_ELECTRON_DOT_SIZE Specifies the size of radical electron dots
Vis::ControlParameter::ATOM_HIGHLIGHT_AREA_SIZE Specifies the minimum size of atom highlighting areas
Vis::ControlParameter::ATOM_HIGHLIGHT_AREA_BRUSH Specifies the brush to use for filling atom highlighting areas
Vis::ControlParameter::ATOM_HIGHLIGHT_AREA_OUTLINE_PEN Specifies the pen to use for drawing atom highlighting area outlines
Vis::ControlParameter::SHOW_EXPLICIT_HYDROGENS Specifies whether or not to show explicit hydrogen atoms
Vis::ControlParameter::SHOW_CARBONS Specifies whether or not to show the element label of carbon atoms
Vis::ControlParameter::SHOW_CHARGES Specifies whether or not to show the formal charge of atoms
Vis::ControlParameter::SHOW_ISOTOPES Specifies whether or not to show the isotopic mass of atoms
Vis::ControlParameter::SHOW_HYDROGEN_COUNTS Specifies whether or not to show the implicit hydrogen count of connected atoms
Vis::ControlParameter::SHOW_NON_CARBON_HYDROGEN_COUNTS Specifies whether or not to show the implicit hydrogen count of connected non-carbon atoms
Vis::ControlParameter::SHOW_ATOM_QUERY_INFOS Specifies whether or not to show query atom match expressions
Vis::ControlParameter::SHOW_ATOM_REACTION_INFOS Specifies whether or not to show reaction atom-atom mapping numbers
Vis::ControlParameter::SHOW_RADICAL_ELECTRONS Specifies whether or not to draw radical electron dots
Vis::ControlParameter::SHOW_ATOM_CONFIGURATION_LABELS Specifies whether or not to show atom confiuration labels
Vis::ControlParameter::SHOW_ATOM_CUSTOM_LABELS Specifies whether or not to show atom confiuration labels
Vis::ControlParameter::ENABLE_ATOM_HIGHLIGHTING Specifies whether or not to enable the highlighting of atoms
Vis::ControlParameter::HIGHLIGHT_AREA_OUTLINE_WIDTH Specifies the line width for drawing atom or bond highlighting area outlines
Vis::ControlParameter::BOND_LENGTH Specifies the desired average bond length
Vis::ControlParameter::BOND_COLOR Specifies the color of bonds
Vis::ControlParameter::BOND_LINE_WIDTH Specifies the width of bond lines
Vis::ControlParameter::BOND_LINE_SPACING Specifies the distance between the lines of double and triple bonds
Vis::ControlParameter::STEREO_BOND_WEDGE_WIDTH Specifies the width of wedge-shaped stereo bonds
Vis::ControlParameter::STEREO_BOND_HASH_SPACING Specifies the distance between the hashes of down stereo bonds
Vis::ControlParameter::REACTION_CENTER_LINE_LENGTH Specifies the length of the lines in reaction center marks
Vis::ControlParameter::REACTION_CENTER_LINE_SPACING Specifies the distance between lines in reaction center marks
Vis::ControlParameter::DOUBLE_BOND_TRIM_LENGTH Specifies the amount by which the non-central lines of asymmetric double bonds have to be trimmed at each line end
Vis::ControlParameter::TRIPLE_BOND_TRIM_LENGTH Specifies the amount by which the non-central lines of triple bonds have to be trimmed at each line end
Vis::ControlParameter::BOND_LABEL_FONT Specifies the font for bond labels
Vis::ControlParameter::BOND_LABEL_SIZE Specifies the size of bond labels
Vis::ControlParameter::BOND_CONFIGURATION_LABEL_FONT Specifies the font for bond configuration labels
Vis::ControlParameter::BOND_CONFIGURATION_LABEL_SIZE Specifies the size of bond configuration labels
Vis::ControlParameter::BOND_CONFIGURATION_LABEL_COLOR Specifies the color of bond configuration labels
Vis::ControlParameter::BOND_CUSTOM_LABEL_FONT Specifies the font for bond custom labels
Vis::ControlParameter::BOND_CUSTOM_LABEL_SIZE Specifies the size of bond custom labels
Vis::ControlParameter::BOND_CUSTOM_LABEL_COLOR Specifies the color of bond custom labels
Vis::ControlParameter::BOND_LABEL_MARGIN Specifies the margin of free space around bond labels
Vis::ControlParameter::BOND_HIGHLIGHT_AREA_WIDTH Specifies the width of bond highlighting areas
Vis::ControlParameter::BOND_HIGHLIGHT_AREA_BRUSH Specifies the brush to use for filling bond highlighting areas
Vis::ControlParameter::BOND_HIGHLIGHT_AREA_OUTLINE_PEN Specifies the pen to use for drawing bond highlighting area outlines
Vis::ControlParameter::SHOW_BOND_REACTION_INFOS Specifies whether or not to draw reaction center marks
Vis::ControlParameter::SHOW_BOND_QUERY_INFOS Specifies whether or not to show query bond match expressions
Vis::ControlParameter::SHOW_STEREO_BONDS Specifies whether or not to draw stereo bonds
Vis::ControlParameter::SHOW_BOND_CONFIGURATION_LABELS Specifies whether or not to show bond confiuration labels
Vis::ControlParameter::SHOW_BOND_CUSTOM_LABELS Specifies whether or not to show bond confiuration labels
Vis::ControlParameter::ENABLE_BOND_HIGHLIGHTING Specifies whether or not to enable the highlighting of bonds

Default values for the control-parameters are defined in namespace Vis::ControlParameterDefault.

Supported Chem::MolecularGraph properties:

Chem::MolecularGraph Property Description
Vis::MolecularGraphProperty::ATOM_COLOR_TABLE Specifies a lookup table for the atom type dependent coloring of atom labels
Vis::MolecularGraphProperty::ATOM_COLOR Specifies the color of atom labels
Vis::MolecularGraphProperty::ATOM_LABEL_FONT Specifies the font for atom element and query match expression labels
Vis::MolecularGraphProperty::ATOM_LABEL_SIZE Specifies the size of atom element and query match expression labels
Vis::MolecularGraphProperty::SECONDARY_ATOM_LABEL_FONT Specifies the font for text labels that show the value of various atomic properties
Vis::MolecularGraphProperty::SECONDARY_ATOM_LABEL_SIZE Specifies the size of text labels that show the value of various atomic properties
Vis::MolecularGraphProperty::ATOM_CONFIGURATION_LABEL_FONT Specifies the font for atom configuration labels
Vis::MolecularGraphProperty::ATOM_CONFIGURATION_LABEL_SIZE Specifies the size of atom configuration labels
Vis::MolecularGraphProperty::ATOM_CONFIGURATION_LABEL_COLOR Specifies the color of atom configuration labels
Vis::MolecularGraphProperty::ATOM_CUSTOM_LABEL_FONT Specifies the font for atom custom labels
Vis::MolecularGraphProperty::ATOM_CUSTOM_LABEL_SIZE Specifies the size of atom custom labels
Vis::MolecularGraphProperty::ATOM_CUSTOM_LABEL_COLOR Specifies the color of atom custom labels
Vis::MolecularGraphProperty::ATOM_LABEL_MARGIN Specifies the margin of free space around atom labels
Vis::MolecularGraphProperty::RADICAL_ELECTRON_DOT_SIZE Specifies the size of radical electron dots
Vis::MolecularGraphProperty::ATOM_HIGHLIGHT_AREA_SIZE Specifies the minimum size of atom highlighting areas
Vis::MolecularGraphProperty::ATOM_HIGHLIGHT_AREA_BRUSH Specifies the brush to use for filling atom highlighting areas
Vis::MolecularGraphProperty::ATOM_HIGHLIGHT_AREA_OUTLINE_PEN Specifies the pen to use for drawing atom highlighting area outlines
Vis::MolecularGraphProperty::HIGHLIGHT_AREA_OUTLINE_WIDTH Specifies the line width for drawing atom or bond highlighting area outlines
Vis::MolecularGraphProperty::BOND_COLOR Specifies the color of bonds
Vis::MolecularGraphProperty::BOND_LINE_WIDTH Specifies the width of bond lines
Vis::MolecularGraphProperty::BOND_LINE_SPACING Specifies the distance between the lines of double and triple bonds
Vis::MolecularGraphProperty::STEREO_BOND_WEDGE_WIDTH Specifies the width of wedge-shaped stereo bonds
Vis::MolecularGraphProperty::STEREO_BOND_HASH_SPACING Specifies the distance between the hashes of down stereo bonds
Vis::MolecularGraphProperty::REACTION_CENTER_LINE_LENGTH Specifies the length of the lines in reaction center marks
Vis::MolecularGraphProperty::REACTION_CENTER_LINE_SPACING Specifies the distance between the lines in reaction center marks
Vis::MolecularGraphProperty::DOUBLE_BOND_TRIM_LENGTH Specifies the amount by which the non-central lines of asymmetric double bonds have to be trimmed at each line end
Vis::MolecularGraphProperty::TRIPLE_BOND_TRIM_LENGTH Specifies the amount by which the non-central lines of triple bonds have to be trimmed at each line end
Vis::MolecularGraphProperty::BOND_LABEL_FONT Specifies the font for bond labels
Vis::MolecularGraphProperty::BOND_LABEL_SIZE Specifies the size of bond labels
Vis::MolecularGraphProperty::BOND_CONFIGURATION_LABEL_FONT Specifies the font for bond configuration labels
Vis::MolecularGraphProperty::BOND_CONFIGURATION_LABEL_SIZE Specifies the size of bond configuration labels
Vis::MolecularGraphProperty::BOND_CONFIGURATION_LABEL_COLOR Specifies the color of bond configuration labels
Vis::MolecularGraphProperty::BOND_CUSTOM_LABEL_FONT Specifies the font for bond custom labels
Vis::MolecularGraphProperty::BOND_CUSTOM_LABEL_SIZE Specifies the size of bond custom labels
Vis::MolecularGraphProperty::BOND_CUSTOM_LABEL_COLOR Specifies the color of bond custom labels
Vis::MolecularGraphProperty::BOND_LABEL_MARGIN Specifies the margin of free space around bond labels
Vis::MolecularGraphProperty::BOND_HIGHLIGHT_AREA_WIDTH Specifies the width of bond highlighting areas
Vis::MolecularGraphProperty::BOND_HIGHLIGHT_AREA_BRUSH Specifies the brush to use for filling bond highlighting areas
Vis::MolecularGraphProperty::BOND_HIGHLIGHT_AREA_OUTLINE_PEN Specifies the pen to use for drawing bond highlighting area outlines

Supported Chem::Atom properties:

Chem::Atom Property Description
Vis::AtomProperty::COLOR Specifies the color of text labels
Vis::AtomProperty::LABEL_FONT Specifies the font for atom element and query match expression labels
Vis::AtomProperty::LABEL_SIZE Specifies the size of atom element and query match expression labels
Vis::AtomProperty::SECONDARY_LABEL_FONT Specifies the font for text labels that show the value of various atomic properties
Vis::AtomProperty::SECONDARY_LABEL_SIZE Specifies the size of text labels that show the value of various atomic properties
Vis::AtomProperty::LABEL_MARGIN Specifies the margin of free space around atom labels
Vis::AtomProperty::CONFIGURATION_LABEL_FONT Specifies the font for atom configuration labels
Vis::AtomProperty::CONFIGURATION_LABEL_SIZE Specifies the size of atom configuration labels
Vis::AtomProperty::CONFIGURATION_LABEL_COLOR Specifies the color of atom configuration labels
Vis::AtomProperty::CUSTOM_LABEL_FONT Specifies the font for atom custom labels
Vis::AtomProperty::CUSTOM_LABEL_SIZE Specifies the size of atom custom labels
Vis::AtomProperty::CUSTOM_LABEL_COLOR Specifies the color of atom custom labels
Vis::AtomProperty::RADICAL_ELECTRON_DOT_SIZE Specifies the size of radical electron dots
Vis::AtomProperty::HIGHLIGHT_AREA_BRUSH Specifies the brush to use for filling highlighting areas
Vis::AtomProperty::HIGHLIGHT_AREA_OUTLINE_PEN Specifies the pen to use for drawing highlighting area outlines

Supported Chem::Bond properties:

Chem::Bond Property Description
Vis::BondProperty::COLOR Specifies the color of the bond
Vis::BondProperty::LINE_WIDTH Specifies the width of bond lines
Vis::BondProperty::LINE_SPACING Specifies the distance between the lines of double and triple bonds
Vis::BondProperty::STEREO_BOND_WEDGE_WIDTH Specifies the width of wedge-shaped stereo bonds
Vis::BondProperty::STEREO_BOND_HASH_SPACING Specifies the distance between the hashes of down stereo bonds
Vis::BondProperty::REACTION_CENTER_LINE_LENGTH Specifies the length of the lines in reaction center marks
Vis::BondProperty::REACTION_CENTER_LINE_SPACING Specifies the distance between the lines in reaction center marks
Vis::BondProperty::DOUBLE_BOND_TRIM_LENGTH Specifies the amount by which the non-central lines of asymmetric double bonds have to be trimmed at each line end
Vis::BondProperty::TRIPLE_BOND_TRIM_LENGTH Specifies the amount by which the non-central lines of triple bonds have to be trimmed at each line end
Vis::BondProperty::LABEL_FONT Specifies the font for bond labels
Vis::BondProperty::LABEL_SIZE Specifies the size of bond labels
Vis::BondProperty::LABEL_MARGIN Specifies the margin of free space around bond labels
Vis::BondProperty::CONFIGURATION_LABEL_FONT Specifies the font for bond configuration labels
Vis::BondProperty::CONFIGURATION_LABEL_SIZE Specifies the size of bond configuration labels
Vis::BondProperty::CONFIGURATION_LABEL_COLOR Specifies the color of bond configuration labels
Vis::BondProperty::CUSTOM_LABEL_FONT Specifies the font for bond custom labels
Vis::BondProperty::CUSTOM_LABEL_SIZE Specifies the size of bond custom labels
Vis::BondProperty::CUSTOM_LABEL_COLOR Specifies the color of bond custom labels
Vis::BondProperty::HIGHLIGHT_AREA_BRUSH Specifies the brush to use for filling highlighting areas
Vis::BondProperty::HIGHLIGHT_AREA_OUTLINE_PEN Specifies the pen to use for drawing highlighting area outlines

Member Typedef Documentation

◆ SharedPointer

A reference-counted smart pointer [SHPTR] for dynamically allocated StructureView2D instances.

Constructor & Destructor Documentation

◆ StructureView2D() [1/2]

CDPL::Vis::StructureView2D::StructureView2D ( const Chem::MolecularGraph molgraph = 0)

Constructs and initializes a StructureView2D instance for the visualization of the molecular graph molgraph.

Parameters
molgraphA pointer to the Chem::MolecularGraph object to visualize.

◆ StructureView2D() [2/2]

CDPL::Vis::StructureView2D::StructureView2D ( const StructureView2D )
delete

◆ ~StructureView2D()

CDPL::Vis::StructureView2D::~StructureView2D ( )

Destructor.

Member Function Documentation

◆ operator=()

StructureView2D& CDPL::Vis::StructureView2D::operator= ( const StructureView2D )
delete

◆ render()

void CDPL::Vis::StructureView2D::render ( Renderer2D renderer)
virtual

Renders the visual representation of the model using the specified Vis::Renderer2D instance.

Parameters
rendererThe Vis::Renderer2D instance that performs the drawing operations.

Implements CDPL::Vis::View2D.

◆ setFontMetrics()

void CDPL::Vis::StructureView2D::setFontMetrics ( FontMetrics font_metrics)
virtual

Specifies a Vis::FontMetrics instance that will be used to measure the dimension of text labels.

Parameters
font_metricsA pointer to the Vis::FontMetrics instance, or nullptr if none was specified.

Implements CDPL::Vis::View2D.

◆ getFontMetrics()

FontMetrics* CDPL::Vis::StructureView2D::getFontMetrics ( ) const

Returns a pointer to the Vis::FontMetrics instance used for measuring the dimension of text labels.

Returns
A pointer to the used Vis::FontMetrics instance, or nullptr if none was specified.

◆ setStructure()

void CDPL::Vis::StructureView2D::setStructure ( const Chem::MolecularGraph molgraph)

Specifies the chemical structure to visualize.

If the structure or any properties of molgraph have changed after this method has been called then the method needs to be invoked again for the object to make the changes visible.

Parameters
molgraphA pointer to the Chem::MolecularGraph object to visualize, or nullptr.

◆ getStructure()

const Chem::MolecularGraph* CDPL::Vis::StructureView2D::getStructure ( ) const

Returns a pointer to the visualized chemical structure.

Returns
A pointer to the visualized Chem::MolecularGraph object, or nullptr if none was specified.

◆ getModelBounds()

void CDPL::Vis::StructureView2D::getModelBounds ( Rectangle2D bounds)
virtual

Calculates the axis-aligned bounding rectangle of the visualized model.

Parameters
boundsA Vis::Rectangle2D object storing the calculated bounding rectangle.

Implements CDPL::Vis::View2D.

Friends And Related Function Documentation

◆ ReactionView2D

friend class ReactionView2D
friend

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