# OEGrapheme Functions¶

bool OEAddComplexSurfaceArcs(OEChem::OEMolBase &ligand,
const OEChem::OEMolBase &protein,
const OESurfaceArcFxnBase &solventExposedFxn=OEDefaultSolventArcFxn(),
const OESurfaceArcFxnBase &buriedFxn=OEDefaultBuriedArcFxn(),
const OEComplexSurfaceArcFxnBase &cavityFxn=OEDefaultCavityArcFxn(),
const OEComplexSurfaceArcFxnBase &voidFxn=OEDefaultVoidArcFxn())


Takes a ligand-protein complex and generates the 2D molecule surface of the ligand, where the arcs of the surface are annotated based on the distance calculated between the accessible surface of the ligand and the protein. See Figure: Example of surface drawing with the OEAddComplexSurfaceArcs function.

ligand
The molecule for which the 2D surface is generated.
protein
The macromolecule whose contact with the ligand influences the surface drawing.
solventExposedFxn
This functor is used to draw those arc segments of the 2D molecule surface where the ligand is exposed to the solvent in the 3D complex. By default, the OEDefaultSolventArcFxn functor is used.
buriedFxn
This functor is used to draw those arc segments of the 2D molecule surface where the ligand and the protein tightly fit in the 3D complex. By default, the OEDefaultBuriedArcFxn functor is used.
cavityFxn
This functor is used to draw those arc segments of the 2D molecule surface where there is a cavity detected between the ligand and the protein in the 3D complex. By default, the OEDefaultCavityArcFxn functor is used.
voidFxn
This functor is used to draw those arc segments of the 2D molecule surface where there is a small gap detected between the ligand and the protein in the 3D complex. By default, the OEDefaultVoidArcFxn functor is used.

Example of surface drawing with the OEAddComplexSurfaceArcs function

void OEAddGlyph(OEDepict::OE2DMolDisplay &disp,
const OEAtomGlyphBase &atomglyph,
const OEChem::OEMatchBase &match)

const OEAtomGlyphBase &atomglyph,
const OEChem::OEAtomBondSet &abset)

const OEAtomGlyphBase &atomglyph,
const OESystem::OEUnaryPredicate<OEChem::OEAtomBase> &pred)


Annotates atoms with the style implemented in the given OEAtomGlyphBase object. The atoms being annotated can be specified either by an OEMatchBase or an OEAtomBondSet object or by an atom predicate.

disp
The OE2DMolDisplay object whose atoms are being annotated.
atomglyph
Specifies the style of the annotation. Each atom is being annotated by calling the OEAtomGlyphBase.RenderGlyph method.
match
OEAddGlyph function annotates the target atoms of the OEMatchBase object.
abset
OEAddGlyph function annotates the atoms returned by the GetAtoms method.
pred
OEAddGlyph function annotates only atoms for which the given atom predicate returns true.
void OEAddGlyph(OEDepict::OE2DMolDisplay &disp,
const OEBondGlyphBase &bondglyph,
const OEChem::OEMatchBase &match)

const OEBondGlyphBase &bondglyph,
const OEChem::OEAtomBondSet &abset)

const OEBondGlyphBase &bondglyph,
const OESystem::OEUnaryPredicate<OEChem::OEBondBase> &pred)


Annotates bonds with the style implemented in the given OEBondGlyphBase object. The bond being annotated can be specified either by an OEMatchBase or an OEAtomBondSet object or by a bond predicate.

disp
The OE2DMolDisplay object whose bonds are being annotated.
bondglyph
Specifies the style of the annotation. Each bond is being annotated by calling the OEBondGlyphBase.RenderGlyph method.
match
OEAddGlyph function annotates the target bonds of the OEMatchBase object.
abset
OEAddGlyph function annotates the bonds returned by the GetBonds method.
pred
OEAddGlyph function annotates only bonds for which the given bond predicate returns true.

## OEClearSurfaceArcFxn¶

void OEClearSurfaceArcFxn(OEChem::OEAtomBase *atom)


Removes the surface drawing functor previously added to the atom.

## OEConfigure2DPropMap¶

bool OEConfigure2DPropMap(OESystem::OEInterface &itf,
unsigned int config=OE2DPropMapSetup::All)


Configures the given interface to add property map style parameters.

itf
The interface being configured.
config
The option that specifies which parameters will be added to the interface This value has to be from the OE2DPropMapSetup namespace.

## OEDraw2DSurface¶

bool OEDraw2DSurface(OEDepict::OE2DMolDisplay &disp)


Calculates the arc segments of the molecule surface and draws the arcs into the molecule display using the functor previously added to the atoms (by calling OESetSurfaceArcFxn). See Figure: Example of drawing a molecule surface using the OEDraw2DSurface function.

disp
The molecule display on which the 2D molecule surface is drawn.

Note

If no surface drawing functor is set to the atoms, then the OEDefaultArcFxn functor will be used by default.

Example of drawing a molecule surface using the OEDraw2DSurface function

bool OEDraw2DSurface(OEDepict::OE2DMolDisplay &disp,
const OEDepict::OE2DMolDisplay &refdisp)


Allows a molecule surface to be generated on one molecule display but drawn into an other display. See Figure: Example of using OEDraw2DSurface with reference molecule display.

disp
The molecule display on which the 2D molecule surface is drawn.
refdisp
The molecule display for which the 2D molecule surface is calculated.

Example of using OEDraw2DSurface with reference molecule display

## OEDrawActiveSiteLegend¶

void OEDrawActiveSiteLegend(OEDepict::OEImageBase &image,
const OE2DActiveSiteLegendDisplayOptions &opts)


Draws a legend of the active site interaction.

image
The image on which the color force field legend is drawn.
The OE2DActiveSiteDisplay object that holds the data necessary to depict the interactions of an active site.
opts
The OE2DActiveSiteLegendDisplayOptions object that determine how the legend is depicted.

The following code snippet shows how to use the OEDrawActiveSiteLegend function. The image created is shown in Figure: Example of using the OEDrawActiveSiteLegend function.

# initializing adisp OE2DActiveSiteDisplay object

rows, cols = 2, 3
opts = OE2DActiveSiteLegendDisplayOptions(rows, cols)

image = OEImage(600, 150)


Example of using the OEDrawActiveSiteLegend function

Note

The OEDrawActiveSiteLegend function renders only those residue “glyphs” that are used to depicted the interactions of the given active site when calling the OERenderActiveSite function.

## OEDrawAlphaRainbowCircle¶

bool OEDrawAlphaRainbowCircle(OEDepict::OEImageBase &image,
const OEDepict::OEPen &pen,
unsigned int patternDirection=OEPatternDirection::Outside)


Draws a circle with the OECircleStyle_AlphaRainbow style. See Figure: OEDrawAlphaRainbowCircle.

OEDrawAlphaRainbowCircle

image
The image on which the circle is drawn.
center
The center of the circle.
pen

The graphical properties of the circle.

See example (A) and (B) in Figure: OEDrawAlphaRainbowCircle.

patternDirection

Specifies whether the pattern is drawn inside or outside of the circle. This value has to be from the OEPatternDirection namespace.

See example (C) in Figure: OEDrawAlphaRainbowCircle.

## OEDrawAlphaRainbowSurfaceArc¶

bool OEDrawAlphaRainbowSurfaceArc(OEDepict::OEImageBase &image,
const OEDepict::OE2DPoint &center,
double bgnAngle, double endAngle, double radius,
const OEDepict::OEPen &pen,
double edgeAngle=10.0,
unsigned int patternDirection=OEPatternDirection::Outside)


Draws an arc with the OESurfaceArcStyle_AlphaRainbow style. See Figure: OEDrawAlphaRainbowSurfaceArc.

OEDrawAlphaRainbowSurfaceArc

image
The image on which the arc is drawn.
center
The center of the arc.
bgnAngle, endAngle
The two endpoints of the arc. Both angles are in degrees and their values have to be in a range of $$[0.0^{\circ} - 360.0^{\circ}]$$. Angles are interpreted such that $$0.0^{\circ}$$ and $$360.0^{\circ}$$ degrees are at the 12 o’clock position, $$90.0^{\circ}$$ degrees corresponds to 3 o’clock, etc.
pen
The graphical properties of the arc.
edgeAngle

The angle (in degrees) between the end points of the arc and the points where the pattern of the arc starts.

