Chemical Data Processing Library Python API - Version 1.2.0
Public Member Functions | Properties | List of all members
CDPL.Vis.ReactionView2D Class Reference

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

+ Inheritance diagram for CDPL.Vis.ReactionView2D:

Public Member Functions

None __init__ ()
 Initializes the ReactionView2D instance.
 
None __init__ (Chem.Reaction rxn)
 Constructs and initializes a ReactionView2D instance for the visualization of the chemical reaction specified by rxn. More...
 
None setReaction (Chem.Reaction rxn)
 Specifies the chemical reaction to visualize. More...
 
Chem.Reaction getReaction ()
 Returns a reference to the visualized chemical reaction. More...
 
FontMetrics getFontMetrics ()
 Returns a reference to the used font metrics object. More...
 
- Public Member Functions inherited from CDPL.Vis.View2D
None render (Renderer2D renderer)
 Renders the visual representation of the model using the specified Vis.Renderer2D instance. More...
 
None setFontMetrics (FontMetrics font_metrics)
 Specifies a font metrics object that will be used to measure the dimension of text labels. More...
 
None getModelBounds (Rectangle2D bounds)
 Calculates the bounding rectangle of the visualized model. More...
 
- Public Member Functions inherited from CDPL.Base.ControlParameterContainer
None setParameter (LookupKey key, Any value)
 
bool removeParameter (LookupKey key)
 Removes the entry for the control-parameter specified by key. More...
 
Any getParameter (LookupKey key, bool throw_=False, bool local=False)
 Returns the value of the control-parameter specified by key. More...
 
Any getParameterOrDefault (LookupKey key, Any def_value, bool local=False)
 
bool isParameterSet (LookupKey key, bool local=False)
 Tells whether or not a value has been assigned to the control-parameter specified by key. More...
 
None clearParameters ()
 Erases all container entries. More...
 
None addParameters (ControlParameterContainer cntnr)
 Adds the control-parameter value entries in the ControlParameterContainer instance cntnr. More...
 
None copyParameters (ControlParameterContainer cntnr)
 Replaces the current set of properties by a copy of the entries in cntnr. More...
 
int getNumParameters ()
 Returns the number of container entries. More...
 
int registerParameterChangedCallback (VoidLookupKeyAnyFunctor func)
 Registers a callback target function that gets invoked when the value of a control-parameter has changed. More...
 
None unregisterParameterChangedCallback (int id)
 Unregisters the callback specified by id. More...
 
int registerParameterRemovedCallback (VoidLookupKeyFunctor func)
 Registers a callback target function that gets invoked when a control-parameter entry has been removed. More...
 
None unregisterParameterRemovedCallback (int id)
 Unregisters the callback specified by id. More...
 
int registerParentChangedCallback (VoidFunctor func)
 Registers a callback target function that gets invoked when the parent container has been changed or was detached. More...
 
None unregisterParentChangedCallback (int id)
 Unregisters the callback specified by id. More...
 
ControlParameterContainer getParent ()
 Returns a reference to the parent control-parameter container. More...
 
None setParent (ControlParameterContainer cntnr)
 Sets or removes the parent control-parameter container used to resolve requests for missing entries. More...
 
list getParameterKeys ()
 
list getParameterValues ()
 
list getParameters ()
 Returns a reference to itself. More...
 
int getObjectID ()
 Returns the numeric identifier (ID) of the wrapped C++ class instance. More...
 
Any __getitem__ (LookupKey key)
 
None __setitem__ (LookupKey key, Any value)
 
bool __delitem__ (LookupKey self)
 
bool __contains__ (LookupKey self, bool key)
 Returns the result of the membership test operation self in arg1. More...
 
int __len__ ()
 

Properties

 reaction = property(getReaction, setReaction)
 
 fontMetrics = property(getFontMetrics, setFontMetrics)
 
- Properties inherited from CDPL.Base.ControlParameterContainer
 objectID = property(getObjectID)
 
 parent = property(getParent, setParent)
 
 parameterKeys = property(getParameterKeys)
 
 parameterValues = property(getParameterValues)
 
 parameters = property(getParameters)
 
 numParameters = property(getNumParameters)
 

Detailed Description

Implements the 2D visualization of chemical reactions.

ReactionView2D visualizes chemical reactions in the form of schematic reaction equations in which the reaction components are depicted as 2D structure diagrams (also known as skeletal formulas [WSKF] or structural formulas [WSTF]).

Graphical details of a reaction depiction are customizable on a ReactionView2D instance level by control-parameters and on a visualized data object level by setting appropriate Chem.Reaction, Chem.MolecularGraph, Chem.Atom or Chem.Bond properties. Properties of the visualized data objects have a higher priority than control-parameters of the ReactionView2D instance and properties of Chem.Atom or Chem.Bond objects override corresponding properties of the parent Chem.MolecularGraph instance.

ReactionView2D supports the following control-parameters:

Control-ParameterDescription
Vis.ControlParameter.VIEWPORTSpecifies a rectangular viewport area which constrains the location and size of the generated reaction diagram
Vis.ControlParameter.SIZE_ADJUSTMENTSpecifies how to adjust the size of the reaction diagram relative to the available viewport area
Vis.ControlParameter.ALIGNMENTSpecifies the alignment of the reaction diagram within the viewport area
Vis.ControlParameter.BACKGROUND_COLORSpecifies the backround color of the reaction diagram
Vis.ControlParameter.ATOM_COLORSpecifies the color of atom labels
Vis.ControlParameter.ATOM_COLOR_TABLESpecifies a lookup table for the atom type dependent coloring of atom labels
Vis.ControlParameter.USE_CALCULATED_ATOM_COORDINATESSpecifies whether or not to use calculated atom coordinates
Vis.ControlParameter.ATOM_LABEL_FONTSpecifies the font for atom element and query match expression labels
Vis.ControlParameter.ATOM_LABEL_SIZESpecifies the size of atom element and query match expression labels
Vis.ControlParameter.SECONDARY_ATOM_LABEL_FONTSpecifies the font for text labels that show the value of various atomic properties
Vis.ControlParameter.SECONDARY_ATOM_LABEL_SIZESpecifies the size of text labels that show the value of various atomic properties
Vis.ControlParameter.ATOM_LABEL_MARGINSpecifies the margin of free space around atom labels
Vis.ControlParameter.RADICAL_ELECTRON_DOT_SIZESpecifies the size of radical electron dots
Vis.ControlParameter.SHOW_EXPLICIT_HYDROGENSSpecifies whether or not to show explicit hydrogen atoms
Vis.ControlParameter.SHOW_CARBONSSpecifies whether or not to show the element label of carbon atoms
Vis.ControlParameter.SHOW_CHARGESSpecifies whether or not to show the formal charge of atoms
Vis.ControlParameter.SHOW_ISOTOPESSpecifies whether or not to show the isotopic mass of atoms
Vis.ControlParameter.SHOW_HYDROGEN_COUNTSSpecifies whether or not to show the implicit hydrogen count of connected atoms
Vis.ControlParameter.SHOW_NON_CARBON_HYDROGEN_COUNTSSpecifies whether or not to show the implicit hydrogen count of connected non-carbon atoms
Vis.ControlParameter.SHOW_ATOM_QUERY_INFOSSpecifies whether or not to show query atom match expressions
Vis.ControlParameter.SHOW_ATOM_REACTION_INFOSSpecifies whether or not to show reaction atom-atom mapping numbers
Vis.ControlParameter.SHOW_RADICAL_ELECTRONSSpecifies whether or not to draw radical electron dots
Vis.ControlParameter.BOND_LENGTHSpecifies the desired average bond length
Vis.ControlParameter.BOND_COLORSpecifies the color of bonds
Vis.ControlParameter.BOND_LINE_WIDTHSpecifies the width of bond lines
Vis.ControlParameter.BOND_LINE_SPACINGSpecifies the distance between the lines of double and triple bonds
Vis.ControlParameter.STEREO_BOND_WEDGE_WIDTHSpecifies the width of wedge-shaped stereo bonds
Vis.ControlParameter.STEREO_BOND_HASH_SPACINGSpecifies the distance between the hashes of down stereo bonds
Vis.ControlParameter.REACTION_CENTER_LINE_LENGTHSpecifies the length of the lines in reaction center marks
Vis.ControlParameter.REACTION_CENTER_LINE_SPACINGSpecifies the distance between the lines in reaction center marks
Vis.ControlParameter.DOUBLE_BOND_TRIM_LENGTHSpecifies 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_LENGTHSpecifies the amount by which the non-central lines of triple bonds have to be trimmed at each line end
Vis.ControlParameter.BOND_LABEL_FONTSpecifies the font for bond labels
Vis.ControlParameter.BOND_LABEL_SIZESpecifies the size of bond labels
Vis.ControlParameter.BOND_LABEL_MARGINSpecifies the margin of free space around bond labels
Vis.ControlParameter.SHOW_BOND_REACTION_INFOSSpecifies whether or not to draw reaction center marks
Vis.ControlParameter.SHOW_BOND_QUERY_INFOSSpecifies whether or not to show query bond match expressions
Vis.ControlParameter.SHOW_STEREO_BONDSSpecifies whether or not to draw stereo bonds
Vis.ControlParameter.REACTION_ARROW_STYLESpecifies the style of the reaction arrow
Vis.ControlParameter.REACTION_ARROW_COLORSpecifies the color of the reaction arrow
Vis.ControlParameter.REACTION_ARROW_LENGTHSpecifies the length of the reaction arrow
Vis.ControlParameter.REACTION_ARROW_HEAD_LENGTHSpecifies the head length of the reaction arrow
Vis.ControlParameter.REACTION_ARROW_HEAD_WIDTHSpecifies the head width of the reaction arrow
Vis.ControlParameter.REACTION_ARROW_SHAFT_WIDTHSpecifies the shaft width of the reaction arrow
Vis.ControlParameter.REACTION_ARROW_LINE_WIDTHSpecifies the line width of the reaction arrow outline
Vis.ControlParameter.REACTION_COMPONENT_LAYOUTSpecifies the style of the reaction product and reactant layout
Vis.ControlParameter.REACTION_COMPONENT_LAYOUT_DIRECTIONSpecifies the main direction of the reaction product and reactant layout
Vis.ControlParameter.REACTION_COMPONENT_MARGINSpecifies the amount of free space that is added horizontally and vertically to the bounds of a reaction component
Vis.ControlParameter.SHOW_REACTION_REACTANTSSpecifies whether or not to show the reactants of the reaction
Vis.ControlParameter.SHOW_REACTION_AGENTSSpecifies whether or not to show the agents of the reaction
Vis.ControlParameter.SHOW_REACTION_PRODUCTSSpecifies whether or not to show the products of the reaction
Vis.ControlParameter.REACTION_AGENT_ALIGNMENTSpecifies the vertical alignment of the reaction agents relative to the reaction arrow
Vis.ControlParameter.REACTION_AGENT_LAYOUTSpecifies the style of the reaction agent layout
Vis.ControlParameter.REACTION_AGENT_LAYOUT_DIRECTIONSpecifies the main direction of the reaction agent layout
Vis.ControlParameter.REACTION_PLUS_SIGN_COLORSpecifies the color of the '+' signs between the components of the reaction
Vis.ControlParameter.REACTION_PLUS_SIGN_SIZESpecifies the size of the '+' signs between the components of the reaction
Vis.ControlParameter.REACTION_PLUS_SIGN_LINE_WIDTHSpecifies the line width of the '+' signs between the components of the reaction
Vis.ControlParameter.SHOW_REACTION_PLUS_SIGNSSpecifies whether or not to draw '+' signs between the components of the reaction

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

