![]() |
Chemical Data Processing Library C++ API - Version 1.2.3
|
Implements the 2D visualization of chemical structures. More...
#include <StructureView2D.hpp>
Inheritance diagram for CDPL::Vis::StructureView2D:Public Types | |
| typedef std::shared_ptr< StructureView2D > | SharedPointer |
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 chemical structure specified by molgraph. More... | |
| StructureView2D (const StructureView2D &)=delete | |
| ~StructureView2D () | |
| Destructor. More... | |
| StructureView2D & | operator= (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 font metrics object that will be used to measure the dimension of text labels. More... | |
| FontMetrics * | getFontMetrics () const |
| Returns a pointer to the used font metrics object. More... | |
| void | setStructure (const Chem::MolecularGraph *molgraph) |
| Specifies the chemical structure to visualize. More... | |
| const Chem::MolecularGraph * | getStructure () const |
| Returns a pointer to the visualized chemical structure. More... | |
| void | getModelBounds (Rectangle2D &bounds) |
| Calculates the bounds of the rendered structure in output space. 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 Any & | getParameter (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 ControlParameterContainer * | getParent () 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 ControlParameterContainer & | getParameters () 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 () |
| Destructor. More... | |
| ControlParameterContainer & | operator= (const ControlParameterContainer &cntnr) |
| Assignment operator. More... | |
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_COLOR | Specifies the backround color 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 most of 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 |
| typedef std::shared_ptr<StructureView2D> CDPL::Vis::StructureView2D::SharedPointer |
A reference-counted smart pointer [SHPTR] for dynamically allocated StructureView2D instances.
| CDPL::Vis::StructureView2D::StructureView2D | ( | const Chem::MolecularGraph * | molgraph = 0 | ) |
Constructs and initializes a StructureView2D instance for the visualization of the chemical structure specified by molgraph.
| molgraph | A pointer to the Chem::MolecularGraph object to visualize. |
|
delete |
| CDPL::Vis::StructureView2D::~StructureView2D | ( | ) |
Destructor.
|
delete |
|
virtual |
Renders the visual representation of the model using the specified Vis::Renderer2D instance.
| renderer | The Renderer2D instance. |
Implements CDPL::Vis::View2D.
|
virtual |
Specifies a font metrics object that will be used to measure the dimension of text labels.
| font_metrics | A pointer to the font metrics object or null. |
Implements CDPL::Vis::View2D.
| FontMetrics* CDPL::Vis::StructureView2D::getFontMetrics | ( | ) | const |
Returns a pointer to the used font metrics object.
| void CDPL::Vis::StructureView2D::setStructure | ( | const Chem::MolecularGraph * | molgraph | ) |
Specifies the chemical structure to visualize.
If the chemical structure or a property has changed after this method has been called for a Chem::MolecularGraph object, the method needs to be called again for the object to make the changes visible.
| molgraph | A pointer to the Chem::MolecularGraph object to visualize, or null. |
| const Chem::MolecularGraph* CDPL::Vis::StructureView2D::getStructure | ( | ) | const |
Returns a pointer to the visualized chemical structure.
|
virtual |
Calculates the bounds of the rendered structure in output space.
| bounds | The object storing the calculated bounding box. |
Implements CDPL::Vis::View2D.
|
friend |