From 9a165d59d0017b5274eb0cba4f61cd8a1335df0e Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr> Date: Thu, 30 Mar 2023 15:29:41 +0200 Subject: [PATCH] geometry: Factorize profile. --- src/Model/Geometry/Profile.py | 45 ++++++++++++++++++++++++++ src/Model/Geometry/ProfileXYZ.py | 54 ++++++-------------------------- 2 files changed, 54 insertions(+), 45 deletions(-) create mode 100644 src/Model/Geometry/Profile.py diff --git a/src/Model/Geometry/Profile.py b/src/Model/Geometry/Profile.py new file mode 100644 index 00000000..8243fa48 --- /dev/null +++ b/src/Model/Geometry/Profile.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- + +class Profile(object): + def __init__(self, kp:float = 0.0, name:str = ""): + super(Profile, self).__init__() + + self._num = int(num) + self._kp = float(kp) + self._name = str(name) + + @property + def num(self): + """ + Returns: + Number of profile. + """ + return self._num + + @num.setter + def num(self, value: int): + self._num = int(value) + + @property + def kp(self): + """ + Returns: + Kilometer point. + """ + return self._kp + + @kp.setter + def kp(self, value: float): + self._kp = float(value) + + @property + def name(self): + """ + Returns: + Profile name. + """ + return self._name + + @name.setter + def name(self, other: str): + self._name = other diff --git a/src/Model/Geometry/ProfileXYZ.py b/src/Model/Geometry/ProfileXYZ.py index f3fc6883..26a26426 100644 --- a/src/Model/Geometry/ProfileXYZ.py +++ b/src/Model/Geometry/ProfileXYZ.py @@ -4,11 +4,11 @@ import numpy as np import pandas as pd from typing import List -from Model.Geometry.PointXYZ import PointXYZ +from Model.Geometry.Profile import Profile -class ProfileXYZ: +class ProfileXYZ(Profile): def __init__(self, num: int = 0, code1: int = 0, code2: int = 0, - nb_points: int = 0, kp: float = 0., name: str = ""): + kp: float = 0., name: str = ""): """ProfileXYZ constructor Args: @@ -22,12 +22,15 @@ class ProfileXYZ: Returns: Nothing. """ - self._num = int(num) + super(ProfileXYZ, self).__init__( + num = num, + name = name + kp = kp, + ) + self._code1 = int(code1) self._code2 = int(code2) self._nb_points = int(nb_points) - self._kp = float(kp) - self._name = str(name) self._list_points: List[PointXYZ] = [] def __repr__(self): @@ -35,17 +38,6 @@ class ProfileXYZ: data=[[p.x, p.y, p.z, p.name] for p in self._list_points]) return f"\n{self.header}\n{df}" - @property - def num(self): - """ - Returns: - Number of profile. - """ - return self._num - - @num.setter - def num(self, value: int): - self._num = int(value) @property def code1(self): @@ -75,34 +67,6 @@ class ProfileXYZ: def nb_points(self): return self._nb_points - # @nb_points.setter - # def nb_points(self, nb: int): - # self._nb_points = int(nb) - - @property - def kp(self): - """ - Returns: - Kilometer point. - """ - return self._kp - - @kp.setter - def kp(self, value: float): - self._kp = float(value) - - @property - def name(self): - """ - Returns: - Profile name. - """ - return self._name - - @name.setter - def name(self, other: str): - self._name = other - @property def header(self): """ -- GitLab