Project

ChartForgeX

Render deterministic charts, dashboards, topology, hierarchy, and report visuals directly from .NET.

Stars 47
Forks 2
NuGet downloads 75,067
Release ChartForgeX-v2.0.0
Language: HTML Updated: 2026-10-12

API Reference

Class

TopologyIconCatalog

Namespace ChartForgeX.Topology
Assembly ChartForgeX
Modifiers sealed

Defines reusable topology icon packs for product-neutral and vendor-specific diagrams.

Inheritance

  • Object
  • TopologyIconCatalog

Usage

Explore 55 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.

Accepted by parameters 40

Constructors

public TopologyIconCatalog() #

Methods

public TopologyIconCatalog AddOrReplacePack(TopologyIconPack pack) #
Returns: TopologyIconCatalog

Adds an icon pack or replaces an existing pack with the same id.

Parameters

pack ChartForgeX.Topology.TopologyIconPack requiredposition: 0
The pack to add or replace.

Returns

The current catalog.

public TopologyIconCatalog AddPack(TopologyIconPack pack) #
Returns: TopologyIconCatalog

Adds an icon pack to the catalog.

Parameters

pack ChartForgeX.Topology.TopologyIconPack requiredposition: 0
The pack to add.

Returns

The current catalog.

public TopologyIconCatalog Clone() #
Returns: TopologyIconCatalog

Creates an independent deep copy of the catalog, its packs, icons, artwork, tags, and metadata.

public Boolean ContainsPack(String packId) #
Returns: Boolean

Returns whether a pack id is already registered.

Parameters

packId System.String requiredposition: 0
The pack id.

Returns

True when the pack id exists.

public static TopologyIconCatalog Default() #
Returns: TopologyIconCatalog

Creates a catalog with the built-in topology icon packs.

Returns

A catalog containing the built-in icon packs.

public TopologyIconCatalog RemovePack(String packId) #
Returns: TopologyIconCatalog

Removes a registered icon pack by id.

Parameters

packId System.String requiredposition: 0
The pack id.

Returns

The current catalog.

public TopologyIconDefinition? Resolve(String? iconId) #
Returns: TopologyIconDefinition?

Resolves an icon by fully qualified id such as network:switch, or by unique local id.

Parameters

iconId System.String? requiredposition: 0
The icon id.

Returns

The resolved icon definition, or null when no icon matches.

Properties

public IReadOnlyList<TopologyIconPack> Packs { get; } #

Gets the registered icon packs.

Extension Methods

AddJsonPack 2 overloads
public static TopologyIconCatalog AddJsonPack(TopologyIconCatalog catalog, String json) #
Returns: TopologyIconCatalog

Adds a JSON manifest icon pack to the catalog.

Parameters

catalog ChartForgeX.Topology.TopologyIconCatalog requiredposition: 0
The target catalog.
json System.String requiredposition: 1
The JSON manifest.

Returns

The current catalog.

public static TopologyIconCatalog AddJsonPack(TopologyIconCatalog catalog, TextReader reader) #
Returns: TopologyIconCatalog

Adds a JSON manifest icon pack read from a text reader to the catalog.

Parameters

catalog ChartForgeX.Topology.TopologyIconCatalog requiredposition: 0
The target catalog.
reader System.IO.TextReader requiredposition: 1
The source text reader.

Returns

The current catalog.

public static TopologyIconCatalog AddJsonPackFile(TopologyIconCatalog catalog, String path) #
Returns: TopologyIconCatalog

Adds a JSON manifest icon pack read from a file to the catalog.

Parameters

catalog ChartForgeX.Topology.TopologyIconCatalog requiredposition: 0
The target catalog.
path System.String requiredposition: 1
The manifest file path.

Returns

The current catalog.

public static TopologyIconCatalog AddJsonPacksFromDirectory(TopologyIconCatalog catalog, String directoryPath, String searchPattern = "*.json", Boolean recursive = false) #
Returns: TopologyIconCatalog

Adds all JSON icon-pack manifests from a directory to the catalog in deterministic file-name order.

Parameters

catalog ChartForgeX.Topology.TopologyIconCatalog requiredposition: 0
The target catalog.
directoryPath System.String requiredposition: 1
The source directory path.
searchPattern System.String = "*.json" optionalposition: 2
The file search pattern.
recursive System.Boolean = false optionalposition: 3
Whether child directories should be searched.

Returns

The current catalog.

public static IReadOnlyList<String> GetCategories(TopologyIconCatalog catalog, TopologyIconCatalogQuery? query = null) #
Returns: IReadOnlyList<String>

Returns matching icon categories in deterministic order.

Parameters

