Source code for honeybee_radiance.geometry.mesh
"""Radiance Transfunc Mesh.
http://radsite.lbl.gov/radiance/refer/ray.html#Mesh
"""
from .geometrybase import Geometry
# TODO(): Implement the class. It's currently creates this geometry as generic Radiance
# geometry
[docs]
class Mesh(Geometry):
"""Radiance Mesh.
A mesh is a compound surface, made up of many triangles and an octree data structure
to accelerate ray intersection. It is typically converted from a Wavefront .OBJ file
using the obj2mesh program.
.. code-block:: shell
mod mesh id
1+ meshfile transform
0
0
If the modifier is "void", then surfaces will use the modifiers given in the original
mesh description. Otherwise, the modifier specified is used in their place. The
transform moves the mesh to the desired location in the scene. Multiple instances
using the same meshfile take little extra memory, and the compiled mesh itself takes
much less space than individual polygons would. In the case of an unsmoothed mesh,
using the mesh primitive reduces memory requirements by a factor of 30 relative to
individual triangles. If a mesh has smoothed surfaces, we save a factor of 50 or
more, permitting very detailed geometries that would otherwise exhaust the available
memory. In addition, the mesh primitive can have associated (u,v) coordinates for
pattern and texture mapping. These are made available to function files via the Lu
and Lv variables.
"""
__slots__ = ()
pass