Idris2Doc : Geom.Gen2D.State

Geom.Gen2D.State

(source)

Reexports

importpublic Data.Graph.Indexed
importpublic Data.Linear.List
importpublic Data.Linear.Ref1
importpublic Data.Linear.Traverse1
importpublic Data.Refined
importpublic Geom
importpublic Syntax.T1

Definitions

BOND_LEN : Double
Totality: total
Visibility: export
recordPlaceST : Type->Nat->Type
  Internal state for iteratively placing (parts of) the atoms
in a molecule.

It keeps track of the atoms that have been placed so far
but also of the current center of the placed atoms.

Totality: total
Visibility: export
Constructor: 
PST : MArraysk (Maybe (PointMol)) ->RefsMolPoint->RefsNat->PlaceSTsk

Projections:
.placed : PlaceSTsk->RefsNat
.pos : PlaceSTsk->MArraysk (Maybe (PointMol))
.psum : PlaceSTsk->RefsMolPoint
placeST : (k : Nat) ->F1s (PlaceSTsk)
  Creates a new state for coordinate generation with all
coordinates being currently unset and the current center
at the origin.

Totality: total
Visibility: export
place : PlaceSTsk=>Fink->PointMol->F1's
  Sets the coordinate of the given node.

This can also be used to re-place a node that was already
placed. The center of all placed nodes is updated accordingly.

Totality: total
Visibility: export
unplace : PlaceSTsk=>Fink->F1's
  Marks the given node as unplaced by removing its
entry from the array of coordinates and adjusting the
center of placed nodes accordingly.

In case the node is already unset, this is a no-op.

Totality: total
Visibility: export
nodePosition : PlaceSTsk=>Fink->F1sMolPoint
  Returns the current coordinate of the given node.

Returns the origin in case the node is currently unplaced.

Totality: total
Visibility: export
bondVector : PlaceSTsk=>Fink->Fink->F1sMolVector
  Returns the vector connecting the two nodes by subtracit
the position of `x` from the one of `y`.

Totality: total
Visibility: export
isPlaced : PlaceSTsk=>Fink->F1sBool
  True, if the given node is currently placed.

Totality: total
Visibility: export
center : PlaceSTsk=>F1sMolPoint
  Returns the center of the currently placed nodes.

Totality: total
Visibility: export
centerOf : PlaceSTsk=>List (Fink) ->F1sMolPoint
  Computes the center of the given nodes.

This uses `nodePosition` internally, therefore, if one of the
has not yet been placed, it will be placed at the origin.

Totality: total
Visibility: export
getPoints : PlaceSTsk->F1s (IArrayk (PointMol))
  Returns the current node positions in an immutable array.

Unplaced nodes will be put at the origin.

Totality: total
Visibility: export
adjPoint : PlaceSTsk=> (PointMol->PointMol) ->Fink->F1's
  Adjusts the position of the given node by applying the
given function.

Totality: total
Visibility: export