Supported Chem.Reaction properties:

Chem.Reaction PropertyDescription
Vis.ReactionProperty.ARROW_STYLESpecifies the style of the reaction arrow
Vis.ReactionProperty.ARROW_COLORSpecifies the color of the reaction arrow
Vis.ReactionProperty.ARROW_LENGTHSpecifies the length of the reaction arrow
Vis.ReactionProperty.ARROW_HEAD_LENGTHSpecifies the head length of the reaction arrow
Vis.ReactionProperty.ARROW_HEAD_WIDTHSpecifies the head width of the reaction arrow
Vis.ReactionProperty.ARROW_SHAFT_WIDTHSpecifies the shaft width of the reaction arrow
Vis.ReactionProperty.ARROW_LINE_WIDTHSpecifies the line width of the reaction arrow outline
Vis.ReactionProperty.COMPONENT_LAYOUTSpecifies the style of the reaction product and reactant layout
Vis.ReactionProperty.COMPONENT_LAYOUT_DIRECTIONSpecifies the main direction of the reaction product and reactant layout
Vis.ReactionProperty.COMPONENT_MARGINSpecifies the amount of free space that is added horizontally and vertically to the bounds of a reaction component
Vis.ReactionProperty.SHOW_REACTANTSSpecifies whether or not to show reactants of the reactions
Vis.ReactionProperty.SHOW_AGENTSSpecifies whether or not to show the agents of the reaction
Vis.ReactionProperty.SHOW_PRODUCTSSpecifies whether or not to show the products of the reaction
Vis.ReactionProperty.AGENT_ALIGNMENTSpecifies the vertical alignment of the reaction agents relative to the reaction arrow
Vis.ReactionProperty.AGENT_LAYOUTSpecifies the style of the reaction agent layout
Vis.ReactionProperty.AGENT_LAYOUT_DIRECTIONSpecifies the main direction of the reaction agent layout
Vis.ReactionProperty.PLUS_SIGN_COLORSpecifies the color of the '+' signs between the components of the reaction
Vis.ReactionProperty.PLUS_SIGN_SIZESpecifies the size of the '+' signs between the components of the reaction
Vis.ReactionProperty.PLUS_SIGN_LINE_WIDTHSpecifies the line width of the '+' signs between the components of the reaction
Vis.ReactionProperty.SHOW_PLUS_SIGNSSpecifies whether or not to draw '+' signs between the components of the reaction

