Network family
API reference for Beep.Skia.Network (30 public types)
Complete API surface of the Beep.Skia.Network assembly: 30 public types with their documented members. Follow the family guide for usage patterns.
Types in this assembly
CentralityMeasureclassCentralityTypeenumCommunityclassCommunityAlgorithmenumCommunityDetectorclassExportCompletedEventArgsclassExportFailedEventArgsclassExportFormatenumExportOptionsclassExportPanelclassFilterChangedEventArgsclassFilterPanelclassGraphNavigatorclassLayoutAlgorithmenumLayoutChangedEventArgsclassLayoutParametersclassLayoutParametersChangedEventArgsclassLayoutSelectorclassNetworkAlgorithmsclassNetworkAnalyzerclassNetworkControlclassNetworkGraphclassNetworkLinkclassNetworkNodeclassNodeCentralityclassNodeClusterclassNodeSelectionEventArgsclassPageRankResultclassPathFinderclassViewChangedEventArgsclass
CentralityMeasure (class)
Centrality measure component that visualizes node importance in the network. Supports different centrality algorithms and displays rankings.
| Member | Kind | Description |
|---|---|---|
CentralityType MeasureType | Property | Gets or sets the type of centrality measure to display. |
List<NodeCentrality> NodeCentralities | Property | Gets the list of nodes with their centrality scores. |
int MaxDisplayCount | Property | Gets or sets the maximum number of top nodes to display. |
bool ShowValues | Property | Gets or sets whether to show centrality values. |
SKColor HighCentralityColor | Property | Gets or sets the color for high centrality nodes. |
SKColor LowCentralityColor | Property | Gets or sets the color for low centrality nodes. |
SKColor MediumCentralityColor | Property | Gets or sets the color for medium centrality nodes. |
CentralityMeasure() | Method | Initializes a new instance of the CentralityMeasure class. |
void CalculateCentrality(List<NetworkNode> nodes, List<NetworkLink> links) | Method | Calculates centrality measures for the given network. The network nodes. The network links. |
CentralityType (enum)
Types of centrality measures.
Community (class)
Represents a network community.
| Member | Kind | Description |
|---|---|---|
int Id | Property | Gets or sets the community ID. |
List<NetworkNode> Nodes | Property | Gets or sets the list of nodes in this community. |
SKColor Color | Property | Gets or sets the color assigned to this community. |
double Modularity | Property | Gets the modularity score for this community. |
CommunityAlgorithm (enum)
Community detection algorithms.
CommunityDetector (class)
Community detector component that identifies and visualizes network communities. Uses clustering algorithms to group related nodes and color-code them.
| Member | Kind | Description |
|---|---|---|
CommunityAlgorithm Algorithm | Property | Gets or sets the algorithm used for community detection. |
List<Community> Communities | Property | Gets the list of detected communities. |
int MinCommunitySize | Property | Gets or sets the minimum community size to display. |
bool ShowLabels | Property | Gets or sets whether to show community labels. |
List<SKColor> CommunityColors | Property | Gets or sets the color palette for communities. |
CommunityDetector() | Method | Initializes a new instance of the CommunityDetector class. |
void DetectCommunities(List<NetworkNode> nodes, List<NetworkLink> links) | Method | Detects communities in the given network. The network nodes. The network links. |
ExportCompletedEventArgs (class)
Event arguments for export completed events.
| Member | Kind | Description |
|---|---|---|
string FilePath | Property | Gets the export file path. |
ExportFormat Format | Property | Gets the export format. |
ExportCompletedEventArgs(string filePath, ExportFormat format) | Method | Initializes a new instance of the ExportCompletedEventArgs class. The file path. The export format. |
ExportFailedEventArgs (class)
Event arguments for export failed events.
| Member | Kind | Description |
|---|---|---|
string ErrorMessage | Property | Gets the error message. |
ExportFailedEventArgs(string errorMessage) | Method | Initializes a new instance of the ExportFailedEventArgs class. The error message. |
ExportFormat (enum)
Export format types.
ExportOptions (class)
Export options.
| Member | Kind | Description |
|---|---|---|
bool IncludePositions | Property | Gets or sets whether to include node positions. |
bool IncludeAttributes | Property | Gets or sets whether to include node attributes. |
bool IncludeWeights | Property | Gets or sets whether to include link weights. |
int ImageResolution | Property | Gets or sets the image resolution for image exports. |
bool CompressOutput | Property | Gets or sets whether to compress the output. |
ExportPanel (class)
Export panel component that provides functionality to export network data and visualizations. Supports various formats including CSV, JSON, GraphML, and image exports.
| Member | Kind | Description |
|---|---|---|
ExportFormat SelectedFormat | Property | Gets or sets the selected export format. |
List<ExportFormat> AvailableFormats | Property | Gets the list of available export formats. |
ExportOptions Options | Property | Gets or sets the export options. |
bool IsExporting | Property | Gets or sets whether an export is currently in progress. |
string LastExportPath | Property | Gets or sets the last export path. |
bool ShowOptions | Property | Gets or sets whether to show export options. |
event EventHandler<ExportCompletedEventArgs> ExportCompleted | Event | Event raised when an export is completed. |
event EventHandler<ExportFailedEventArgs> ExportFailed | Event | Event raised when an export fails. |
ExportPanel() | Method | Initializes a new instance of the ExportPanel class. |
void Export(List<NetworkNode> nodes, List<NetworkLink> links, string filePath) | Method | Exports the network data using the current settings. The network nodes to export. The network links to export. The file path to export to. |
FilterChangedEventArgs (class)
Event arguments for filter change events.
| Member | Kind | Description |
|---|---|---|
IReadOnlyList<NetworkNode> FilteredNodes | Property | Gets the filtered nodes. |
IReadOnlyList<NetworkLink> FilteredLinks | Property | Gets the filtered links. |
FilterChangedEventArgs(IReadOnlyList<NetworkNode> filteredNodes, IReadOnlyList<NetworkLink> filteredLinks) | Method | Initializes a new instance of the FilterChangedEventArgs class. The filtered nodes. The filtered links. |
FilterPanel (class)
Filter panel component that provides filtering and search capabilities for network elements. Supports node/link filtering by properties, search queries, and visibility controls.
| Member | Kind | Description |
|---|---|---|
string SearchQuery | Property | Gets or sets the search query text. |
bool CaseSensitive | Property | Gets or sets whether the search is case-sensitive. |
bool UseRegex | Property | Gets or sets whether to use regular expressions for search. |
int MinDegree | Property | Gets or sets the minimum node degree filter. |
int MaxDegree | Property | Gets or sets the maximum node degree filter. |
bool ShowConnectedOnly | Property | Gets or sets whether to show only connected nodes. |
bool ShowIsolatedNodes | Property | Gets or sets whether to show isolated nodes (degree = 0). |
List<NetworkNode> FilteredNodes | Property | Gets the list of filtered nodes. |
List<NetworkLink> FilteredLinks | Property | Gets the list of filtered links. |
bool ShowControls | Property | Gets or sets whether to show filter controls. |
event EventHandler<FilterChangedEventArgs> FilterChanged | Event | Event raised when the filter changes. |
FilterPanel() | Method | Initializes a new instance of the FilterPanel class. |
void ApplyFilters(List<NetworkNode> nodes, List<NetworkLink> links) | Method | Applies filters to the given network data. The network nodes. The network links. |
void ClearFilters() | Method | Clears all filters and shows all elements. |
void SetSearchQuery(string query) | Method | Sets a search query and applies filters. The search query. |
void SetDegreeRange(int minDegree, int maxDegree) | Method | Sets degree range filter. The minimum degree. The maximum degree. |
LayoutAlgorithm (enum)
Layout algorithm types.
LayoutChangedEventArgs (class)
Event arguments for layout change events.
| Member | Kind | Description |
|---|---|---|
LayoutAlgorithm Algorithm | Property | Gets the selected layout algorithm. |
LayoutChangedEventArgs(LayoutAlgorithm algorithm) | Method | Initializes a new instance of the LayoutChangedEventArgs class. The selected algorithm. |
LayoutParameters (class)
Parameters for layout algorithms.
| Member | Kind | Description |
|---|---|---|
float AttractionStrength | Property | Gets or sets the attraction force strength. |
float RepulsionStrength | Property | Gets or sets the repulsion force strength. |
float Damping | Property | Gets or sets the damping factor. |
int MaxIterations | Property | Gets or sets the maximum iterations for iterative algorithms. |
float ConvergenceThreshold | Property | Gets or sets the convergence threshold. |
LayoutParametersChangedEventArgs (class)
Event arguments for layout parameters change events.
| Member | Kind | Description |
|---|---|---|
LayoutParameters Parameters | Property | Gets the layout parameters. |
LayoutParametersChangedEventArgs(LayoutParameters parameters) | Method | Initializes a new instance of the LayoutParametersChangedEventArgs class. The layout parameters. |
LayoutSelector (class)
Layout selector component that provides controls for choosing and applying different graph layout algorithms. Supports force-directed, circular, hierarchical, and other layout types.
| Member | Kind | Description |
|---|---|---|
LayoutAlgorithm SelectedAlgorithm | Property | Gets or sets the currently selected layout algorithm. |
List<LayoutAlgorithm> AvailableAlgorithms | Property | Gets the list of available layout algorithms. |
LayoutParameters Parameters | Property | Gets or sets the layout parameters. |
bool IsCalculating | Property | Gets or sets whether the layout is currently being calculated. |
bool ShowOptions | Property | Gets or sets whether to show layout options. |
event EventHandler<LayoutChangedEventArgs> LayoutChanged | Event | Event raised when the layout algorithm changes. |
event EventHandler<LayoutParametersChangedEventArgs> ParametersChanged | Event | Event raised when layout parameters change. |
LayoutSelector() | Method | Initializes a new instance of the LayoutSelector class. |
void SetAlgorithm(LayoutAlgorithm algorithm) | Method | Sets the layout algorithm. The layout algorithm to use. |
void ApplyLayout(List<NetworkNode> nodes, List<NetworkLink> links, SKRect bounds) | Method | Applies the current layout to the given nodes. The nodes to layout. The links between nodes. The bounds to layout within. |
NetworkAlgorithms (class)
Graph algorithms over NetworkNode/NetworkLink diagrams: PageRank, shortest paths, all simple paths, connectivity, and connected components. Links are treated as directed unless Bidirectional is set.
| Member | Kind | Description |
|---|---|---|
static PageRankResult PageRank( IEnumerable<NetworkNode> nodes, IEnumerable<NetworkLink> links, double damping = 0.85, int maxIterations = 100, double tolerance = 1e-8) | Method | Computes PageRank scores. Dangling nodes distribute their rank evenly across all nodes. |
static void ApplyPageRank(PageRankResult result, SKColor? color = null) | Method | Applies PageRank scores visually: node scale (and optional color alpha) are normalized between the minimum and maximum scores. |
static List<NetworkNode> ShortestPath( NetworkNode from, NetworkNode to, IEnumerable<NetworkLink> links, bool weighted = true) | Method | Finds the shortest path (Dijkstra when weighted, BFS otherwise). Returns the node sequence including endpoints, or an empty list when unreachable. |
static List<List<NetworkNode>> AllSimplePaths( NetworkNode from, NetworkNode to, IEnumerable<NetworkLink> links, int maxPaths = 50, int maxDepth = 32) | Method | Enumerates simple (loop-free) paths between two nodes, depth-first, up to a cap. |
static bool IsConnected(IEnumerable<NetworkNode> nodes, IEnumerable<NetworkLink> links) | Method | Returns true when all nodes are reachable from the first node (ignoring link direction). |
static List<List<NetworkNode>> ConnectedComponents(IEnumerable<NetworkNode> nodes, IEnumerable<NetworkLink> links) | Method | Returns connected components (undirected view of the graph). |
static double PathCost(IReadOnlyList<NetworkNode> path, IEnumerable<NetworkLink> links, bool weighted = true) | Method | Sums the cost of a node path (edges matched by consecutive node pairs). |
NetworkAnalyzer (class)
Network analyzer component that displays network metrics and statistics. Shows various network analysis data in a structured panel.
| Member | Kind | Description |
|---|---|---|
int NodeCount | Property | Gets or sets the number of nodes in the network. |
int LinkCount | Property | Gets or sets the number of links in the network. |
double AverageDegree | Property | Gets or sets the average degree of nodes in the network. |
double Density | Property | Gets or sets the network density. |
int ConnectedComponents | Property | Gets or sets the number of connected components. |
double ClusteringCoefficient | Property | Gets or sets the average clustering coefficient. |
int Diameter | Property | Gets or sets the network diameter. |
NetworkAnalyzer() | Method | Initializes a new instance of the NetworkAnalyzer class. |
NetworkControl (class)
Base class for all network-related controls in the Beep.Skia framework. Provides common functionality for network visualization components.
| Member | Kind | Description |
|---|---|---|
SKColor PrimaryColor | Property | Gets or sets the primary color. |
SKColor SecondaryColor | Property | Gets or sets the secondary color. |
SKColor AccentColor | Property | Gets or sets the accent color. |
SKColor BorderColor | Property | Gets or sets the border color. |
float BorderThickness | Property | Gets or sets the border thickness. |
float CornerRadius | Property | Gets or sets the corner radius. |
bool IsHighlighted | Property | Gets or sets the is highlighted. |
SKColor HighlightColor | Property | Gets or sets the highlight color. |
NetworkGraph (class)
| Member | Kind | Description |
|---|---|---|
List<NetworkNode> Nodes | Property | Gets or sets the nodes. |
List<NetworkLink> Links | Property | Gets or sets the links. |
NetworkGraph() | Method | Initializes a new instance of the NetworkGraph class. |
NetworkLink (class)
| Member | Kind | Description |
|---|---|---|
SKPoint Start | Property | Gets or sets the start. |
SKPoint End | Property | Gets or sets the end. |
SKColor Color | Property | Link color |
float Thickness | Property | Stroke width |
NetworkNode SourceNode | Property | Gets or sets the source node. |
NetworkNode TargetNode | Property | Gets or sets the target node. |
double Weight | Property | Link weight |
string LinkType | Property | Link classification/type |
float ArrowSize | Property | Arrow head size for directed links |
bool IsHighlighted | Property | Highlight state |
string Label | Property | Link label |
SKColor LabelColor | Property | Label color |
float LabelTextSize | Property | Label text size |
float Curvature | Property | Curve shaping factor (0..1) |
bool Bidirectional | Property | Arrowheads at both ends (Directed only) |
NetworkLink() | Method | Initializes a new instance of the NetworkLink class. |
NetworkNode (class)
| Member | Kind | Description |
|---|---|---|
SKColor FillColor | Property | Gets or sets the fill color. |
SKColor StrokeColor | Property | Gets or sets the stroke color. |
float StrokeWidth | Property | Gets or sets the stroke width. |
float CornerRadius | Property | Gets or sets the corner radius. |
string NodeType | Property | Gets or sets the node type. |
bool IsHighlighted | Property | Gets or sets the is highlighted. |
float Scale | Property | Gets or sets the scale. |
SKColor CentralityColor | Property | Gets or sets the centrality color. |
SKColor CommunityColor | Property | Gets or sets the community color. |
int CommunityId | Property | Gets or sets the community id. |
int InputPortCount | Property | Gets or sets the input port count. |
int OutputPortCount | Property | Gets or sets the output port count. |
NetworkNode() | Method | Initializes a new instance of the NetworkNode class. |
NodeCentrality (class)
Represents centrality information for a network node.
| Member | Kind | Description |
|---|---|---|
NetworkNode Node | Property | Gets or sets the network node. |
double Score | Property | Gets or sets the raw centrality score. |
double NormalizedScore | Property | Gets or sets the normalized centrality score (0-1). |
NodeCluster (class)
Represents a cluster/grouping of related network nodes. Provides visual grouping with background and border.
| Member | Kind | Description |
|---|---|---|
List<NetworkNode> Nodes | Property | Gets the collection of nodes in this cluster. |
string ClusterName | Property | Gets or sets the cluster name/label. |
SKColor ClusterBackground | Property | Gets or sets the background color for the cluster. |
SKColor ClusterBorder | Property | Gets or sets the border color for the cluster. |
float Padding | Property | Gets or sets the padding around the cluster bounds. |
NodeCluster() | Method | Initializes a new instance of the NodeCluster class. |
void AddNode(NetworkNode node) | Method | Adds a node to this cluster. The node to add. |
void RemoveNode(NetworkNode node) | Method | Removes a node from this cluster. The node to remove. |
NodeSelectionEventArgs (class)
Event arguments for node selection events.
| Member | Kind | Description |
|---|---|---|
NetworkNode SelectedNode | Property | Gets the selected node. |
NodeSelectionEventArgs(NetworkNode selectedNode) | Method | Initializes a new instance of the NodeSelectionEventArgs class. The selected node. |
PageRankResult (class)
PageRank scores keyed by node.
| Member | Kind | Description |
|---|---|---|
Dictionary<NetworkNode, double> Ranks | Property | Gets or sets the ranks. |
int Iterations | Property | Gets or sets the iterations. |
bool Converged | Property | Gets or sets the converged. |
List<KeyValuePair<NetworkNode, double>> Top(int count) | Method | Returns the highest-ranked nodes. |
PathFinder (class)
Path finder component that visualizes shortest paths between network nodes. Highlights the path and displays path metrics.
| Member | Kind | Description |
|---|---|---|
NetworkNode StartNode | Property | Gets or sets the start node for path finding. |
NetworkNode EndNode | Property | Gets or sets the end node for path finding. |
List<NetworkNode> PathNodes | Property | Gets the list of nodes in the current path. |
List<NetworkLink> PathLinks | Property | Gets the list of links in the current path. |
int PathLength | Property | Gets or sets the path length (number of edges). |
double PathCost | Property | Gets or sets the path cost/distance. |
bool ShowMetrics | Property | Gets or sets whether to show path metrics. |
PathFinder() | Method | Initializes a new instance of the PathFinder class. |
void SetPath(List<NetworkNode> nodes, List<NetworkLink> links, double cost = 0.0) | Method | Sets the path to visualize. The nodes in the path. The links in the path. The path cost. |
void ClearPath() | Method | Clears the current path. |
void HighlightPathInNetwork() | Method | Highlights the path nodes and links in the network visualization. This method should be called by the parent graph component. |
void ClearPathHighlighting() | Method | Clears path highlighting from the network. |
ViewChangedEventArgs (class)
Event arguments for view change events.
| Member | Kind | Description |
|---|---|---|
float ZoomLevel | Property | Gets the current zoom level. |
float PanOffsetX | Property | Gets the pan offset X. |
float PanOffsetY | Property | Gets the pan offset Y. |
ViewChangedEventArgs(float zoomLevel, float panOffsetX, float panOffsetY) | Method | Initializes a new instance of the ViewChangedEventArgs class. The zoom level. The pan offset X. The pan offset Y. |