class RadTest(object): # create an attribute for each type ab = RadianceNumber('ab', 'ambinent bounces', valid_range=None, accepted_inputs=None, num_type=int, check_positive=True, default_value=None) ad = RadianceNumber('ad', 'ambinent divisions', valid_range=[1, 128], accepted_inputs=None, num_type=None, check_positive=True, default_value=None) d = RadianceBoolFlag('d', 'sun mtx only', default_value=None, is_dual_sign=False) i = RadianceBoolFlag('I', 'illuminance', default_value=None, is_dual_sign=True) c = RadianceTuple('C', 'color', default_value=None, num_type=int, valid_range=[0, 255]) o = RadianceValue('o', 'output format', default_value=None, accepted_inputs=('f', 'd'), is_joined=True) wea_file = RadiancePath('weaFile', 'Weather File Path', relative_path=None, check_exists=False, extension='.wea') def __init__(self): pass def to_rad_string(self): _radString = " ".join( [self.ab.to_rad_string(), self.ad.to_rad_string(), self.d.to_rad_string(), self.i.to_rad_string(), self.c.to_rad_string(), self.o.to_rad_string()]) + " > " + \ self.wea_file.to_rad_string() return _radString.strip()
class RadTestWithDefaults(RadTest): # create an attribute for each type ab = RadianceNumber('ab', 'ambinent bounces', valid_range=None, accepted_inputs=None, num_type=int, check_positive=True, default_value=2) ad = RadianceNumber('ad', 'ambinent divisions', valid_range=[1, 128], accepted_inputs=None, num_type=None, check_positive=True, default_value=5) d = RadianceBoolFlag('d', 'sun mtx only', default_value=False, is_dual_sign=False) i = RadianceBoolFlag('I', 'illuminance', default_value=False, is_dual_sign=True) c = RadianceTuple('C', 'color', default_value=(250, 250, 250), num_type=int, valid_range=[0, 255]) o = RadianceValue('o', 'output format', default_value='f', accepted_inputs=('f', 'd'), is_joined=True) def __init__(self): self.wea_file = "tests/room/testrun/test.wea"
class RadTestWithDefaults(RadTest): # create an attribute for each type ab = RadianceNumber('ab', 'ambinent bounces', validRange=None, acceptedInputs=None, numType=int, checkPositive=True, defaultValue=2) ad = RadianceNumber('ad', 'ambinent divisions', validRange=[1, 128], acceptedInputs=None, numType=None, checkPositive=True, defaultValue=5) d = RadianceBoolFlag('d', 'sun mtx only', defaultValue=False, isDualSign=False) i = RadianceBoolFlag('I', 'illuminance', defaultValue=False, isDualSign=True) c = RadianceTuple('C', 'color', defaultValue=(250, 250, 250), numType=int, validRange=[0, 255]) o = RadianceValue('o', 'output format', defaultValue='f', acceptedInputs=('f', 'd'), isJoined=True) def __init__(self): self.weaFile = "c:\ladybug\\test.wea"
class CustomRP(RadianceParameters): ambient_bounces = RadianceNumber('ab', 'ambient bounces', defaultValue=15) ambient_divisions = RadianceValue('ad', 'ambient divisions') def __init__(self, ab=None, ad=None): """Init radiance paramters.""" RadianceParameters.__init__(self) self.ambient_bounces = ab self.ambient_divisions = ad # add paramter names to dynamic keys self.add_default_parameter_name('ambient_bounces', 'ab') self.add_default_parameter_name('ambient_divisions', 'ad')