Supported Chem.MolecularGraph properties:

Chem.MolecularGraph PropertyDescription
Vis.MolecularGraphProperty.ATOM_COLOR_TABLESpecifies a lookup table for the atom type dependent coloring of atom labels
Vis.MolecularGraphProperty.ATOM_COLORSpecifies the color of atom labels
Vis.MolecularGraphProperty.ATOM_LABEL_FONTSpecifies the font for atom element and query match expression labels
Vis.MolecularGraphProperty.ATOM_LABEL_SIZESpecifies the size of atom element and query match expression labels
Vis.MolecularGraphProperty.SECONDARY_ATOM_LABEL_FONTSpecifies the font for text labels that show the value of various atomic properties
Vis.MolecularGraphProperty.SECONDARY_ATOM_LABEL_SIZESpecifies the size of text labels that show the value of various atomic properties
Vis.MolecularGraphProperty.ATOM_LABEL_MARGINSpecifies the margin of free space around atom labels
Vis.MolecularGraphProperty.RADICAL_ELECTRON_DOT_SIZESpecifies the size of radical electron dots
Vis.MolecularGraphProperty.BOND_COLORSpecifies the color of bonds
Vis.MolecularGraphProperty.BOND_LINE_WIDTHSpecifies the width of bond lines
Vis.MolecularGraphProperty.BOND_LINE_SPACINGSpecifies the distance between the lines of double and triple bonds
Vis.MolecularGraphProperty.STEREO_BOND_WEDGE_WIDTHSpecifies the width of wedge-shaped stereo bonds
Vis.MolecularGraphProperty.STEREO_BOND_HASH_SPACINGSpecifies the distance between the hashes of down stereo bonds
Vis.MolecularGraphProperty.REACTION_CENTER_LINE_LENGTHSpecifies the length of the lines in reaction center marks
Vis.MolecularGraphProperty.REACTION_CENTER_LINE_SPACINGSpecifies the distance between the lines in reaction center marks
Vis.MolecularGraphProperty.DOUBLE_BOND_TRIM_LENGTHSpecifies 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_LENGTHSpecifies the amount by which the non-central lines of triple bonds have to be trimmed at each line end
Vis.MolecularGraphProperty.BOND_LABEL_FONTSpecifies the font for bond labels
Vis.MolecularGraphProperty.BOND_LABEL_SIZESpecifies the size of bond labels
Vis.MolecularGraphProperty.BOND_LABEL_MARGINSpecifies the margin of free space around bond labels

