Commit fcc31f22 authored by Pierre-Antoine Rouby's avatar Pierre-Antoine Rouby
Browse files

Geometry: Minor change.

Showing with 26 additions and 20 deletions
+26 -20
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from Model.Except import NotImplementedMethodeError
class Profile(object): class Profile(object):
def __init__(self, num: int = 0, def __init__(self, num: int = 0,
kp:float = 0.0, name:str = "", kp:float = 0.0, name:str = "",
...@@ -102,3 +104,7 @@ class Profile(object): ...@@ -102,3 +104,7 @@ class Profile(object):
""" """
return [point for point in self._points return [point for point in self._points
if point.point_is_named()] if point.point_is_named()]
# Abstract method, must be implemented for in non abstract class
def get_station(self):
raise NotImplementedMethodeError(self, self.get_station)
...@@ -179,6 +179,26 @@ class ProfileXYZ(Profile): ...@@ -179,6 +179,26 @@ class ProfileXYZ(Profile):
""" """
return [x for x in lst if not np.isnan(x)] return [x for x in lst if not np.isnan(x)]
def _first_point_not_nan(self):
first_point = self._points[0]
for point in self._points:
if not point.is_nan():
first_point = point
break
return first_point
def _last_point_not_nan(self):
last_point = self._points[-1]
for point in self._points[::-1]:
if not point.is_nan():
last_point = point
break
return last_point
def get_station(self) -> np.ndarray: def get_station(self) -> np.ndarray:
"""Projection of the points of the profile on a plane. """Projection of the points of the profile on a plane.
...@@ -249,23 +269,3 @@ class ProfileXYZ(Profile): ...@@ -249,23 +269,3 @@ class ProfileXYZ(Profile):
constant = ret[index_profile_z_min] constant = ret[index_profile_z_min]
return (ret - constant) return (ret - constant)
def _first_point_not_nan(self):
first_point = self._points[0]
for point in self._points:
if not point.is_nan():
first_point = point
break
return first_point
def _last_point_not_nan(self):
last_point = self._points[-1]
for point in self._points[::-1]:
if not point.is_nan():
last_point = point
break
return last_point
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment