All files / tools/src/stateManagement/segmentation/models SegmentModel.ts

0% Statements 0/4
100% Branches 0/0
0% Functions 0/5
0% Lines 0/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30                                                           
import type {
  Segment,
  Segmentation,
} from '../../../types/SegmentationStateTypes';
import type { SegmentLabelmapBindingState } from '../../../types/LabelmapTypes';
import { getSegmentBinding } from '../helpers/labelmapSegmentationState';
 
export default class SegmentModel {
  constructor(
    private readonly segmentation: Segmentation,
    private readonly state: Segment
  ) {}
 
  get segmentIndex(): number {
    return this.state.segmentIndex;
  }
 
  get label(): string {
    return this.state.label;
  }
 
  get binding(): SegmentLabelmapBindingState | undefined {
    return getSegmentBinding(this.segmentation, this.state.segmentIndex);
  }
 
  toState(): Segment {
    return this.state;
  }
}