eradiate.scenes.shapes.FileMeshShape#

class eradiate.scenes.shapes.FileMeshShape(id='shape', bsdf=None, *, filename)[source]#

Bases: ShapeNode

File based mesh shape [file_mesh].

This shape represents a triangulated mesh defined in a file. The OBJ and PLY formats are supported.

Parameters:
  • id (str, optional, default: "shape") – Identifier of the current scene element.

  • bsdf (BSDF or Ref or dict, optional) – BSDF attached to the shape. If a dictionary is passed, it is interpreted by bsdf_factory.convert(). If unset, no BSDF will be specified during the kernel dictionary generation: the kernel’s default will be used. If a BSDF instance (or a corresponding dictionary specification) is passed, its id member is automatically overridden.

  • filename (path-like) – Path to the mesh file.

Fields:
  • id (str or None) – Identifier of the current scene element.

  • bsdf (BSDF or Ref or None) – BSDF attached to the shape.

  • filename (Path) – Path to the mesh file.

Warning

Vertex coordinates are assumed to be defined in kernel units.

bbox()[source]#
BoundingBoxShape bounding box. Default implementation

raises a NotImplementedError.

traverse(callback)#

Traverse this scene element and collect kernel dictionary template and parameter update map contributions.

Parameters:

callback (SceneTraversal) – Callback data structure storing the collected data.

update()#

Enforce internal state consistency. This method should be called when fields are modified. It is automatically called as a post-init step.

property objects#

Map of child objects associated with this scene element.

Returns:

dict – A dictionary mapping object names to a corresponding object to be inserted in the Eradiate scene graph.

property params#
Returns:

dict[str, UpdateParameter] or None – A dictionary mapping parameter paths, consisting of dot-separated strings, to a corresponding update protocol.

property template#

Kernel dictionary template contents associated with this scene element.

Returns:

dict – A flat dictionary mapping dot-separated strings describing the path of an item in the nested scene dictionary to values. Values may be objects which can be directly used by the mitsuba.load_dict() function, or InitParameter instances which must be rendered.