eradiate.kernel.KernelSceneParameterMap¶
- class eradiate.kernel.KernelSceneParameterMap(data=NOTHING)[source]¶
Bases:
UserDictA dict-like structure which contains the structure of a Mitsuba scene parameter update map.
Each entry maps a string key to a
SceneParameterinstance that implements an update protocol for a Mitsuba scene parameter.- 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, flags=<KernelSceneParameterFlags.ALL: 3>, drop=False)[source]¶
Evaluate the parameter map for a given kernel context and for selected flags.
- Parameters:
ctx (
KernelContext) – A kernel dictionary context.flags (
ParamFlags) – Parameter flags. Only parameters with at least one of the specified will pass the filter.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. IfFalse, any unused parameter will raise an exception.
- Returns:
params (
dict) – A mapping that can be used to update values in amitsuba.SceneParameters.- Raises:
ValueError – If a value is not a
SceneParameter.ValueError – If
dropisFalseand the rendered parameter map contains an unused parameter.
- 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¶