diff --git a/src/Model/Geometry/ProfileXYZ.py b/src/Model/Geometry/ProfileXYZ.py index 81fa89dcd9d4a871bf974c227f948a540c42ace5..ad3ebb5ea61e9a23b8c8b2c75efe3bdc52f12599 100644 --- a/src/Model/Geometry/ProfileXYZ.py +++ b/src/Model/Geometry/ProfileXYZ.py @@ -461,23 +461,23 @@ class ProfileXYZ(Profile, SQLSubModel): if self.point(i).z <= z: ird = i # interpolation des points ptX et ptY - if (irg > 0): + if (irg < self.number_points-1): x=np.interp(z, - [self.point(irg-1).z,self.point(irg).z], - [self.point(irg-1).x,self.point(irg).x]) + [self.point(irg).z,self.point(irg+1).z], + [self.point(irg).x,self.point(irg+1).x]) y=np.interp(z, - [self.point(irg-1).z,self.point(irg).z], - [self.point(irg-1).y,self.point(irg).y]) + [self.point(irg).z,self.point(irg+1).z], + [self.point(irg).y,self.point(irg+1).y]) ptX=PointXYZ(x,y,z) else: ptX = self.point(0) - if (ird < self.number_points-1): + if (ird > 0): x=np.interp(z, - [self.point(ird).z,self.point(ird+1).z], - [self.point(ird).x,self.point(ird+1).x]) + [self.point(ird-1).z,self.point(ird).z], + [self.point(ird-1).x,self.point(ird).x]) y=np.interp(z, - [self.point(ird).z,self.point(ird+1).z], - [self.point(ird).y,self.point(ird+1).y]) + [self.point(ird).z,self.point(ird-1).z], + [self.point(ird).y,self.point(ird-1).y]) ptY=PointXYZ(x,y,z) else: ptY = self.point(self.number_points-1)