eradiate.scenes.surface.DEMSurface¶
- class eradiate.scenes.surface.DEMSurface(id='terrain', *, shape=None, shape_background=None)[source]¶
Bases:
SurfaceDEM Surface [
dem]A mesh-based representation of a Digital Elevation Model (DEM). This class holds a mesh shape instance, as well as a background shape that provides a surface beyond the extents of the mesh.
The intended instantiation method is to, first, create a mesh using the
mesh_from_dem(), then use the data it returns to call thefrom_mesh()constructor.- Parameters:
id (
str, optional, default:"surface") – Identifier of the current scene element.shape (
BufferMeshShapeorFileMeshShapeordict, default:None) – Shape describing the surface.shape_background (
SphereShapeorRectangleShapeordict, optional, default:None) – Shape describing the background surface.
- Fields:
shape (
BufferMeshShapeorFileMeshShapeorNone) – Shape describing the surface.shape_background (
SphereShapeorRectangleShapeorNone) – Shape describing the background surface.
- classmethod from_mesh(mesh, xlon_lim, ylat_lim, id='surface', geometry='plane_parallel', planet_radius=None, bsdf=None, bsdf_mesh=None, bsdf_background=None)[source]¶
Construct a
DEMSurfaceinstance from a mesh object and coordinates which specify its location.- Parameters:
mesh (
BufferMeshShapeorFileMeshShape) – DEM as a triangulated mesh. The BSDF of this shape will be overridden by thebsdf_meshparameter.xlon_lim (
quantity) – Limits of the x/longitude range covered by the mesh.ylat_lim (
quantity) – Limits of the y/latitude range covered by the mesh.id (
str, default:"surface") – Identifier of the scene element.geometry (
SceneGeometryorstrordict, default:"plane_parallel") – Scene geometry. Strings and dictionaries are processed by theSceneGeometry.convert()function.planet_radius (
quantity, default:EARTH_RADIUS) – Planet radius. Used only in case of a plane parallel geometry to convert between latitude/longitude and x/y coordinates.bsdf (
BSDF, default:LambertianBSDF()) – Alias tobsdf_mesh(deprecated). If both are defined,bsdf_meshtakes precedence.bsdf_mesh (
BSDF, default:LambertianBSDF()) – Scattering model attached to the mesh.bsdf_background (
BSDF, default:LambertianBSDF()) – Scattering model attached to the background shape.
- Returns:
- 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,SceneParameter] orNone– A dictionary mapping parameter paths, consisting of dot-separated strings, to a corresponding update protocol.
See also
- 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 themitsuba.load_dict()function, orDictParameterinstances which must be rendered.
See also