OEBondGlyphCurvedArrow

class OEBondGlyphCurvedArrow : public OEBondGlyphBase

By using the OEBondGlyphCurvedArrow class, bonds can be annotated by drawing a curved arrow across them.

The following methods are publicly inherited from OEBondGlyphBase:

CreateCopy RenderGlyph

Constructors

OEBondGlyphCurvedArrow(const OEDepict::OEPen &pen, double arrowRadiusScale=1.0,
                       bool clockwise=true, double arcAngle=270.0,
                       unsigned int layer=OEDepict::OELayerPosition::Above)

Creates an OEBondGlyphCurvedArrow object with the specified parameters.

../../_images/OEBondGlyphCurvedArrow.png

Example of bond annotations

pen

The pen used when drawing a curved arrow at the middle of the bond.

See examples (A) and (B) in Figure: Example of bond annotations.

arrowRadiusScale

The multiplier used to modify the radius of the drawn arc.

See examples (A) and (C) in Figure: Example of bond annotations.

clockwise

The direction of the arrow.

See examples (A) and (D) in Figure: Example of bond annotations.

arcAngle

The angel of the arc in degrees. The value has to be in a range of \([0.0^{\circ}, 360.0^{\circ}]\).

See examples (A) and (E) in Figure: Example of bond annotations.

layer

Specifies whether the curved arrow is drawn above (OELayerPosition.Above) or below (OELayerPosition.Below) the molecule.

See examples (B) and (F) in Figure: Example of bond annotations.

CreateCopy

OEBondGlyphBase *CreateCopy() const

Deep copy constructor that returns a copy of the object. The memory for the returned OEBondGlyphCurvedArrow object is dynamically allocated and owned by the caller.

RenderGlyph

bool RenderGlyph(OEDepict::OE2DMolDisplay &disp,
                 const OEChem::OEBondBase *bond) const

Draws a glyph (in this case a curved arrow) in the middle of the given bond.

disp
The OE2DMolDisplay object that is modified to annotate the specified bond.
bond
The OEBondBase object being annotated.