newton.usd.SchemaResolver#

class newton.usd.SchemaResolver[source]#

Bases: object

Base class mapping USD schema attributes to Newton attributes.

class SchemaAttribute(name, default=None, usd_value_transformer=None, usd_value_getter=None, attribute_names=())#

Bases: object

Specifies a USD attribute and its transformation function.

Parameters:
  • name (str) – The name of the USD attribute (or primary attribute when using a getter).

  • default (Any | None) – Default USD-authored value from schema, if any.

  • usd_value_transformer (Callable[[Any], Any] | None) – Optional function to transform the raw value into the format expected by Newton.

  • usd_value_getter (Callable[[Usd.Prim], Any] | None) – Optional function (prim) -> value used instead of reading a single attribute (e.g. to compute gap from contactOffset - restOffset).

  • attribute_names (Sequence[str]) – When set, names used for collect_prim_attrs; otherwise [name] is used.

__init__(name, default=None, usd_value_transformer=None, usd_value_getter=None, attribute_names=())#
attribute_names: Sequence[str] = ()#
name: str#
__init__()#
collect_prim_attrs(prim)#

Collect all resolver-relevant attributes for a prim.

Parameters:

prim (Usd.Prim) – USD prim to inspect.

Returns:

Dictionary mapping authored USD attribute names to values.

Return type:

dict[str, Any]

get_value(prim, prim_type, key)#

Get an authored value for a resolver key.

Parameters:
  • prim (Usd.Prim) – USD prim to query.

  • prim_type (PrimType) – Prim type category.

  • key (str) – Logical Newton attribute key within the prim category.

Returns:

Resolved authored value, or None when not found.

Return type:

Any | None

validate_custom_attributes(builder)#

Validate that solver-specific custom attributes are registered on the builder.

Override in subclasses to check that required custom attributes have been registered before parsing. Called by parse_usd() before processing entities.

Parameters:

builder (ModelBuilder) – The ModelBuilder to validate custom attributes on.

extra_attr_namespaces: ClassVar[list[str]] = []#
mapping: ClassVar[dict[PrimType, dict[str, SchemaAttribute]]]#
name: ClassVar[str]#