See example (B) in Figure: OEDrawAlphaRainbowSurfaceArc.

patternDirection

Specifies whether the pattern is drawn inside or outside of the arc. This value has to be from the OEPatternDirection namespace.

See example (C) in Figure: OEDrawAlphaRainbowSurfaceArc.

bool OEDrawBrickRoadCircle(OEDepict::OEImageBase &image,
const OEDepict::OEPen &pen,
unsigned int patternDirection=OEPatternDirection::Outside,
double patternAngle=20.0,
double patternWidthRatio=0.15)


image
The image on which the circle is drawn.
center
The center of the circle.
pen

The graphical properties of the circle.

See examples (A) and (B) in Figure: OEDrawBrickRoadCircle.

patternDirection

Specifies whether the pattern is drawn inside or outside of the circle. This value has to be from the OEPatternDirection namespace.

See example (C) in Figure: OEDrawBrickRoadCircle.

patternAngle

Specifies the angle (in degrees) between the patterns of the circle. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (D) in Figure: OEDrawBrickRoadCircle.

patternWidthRatio

Specifies the width of the pattern of the circle relative to its radius. The ratio has to be in a range of $$[0.01 - 1.00]$$.

See example (E) in Figure: OEDrawBrickRoadCircle.

bool OEDrawBrickRoadSurfaceArc(OEDepict::OEImageBase &image,
const OEDepict::OE2DPoint &center,
double bgnAngle,  double endAngle, double radius,
const OEDepict::OEPen &pen, double edgeAngle=10.0,
unsigned int patternDirection=OEPatternDirection::Outside,
double patternAngle=20.0,
double minPatternWidthRatio=0.15,
double maxPatternWidthRatio=0.15)


Draws an arc with the OESurfaceArcStyle_BrickRoad style.

image
The image on which the arc is drawn.
center
The center of the arc.
bgnAngle, endAngle
The two endpoints of the arc. Both angles are in degrees and their values have to be in a range of $$[0.0^{\circ} - 360.0^{\circ}]$$. Angles are interpreted such that $$0.0^{\circ}$$ and $$360.0^{\circ}$$ degrees are at the 12 o’clock position, $$90.0^{\circ}$$ degrees corresponds to 3 o’clock, etc.
pen
The graphical properties of the arc.
edgeAngle

The angle (in degrees) between the end points of the arc and the points where the pattern of the arc starts.

See example (B) in Figure: OEDrawBrickRoadSurfaceArc.

patternDirection

Specifies whether the pattern is drawn inside or outside of the arc. This value has to be from the OEPatternDirection namespace.

See example (C) in Figure: OEDrawBrickRoadSurfaceArc.

patternAngle

Specifies the angle (in degrees) between the patterns of the arc. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (D) in Figure: OEDrawBrickRoadSurfaceArc.

minPatternWidthRatio, maxPatternWidthRatio

Specifies the width of the pattern of the arc relative to its radius. The min ratio is applied to the end of the arc while the max ratio specifies the width of the patterns at the middle of the arc. Both ratios have to be in a range of $$[0.01 - 1.00]$$.

See examples (E) and (F) in Figure: OEDrawBrickRoadSurfaceArc.

## OEDrawCastleCircle¶

bool OEDrawCastleCircle(OEDepict::OEImageBase &image,
const OEDepict::OEPen &pen, double patternAngle=15.0,
double patternWidthRatio=0.20)


Draws a circle with the OECircleStyle_Castle style.

OEDrawCastleCircle

image
The image on which the circle is drawn.
center
The center of the circle.
pen

The graphical properties of the circle.

See examples (A) and (B) in Figure: OEDrawCastleCircle.

patternAngle

Specifies the angle (in degrees) between the patterns of the circle. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (C) in Figure: OEDrawCastleCircle.

patternWidthRatio

Specifies the width of the pattern of the circle relative to its radius. The ratio has to be in a range of $$[0.01 - 1.00]$$.

See example (D) in Figure: OEDrawCastleCircle.

## OEDrawCastleSurfaceArc¶

bool OEDrawCastleSurfaceArc(OEDepict::OEImageBase &image,
const OEDepict::OE2DPoint &center,
double bgnAngle, double endAngle, double radius,
const OEDepict::OEPen &pen, double edgeAngle=10.0,
double patternAngle=15.0,
double minPatternWidthRatio=0.20,
double maxPatternWidthRatio=0.20)


Draws an arc with the OESurfaceArcStyle_Castle style.

OEDrawCastleSurfaceArc

image
The image on which the arc is drawn.
center
The center of the arc.
bgnAngle, endAngle
The two endpoints of the arc. Both angles are in degrees and their values have to be in a range of $$[0.0^{\circ} - 360.0^{\circ}]$$. Angles are interpreted such that $$0.0^{\circ}$$ and $$360.0^{\circ}$$ degrees are at the 12 o’clock position, $$90.0^{\circ}$$ degrees corresponds to 3 o’clock, etc.
pen
The graphical properties of the arc.
edgeAngle

The angle (in degrees) between the end points of the arc and the points where the pattern of the arc starts.

See example (B) in Figure: OEDrawCastleSurfaceArc.

patternAngle

Specifies the angle (in degrees) between the patterns of the arc. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (C) in Figure: OEDrawCastleSurfaceArc.

minPatternWidthRatio, maxPatternWidthRatio

Specifies the width of the pattern of the arc relative to its radius. The min ratio is applied to the end of the arc while the max ratio specifies the width of the patterns at the middle of the arc. Both ratios have to be in a range of $$[0.01 - 1.00]$$.

See examples (D) and (E) in Figure: OEDrawCastleSurfaceArc.

## OEDrawCircle¶

bool OEDrawCircle(OEDepict::OEImageBase &image, unsigned int style,
const OEDepict::OEPen &pen=OEDepict::OEBlackPen)


Draws a circle with the given style.

image
The image on which the circle is drawn.
style
Specifies the style of the circle. This value has to be from the OECircleStyle namespace.
center
The center of the circle.
pen
The graphical properties of the circle.

## OEDrawCogCircle¶

bool OEDrawCogCircle(OEDepict::OEImageBase &image,
const OEDepict::OEPen &pen,
double patternAngle=15.0, double patternWidthRatio=0.20)


Draws a circle with the OECircleStyle_Cog style.

OEDrawCogCircle

image
The image on which the circle is drawn.
center
The center of the circle.
pen

The graphical properties of the circle.

See examples (A) and (B) in Figure: OEDrawCogCircle.

patternAngle

Specifies the angle (in degrees) between the patterns of the circle. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (C) in Figure: OEDrawCogCircle.

patternWidthRatio

Specifies the width of the pattern of the circle relative to its radius. The ratio has to be in a range of $$[0.01 - 1.00]$$.

See example (D) in Figure: OEDrawCogCircle.

## OEDrawCogSurfaceArc¶

bool OEDrawCogSurfaceArc(OEDepict::OEImageBase &image,
const OEDepict::OE2DPoint &center,
double bgnAngle, double endAngle, double radius,
const OEDepict::OEPen &pen, double edgeAngle=10.0,
double patternAngle=15.0,
double minPatternWidthRatio=0.20,
double maxPatternWidthRatio=0.20)


Draws an arc with the OESurfaceArcStyle_Cog style.

OEDrawCogSurfaceArc

image
The image on which the arc is drawn.
center
The center of the arc.
bgnAngle, endAngle
The two endpoints of the arc. Both angles are in degrees and their values have to be in a range of $$[0.0^{\circ} - 360.0^{\circ}]$$. Angles are interpreted such that $$0.0^{\circ}$$ and $$360.0^{\circ}$$ degrees are at the 12 o’clock position, $$90.0^{\circ}$$ degrees corresponds to 3 o’clock, etc.
pen
The graphical properties of the arc.
edgeAngle

The angle (in degrees) between the end points of the arc and the points where the pattern of the arc starts.

See example (B) in Figure: OEDrawCogSurfaceArc.

patternAngle

Specifies the angle (in degrees) between the patterns of the arc. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (C) in Figure: OEDrawCogSurfaceArc.

minPatternWidthRatio, maxPatternWidthRatio

Specifies the width of the pattern of the arc relative to its radius. The min ratio is applied to the end of the arc while the max ratio specifies the width of the patterns at the middle of the arc. Both ratios have to be in a range of $$[0.01 - 1.00]$$.

