Idris2Doc : CyBy.Draw.Internal.DoubleBond

CyBy.Draw.Internal.DoubleBond

(source)
This module containes the logic for properly placing double bonds, especiall
the pi-part of those bonds. We use a simple heuristic to place the pi-bond:

In case of a double bond with three substituents, the pi bond will be placed
on the same side of the sigma bond as the lone substituent.

In case of a double bond with four substituents, the dominant cycle
(if any; see below) will be determined, and the pi-bond will be placed
within that cycle.

In all other cases, a symmetric double with both lines being displaced
from the center by the same amount of space, will be displayed.

In order to define the dominant cycle to which a double bond belongs,
rings will be sorted by number of multiple bonds and then by ring size.
Six membered rings will always be preferred over other ring sizes.

Definitions

parallelLine : Double->Bool->PointId->PointId-> (PointId, PointId)
Totality: total
Visibility: export
ParallelDistance : CoreDims=>Double
  Distance between the lines of a double or triple bond.

Totality: total
Visibility: export
HalfParallelDistance : CoreDims=>Double
  Half the distance between the lines of a double or triple bond.

Totality: total
Visibility: export
dblBond : CoreDims=>CDIGraphk->Fink->Fink->PointId->PointId->PointId->PointId->Vect4 (PointId)
Totality: total
Visibility: export