Files
DP44/docs/ai/Common/DTS.Common/Events/RegionOfInterest.md

32 lines
1.5 KiB
Markdown
Raw Permalink Normal View History

2026-04-17 14:55:32 -04:00
---
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.
---