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)
|