32 lines
1.5 KiB
Markdown
32 lines
1.5 KiB
Markdown
|
|
---
|
||
|
|
source_files:
|
||
|
|
- Common/DTS.Common/Events/RegionOfInterest/RegionOfInterestChangedEvent.cs
|
||
|
|
generated_at: "2026-04-17T16:10:34.392992+00:00"
|
||
|
|
model: "zai-org/GLM-5-FP8"
|
||
|
|
schema_version: 1
|
||
|
|
sha256: "04ca50cc4f4be546"
|
||
|
|
---
|
||
|
|
|
||
|
|
# RegionOfInterest
|
||
|
|
|
||
|
|
### Purpose
|
||
|
|
This module defines a typed event for broadcasting changes to a Region of Interest (ROI) within the application. It leverages the Prism event aggregation system to enable loosely-coupled communication between components when ROI configuration changes, allowing subscribers to react to new ROI definitions without direct coupling to the publisher.
|
||
|
|
|
||
|
|
### Public Interface
|
||
|
|
|
||
|
|
**`RegionOfInterestChangedEvent`**
|
||
|
|
- Signature: `public class RegionOfInterestChangedEvent : PubSubEvent<IRegionOfInterest>`
|
||
|
|
- Description: A Prism `PubSubEvent` that carries an `IRegionOfInterest` payload. Publishers invoke this event with a new ROI instance; subscribers receive the `IRegionOfInterest` object when the event is published.
|
||
|
|
|
||
|
|
### Invariants
|
||
|
|
- The event payload must implement `IRegionOfInterest` (defined in `DTS.Common.Interface.RegionOfInterest`).
|
||
|
|
- As a `PubSubEvent<T>`, the event follows Prism's thread-safe publication/subscription semantics.
|
||
|
|
|
||
|
|
### Dependencies
|
||
|
|
- **Depends on**: `Prism.Events` (for `PubSubEvent<T>` base class), `DTS.Common.Interface.RegionOfInterest` (for `IRegionOfInterest` interface).
|
||
|
|
- **Depended on by**: Not determinable from source alone; consumers would subscribe to or publish this event via Prism's `IEventAggregator`.
|
||
|
|
|
||
|
|
### Gotchas
|
||
|
|
None identified from source alone.
|
||
|
|
|
||
|
|
---
|