Siticone Gauge Clock
The SiticoneGaugeClock is a versatile analog-style gauge control.
Unlike a simple clock, it is designed to visualize data values (e.g. 0-100) using a clock-face metaphor.
It features physics-based needle animation, extensive 3D rim effects, color-coded sections, and customizable knobs.
3D & Visual Effects
Extensive support for 3D rendering, lighting, and textures to create realistic instrument clusters.
| Property | Type | Description |
|---|---|---|
Use3DEffect | bool | Enables bevels, shadows, and metallic rims. |
RimThickness | float | Thickness of the outer 3D rim. |
UseMetallicEffect | bool | Adds a metallic gradient sheen to the rim. |
MetalBaseColor | Color | Base color for the metallic effect. |
BevelDepth | int | Depth of the inner edge bevel (0-10). |
UseGlassEffect | bool | Adds a reflective glass layer over the face. |
Glossiness | float | Intensity of the glass reflection (0.0 - 1.0). |
UseShadowEffect | bool | Adds a drop shadow behind the gauge. |
ShadowColor | Color | Color of the shadow. |
UseNeonEffect | bool | Adds a neon glow to the gauge arc. |
NeonColor | Color | Color of the neon effect. |
Needle & Knob
Configuration for the indicator hand and central cap.
| Property | Type | Description |
|---|---|---|
Value | float | Current value. Triggers physics animation when changed. |
UseValueHand | bool | Shows/Hides the needle. |
HandColor | Color | Color of the needle. |
HandLength | float | Percentage (0.1 - 1.0) of radius. |
HandThickness | float | Width of the needle in pixels. |
UseHandShadow | bool | Draws a shadow under the needle for depth. |
KnobSize | float | Diameter of the central knob. |
KnobColor | Color | Color of the knob. |
UseKnobGradient | bool | Applies a 3D gradient to the knob. |
Public Methods
// Section Management
var redSection = new GaugeSection(80, 100, Color.Red);
clockGauge.AddSection(redSection);
clockGauge.RemoveSection(redSection);
clockGauge.ClearSections();
// Animation Control
clockGauge.AnimateToValue(75); // Smooth transition
clockGauge.ResetValue(); // Instant reset to MinValue
// Export Data
clockGauge.ForceRedraw();
// Manually trigger repaint
Image & JSON Export
The control includes a built-in Context Menu (Right-Click at runtime) that allows users to:
- Save the gauge visualization as PNG/JPG/BMP.
- Copy the high-res image to clipboard.
- Export settings via JSON (with optional AES encryption).
- Import settings from JSON files.
Example: Pressure Gauge
public void InitPressureGauge()
{
gauge.MinValue = 0;
gauge.MaxValue = 100;
// 3D Styling
gauge.Use3DEffect = true;
gauge.UseMetallicEffect = true;
gauge.UseGlassEffect = true;
gauge.DialColor = Color.WhiteSmoke;
gauge.RimHighlightColor = Color.Silver;
// Needle Physics
gauge.AnimationSpeed = 5f;
// Spring physics
// Add Warning Zones
gauge.AddSection(new GaugeSection(0, 60, Color.Green));
gauge.AddSection(new GaugeSection(60, 85, Color.Orange));
gauge.AddSection(new GaugeSection(85, 100, Color.Red));
// Gradient Arc
gauge.UseGradient = true;
gauge.GaugeStartColor = Color.Green;
gauge.GaugeEndColor = Color.Red;
}