FabricDataAccessor#

class omni.kit.manipulator.prim.fabric.FabricDataAccessor(usd_context_name: str = '', model=None)#

Bases: object

A class for accessing and manipulating USD (Universal Scene Description) data in a fabric.

This class handles the retrieval and alteration of scene graph information, including transformation matrices, stage access, and USD prim manipulation. It is designed to work within a fabric-based USD runtime and provides a range of methods to interact with USD stages and prims.

Parameters:
  • usd_context_name (str) – The name of the USD context to associate with this data accessor. An empty string indicates no specific context.

  • model – The model associated with the data accessor. The exact type of the model is not specified.

This class also handles update callbacks for changes in the USD stage and provides utility functions for converting between different path and transform representations.

Methods

__init__([usd_context_name, model])

Constructor for FabricDataAccessor.

clear_xform_cache()

Clears the transform cache.

destroy()

Cleans up resources and references held by the FabricDataAccessor instance.

do_transform_all_selected_prims_to_manipulator_pivot(...)

Transforms all selected prims to manipulator pivot.

do_transform_selected_prims(paths, paths_c, ...)

Transforms selected prims with the given transformations.

free_stage()

Frees the USD stage.

free_xform_cache()

Frees the transform cache.

get_current_time_code(currentTime)

Gets the current time code.

get_data_tag()

Gets the data tag that identifies FabricDataAccessor.

get_local_to_world_transform(prim)

Gets the local-to-world transform matrix of the USD Prim.

get_local_transform_SRT(prim[, time])

Gets the local transform SRT (scale, rotation, translation) of the USD Prim.

get_local_transform_pivot_inv(prim[, time])

Returns the inverse of the local transformation pivot for a given prim.

get_parent_to_world_transform(prim)

Gets the parent-to-world transform matrix of the USD Prim.

get_prim_at_path(path)

Returns the USD Prim at the specified path.

get_sdf_path(path)

Returns the Sdf path for the given path.

get_sdf_path_type()

Returns the type associated with Sdf paths used in FabricDataAccessor.

get_stage()

Gets the USD stage.

get_stage_up_axis()

Retrieves the up-axis of the stage.

get_string_path(path)

Converts an Sdf path to its string representation.

has_prim_at_path(path)

Checks if a prim exists at the given path.

is_a_xformable(prim)

Determines if the provided prim is a xformable prim.

is_instance_proxy(prim)

Determines if the provided prim is an instance proxy.

is_prim_active(prim)

Determines if the provided prim is active.

is_transformation_affected_by_attr_named(...)

Checks if transformation is affected by a specific attribute.

is_valid_path(path)

Determines if the given path is a valid Sdf path.

on_ended_transform(paths, paths_c, ...)

Applies transformations to multiple prims.

path_to_int(path)

Converts an Sdf path to an integer representation.

prim_has_prefix(path, prim_path)

Checks if the given path has the specified prefix.

remove_descendent_paths(paths)

Removes descendent paths from a list of paths.

remove_update_callback([listener])

Removes the update callback for changes.

remove_update_callback_ref_prim_maker([listener])

Removes the update callback reference to the prim maker.

set_stage()

Sets the USD stage.

setup_update_callback()

Sets up the update callback for changes.

setup_update_callback_ref_prim_maker(func)

Sets up the update callback with a reference to the prim maker function.

to_pxr_path(path)

Converts a path to a pxr.Sdf.Path type.

update_changes()

Updates changes in the USD stage.

update_xform_cache()

Updates the transform cache.

xform_set_time()

Sets the time for the transform cache.

Attributes

is_inited

Gets the initialization status of the FabricDataAccessor.

priority

Gets the priority value of the FabricDataAccessor.

priority_write

Gets the write priority value of the FabricDataAccessor.

usd_context

Gets the USD context associated with the FabricDataAccessor.

__init__(usd_context_name: str = '', model=None)#

Constructor for FabricDataAccessor.

Initializes a new instance of the FabricDataAccessor with optional USD context and model.

clear_xform_cache()#

Clears the transform cache.

destroy()#

Cleans up resources and references held by the FabricDataAccessor instance.

do_transform_all_selected_prims_to_manipulator_pivot(
paths: List[str],
paths_c: List[int],
new_translations: List[float],
new_rotation_eulers: List[float],
new_rotation_orders: List[int],
new_scales: List[float],
)#

Transforms all selected prims to manipulator pivot.

Parameters:
  • paths (List[str]) – List of path strings for selected prims.

  • paths_c (List[int]) – List of path hashes for selected prims.

  • new_translations (List[float]) – List of new translation values for prims.

  • new_rotation_eulers (List[float]) – List of new rotation euler angles for prims.

  • new_rotation_orders (List[int]) – List of new rotation orders for prims.

  • new_scales (List[float]) – List of new scale values for prims.

