Skip to content
ChartForgeX
Class

TopologyCellLayout

ChartForgeX.Topology

Namespace
ChartForgeX.Topology
Assembly
ChartForgeX
Modifiers
sealed

Projects a prepared topology into terminal cells. The topology layout engine places nodes and routes edges once; this projection fits it to a character grid and routes around the resulting cell obstacles. Automatic grouped diagrams reuse compound ranking to pack related regions; authored positions keep their prepared placement. Paint it with TopologyCellLayout.Paint for text or for a terminal widget.

Inheritance

  • object
  • TopologyCellLayout

Usage

Explore 1 API references to this type

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Returned or exposed by 1

Methods

public static TopologyCellLayout Create(PreparedTopology prepared, TopologyCellLayoutOptions? options = null) #

Projects a prepared topology into terminal cells.

Parameters

prepared ChartForgeX.Topology.PreparedTopology required
The prepared topology. Its layout is reused as is.
options ChartForgeX.Topology.TopologyCellLayoutOptions? = null optional
Optional projection options.

Returns

TopologyCellLayout The cell layout.
public TopologyCellNode? FindNode(string id) #

Finds a placed node by id.

Parameters

id string required
public TopologyCellNode? NodeAt(int column, int row) #

Returns the node under a cell, or null.

Parameters

column int required
row int required
public TopologyCellCanvas Paint(TopologyCellPaintOptions? options = null) #

Paints the layout into a character grid. Painting is cheap, so hosts repaint for every step, focus change, or live value.

Parameters

options ChartForgeX.Topology.TopologyCellPaintOptions? = null optional
Optional paint options.

Returns

TopologyCellCanvas The painted canvas.

Properties

public string? Title { get; } #

Gets the topology title, or null.

public int Columns { get; } #

Gets the width in cells.

public int Rows { get; } #

Gets the height in cells, without the legend.

public IReadOnlyList<TopologyCellNode> Nodes { get; } #

Gets the placed nodes.

public IReadOnlyList<TopologyCellGroup> Groups { get; } #

Gets the placed groups, parents before children.

public IReadOnlyList<TopologyCellEdge> Edges { get; } #

Gets the placed edges.