Siticone Arc Cluster Gauge
The SiticoneArcClusterGauge is a futuristic, multi-value visualization control.
It renders multiple data points simultaneously as a cluster of arcs, orbits, or spirals.
Ideal for complex dashboards (e.g., server health monitoring, planetary systems, financial portfolios), it supports diverse layout algorithms and high-fidelity animations.
Element Management
Manage the collection of data points (arcs) displayed within the cluster.
| Property / Method | Type | Description & Usage Example |
|---|---|---|
Elements |
List<Element> | foreach (var el in cluster.Elements) { ... } Direct access to the list of `ArcClusterElement` objects. |
AddElement() |
void | cluster.AddElement("CPU", 45, 100, Color.Blue); Adds a new data arc with a Name, Value, Max Value, and Color. |
UpdateElement() |
void | cluster.UpdateElement("CPU", 80); Updates the value of an existing element by name, triggering animation. |
RemoveElement() |
void | cluster.RemoveElement("CPU"); Removes an element from the cluster by name. |
ClearElements() |
void | cluster.ClearElements(); Removes all elements from the gauge. |
Display Modes
Controls how the elements are geometrically arranged and rendered.
| Property | Type | Description & Usage Example |
|---|---|---|
DisplayMode |
ClusterDisplayMode |
cluster.DisplayMode = ClusterDisplayMode.Orbital;
Sunburst: Standard radial arcs.Orbital: Moving planets/satellites.Spiral: Arcs expanding outward.Galaxy: Swirling spiral arms.Stacked, Interlaced, Flower, Web.
|
LayoutStyle |
RadialLayoutStyle |
cluster.LayoutStyle = RadialLayoutStyle.Fibonacci;
Algorithm for arc placement. Options: Equidistant, Fibonacci, Logarithmic, Clustered, Scattered.
|
Theme |
ClusterTheme |
cluster.Theme = ClusterTheme.Cyberpunk;
Applies a color palette preset. Options: Neon, Cyberpunk, Ocean, Forest, Cosmic, Fire, etc.
|
Appearance & Effects
Visual customization for colors, glow, and structure.
| Property | Type | Description & Usage Example |
|---|---|---|
CenterColor |
Color | cluster.CenterColor = Color.Black; Color of the central hub. |
BackgroundRingColor |
Color | cluster.BackgroundRingColor = Color.Gray; Color of the subtle background grid rings. |
ShowGlow |
bool | cluster.ShowGlow = true; Enables a luminous glow effect on active elements. |
GlowLevel |
GlowIntensity |
cluster.GlowLevel = GlowIntensity.High;
Intensity of the glow: Subtle, Medium, High, Extreme.
|
EnableGradients |
bool | cluster.EnableGradients = true; Fills arcs with a radial gradient for depth. |
CenterRadius |
int | cluster.CenterRadius = 40; Radius of the inner empty space/hub. |
MaxArcRadius |
int | cluster.MaxArcRadius = 120; Outer boundary radius for the arcs. |
Animation & FX
Control motion, particle effects, and performance.
| Property | Type | Description & Usage Example |
|---|---|---|
AnimationStyle |
ClusterAnimationStyle |
cluster.AnimationStyle = ClusterAnimationStyle.PulseBurst;
Motion behavior. Options: SmoothSweep, PulseBurst, RotatingGlow, SparkleTrail, OrbitalMotion.
|
BurstEffect |
ArcClusterBurstEffect |
cluster.BurstEffect = ArcClusterBurstEffect.Particles;
Background FX. Options: StarBurst, Lightning, Particles, Rays, Corona.
|
AnimationSpeed |
int | cluster.AnimationSpeed = 50; Global speed multiplier for all animations (1-100). |
EnablePulse |
bool | cluster.EnablePulse = true; Adds a rhythmic "breathing" effect to the cluster. |
UltraFastPerformance |
bool | cluster.UltraFastPerformance = true; Disables gradients, glow, and complex FX for maximum FPS. Useful for high-frequency data updates. |
Text, Legend & Interaction
| Property | Type | Description & Usage Example |
|---|---|---|
Title |
string | cluster.Title = "Server Load"; Main title text displayed at the top. |
ShowLabels |
bool | cluster.ShowLabels = true; Displays element names near their arcs. |
ShowValues |
bool | cluster.ShowValues = true; Displays current numeric values. |
ShowLegend |
bool | cluster.ShowLegend = true; Renders a key/legend for the elements. |
LegendPosition |
ArcLegendPosition | cluster.LegendPosition = ArcLegendPosition.Right; Placement of the legend (Right, Bottom, etc.). |
EnableInteraction |
bool | cluster.EnableInteraction = true; Allows hover effects and click events. |
EnableTooltips |
bool | cluster.EnableTooltips = true; Shows tooltips on hover. |
Events
// 1. ElementValueChanged Event
// Fires when an element's value is updated.
cluster.ElementValueChanged += (s, e) =>
{
Console.WriteLine($"Updated {e.Element.Name}: {e.OldValue} -> {e.NewValue}");
};
// 2. ElementClicked Event
// Fires when a user clicks on an arc/element.
cluster.ElementClicked += (s, e) =>
{
MessageBox.Show($"Selected: {e.Element.Name}");
};
// 3. ElementHovered Event
// Fires when the mouse pointer moves over an element.
cluster.ElementHovered += (s, e) =>
{
// Highlight logic or status bar update
lblStatus.Text = $"Hovering: {e.Element.Name}";
};
Designer & Smart Tags
Access powerful configuration tools directly in Visual Studio.
| Feature | Description |
|---|---|
Quick Modes |
Instantly switch layouts:
|
Theme Presets |
Neon, Cyberpunk, Cosmic, etc. |
Data Tools |
Add Sample Element, Clear All, Randomize Values, Toggle Animation. |
Detailed Usage Examples
Example 1: Server Dashboard (Sunburst)
Standard monitoring setup using the Sunburst layout to show resource usage.
private void SetupServerMonitor()
{
cluster.DisplayMode = ClusterDisplayMode.Sunburst;
cluster.Theme = ClusterTheme.Cyberpunk;
cluster.Title = "SERVER 01";
cluster.ClearElements();
cluster.AddElement("CPU", 45, 100, Color.Cyan);
cluster.AddElement("RAM", 70, 100, Color.Magenta);
cluster.AddElement("DISK", 20, 100, Color.Lime);
cluster.AddElement("NET", 15, 100, Color.Yellow);
cluster.ShowLegend = true;
cluster.LegendPosition = ArcLegendPosition.Right;
}
Example 2: Planetary System (Orbital)
Uses the Orbital display mode to simulate planets orbiting a sun, perfect for visualizing hierarchical or dependent data.
private void SetupSolarSystem()
{
cluster.DisplayMode = ClusterDisplayMode.Orbital;
cluster.Theme = ClusterTheme.Cosmic;
cluster.ShowCenterHub = true; // The Sun
cluster.CenterColor = Color.Gold;
// Add planets (Value represents distance/size abstractly)
cluster.AddElement("Mercury", 20, 100, Color.Gray);
cluster.AddElement("Venus", 30, 100, Color.Orange);
cluster.AddElement("Earth", 40, 100, Color.Blue);
cluster.AddElement("Mars", 50, 100, Color.Red);
// Enable motion
cluster.AnimationStyle = ClusterAnimationStyle.OrbitalMotion;
cluster.AnimationSpeed = 10;
}
Example 3: Data Spiral
Visualizes data points as a spiral, useful for time-series or sequence data.
private void SetupSpiral()
{
cluster.DisplayMode = ClusterDisplayMode.Spiral;
cluster.Theme = ClusterTheme.Neon;
cluster.ShowGrid = true;
for (int i = 0; i < 20; i++)
{
cluster.AddElement(
$"Node {i}",
CalculateNodeValue(i),
100,
Color.FromArgb(0, 255, 255 - (i * 10))
);
}
cluster.BurstEffect = ArcClusterBurstEffect.Particles;
}