Source code for honeybee_radiance.modifier.material.antimatter

"""Radiance Antimatter Material.

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


# TODO: Implement the class. It's currently only a generic Radiance Primitive
[docs]class Antimatter(Material): """Radiance Antimatter Material. Antimatter is a material that can \'subtract\' volumes from other volumes. A ray passing into an antimatter object becomes blind to all the specified modifiers: .. code-block:: shell mod antimatter id N mod1 mod2 .. modN 0 0 The first modifier will also be used to shade the area leaving the antimatter volume and entering the regular volume. If mod1 is void, the antimatter volume is completely invisible. Antimatter does not work properly with the material type "trans", and multiple antimatter surfaces should be disjoint. The viewpoint must be outside all volumes concerned for a correct rendering. 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