Module

LayeredLayout.Result

Package
purescript-layered-layout
Repository
markgrafhq/purescript-layered-layout

#EdgeSegment Source

type EdgeSegment = { direction :: Direction, end :: GridPos, start :: GridPos }

#LineJump Source

type LineJump = { crossingEdge :: EdgeId, position :: GridPos }

#EdgePath Source

type EdgePath = { bendType :: Array BendType, bends :: Array GridPos, edge :: EdgeId, jumps :: Array LineJump, reversed :: Boolean, segments :: Array EdgeSegment }

#NodePlacement Source

type NodePlacement = { layer :: Int, node :: NodeId, order :: Int, position :: GridPos, size :: GridSize }

#EdgeLabelPlacement Source

type EdgeLabelPlacement = { edge :: EdgeId, position :: GridPos, size :: GridSize }

Center edge-label geometry in fine/router-grid units.

#Metrics Source

type Metrics = { bendCount :: Int, constraintViolations :: Int, crossingCount :: Int, jumpCount :: Int, maxEdgeLength :: Number, nodeOverlapCount :: Int, totalEdgeLength :: Number }

#LayoutResult Source

type LayoutResult = { boundingBox :: GridRect, edgeLabels :: Array EdgeLabelPlacement, edges :: Array EdgePath, metrics :: Metrics, nodes :: Array NodePlacement }

#readEnum Source

readEnum :: forall a rep. Generic a rep => GenericEnumSumRep rep => Foreign -> F a

#writeEnum Source

writeEnum :: forall a rep. Generic a rep => GenericEnumSumRep rep => a -> Foreign