do_transform_selected_prims(
paths: List[str],
paths_c: List[int],
new_translations: List[float],
new_rotation_eulers: List[float],
new_rotation_orders: List[int],
new_scales: List[float],
)#

Transforms selected prims with the given transformations.

Parameters:
  • paths (List[str]) – List of path strings for selected prims.

  • paths_c (List[int]) – List of path hashes for selected prims.

  • new_translations (List[float]) – List of new translation values for prims.

  • new_rotation_eulers (List[float]) – List of new rotation euler angles for prims.

  • new_rotation_orders (List[int]) – List of new rotation orders for prims.

  • new_scales (List[float]) – List of new scale values for prims.

free_stage()#

Frees the USD stage.

free_xform_cache()#

Frees the transform cache.

get_current_time_code(
currentTime: float,
) TimeCode#

Gets the current time code.

Parameters:

currentTime (float) – The current time to get the time code for.

Returns:

The current time code.

Return type:

usdrt.Usd.TimeCode

get_data_tag() str#

Gets the data tag that identifies FabricDataAccessor.

Returns:

The data tag for FabricDataAccessor.

Return type:

str

get_local_to_world_transform(
prim: Prim,
) Matrix4d#

Gets the local-to-world transform matrix of the USD Prim.

Parameters:

prim (usdrt.Usd.Prim) – The USD Prim to get the transform for.

Returns:

The local-to-world transform matrix.

Return type:

usdrt.Gf.Matrix4d

get_local_transform_SRT(
prim: Prim,
time: float | None = None,
) Tuple[Vec3d, Vec3d, Vec3i, Vec3d]#

Gets the local transform SRT (scale, rotation, translation) of the USD Prim.

Parameters:
  • prim (usdrt.Usd.Prim) – The USD Prim to get the transform for.

  • time (float) – The time at which to evaluate the transform.

Returns:

The SRT components of the transform.

Return type:

Tuple[usdrt.Gf.Vec3d, usdrt.Gf.Vec3d, usdrt.Gf.Vec3i, usdrt.Gf.Vec3d]

get_local_transform_pivot_inv(
prim: Prim,
time: float | None = None,
) Matrix4d#

Returns the inverse of the local transformation pivot for a given prim.

Parameters:
  • prim (Usd.Prim) – The prim to calculate the inverse transform for.

  • time (float, optional) – The time at which to evaluate the transformation.

Returns:

The inverse of the local transformation matrix.

Return type:

Gf.Matrix4d

get_parent_to_world_transform(
prim: Prim,
) Matrix4d#

Gets the parent-to-world transform matrix of the USD Prim.

Parameters:

prim (usdrt.Usd.Prim) – The USD Prim to get the transform for.

Returns:

The parent-to-world transform matrix.

Return type:

usdrt.Gf.Matrix4d

get_prim_at_path(
path: Path,
) Prim#

Returns the USD Prim at the specified path.

Parameters:

path (usdrt.Sdf.Path) – The path to the USD Prim.

Returns:

The USD Prim at the given path.

Return type:

usdrt.Usd.Prim

get_sdf_path(
path: Path,
) Path#

Returns the Sdf path for the given path.

Parameters:

path (usdrt.Sdf.Path) – The path to resolve.

Returns:

The resolved Sdf path.

Return type:

usdrt.Sdf.Path

get_sdf_path_type() type#

Returns the type associated with Sdf paths used in FabricDataAccessor.

Returns:

The Sdf path type used by FabricDataAccessor.

Return type:

type

get_stage() Stage#

Gets the USD stage.

Returns:

The USD stage.

Return type:

usdrt.Usd.Stage

get_stage_up_axis() str#

Retrieves the up-axis of the stage.

Returns:

The up-axis of the stage.

Return type:

str

get_string_path(
path: Path | str,
) str#

Converts an Sdf path to its string representation.

Parameters:

path (Union[usdrt.Sdf.Path, str]) – The path to convert.

Returns:

The string representation of the path.

Return type:

str

has_prim_at_path(
path: Path,
) bool#

Checks if a prim exists at the given path.

Parameters:

path (usdrt.Sdf.Path) – The path to check.

Returns:

True if a prim exists at the path, False otherwise.

Return type:

bool

is_a_xformable(prim: Prim) bool#

Determines if the provided prim is a xformable prim.

Parameters:

prim (usdrt.Usd.Prim) – The prim to check.

Returns:

True if it’s a xformable prim, False otherwise.

Return type:

bool

is_instance_proxy(
prim: Prim,
) bool#

Determines if the provided prim is an instance proxy.

Parameters:

prim (usdrt.Usd.Prim) – The prim to check.

Returns:

True if it is an instance proxy, False otherwise.

Return type:

bool

is_prim_active(prim: Prim) bool#

