Source code for honeybee_radiance.modifier.material.transfunc

"""Radiance Transfunc Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Transfunc
"""
from .materialbase import Material


# TODO: Implement the class. It's currently only a generic Radiance Primitive
[docs]class Transfunc(Material): """Radiance Transfunc Material. Transfunc is similar to plasfunc but with an arbitrary bidirectional transmittance distribution as well as a reflectance distribution. Both reflectance and transmittance are specified with the same function. .. code-block:: shell mod transfunc id 2+ brtd funcfile transform 0 6+ red green blue rspec trans tspec A7 .. Where trans is the total light transmitted and tspec is the non-Lambertian fraction of transmitted light. The function brtd should integrate to 1 over each projected hemisphere. Args: identifier: Text string for a unique Material ID. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files. modifier: Modifier. It can be primitive, mixture, texture or pattern. (Default: None). values: An array 3 arrays for primitive data. Each of the 3 sub-arrays refer to a line number in the radiance primitive definitions and the values in each array correspond to values occurring within each line. is_opaque: A boolean to indicate whether this primitive is opaque. dependencies: A list of primitives that this primitive depends on. This argument is only useful for defining advanced primitives that are defined based on other primitives. (Default: []). Properties: * identifier * display_name * values * modifier * dependencies * is_modifier * is_material * is_opaque """ __slots__ = () pass