See examples (D) and (E) in Figure: OEDrawCogSurfaceArc.

## OEDrawColorForceFieldLegend¶

void OEDrawColorForceFieldLegend(OEDepict::OEImageBase &image,
const OEColorForceFieldDisplay &cffdisp,
const OEColorForceFieldLegendDisplayOptions &opts)


Draws a legend of the color force field.

image
The image on which the color force field legend is drawn.
cffdisp
The OEColorForceFieldDisplay object that holds the data necessary to depict the color force field.
opts
The OEColorForceFieldLegendDisplayOptions object that determine how the legend of color force field is depicted.

The following code snippet shows how to use the OEDrawColorForceFieldLegend function. The image created is shown in Figure: Example of using the OEDrawColorForceFieldLegend function.

cff = OEColorForceField()
cff.Init(OEColorFFType_ImplicitMillsDean)
cffdisp = OEColorForceFieldDisplay(cff)

rows, cols = 2, 3
opts = OEColorForceFieldLegendDisplayOptions(rows, cols)

image = OEImage(450, 150)
OEDrawColorForceFieldLegend(image, cffdisp, opts)


Example of using the OEDrawColorForceFieldLegend function

void OEDrawColorGradient(OEDepict::OEImageBase &image,



image
The image on which the color gradient is drawn.
colorg
opts
The OEColorGradientDisplayOptions object that stores the parameters that determine how the color gradient is drawn.

The following code snippet shows how to use the OEDrawColorGradient function. The image created is shown in Figure: Example of using the OEDrawColorGradient function.

colorg = OELinearColorGradient(OEColorStop(0.0, OEYellow))

image = OEImage(400, 100)


Example of using the OEDrawColorGradient function

The orientation (i.e., whether the color gradient is rendered vertically or horizontally) depends on the width and height of the OEImageBase object. If the width is greater than the height, then the color gradient is drawn horizontally; otherwise it is rendered vertically . See examples in Figure: Example of rendering the same color gradient into different dimensions.

Example of rendering the same color gradient into different dimensions

The OEDrawColorGradient function can depict any color gradient derived from the OEColorGradientBase base class. See examples in Figure: Example of rendering various color gradients.

Example of rendering various color gradients

## OEDrawDefaultCircle¶

bool OEDrawDefaultCircle(OEDepict::OEImageBase &image,
const OEDepict::OEPen &pen)


Draws a circle with the OECircleStyle_Default style.

OEDrawDefaultCircle

image
The image on which the circle is drawn.
center
The center of the circle.
pen

The graphical properties of the circle.

See examples in Figure: OEDrawDefaultCircle.

## OEDrawDefaultSurfaceArc¶

bool OEDrawDefaultSurfaceArc(OEDepict::OEImageBase &image,
const OEDepict::OE2DPoint &center,
double bgnAngle, double endAngle, double radius,
const OEDepict::OEPen &pen)


Draws an arc with the OESurfaceArcStyle_Default style.

OEDrawDefaultSurfaceArc

image
The image on which the arc is drawn.
center
The center of the arc.
bgnAngle, endAngle
The two endpoints of the arc. Both angles are in degrees and their values have to be in a range of $$[0.0^{\circ} - 360.0^{\circ}]$$. Angles are interpreted such that $$0.0^{\circ}$$ and $$360.0^{\circ}$$ degrees are at the 12 o’clock position, $$90.0^{\circ}$$ degrees corresponds to 3 o’clock, etc.
pen
The graphical properties of the arc.

## OEDrawEyelashCircle¶

bool OEDrawEyelashCircle(OEDepict::OEImageBase &image,
const OEDepict::OEPen &pen,
unsigned int patternDirection=OEPatternDirection::Outside,
double patternAngle=10.0,
double patternWidthRatio=0.15)


Draws a circle with the OECircleStyle_Eyelash style.

OEDrawEyelashCircle

image
The image on which the circle is drawn.
center
The center of the circle.
pen

The graphical properties of the circle.

See examples (A) and (B) in Figure: OEDrawEyelashCircle.

patternDirection

Specifies whether the pattern is drawn inside or outside of the circle. This value has to be from the OEPatternDirection namespace.

See example (C) in Figure: OEDrawEyelashCircle.

patternAngle

Specifies the angle (in degrees) between the patterns of the circle. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (D) in Figure: OEDrawEyelashCircle.

patternWidthRatio

Specifies the width of the pattern of the circle relative to its radius. The ratio has to be in a range of $$[0.01 - 1.00]$$.

See example (E) in Figure: OEDrawEyelashCircle.

## OEDrawEyelashSurfaceArc¶

bool OEDrawEyelashSurfaceArc(OEDepict::OEImageBase &image,
const OEDepict::OE2DPoint &center,
double bgnAngle, double endAngle, double radius,
const OEDepict::OEPen &pen, double edgeAngle=10.0,
unsigned int patternDirection=OEPatternDirection::Outside,
double patternAngle=10.0,
double minPatternWidthRatio=0.15,
double maxPatternWidthRatio=0.15)


Draws an arc with the OESurfaceArcStyle_Eyelash style.

OEDrawEyelashSurfaceArc

image
The image on which the arc is drawn.
center
The center of the arc.
bgnAngle, endAngle
The two endpoints of the arc. Both angles are in degrees and their values have to be in a range of $$[0.0^{\circ} - 360.0^{\circ}]$$. Angles are interpreted such that $$0.0^{\circ}$$ and $$360.0^{\circ}$$ degrees are at the 12 o’clock position, $$90.0^{\circ}$$ degrees corresponds to 3 o’clock, etc.
pen
The graphical properties of the arc.
edgeAngle

The angle (in degrees) between the end points of the arc and the points where the pattern of the arc starts.

See example (B) in Figure: OEDrawEyelashSurfaceArc.

patternDirection

Specifies whether the pattern is drawn inside or outside of the arc. This value has to be from the OEPatternDirection namespace.

See example (C) in Figure: OEDrawEyelashSurfaceArc.

patternAngle

Specifies the angle (in degrees) between the patterns of the arc. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (D) in Figure: OEDrawEyelashSurfaceArc.

minPatternWidthRatio, maxPatternWidthRatio

Specifies the width of the pattern of the arc relative to its radius. The min ratio is applied to the end of the arc while the max ratio specifies the width of the patterns at the middle of the arc. Both ratios have to be in a range of $$[0.01 - 1.00]$$.

See examples (E) and (F) in Figure: OEDrawEyelashSurfaceArc.

## OEDrawFlowerCircle¶

bool OEDrawFlowerCircle(OEDepict::OEImageBase &image,
const OEDepict::OEPen &pen, double patternAngle=30.0)


Draws a circle with the OECircleStyle_Flower style.

OEDrawFlowerCircle

image
The image on which the circle is drawn.
center
The center of the circle.
pen

The graphical properties of the circle.

See examples (A) and (B) in Figure: OEDrawFlowerCircle.

patternAngle

Specifies the angle (in degrees) between the patterns of the circle. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (C) in Figure: OEDrawFlowerCircle.

## OEDrawFlowerSurfaceArc¶

bool OEDrawFlowerSurfaceArc(OEDepict::OEImageBase &image,
const OEDepict::OE2DPoint &center,
double bgnAngle, double endAngle, double radius,
const OEDepict::OEPen &pen, double edgeAngle=10.0,
double patternAngle=30.0,
double minPatternWidthRatio=0.20,
double maxPatternWidthRatio=0.20)


Draws an arc with the OESurfaceArcStyle_Flower style.

OEDrawFlowerSurfaceArc

image
The image on which the arc is drawn.
center
The center of the arc.
bgnAngle, endAngle
The two endpoints of the arc. Both angles are in degrees and their values have to be in a range of $$[0.0^{\circ} - 360.0^{\circ}]$$. Angles are interpreted such that $$0.0^{\circ}$$ and $$360.0^{\circ}$$ degrees are at the 12 o’clock position, $$90.0^{\circ}$$ degrees corresponds to 3 o’clock, etc.
pen
The graphical properties of the arc.
edgeAngle

The angle (in degrees) between the end points of the arc and the points where the pattern of the arc starts.

See example (B) in Figure: OEDrawFlowerSurfaceArc.

patternAngle

Specifies the angle (in degrees) between the patterns of the arc. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (C) in Figure: OEDrawFlowerSurfaceArc.

minPatternWidthRatio, maxPatternWidthRatio

Specifies the width of the pattern of the arc relative to its radius. The min ratio is applied to the end of the arc while the max ratio specifies the width of the patterns at the middle of the arc. Both ratios have to be in a range of $$[0.01 - 1.00]$$.

See examples (D) and (E) in Figure: OEDrawFlowerSurfaceArc.

## OEDrawGreekKeyCircle¶

bool OEDrawGreekKeyCircle(OEDepict::OEImageBase &image,
const OEDepict::OEPen &pen, double patternAngle=15.0,
double patternWidthRatio=0.20)


Draws a circle with the OECircleStyle_GreekKey style.

OEDrawGreekKeyCircle

image
The image on which the circle is drawn.
center
The center of the circle.
pen

The graphical properties of the circle.

See examples (A) and (B) in Figure: OEDrawGreekKeyCircle.

patternAngle

Specifies the angle (in degrees) between the patterns of the circle. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (C) in Figure: OEDrawGreekKeyCircle.

patternWidthRatio

Specifies the width of the pattern of the circle relative to its radius. The ratio has to be in a range of $$[0.01 - 1.00]$$.

See example (D) in Figure: OEDrawGreekKeyCircle.

## OEDrawNecklaceCircle¶

bool OEDrawNecklaceCircle(OEDepict::OEImageBase &image,
const OEDepict::OEPen &pen, double patternAngle=20.0,
double patternWidthRatio=0.15)


Draws a circle with the OECircleStyle_Necklace style.

OEDrawNecklaceCircle

image
The image on which the circle is drawn.
center
The center of the circle.
pen

The graphical properties of the circle.

See examples (A) and (B) in Figure: OEDrawNecklaceCircle.

patternAngle

Specifies the angle (in degrees) between the patterns of the circle. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (C) in Figure: OEDrawNecklaceCircle.

patternWidthRatio

Specifies the width of the pattern of the circle relative to its radius. The ratio has to be in a range of $$[0.01 - 1.00]$$.

See example (D) in Figure: OEDrawNecklaceCircle.

## OEDrawNecklaceSurfaceArc¶

bool OEDrawNecklaceSurfaceArc(OEDepict::OEImageBase &image,
const OEDepict::OE2DPoint &center,
double bgnAngle, double endAngle, double radius,
const OEDepict::OEPen &pen, double edgeAngle=10.0,
double patternAngle=20.0,
double minPatternWidthRatio=0.15,
double maxPatternWidthRatio=0.15)


Draws an arc with the OESurfaceArcStyle_Necklace style.

OEDrawNecklaceSurfaceArc

image
The image on which the arc is drawn.
center
The center of the arc.
bgnAngle, endAngle
The two endpoints of the arc. Both angles are in degrees and their values have to be in a range of $$[0.0^{\circ} - 360.0^{\circ}]$$. Angles are interpreted such that $$0.0^{\circ}$$ and $$360.0^{\circ}$$ degrees are at the 12 o’clock position, $$90.0^{\circ}$$ degrees corresponds to 3 o’clock, etc.
pen
The graphical properties of the arc.
edgeAngle

The angle (in degrees) between the end points of the arc and the points where the pattern of the arc starts.

See example (B) in Figure: OEDrawNecklaceSurfaceArc.

patternAngle

Specifies the angle (in degrees) between the patterns of the arc. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (C) in Figure: OEDrawNecklaceSurfaceArc.

minPatternWidthRatio, maxPatternWidthRatio

Specifies the width of the pattern of the arc relative to its radius. The min ratio is applied to the end of the arc while the max ratio specifies the width of the patterns at the middle of the arc. Both ratios have to be in a range of $$[0.01 - 1.00]$$.

See examples (D) and (E) in Figure: OEDrawNecklaceSurfaceArc.

## OEDrawOliveBranchCircle¶

bool OEDrawOliveBranchCircle(OEDepict::OEImageBase &image,
const OEDepict::OEPen &pen,
double patternAngle=15.0,
double patternWidthRatio=0.15)


Draws a circle with the OECircleStyle_OliveBranch style.

OEDrawOliveBranchCircle

image
The image on which the circle is drawn.
center
The center of the circle.
pen

The graphical properties of the circle.

See examples (A) and (B) in Figure: OEDrawOliveBranchCircle.

patternAngle

Specifies the angle (in degrees) between the patterns of the circle. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (C) in Figure: OEDrawOliveBranchCircle.

patternWidthRatio

Specifies the width of the pattern of the circle relative to its radius. The ratio has to be in a range of $$[0.01 - 1.00]$$.

See example (D) in Figure: OEDrawOliveBranchCircle.

## OEDrawOliveBranchSurfaceArc¶

bool OEDrawOliveBranchSurfaceArc(OEDepict::OEImageBase &image,
const OEDepict::OE2DPoint &center,
double bgnAngle, double endAngle, double radius,
const OEDepict::OEPen &pen,
double edgeAngle=10.0, double patternAngle=15.0,
double minPatternWidthRatio=0.15,
double maxPatternWidthRatio=0.15)


Draws an arc with the OESurfaceArcStyle_OliveBranch style.

OEDrawOliveBranchSurfaceArc

image
The image on which the arc is drawn.
center
The center of the arc.
bgnAngle, endAngle
The two endpoints of the arc. Both angles are in degrees and their values have to be in a range of $$[0.0^{\circ} - 360.0^{\circ}]$$. Angles are interpreted such that $$0.0^{\circ}$$ and $$360.0^{\circ}$$ degrees are at the 12 o’clock position, $$90.0^{\circ}$$ degrees corresponds to 3 o’clock, etc.
pen
The graphical properties of the arc.
edgeAngle

The angle (in degrees) between the end points of the arc and the points where the pattern of the arc starts.

See example (B) in Figure: OEDrawOliveBranchSurfaceArc.

patternAngle

Specifies the angle (in degrees) between the patterns of the arc. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (C) in Figure: OEDrawOliveBranchSurfaceArc.

minPatternWidthRatio, maxPatternWidthRatio

Specifies the width of the pattern of the arc relative to its radius. The min ratio is applied to the end of the arc while the max ratio specifies the width of the patterns at the middle of the arc. Both ratios have to be in a range of $$[0.01 - 1.00]$$.

See examples (D) and (E) in Figure: OEDrawOliveBranchSurfaceArc.

## OEDrawPearlsCircle¶

bool OEDrawPearlsCircle(OEDepict::OEImageBase &image,
const OEDepict::OEPen &pen, double patternAngle=15.0)


Draws a circle with the OECircleStyle_Pearls style.

OEDrawPearlsCircle

image
The image on which the circle is drawn.
center
The center of the circle.
pen

The graphical properties of the circle.

See examples (A) and (B) in Figure: OEDrawPearlsCircle.

patternAngle

Specifies the angle (in degrees) between the patterns of the circle. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (C) in Figure: OEDrawPearlsCircle.

## OEDrawPearlsSurfaceArc¶

bool OEDrawPearlsSurfaceArc(OEDepict::OEImageBase &image,
const OEDepict::OE2DPoint &center,
double bgnAngle, double endAngle, double radius,
const OEDepict::OEPen &pen, double edgeAngle=10.0,
double patternAngle=25.0,
double minPatternWidthRatio=0.20,
double maxPatternWidthRatio=0.20)


Draws an arc with the OESurfaceArcStyle_Pearls style.

OEDrawPearlsSurfaceArc

image
The image on which the arc is drawn.
center
The center of the arc.
bgnAngle, endAngle
The two endpoints of the arc. Both angles are in degrees and their values have to be in a range of $$[0.0^{\circ} - 360.0^{\circ}]$$. Angles are interpreted such that $$0.0^{\circ}$$ and $$360.0^{\circ}$$ degrees are at the 12 o’clock position, $$90.0^{\circ}$$ degrees corresponds to 3 o’clock, etc.
pen
The graphical properties of the arc.
edgeAngle

The angle (in degrees) between the end points of the arc and the points where the pattern of the arc starts.

See example (B) in Figure: OEDrawPearlsSurfaceArc.

patternAngle

Specifies the angle (in degrees) between the patterns of the arc. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (C) in Figure: OEDrawPearlsSurfaceArc.

minPatternWidthRatio, maxPatternWidthRatio

Specifies the width of the pattern of the arc relative to its radius. The min ratio is applied to the end of the arc while the max ratio specifies the width of the patterns at the middle of the arc. Both ratios have to be in a range of $$[0.01 - 1.00]$$.

See examples (D) and (E) in Figure: OEDrawPearlsSurfaceArc.

## OEDrawRaceTrackCircle¶

bool OEDrawRaceTrackCircle(OEDepict::OEImageBase &image,
const OEDepict::OEPen &pen)


Draws a circle with the OECircleStyle_RaceTrack style.

OEDrawRaceTrackCircle

image
The image on which the circle is drawn.
center
The center of the circle.
pen

The graphical properties of the circle.

See examples (A) and (B) in Figure: OEDrawRaceTrackCircle.

## OEDrawRaceTrackSurfaceArc¶

bool OEDrawRaceTrackSurfaceArc(OEDepict::OEImageBase &image,
const OEDepict::OE2DPoint &center,
double bgnAngle, double endAngle, double radius,
const OEDepict::OEPen &pen,
double edgeAngle=10.0)


Draws an arc with the OESurfaceArcStyle_RaceTrack style.

OEDrawRaceTrackSurfaceArc

image
The image on which the arc is drawn.
center
The center of the arc.
bgnAngle, endAngle
The two endpoints of the arc. Both angles are in degrees and their values have to be in a range of $$[0.0^{\circ} - 360.0^{\circ}]$$. Angles are interpreted such that $$0.0^{\circ}$$ and $$360.0^{\circ}$$ degrees are at the 12 o’clock position, $$90.0^{\circ}$$ degrees corresponds to 3 o’clock, etc.
pen
The graphical properties of the arc.
edgeAngle

The angle (in degrees) between the end points of the arc and the points where the pattern of the arc starts.

See example (B) in Figure: OEDrawRaceTrackSurfaceArc.

bool OEDrawRailroadTrackCircle(OEDepict::OEImageBase &image,
const OEDepict::OEPen &pen,
double patternAngle=10.0,
double patternWidthRatio=0.15)


Draws a circle with the OECircleStyle_RailroadTrack style.

image
The image on which the circle is drawn.
center
The center of the circle.
pen

The graphical properties of the circle.

See examples (A) and (B) in Figure: OEDrawRailroadTrackCircle.

patternAngle

Specifies the angle (in degrees) between the patterns of the circle. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (C) in Figure: OEDrawRailroadTrackCircle.

patternWidthRatio

Specifies the width of the pattern of the circle relative to its radius. The ratio has to be in a range of $$[0.01 - 1.00]$$.

See example (D) in Figure: OEDrawRailroadTrackCircle.

bool OEDrawRailroadTrackSurfaceArc(OEDepict::OEImageBase &image,
const OEDepict::OE2DPoint &center,
double bgnAngle, double endAngle, double radius,
const OEDepict::OEPen &pen,
double edgeAngle=10.0,
double patternAngle=10.0,
double minPatternWidthRatio=0.15,
double maxPatternWidthRatio=0.15)


Draws an arc with the OESurfaceArcStyle_RailroadTrack style.

image
The image on which the arc is drawn.
center
The center of the arc.
bgnAngle, endAngle
The two endpoints of the arc. Both angles are in degrees and their values have to be in a range of $$[0.0^{\circ} - 360.0^{\circ}]$$. Angles are interpreted such that $$0.0^{\circ}$$ and $$360.0^{\circ}$$ degrees are at the 12 o’clock position, $$90.0^{\circ}$$ degrees corresponds to 3 o’clock, etc.
pen
The graphical properties of the arc.
edgeAngle

The angle (in degrees) between the end points of the arc and the points where the pattern of the arc starts.

See example (B) in Figure: OEDrawRailroadTrackSurfaceArc.

patternAngle

Specifies the angle (in degrees) between the patterns of the arc. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (C) in Figure: OEDrawRailroadTrackSurfaceArc.

minPatternWidthRatio, maxPatternWidthRatio

Specifies the width of the pattern of the arc relative to its radius. The min ratio is applied to the end of the arc while the max ratio specifies the width of the patterns at the middle of the arc. Both ratios have to be in a range of $$[0.01 - 1.00]$$.

See examples (D) and (E) in Figure: OEDrawRailroadTrackSurfaceArc.

## OEDrawSawCircle¶

bool OEDrawSawCircle(OEDepict::OEImageBase &image,
const OEDepict::OEPen &pen,
unsigned int patternDirection=OEPatternDirection::Outside,
double patternAngle=15.0, double patternWidthRatio=0.15)


Draws a circle with the OECircleStyle_Saw style.

OEDrawSawCircle

image
The image on which the circle is drawn.
center
The center of the circle.
pen

The graphical properties of the circle.

See examples (A) and (B) in Figure: OEDrawSawCircle.

patternDirection

Specifies whether the pattern is drawn inside or outside of the circle. This value has to be from the OEPatternDirection namespace.

See example (C) in Figure: OEDrawSawCircle.

patternAngle

Specifies the angle (in degrees) between the patterns of the circle. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (D) in Figure: OEDrawSawCircle.

patternWidthRatio

Specifies the width of the pattern of the circle relative to its radius. The ratio has to be in a range of $$[0.01 - 1.00]$$.

See example (E) in Figure: OEDrawSawCircle.

## OEDrawSawSurfaceArc¶

bool OEDrawSawSurfaceArc(OEDepict::OEImageBase &image,
const OEDepict::OE2DPoint &center,
double bgnAngle, double endAngle, double radius,
const OEDepict::OEPen &pen, double edgeAngle=10.0,
unsigned int patternDirection=OEPatternDirection::Outside,
double patternAngle=15.0,
double minPatternWidthRatio=0.15,
double maxPatternWidthRatio=0.15)


Draws an arc with the OESurfaceArcStyle_Saw style.

OEDrawSawSurfaceArc

image
The image on which the arc is drawn.
center
The center of the arc.
bgnAngle, endAngle
The two endpoints of the arc. Both angles are in degrees and their values have to be in a range of $$[0.0^{\circ} - 360.0^{\circ}]$$. Angles are interpreted such that $$0.0^{\circ}$$ and $$360.0^{\circ}$$ degrees are at the 12 o’clock position, $$90.0^{\circ}$$ degrees corresponds to 3 o’clock, etc.
pen
The graphical properties of the arc.
edgeAngle

The angle (in degrees) between the end points of the arc and the points where the pattern of the arc starts.

See example (B) in Figure: OEDrawSawSurfaceArc.

patternDirection

Specifies whether the pattern is drawn inside or outside of the arc. This value has to be from the OEPatternDirection namespace.

See example (C) in Figure: OEDrawSawSurfaceArc.

patternAngle

Specifies the angle (in degrees) between the patterns of the arc. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (D) in Figure: OEDrawSawSurfaceArc.

minPatternWidthRatio, maxPatternWidthRatio

Specifies the width of the pattern of the arc relative to its radius. The min ratio is applied to the end of the arc while the max ratio specifies the width of the patterns at the middle of the arc. Both ratios have to be in a range of $$[0.01 - 1.00]$$.

See examples (E) and (F) in Figure: OEDrawSawSurfaceArc.

## OEDrawSimpsonCircle¶

bool OEDrawSimpsonCircle(OEDepict::OEImageBase &image,
const OEDepict::OEPen &pen, double patternAngle=10.0,
double patternWidthRatio=0.20)


Draws a circle with the OECircleStyle_Simpson style.

OEDrawSimpsonCircle

image
The image on which the circle is drawn.
center
The center of the circle.
pen

The graphical properties of the circle.

See examples (A) and (B) in Figure: OEDrawSimpsonCircle.

patternAngle

Specifies the angle (in degrees) between the patterns of the circle. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (C) in Figure: OEDrawSimpsonCircle.

patternWidthRatio

Specifies the width of the pattern of the circle relative to its radius. The ratio has to be in a range of $$[0.01 - 1.00]$$.

See example (D) in Figure: OEDrawSimpsonCircle.

## OEDrawSimpsonSurfaceArc¶

bool OEDrawSimpsonSurfaceArc(OEDepict::OEImageBase &image,
const OEDepict::OE2DPoint &center,
double bgnAngle, double endAngle, double radius,
const OEDepict::OEPen &pen, double edgeAngle=10.0,
double patternAngle=15.0,
double minPatternWidthRatio=0.20,
double maxPatternWidthRatio=0.20)


Draws an arc with the OESurfaceArcStyle_Simpson style.

OEDrawSimpsonSurfaceArc

image
The image on which the arc is drawn.
center
The center of the arc.
bgnAngle, endAngle
The two endpoints of the arc. Both angles are in degrees and their values have to be in a range of $$[0.0^{\circ} - 360.0^{\circ}]$$. Angles are interpreted such that $$0.0^{\circ}$$ and $$360.0^{\circ}$$ degrees are at the 12 o’clock position, $$90.0^{\circ}$$ degrees corresponds to 3 o’clock, etc.
pen
The graphical properties of the arc.
edgeAngle

The angle (in degrees) between the end points of the arc and the points where the pattern of the arc starts.

See example (B) in Figure: OEDrawSimpsonSurfaceArc.

patternAngle

Specifies the angle (in degrees) between the patterns of the arc. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (C) in Figure: OEDrawSimpsonSurfaceArc.

minPatternWidthRatio, maxPatternWidthRatio

Specifies the width of the pattern of the arc relative to its radius. The min ratio is applied to the end of the arc while the max ratio specifies the width of the patterns at the middle of the arc. Both ratios have to be in a range of $$[0.01 - 1.00]$$.

See examples (D) and (E) in Figure: OEDrawSimpsonSurfaceArc.

## OEDrawStitchCircle¶

bool OEDrawStitchCircle(OEDepict::OEImageBase &image,
const OEDepict::OEPen &pen, double patternAngle=10.0,
double patternWidthRatio=0.20)


Draws a circle with the OECircleStyle_Stitch style.

OEDrawStitchCircle

image
The image on which the circle is drawn.
center
The center of the circle.
pen

The graphical properties of the circle.

See examples (A) and (B) in Figure: OEDrawStitchCircle.

patternAngle

Specifies the angle (in degrees) between the patterns of the circle. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (C) in Figure: OEDrawStitchCircle.

patternWidthRatio

Specifies the width of the pattern of the circle relative to its radius. The ratio has to be in a range of $$[0.01 - 1.00]$$.

See example (D) in Figure: OEDrawStitchCircle.

## OEDrawStitchSurfaceArc¶

bool OEDrawStitchSurfaceArc(OEDepict::OEImageBase &image,
const OEDepict::OE2DPoint &center,
double bgnAngle, double endAngle, double radius,
const OEDepict::OEPen &pen, double edgeAngle=10.0,
double patternAngle=10.0,
double minPatternWidthRatio=0.20,
double maxPatternWidthRatio=0.20)


Draws an arc with the OESurfaceArcStyle_Stitch style.

OEDrawStitchSurfaceArc

image
The image on which the arc is drawn.
center
The center of the arc.
bgnAngle, endAngle
The two endpoints of the arc. Both angles are in degrees and their values have to be in a range of $$[0.0^{\circ} - 360.0^{\circ}]$$. Angles are interpreted such that $$0.0^{\circ}$$ and $$360.0^{\circ}$$ degrees are at the 12 o’clock position, $$90.0^{\circ}$$ degrees corresponds to 3 o’clock, etc.
pen
The graphical properties of the arc.
edgeAngle

The angle (in degrees) between the end points of the arc and the points where the pattern of the arc starts.

See example (B) in Figure: OEDrawStitchSurfaceArc.

patternAngle

Specifies the angle (in degrees) between the patterns of the arc. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (C) in Figure: OEDrawStitchSurfaceArc.

minPatternWidthRatio, maxPatternWidthRatio

Specifies the width of the pattern of the arc relative to its radius. The min ratio is applied to the end of the arc while the max ratio specifies the width of the patterns at the middle of the arc. Both ratios have to be in a range of $$[0.01 - 1.00]$$.

See examples (D) and (E) in Figure: OEDrawStitchSurfaceArc.

## OEDrawSunCircle¶

bool OEDrawSunCircle(OEDepict::OEImageBase &image,
const OEDepict::OEPen &pen,
unsigned int patternDirection=OEPatternDirection::Outside,
double patternAngle=15.0, double patternWidthRatio=0.15)


Draws a circle with the OECircleStyle_Sun style.

OEDrawSunCircle

image
The image on which the circle is drawn.
center
The center of the circle.
pen

The graphical properties of the circle.

See examples (A) and (B) in Figure: OEDrawSunCircle.

patternDirection

Specifies whether the pattern is drawn inside or outside of the circle. This value has to be from the OEPatternDirection namespace.

See example (C) in Figure: OEDrawSunCircle.

patternAngle

Specifies the angle (in degrees) between the patterns of the circle. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (D) in Figure: OEDrawSunCircle.

patternWidthRatio

Specifies the width of the pattern of the circle relative to its radius. The ratio has to be in a range of $$[0.01 - 1.00]$$.

See example (E) in Figure: OEDrawSunCircle.

## OEDrawSunSurfaceArc¶

bool OEDrawSunSurfaceArc(OEDepict::OEImageBase &image,
const OEDepict::OE2DPoint &center,
double bgnAngle, double endAngle, double radius,
const OEDepict::OEPen &pen, double edgeAngle=10.0,
unsigned int patternDirection=OEPatternDirection::Outside,
double patternAngle=15.0,
double minPatternWidthRatio=0.15,
double maxPatternWidthRatio=0.15)


Draws an arc with the OESurfaceArcStyle_Sun style.

OEDrawSunSurfaceArc

image
The image on which the arc is drawn.
center
The center of the arc.
bgnAngle, endAngle
The two endpoints of the arc. Both angles are in degrees and their values have to be in a range of $$[0.0^{\circ} - 360.0^{\circ}]$$. Angles are interpreted such that $$0.0^{\circ}$$ and $$360.0^{\circ}$$ degrees are at the 12 o’clock position, $$90.0^{\circ}$$ degrees corresponds to 3 o’clock, etc.
pen
The graphical properties of the arc.
edgeAngle

The angle (in degrees) between the end points of the arc and the points where the pattern of the arc starts.

See example (B) in Figure: OEDrawSunSurfaceArc.

patternDirection

Specifies whether the pattern is drawn inside or outside of the arc. This value has to be from the OEPatternDirection namespace.

See example (C) in Figure: OEDrawSunSurfaceArc.

patternAngle

Specifies the angle (in degrees) between the patterns of the arc. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (D) in Figure: OEDrawSunSurfaceArc.

minPatternWidthRatio, maxPatternWidthRatio

Specifies the width of the pattern of the arc relative to its radius. The min ratio is applied to the end of the arc while the max ratio specifies the width of the patterns at the middle of the arc. Both ratios have to be in a range of $$[0.01 - 1.00]$$.

See examples (E) and (F) in Figure: OEDrawSunSurfaceArc.

## OEDrawSurfaceArc¶

bool OEDrawSurfaceArc(OEDepict::OEImageBase &image, unsigned int style,
const OEDepict::OE2DPoint &center,
double bgnAngle, double endAngle, double radius,
const OEDepict::OEPen &pen)


Draws an arc with the given style.

image
The image on which the arc is drawn.
style
Specifies the style of the arc. This value has to be from the OESurfaceArcStyle namespace.
center
The center of the arc.
bgnAngle, endAngle
The two endpoints of the arc. Both angles are in degrees and their values have to be in a range of $$[0.0^{\circ} - 360.0^{\circ}]$$. Angles are interpreted such that $$0.0^{\circ}$$ and $$360.0^{\circ}$$ degrees are at the 12 o’clock position, $$90.0^{\circ}$$ degrees corresponds to 3 o’clock, etc.
pen
The graphical properties of the arc.

## OEDrawWreathCircle¶

bool OEDrawWreathCircle(OEDepict::OEImageBase &image,
const OEDepict::OEPen &pen, double patternAngle=15.0,
double patternWidthRatio=0.20)


Draws a circle with the OECircleStyle_Wreath style.

OEDrawWreathCircle

image
The image on which the circle is drawn.
center
The center of the circle.
pen

The graphical properties of the circle.

See examples (A) and (B) in Figure: OEDrawWreathCircle.

patternAngle

Specifies the angle (in degrees) between the patterns of the circle. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (C) in Figure: OEDrawWreathCircle.

patternWidthRatio

Specifies the width of the pattern of the circle relative to its radius. The ratio has to be in a range of $$[0.01 - 1.00]$$.

See example (D) in Figure: OEDrawWreathCircle.

## OEDrawWreathSurfaceArc¶

bool OEDrawWreathSurfaceArc(OEDepict::OEImageBase &image,
const OEDepict::OE2DPoint &center,
double bgnAngle, double endAngle, double radius,
const OEDepict::OEPen &pen, double edgeAngle=10.0,
double patternAngle=20.0,
double minPatternWidthRatio=0.15,
double maxPatternWidthRatio=0.15)


Draws an arc with the OESurfaceArcStyle_Wreath style.

OEDrawWreathSurfaceArc

image
The image on which the arc is drawn.
center
The center of the arc.
bgnAngle, endAngle
The two endpoints of the arc. Both angles are in degrees and their values have to be in a range of $$[0.0^{\circ} - 360.0^{\circ}]$$. Angles are interpreted such that $$0.0^{\circ}$$ and $$360.0^{\circ}$$ degrees are at the 12 o’clock position, $$90.0^{\circ}$$ degrees corresponds to 3 o’clock, etc.
pen
The graphical properties of the arc.
edgeAngle

The angle (in degrees) between the end points of the arc and the points where the pattern of the arc starts.

See example (B) in Figure: OEDrawWreathSurfaceArc.

patternAngle

Specifies the angle (in degrees) between the patterns of the arc. The angle has to be in a range of $$[1.0^{\circ} - 90.0^{\circ}]$$

See example (C) in Figure: OEDrawWreathSurfaceArc.

minPatternWidthRatio, maxPatternWidthRatio

Specifies the width of the pattern of the arc relative to its radius. The min ratio is applied to the end of the arc while the max ratio specifies the width of the patterns at the middle of the arc. Both ratios have to be in a range of $$[0.01 - 1.00]$$.

See examples (D) and (E) in Figure: OEDrawWreathSurfaceArc.

## OEGet2DSurfaceArcs¶

OESystem::OEIterBase<OESurfaceArc> *
OEGet2DSurfaceArcs(const OEDepict::OE2DMolDisplay &disp,


Returns an iterator over the OESurfaceArc objects from which a continuous 2D molecule surface can be drawn. See Figure: Example of the data stored in the OESurfaceArc class.

disp
The OE2DMolDisplay object for which the arcs of the 2D molecule surface are generated.
The multiplier used to modify the radius of the returned arcs. The scaling factor has to be in the range of [OESurfaceArcScale_Minimum, OESurfaceArcScale_Maximum].

Example of the data stored in the OESurfaceArc class

OESystem::OEIterBase<OESurfaceArc> *
OEGet2DSurfaceArcs(const OEDepict::OE2DMolDisplay &mdisp,


Returns an iterator over the OESurfaceArc object(s) generated for the given atom display. See Figure: Example of the arcs returned for an atom display with various radius scales.

mdisp
The OE2DMolDisplay object to which the OE2DAtomDisplay object belongs.
The OE2DAtomDisplay object for which the arc(s) of the 2D molecule surface are generated.
The multiplier used to modify the radius of the returned arcs. The scaling factor has to be in the range of [OESurfaceArcScale_Minimum, OESurfaceArcScale_Maximum].
OESystem::OEIterBase<OESurfaceArc> *
OEGet2DSurfaceArcs(const OEDepict::OE2DMolDisplay &disp,


Returns an iterator over the OESurfaceArc objects from which a continuous 2D molecule surface can be drawn.

disp
The OE2DMolDisplay object for which the arcs of the 2D molecule surface are generated.
The multipliers used to modify the radius of the returned arcs. The vector has to be OEMolBase.GetMaxAtomIdx long. Each scaling factor has to be in the range of [OESurfaceArcScale_Minimum, OESurfaceArcScale_Maximum].

## OEGetMoleculeSurfaceScale¶

double OEGetMoleculeSurfaceScale(const OEChem::OEMolBase &mol,
const OEDepict::OE2DMolDisplayOptions &opts,


Estimates the scaling factor of the molecule depiction considering the size of the molecule surface being drawn around the molecule diagram. See Figure: Example of using the OEGetMoleculeSurfaceScale function.

mol
The molecule for which the scaling factor is determined.
opts
The OE2DMolDisplayOptions object that stores the parameters which influence the calculated scaling factor (such as the width and the height of the image).
The maximum radius multiplier used to generate the arcs of the 2D molecule surface.

Example of using the OEGetMoleculeSurfaceScale function

## OEGetSurfaceArcFxn¶

const OESurfaceArcFxnBase &OEGetSurfaceArcFxn(const OEChem::OEAtomBase *atom)


Returns the surface drawing functor that is associated with the given atom, i.e., when calling the OEDraw2DSurface function this return functor is used to draw the arc segment of the given atom.

## OEGraphemeGetArch¶

const char *OEGraphemeGetArch()


bool OEGraphemeGetLicensee(std::string &licensee)


## OEGraphemeGetPlatform¶

const char *OEGraphemeGetPlatform()


## OEGraphemeGetRelease¶

const char *OEGraphemeGetRelease()


## OEGraphemeGetSite¶

bool OEGraphemeGetSite(std::string &site)


## OEGraphemeGetVersion¶

unsigned int OEGraphemeGetVersion()


bool OEGraphemeIsLicensed(const char *feature=0,
unsigned int *expdate=0)


## OEHasSurfaceArcFxn¶

bool OEHasSurfaceArcFxn(const OEChem::OEAtomBase *atom)


Returns whether or not a surface drawing functor is associated with the given atom.

## OEPrepareActiveSiteDepiction¶

bool OEPrepareActiveSiteDepiction(OEBio::OEFragmentNetwork &asite)


Prepares an active site before depiction that involves suppressing hydrogens and calculate distances between the accessible surfaces of the ligand and the surrounding protein.

## OEPrepareAlignedDepictionFrom3D¶

bool OEPrepareAlignedDepictionFrom3D(OEChem::OEMolBase &fitmol2D,
const OEChem::OEMolBase &fitmol3D,
const OEChem::OEMolBase &refmol2D,
const OEChem::OEMolBase &refmol3D,
bool clearCoords=true, bool suppressH=true)


Generates the 2D coordinates of a molecule driven by the 3D overlay of the 3D reference and the 3D fit molecules and the orientation of the 2D reference molecule.

fitmol2D
The molecule for which 2D coordinates are generated.
refmol2D
The 2D molecule whose orientation drives the 2D coordinate generation.
fitmol3D, refmol3D
The 3D molecules whose overlay drives the 2D coordinate generation.
clearCoords
If false and the fitmol2D has 2D coordinates, then these coordinates are used for the alignment. Otherwise the 2D coordinates of the fitted molecule are generated by calling the OEPrepareDepictionFrom3D function.
suppressH
If true, then explicit hydrogens are suppressed when generating the 2D coordinates of the fitted molecule. Only hydrogens that are necessary to faithfully represent tetrahedral stereochemistry will be kept.

The following code snippet shows how to use the OEPrepareAlignedDepictionFrom3D function. See generated images in Table: 2D depiction based on 3D molecule overlay.

refmol2D = OEGraphMol(refmol3D)
OEPrepareDepictionFrom3D(refmol2D)

fitmol2D = OEGraphMol(fitmol3D)
OEPrepareAlignedDepictionFrom3D(fitmol2D, fitmol3D, refmol2D, refmol3D)

width, height = 300, 300
opts = OE2DMolDisplayOptions(width, height, OEScale_AutoScale)
refscale = OEGetMoleculeScale(refmol2D, opts)
fitscale = OEGetMoleculeScale(fitmol2D, opts)
opts.SetScale(min(refscale, fitscale))

refdisp = OE2DMolDisplay(refmol2D, opts)
OERenderMolecule("OEPrepareAlignedDepictionFrom3D-ref-2D.png", refdisp)

fitdisp = OE2DMolDisplay(fitmol2D, opts)
OERenderMolecule("OEPrepareAlignedDepictionFrom3D-fit-2D.png", fitdisp)

 3D reference molecule 3D molecule overlay 3D fit molecule 2D reference molecule (generated by OEPrepareDepictionFrom3D) 2D fit molecule (generated by OEPrepareAlignedDepictionFrom3D)

## OEPrepareDepictionFrom3D¶

bool OEPrepareDepictionFrom3D(OEChem::OEMolBase &mol, bool suppressH=true)


Takes a 3D molecule and generates its 2D coordinates. The layout and orientation of the 2D coordinates are driven by the 3D coordinates.

mol
The 3D molecule for which 2D coordinates are generated.
suppressH
If true, then explicit hydrogens are suppressed in the input molecule. Only hydrogens that are necessary to faithfully represent tetrahedral stereochemistry will be kept.
bool OEPrepareDepictionFrom3D(OEChem::OEMolBase &mol, const OEDepictionFrom3DOptions &opts)


Takes a 3D molecule and generates its 2D coordinates using the given options. The layout and orientation of the 2D coordinates are driven by the 3D coordinates.

mol
The 3D molecule for which 2D coordinates are generated.
opts
The OEDepictionFrom3DOptions object that stores properties that used when generating the 2D coordinates.

See the 2D molecule depictions in Table: 2D representation of the 3D molecule and the corresponding 3D molecule in Figure: Example of 3D molecule displayed in VIDA.

Example of 3D molecule displayed in VIDA

 OEPrepareDepictionFrom3D OEPrepareDepiction

## OERenderActiveSite¶

The overloaded versions of the OERenderActiveSite function
OERenderActiveSite(image, adisp) renders a active site into an image
OERenderActiveSite(filename, adisp) writes an active site display into a file
OERenderActiveSite(stream, ext, adisp) writes an active site display into an output stream

Example of using the OERenderActiveSite function

bool OERenderActiveSite(OEDepict::OEImageBase &image,


Renders the active site display into an image.

image
The image in which the active site is drawn.
The OE2DActiveSiteDisplay object that holds the data necessary to depict the interactions of an active site.

Example:

# initializing asite OEFragmentNetwork(receptor, ligand) object

image = OEImage(600.0, 400.0)
opts = OE2DActiveSiteDisplayOptions(image.GetWidth(), image.GetHeight())



bool OERenderActiveSite(const std::string &filename,


Writes the active site display into a file.

filename
The name of the file into which the active site display is being written. The extension of the filename determine the type of the image.
The OE2DActiveSiteDisplay object that holds the data necessary to depict the interactions of an active site.

Example:

# initializing asite OEFragmentNetwork(receptor, ligand) object

opts = OE2DActiveSiteDisplayOptions(600.0, 400.0)



bool OERenderActiveSite(OEPlatform::oeostream &os,
const std::string &extension,


Writes the active site display into a stream.

os
The stream into which the active site is being written.
ext
The extension which determine the type of the image.
The OE2DActiveSiteDisplay object that holds the data necessary to depict the interactions of an active site.

Example:

# initializing asite OEFragmentNetwork(receptor, ligand) object

opts = OE2DActiveSiteDisplayOptions(600.0, 400.0)



## OERenderColorOverlap¶

void OERenderColorOverlap(OEDepict::OEImageBase &image,
const OEShapeOverlapDisplay &odisp)


Renders the color overlap between a reference and a fit molecule.

image
The image on which the fit molecule is rendered along with circles representing the satisfied and missed color atoms of the reference molecule.
odisp
The OEShapeOverlapDisplay object that holds the data necessary to depict the color overlap between the reference and the fit molecules.

The following code snippet shows how to use the OERenderColorOverlap function. The image created is shown in Table: Example of using the OERenderColorOverlap function.

cff = OEColorForceField()
cff.Init(OEColorFFType_ImplicitMillsDean)
qdisp = OEShapeQueryDisplay(refmol, cff)

opts = OEColorOverlapDisplayOptions()
opts.SetTitleLocation(OETitleLocation_Hidden)
arcpen = OEPen(OEGrey, OEGrey, OEFill_Off, 2.0, OEStipple_ShortDash)
opts.SetQuerySurfaceArcFxn(OEDefaultArcFxn(arcpen))
odisp = OEShapeOverlapDisplay(qdisp, fitmol, opts)

image = OEImage(420.0, 280.0)
OERenderColorOverlap(image, odisp)


Note

The color atom matches between the reference and the fit molecule are represented by circles (or half circles if two color atoms occupy the same space in 3D). Each circle corresponds to a color atom in the reference molecule. The color of the circle indicates the fitness of the color atom match in 3D. The lighter the color, the smaller the overlap between the reference and fit color atoms in 3D. Unfilled circles represent unmatched reference color atoms. If there is a good color atom match exist for a reference color atom in 3D, then the circle representing the color atom is positioned to the matching fit color atom in 2D.

 (A) reference molecule (shape query) (B) fit molecule shape query depicted by the OERenderShapeQuery function color atom overlap depicted by the OERenderColorOverlap function

Warning

When calling the OERenderColorOverlap function no overlay is performed to maximize the color overlap between the reference and the fit molecule, i.e., the function simply calculates the color overlap using the given 3D coordinates.

## OERenderShapeOverlap¶

void OERenderShapeOverlap(OEDepict::OEImageBase &image,
const OEShapeOverlapDisplay &odisp)


Renders the shape overlap between a reference and a fit molecule.

image
The image on which the fit molecule is rendered along with the property map and the molecule surface of the reference molecule representing the shape overlap.
odisp
The OEShapeOverlapDisplay object that holds the data necessary to depict the shape overlap between the reference and the fit molecules.

The following code snippet shows how to use the OERenderShapeOverlap function. The image created is shown in Table: Example of using the OERenderShapeOverlap function.

cff = OEColorForceField()
cff.Init(OEColorFFType_ImplicitMillsDean)
qdisp = OEShapeQueryDisplay(refmol, cff)

opts = OEShapeOverlapDisplayOptions()
opts.SetTitleLocation(OETitleLocation_Hidden)
arcpen = OEPen(OEGrey, OEGrey, OEFill_Off, 2.0, OEStipple_ShortDash)
opts.SetQuerySurfaceArcFxn(OEDefaultArcFxn(arcpen))
odisp = OEShapeOverlapDisplay(qdisp, fitmol, opts)

image = OEImage(420.0, 280.0)
OERenderShapeOverlap(image, odisp)


Note

The shape overlap between the reference and the fit molecule is visualized by using a property map (OE2DPropMap), i.e., a 2D grid, laid underneath the molecule structure, where the cells of the grid that are colored brown indicate good 3D shape overlap between the reference and the fit molecules. Additionally, clashes between the molecular graph of the fit molecule and 2D molecule surface of the reference structure imply shape mismatch in 3D.

 (A) reference molecule (shape query) (B) fit molecule shape query depicted by the OERenderShapeQuery function shape overlap depicted by the OERenderShapeOverlap function

Warning

When calling the OERenderShapeOverlap function no overlay is performed to maximize the color overlap between the reference and the fit molecule, i.e., the function simply calculates the shape overlap using the given 3D coordinates.

## OERenderShapeQuery¶

void OERenderShapeQuery(OEDepict::OEImageBase &image,
const OEShapeQueryDisplay &disp)


Renders the reference molecule of the shape overlap.

image
The image on which the reference molecule is rendered.
disp
The OEShapeQueryDisplay object that holds the data necessary to depict the reference molecule of a shape overlap.

The following code snippet shows how to use the OERenderShapeQuery function. The image created is shown in Figure: Example of using the OERenderShapeQuery function.

opts = OEShapeQueryDisplayOptions()
opts.SetTitleLocation(OETitleLocation_Hidden)
arcpen = OEPen(OEWhite, OELightGrey, OEFill_On, 2.0)
opts.SetSurfaceArcFxn(OEDefaultArcFxn(arcpen))

cff = OEColorForceField()
cff.Init(OEColorFFType_ImplicitMillsDean)
disp = OEShapeQueryDisplay(refmol, cff, opts)

image = OEImage(420.0, 280.0)
OERenderShapeQuery(image, disp)


Example of using the OERenderShapeQuery function

## OESetSurfaceArcFxn¶

bool OESetSurfaceArcFxn(OEChem::OEMolBase& mol,
OEChem::OEAtomBase *atom,
const OESurfaceArcFxnBase &func)


Attaches the arc drawing functor to the given atom.

mol
The molecule the atom belongs to.
atom
The atom to which the functor will be attached.
func
The functor that will be used to draw the arc segment(s) of the molecule surface that correspond(s) to the given atom when the OEDraw2DSurface function in invoked.

bool OESetup2DPropMap(OE2DPropMap &propmap, const OESystem::OEInterface &itf)