40 lines
2.4 KiB
Markdown
40 lines
2.4 KiB
Markdown
---
|
|
source_files:
|
|
- Common/DTS.Common/Interface/Graphs/IGraph.cs
|
|
- Common/DTS.Common/Interface/Graphs/IGraphRecord.cs
|
|
generated_at: "2026-04-17T16:37:25.581541+00:00"
|
|
model: "zai-org/GLM-5-FP8"
|
|
schema_version: 1
|
|
sha256: "392b86d2780be0b6"
|
|
---
|
|
|
|
# Documentation: DTS.Common.Interface.Graphs
|
|
|
|
## 1. Purpose
|
|
|
|
This module defines the core data contracts for graph configuration within the DTS system. It provides two interfaces—`IGraphRecord` and `IGraph`—that model graph definitions persisted in a database, including axis bounds configuration, channel associations, and threshold lines. `IGraphRecord` represents the raw database record structure, while `IGraph` extends it with runtime operations for channel management and XML serialization. These interfaces serve as the abstraction layer between graph persistence and graph rendering/logic components.
|
|
|
|
---
|
|
|
|
## 2. Public Interface
|
|
|
|
### IGraphRecord
|
|
|
|
Base interface describing a database record for a graph.
|
|
|
|
| Property | Type | Description |
|
|
|----------|------|-------------|
|
|
| `GraphId` | `int` | Database primary key for the graph. |
|
|
| `TestSetupId` | `int` | Foreign key linking the graph to a test setup. |
|
|
| `GraphName` | `string` | Display name of the graph. Constrained to 50 characters via `[MaxLength(50)]`. |
|
|
| `GraphDescription` | `string` | Description text for the graph. Constrained to 50 characters via `[MaxLength(50)]`. |
|
|
| `ChannelsString` | `string` | Serialized representation of all channels in the graph. Constrained to 2048 characters via `[MaxLength(2048)]`. |
|
|
| `UseDomainMin` | `bool` | Flag indicating whether the domain (X) axis has a minimum bound. |
|
|
| `DomainMin` | `double` | Minimum value for the domain axis. Only meaningful when `UseDomainMin` is `true`. |
|
|
| `UseDomainMax` | `bool` | Flag indicating whether the domain (X) axis has a maximum bound. |
|
|
| `DomainMax` | `double` | Maximum value for the domain axis. Only meaningful when `UseDomainMax` is `true`. |
|
|
| `UseRangeMin` | `bool` | Flag indicating whether the range (Y) axis has a minimum bound. |
|
|
| `RangeMin` | `double` | Minimum value for the range axis. Only meaningful when `UseRangeMin` is `true`. |
|
|
| `UseRangeMax` | `bool` | Flag indicating whether the range (Y) axis has a maximum bound. |
|
|
| `RangeMax` | `double` | Maximum value for the range axis. Only meaningful when `UseRangeMax` is `true`. |
|
|
| `ThresholdsString` | `string` | Serialized representation of threshold lines to display on the graph. Constrained to 2048 |