eradiate.scenes.surface.DEMSurface#
- class eradiate.scenes.surface.DEMSurface(id='terrain', *, shape=None, shape_background=None)[source]#
Bases:
Surface
DEM 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 (
BufferMeshShape
orFileMeshShape
ordict
, default:None
) – Shape describing the surface.shape_background (
SphereShape
orRectangleShape
ordict
, optional, default:None
) – Shape describing the background surface.
- Fields:
shape (
BufferMeshShape
orFileMeshShape
orNone
) – Shape describing the surface.shape_background (
SphereShape
orRectangleShape
orNone
) – 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
DEMSurface
instance from a mesh object and coordinates which specify its location.- Parameters:
mesh (
BufferMeshShape
orFileMeshShape
) – DEM as a triangulated mesh. The BSDF of this shape will be overridden by thebsdf_mesh
parameter.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 (
SceneGeometry
orstr
ordict
, 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_mesh
takes 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
,UpdateParameter
] 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, orInitParameter
instances which must be rendered.
See also