Determines if the provided prim is active.

Parameters:

prim (usdrt.Usd.Prim) – The prim to check.

Returns:

True if the prim is active, False otherwise.

Return type:

bool

is_transformation_affected_by_attr_named(
sdf_path: Path,
) bool#

Checks if transformation is affected by a specific attribute.

Parameters:

sdf_path (usdrt.Sdf.Path) – The Sdf path to check.

Returns:

True if transformation is affected, False otherwise.

Return type:

bool

is_valid_path(path: Any) bool#

Determines if the given path is a valid Sdf path.

Parameters:

path (Any) – The path to validate.

Returns:

True if the path is valid, False otherwise.

Return type:

bool

on_ended_transform(
paths: List[str],
paths_c: List[int],
new_translations: List[float],
new_rotation_eulers: List[float],
new_rotation_orders: List[int],
new_scales: List[float],
old_translations: List[float],
old_rotation_eulers: List[float],
old_rotation_orders: List[int],
old_scales: List[float],
)#

Applies transformations to multiple prims.

Parameters:
  • paths (List[str]) – Paths of prims to transform.

  • paths_c (List[int]) – C++ compatible path representation.

  • new_translations (List[float]) – New translations for the prims.

  • new_rotation_eulers (List[float]) – New rotation angles in Euler form.

  • new_rotation_orders (List[int]) – New rotation orders for the prims.

  • new_scales (List[float]) – New scale values for the prims.

  • old_translations (List[float]) – Previous translations for undo functionality.

  • old_rotation_eulers (List[float]) – Previous rotations in Euler form for undo.

  • old_rotation_orders (List[int]) – Previous rotation orders for undo functionality.

  • old_scales (List[float]) – Previous scale values for undo functionality.

path_to_int(path: Path) int#

Converts an Sdf path to an integer representation.

Parameters:

path (usdrt.Sdf.Path) – The path to convert.

Returns:

The integer representation of the path.

Return type:

int

prim_has_prefix(
path: Path,
prim_path: Path,
) bool#

Checks if the given path has the specified prefix.

Parameters:
  • path (usdrt.Sdf.Path) – The path to check for the prefix.

  • prim_path (usdrt.Sdf.Path) – The prefix to check against the path.

Returns:

True if the path has the prefix, False otherwise.

Return type:

bool

remove_descendent_paths(
paths: List[Path],
) List[Path]#

Removes descendent paths from a list of paths.

Parameters:

paths (List[usdrt.Sdf.Path]) – The list of paths to process.

Returns:

The list of paths without descendents.

Return type:

List[usdrt.Sdf.Path]

remove_update_callback(
listener: pxr.Tf.Listener = None,
) usdrt.Rt.ChangeTracker#

Removes the update callback for changes.

Parameters:

listener (Optional[pxr.Tf.Listener]) – The listener to remove.

Returns:

None, indicating the callback has been removed.

Return type:

usdrt.Rt.ChangeTracker

remove_update_callback_ref_prim_maker(
listener: pxr.Tf.Listener = None,
) usdrt.Rt.ChangeTracker#

Removes the update callback reference to the prim maker.

Parameters:

listener (Optional[pxr.Tf.Listener]) – The listener to remove.

Returns:

None, indicating the callback has been removed.

Return type:

usdrt.Rt.ChangeTracker

set_stage()#

Sets the USD stage.

setup_update_callback() ChangeTracker#

Sets up the update callback for changes.

Returns:

The change tracker instance.

Return type:

usdrt.Rt.ChangeTracker

setup_update_callback_ref_prim_maker(
func: Callable[[List, List[Path | Path], List[Path | Path], str], None],
) ChangeTracker#

Sets up the update callback with a reference to the prim maker function.

Parameters:

func (Callable) – The function to call when changes occur.

Returns:

The change tracker instance.

Return type:

usdrt.Rt.ChangeTracker

to_pxr_path(
path: Path | Path,
) Path#

Converts a path to a pxr.Sdf.Path type.

Parameters:

path (Union[usdrt.Sdf.Path, pxr.Sdf.Path]) – The path to convert.

Returns:

The converted pxr path.

Return type:

pxr.Sdf.Path

update_changes()#

Updates changes in the USD stage.

update_xform_cache()#

Updates the transform cache.

xform_set_time()#

Sets the time for the transform cache.

property is_inited#

Gets the initialization status of the FabricDataAccessor.

Returns:

The initialization status.

Return type:

bool

property priority: int#

Gets the priority value of the FabricDataAccessor.

Returns:

The priority value.

Return type:

int

property priority_write: int#

Gets the write priority value of the FabricDataAccessor.

Returns:

The write priority value.

Return type:

int

property usd_context#

Gets the USD context associated with the FabricDataAccessor.

Returns:

The USD context.

Return type:

omni.usd.UsdContext