eradiate.kernel.KernelDictTemplate#
- class eradiate.kernel.KernelDictTemplate(data=NOTHING)[source]#
Bases:
UserDict
A dict-like structure which defines the structure of an instantiable Mitsuba scene dictionary.
Entries are indexed by dot-separated paths which can then be expanded to a nested dictionary using the
render()
method.Each entry can be either a hard-coded value which can be directly interpreted by the
mitsuba.load_dict()
function, or anInitParameter
object which must be rendered before the template can be instantiated.Notes
If a nested mapping is used for initialization or assignment, it is automatically flattened.
- clear() None. Remove all items from D. #
- get(k[, d]) D[k] if k in D, else d. d defaults to None. #
- items() a set-like object providing a view on D's items #
- keys() a set-like object providing a view on D's keys #
- pop(k[, d]) v, remove specified key and return the corresponding value. #
If key is not found, d is returned if given, otherwise KeyError is raised.
- popitem() (k, v), remove and return some (key, value) pair #
as a 2-tuple; but raise KeyError if D is empty.
- render(ctx, nested=True, drop=True)[source]#
Render the template as a nested dictionary using a parameter map to fill in empty fields.
- Parameters:
ctx (
KernelContext
) – A kernel dictionary context.nested (
bool
, optional) – IfTrue
, the returned dictionary will be nested and suitable for instantiation by Mitsuba; otherwise, the returned dictionary will be flat.drop (
bool
, optional) – IfTrue
, drop unused parameters. Parameters may be unused either because they were filtered out by the flags or because context information implied it.
- Returns:
- setdefault(k[, d]) D.get(k,d), also set D[k]=d if k not in D #
- update([E, ]**F) None. Update D from mapping/iterable E and F. #
If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v
- values() an object providing a view on D's values #