Clash Detect Layer Helper Utils

Overview

File Name: clash_detect_layer_utils.py

This file provides a set of utilities for managing clash detection layers within a USD stage. It includes functionalities for creating, removing, reloading, and manipulating these layers.

ClashDetectLayerHelper Class

class ClashDetectLayerHelper

Static class with clash detection layer helper methods. This class provides methods for creating, removing, reloading, and managing clash detection layers within a USD stage.

Constants

CLASH_DETECT_FORMAT

The file format for clash detection layers. Its value is “clashDetection”.

CLASH_DETECT_LAYER_PREFIX

The prefix for clash detection layer identifiers. Its value is “clashdata:”.

CLASH_LAYER_IDENTIFIER

The full identifier for clash detection layers. Its value is “{CLASH_DETECT_LAYER_PREFIX}{CLASH_DETECT_FORMAT}”.

Methods

create_new_clash_detect_layer(stage: Usd.Stage, layer_path_name: str) Optional[Sdf.Layer]

Creates a new clash detection layer.

Parameters
  • stage (Usd.Stage) – The USD stage to which the layer is added.

  • layer_path_name (str) – The path name for the new layer.

Returns

The created clash detection layer, or None on failure.

Return type

Optional[Sdf.Layer]

get_sublayer_position_in_parent(parent_layer_identifier: str, layer_identifier: str) int

Returns the position of a sublayer within its parent layer.

Parameters
  • parent_layer_identifier (str) – The identifier of the parent layer.

  • layer_identifier (str) – The identifier of the sublayer.

Returns

Position of the sublayer, or -1 if not found.

Return type

int

remove_sublayer(layer: Sdf.Layer, position: int) Optional[str]

Removes a sublayer from a specified position.

Parameters
  • layer (Sdf.Layer) – The layer from which to remove the sublayer.

  • position (int) – The position of the sublayer to remove.

Returns

Identifier of the removed sublayer, or None if removal failed.

Return type

Optional[str]

remove_layer(root_layer: Sdf.Layer, layer_identifier: str) bool

Removes a layer identified by layer_identifier from the root layer.

Parameters
  • root_layer (Sdf.Layer) – The root layer from which to remove the layer.

  • layer_identifier (str) – The identifier of the layer to remove.

Returns

True if the layer was removed, False otherwise.

Return type

bool

reload_layer(layer: Sdf.Layer) bool

Reloads the specified layer.

Parameters

layer (Sdf.Layer) – The layer to reload.

Returns

True if the layer was successfully reloaded, False otherwise.

Return type

bool

find_clash_detect_layer(layer_path_name: str) Optional[Sdf.Layer]

Returns the clash detection layer identified by path.

Parameters

layer_path_name (str) – The path name of the clash detection layer.

Returns

The found clash detection layer, or None if not found.

Return type

Optional[Sdf.Layer]

get_custom_layer_data(layer) Optional[Dict[Any, Any]]

Returns custom data of a layer as a dictionary.

Parameters

layer (Sdf.Layer) – The layer from which to get custom data.

Returns

The custom data of the layer, or None if not found.

Return type

Optional[Dict[Any, Any]]

set_custom_layer_data(layer: Sdf.Layer, d: Optional[Dict[Any, Any]]) None

Sets custom data for a layer using a dictionary.

Parameters
  • layer (Sdf.Layer) – The layer for which to set custom data.

  • d (Optional[Dict[Any, Any]]) – The custom data to set.

kit_remove_layer(stage: Usd.Stage, layer_identifier: str) bool

Removes a layer using a Kit command, ensuring the Layer Widget is aware.

Parameters
  • stage (Usd.Stage) – The USD stage from which to remove the layer.

  • layer_identifier (str) – The identifier of the layer to remove.

Returns

True if the layer was successfully removed, False otherwise.

Return type

bool