Supported Chem.Atom properties:

Chem.Atom PropertyDescription
Vis.AtomProperty.COLORSpecifies the color of text labels
Vis.AtomProperty.LABEL_FONTSpecifies the font for atom element and query match expression labels
Vis.AtomProperty.LABEL_SIZESpecifies the size of atom element and query match expression labels
Vis.AtomProperty.SECONDARY_LABEL_FONTSpecifies the font for text labels that show the value of various atomic properties
Vis.AtomProperty.SECONDARY_LABEL_SIZESpecifies the size of text labels that show the value of various atomic properties
Vis.AtomProperty.LABEL_MARGINSpecifies the margin of free space around text labels
Vis.AtomProperty.RADICAL_ELECTRON_DOT_SIZESpecifies the size of radical electron dots

Supported Chem.Bond properties:

Chem.Bond PropertyDescription
Vis.BondProperty.COLORSpecifies the color of the bond
Vis.BondProperty.LINE_WIDTHSpecifies the width of bond lines
Vis.BondProperty.LINE_SPACINGSpecifies the distance between the lines of double and triple bonds
Vis.BondProperty.STEREO_BOND_WEDGE_WIDTHSpecifies the width of wedge-shaped stereo bonds
Vis.BondProperty.STEREO_BOND_HASH_SPACINGSpecifies the distance between the hashes of down stereo bonds
Vis.BondProperty.REACTION_CENTER_LINE_LENGTHSpecifies the length of the lines in reaction center marks
Vis.BondProperty.REACTION_CENTER_LINE_SPACINGSpecifies the distance between the lines in reaction center marks
Vis.BondProperty.DOUBLE_BOND_TRIM_LENGTHSpecifies 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_LENGTHSpecifies the amount by which the non-central lines of triple bonds have to be trimmed at each line end
Vis.BondProperty.LABEL_FONTSpecifies the font for bond labels
Vis.BondProperty.LABEL_SIZESpecifies the size of bond labels
Vis.BondProperty.LABEL_MARGINSpecifies the margin of free space around bond labels

Constructor & Destructor Documentation

◆ __init__()

None CDPL.Vis.ReactionView2D.__init__ ( Chem.Reaction  rxn)

Constructs and initializes a ReactionView2D instance for the visualization of the chemical reaction specified by rxn.

Parameters
rxnA reference to the Chem.Reaction object to visualize.

Member Function Documentation

◆ setReaction()

None CDPL.Vis.ReactionView2D.setReaction ( Chem.Reaction  rxn)

Specifies the chemical reaction to visualize.

If the components of a chemical reaction or any properties have changed after this method has been called for a Chem.Reaction object, the method needs to be called again for the object to make the changes visible.

Parameters
rxnA reference to the Chem.Reaction object to visualize, or None.

◆ getReaction()

Chem.Reaction CDPL.Vis.ReactionView2D.getReaction ( )

Returns a reference to the visualized chemical reaction.

Returns
A reference to the visualized Chem.Reaction object, or None if none was specified.

◆ getFontMetrics()

FontMetrics CDPL.Vis.ReactionView2D.getFontMetrics ( )

Returns a reference to the used font metrics object.

Returns
A reference to the used font metrics object, or None if none was specified.