Source code for honeybee_plus.radiance.material.plasfunc

"""Radiance Plasfunc Material.

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


# TODO(): Implement the class. It's currently creates this material as generic Radiance
# material
[docs]class Plasfunc(RadianceMaterial): """Radiance Plasfunc Material. Plasfunc in used for the procedural definition of plastic-like materials with arbitrary bidirectional reflectance distribution functions (BRDF's). The arguments to this material include the color and specularity, as well as the function defining the specular distribution and the auxiliary file where it may be found. mod plasfunc id 2+ refl funcfile transform 0 4+ red green blue spec A5 .. The function refl takes four arguments, the x, y and z direction towards the incident light, and the solid angle subtended by the source. The solid angle is provided to facilitate averaging, and is usually ignored. The refl function should integrate to 1 over the projected hemisphere to maintain energy balance. At least four real arguments must be given, and these are made available along with any additional values to the reflectance function. Currently, only the contribution from direct light sources is considered in the specular calculation. As in most material types, the surface normal is always altered to face the incoming ray. """ pass