9779baa468
Move all application source under src/pygui/ and rewire imports, build config, and QML module path to match. - Relocate backend/, serialcomm/, and the ISC QML module into src/pygui/; convert main.py into pygui/__main__.py with a main() entry point (run via `python -m pygui` or the new `isc` script) - Rewrite absolute imports: backend.* -> pygui.backend.*, serialcomm.* -> pygui.serialcomm.* (source + tests) - Move app icons (isc.ico/icns) into packaging/ - Update README and ISC.qmlproject to the new paths
27 lines
504 B
Python
27 lines
504 B
Python
from dataclasses import dataclass, field
|
|
from typing import List
|
|
|
|
|
|
# ===== Single Contour Segment =====
|
|
@dataclass
|
|
class ContourSegment:
|
|
start_x: float
|
|
start_y: float
|
|
end_x: float
|
|
end_y: float
|
|
|
|
@property
|
|
def start(self):
|
|
return (self.start_x, self.start_y)
|
|
|
|
@property
|
|
def end(self):
|
|
return (self.end_x, self.end_y)
|
|
|
|
|
|
# ===== Contour Line =====
|
|
@dataclass
|
|
class ContourLine:
|
|
level: float
|
|
segments: List[ContourSegment] = field(default_factory=list)
|