catalog ChartForgeX.Topology.TopologyIconCatalog requiredposition: 0
query ChartForgeX.Topology.TopologyIconCatalogQuery? = null optionalposition: 1
public static IReadOnlyList<String> GetPackIds(TopologyIconCatalog catalog, TopologyIconCatalogQuery? query = null) #
Returns: IReadOnlyList<String>

Returns matching pack ids in catalog order.

Parameters

catalog ChartForgeX.Topology.TopologyIconCatalog requiredposition: 0
query ChartForgeX.Topology.TopologyIconCatalogQuery? = null optionalposition: 1
public static IReadOnlyList<TopologyIconPackSummary> GetPackSummaries(TopologyIconCatalog catalog, TopologyIconCatalogQuery? query = null) #
Returns: IReadOnlyList<TopologyIconPackSummary>

Returns icon-pack summaries in catalog order.

Parameters

catalog ChartForgeX.Topology.TopologyIconCatalog requiredposition: 0
query ChartForgeX.Topology.TopologyIconCatalogQuery? = null optionalposition: 1
public static IReadOnlyList<String> GetTags(TopologyIconCatalog catalog, TopologyIconCatalogQuery? query = null) #
Returns: IReadOnlyList<String>

Returns matching search tags in deterministic order.

Parameters

catalog ChartForgeX.Topology.TopologyIconCatalog requiredposition: 0
query ChartForgeX.Topology.TopologyIconCatalogQuery? = null optionalposition: 1
public static IReadOnlyList<String> GetVendors(TopologyIconCatalog catalog, TopologyIconCatalogQuery? query = null) #
Returns: IReadOnlyList<String>

Returns matching vendors in deterministic order.

Parameters

catalog ChartForgeX.Topology.TopologyIconCatalog requiredposition: 0
query ChartForgeX.Topology.TopologyIconCatalogQuery? = null optionalposition: 1
public static IReadOnlyList<TopologyIconVendorSummary> GetVendorSummaries(TopologyIconCatalog catalog, TopologyIconCatalogQuery? query = null) #
Returns: IReadOnlyList<TopologyIconVendorSummary>

Returns vendor/source folders for matching icon packs.

Parameters

catalog ChartForgeX.Topology.TopologyIconCatalog requiredposition: 0
query ChartForgeX.Topology.TopologyIconCatalogQuery? = null optionalposition: 1
public static IReadOnlyList<String> SaveJsonManifestsToDirectory(TopologyIconCatalog catalog, String directoryPath, TopologyIconCatalogExportOptions? options = null) #
Returns: IReadOnlyList<String>

Exports matching icon packs to deterministic JSON manifest files.

Parameters

catalog ChartForgeX.Topology.TopologyIconCatalog requiredposition: 0
The source catalog.
directoryPath System.String requiredposition: 1
The target directory.
options ChartForgeX.Topology.TopologyIconCatalogExportOptions? = null optionalposition: 2
Optional export settings.

Returns

The exported manifest file paths.

public static IReadOnlyList<TopologyIconCatalogItem> Search(TopologyIconCatalog catalog, TopologyIconCatalogQuery? query = null) #
Returns: IReadOnlyList<TopologyIconCatalogItem>

Returns catalog icons that match the supplied query.

Parameters

catalog ChartForgeX.Topology.TopologyIconCatalog requiredposition: 0
query ChartForgeX.Topology.TopologyIconCatalogQuery? = null optionalposition: 1
public static TopologyChart ToPaletteChart(TopologyIconCatalog catalog, TopologyIconPaletteOptions? options = null) #
Returns: TopologyChart

Builds a topology chart that displays every icon in the catalog grouped by pack.

Parameters

catalog ChartForgeX.Topology.TopologyIconCatalog requiredposition: 0
The source icon catalog.
options ChartForgeX.Topology.TopologyIconPaletteOptions? = null optionalposition: 1
Optional palette layout settings.

Returns

A topology chart that can be rendered as SVG, PNG, or interactive HTML.

public static String ToStencilBrowserHtmlPage(TopologyIconCatalog catalog, TopologyIconStencilBrowserOptions? options = null) #
Returns: String

Builds a complete HTML page with catalog folders, filters, a palette diagram, and selection details.

Parameters

catalog ChartForgeX.Topology.TopologyIconCatalog requiredposition: 0
The source icon catalog.
options ChartForgeX.Interactivity.Html.TopologyIconStencilBrowserOptions? = null optionalposition: 1
Optional stencil browser settings.

Returns

A complete HTML document.

public static TopologyIconCatalogValidationResult Validate(TopologyIconCatalog catalog) #
Returns: TopologyIconCatalogValidationResult

Validates all icon packs in a catalog.

Parameters

catalog ChartForgeX.Topology.TopologyIconCatalog requiredposition: 0
The icon catalog to validate.

Returns

Validation diagnostics for the catalog.