naroo_reader/classes/science/border.py
2023-08-22 03:37:40 +02:00

39 lines
917 B
Python

from classes.science.side import Side
class Border:
"""
Define a rectangle with coordinate as edge
"""
def __init__( self , x = Side() , y = Side() ):
if not isinstance( x , Side ) or not isinstance( y , Side ):
raise ValueError( 'x and y should be sides' )
self.x = x
self.y = y
def scale( self , factor ):
"""
Update coordinate to adapt from compression
"""
self.x.scale( factor )
self.y.scale( factor )
def slice( self ):
"""
Return rectangular slice
"""
print( self )
return (
slice(
self.y.min , self.y.max
),
slice(
self.x.min , self.x.max,
),
)
def __str__( self ):
return '\
border [\
\n x: ' + str( self.x ) + ',\
\n y: ' + str( self.y ) + ',\
\n]\
'