def display( B=None, A=None, G=None, D=None, F=None ): """Compute and display results. Note that partial results are possible. :param F: Aperture, ƒ/ :param G: Guide number in feet :param A: Film speed, ISO :param B: Beam Candle Power Seconds :param D: Subject distance in feet """ results= elflash.flash( B=B, A=A, G=G, D=D, F=F ) results.D_m= METRE.from_std( FOOT.to_std( results.D ) ) if results.F is not None: if abs(results.F-int(results.F)) > .01: print( "Aperture ...................... ƒ/{F:<4.1f}".format(**results) ) else: print( "Aperture ...................... ƒ/{F:<4.0f}".format(**results) ) if results.G is not None: results.G_m= METRE.from_std( FOOT.to_std( results.G ) ) print( "Guide Number (metres) ......... {G_m:7.1f}".format(**results) ) print( "Guide Number (feet) ........... {G:7.1f}".format(**results) ) if results.A is not None: print( "Film speed .................ISO {A:5.0f}".format(**results) ) if results.B is not None: print( "Beam Candle Power Seconds ..... {B:5.0f}".format(**results) ) if results.D is not None: print( "Subject distance (metres) ..... {D_m:7.1f}".format(**results) ) print( "Subject distance (feet) ....... {D:7.1f}".format(**results) ) if results.G is not None: f_template_1= "Use ƒ/{F:.<4.1f}...........{D_m:5.1f} m. ({D_f:5.1f} ft.)" f_template_0= "Use ƒ/{F:.<4.0f}...........{D_m:5.1f} m. ({D_f:5.1f} ft.)" for F, D_f in elflash.aperture_iter( results.G ): D_m = convert( D_f, FOOT, METRE ) if abs(F-int(F)) > .01: print( f_template_1.format( D_m=D_m, D_f=D_f, F=F ) ) else: print( f_template_0.format( D_m=D_m, D_f=D_f, F=F ) )
def __init__( self, unit=None ): self.unit= unit if unit is not None else FOOT self.space = unit.from_std( FOOT.to_std( 1 ) ) # Spacing. self.r_1 = 16 # Feet self.r_2 = 22 # Feet