Clash Data
Overview
File Name: clash_data.py
This file provides functionality for handling clash detection data within a USD stage.
It manages the creation, modification, and deletion of clash detection data layers and interfaces with a supplied serializer to handle the persistence of clash data and ensures compatibility and integrity of the data structures.
Functions
- serializer_data_op(fnc: function) function
Decorator to identify serializer data operation.
- Parameters
fnc (function) – The function to be registered as a serializer data operation.
- Returns
The registered function.
- Return type
function
Classes
ClashData Class
- class ClashData
A class for handling clash detection data within a USD stage. This class manages the creation, modification, and deletion of clash detection data layers in a USD stage. It interfaces with a supplied serializer to handle the persistence of clash data and ensures compatibility and integrity of the data structures.
Constants
- CLASH_DATA_LAYER_FILE_EXT
File extension for clash detection layer files. Its value is “.clashDetection”.
- CLASH_DATA_FILE_EXT
File extension for clash data files. Its value is “.clashdata”.
- CLASH_DATA_LAYER_CUSTOM_CLASH_DB_PATH
Key for custom clash database path in layer metadata. Its value is “clashDbPath”.
- CLASH_DATA_LAYER_CUSTOM_MODIFIED
Key indicating if the clash data layer has been modified. Its value is “clashDbModified”.
Constructor
- __init__(clash_data_serializer: AbstractClashDataSerializer)
Initializes a new instance of the ClashData class.
- Parameters
clash_data_serializer (AbstractClashDataSerializer) – An instance of AbstractClashDataSerializer implementation used for serializing clash data.
Methods
- destroy() None
Cleans up resources and resets object state.
- open(stage_id: Optional[int], force_reload_layer: bool = False) None
Creates a file or opens an existing one.
- Parameters
stage_id (Optional[int]) – Stage ID of the stage to work with.
force_reload_layer (bool) – Force reload target layer to ensure it doesn’t come from the cache.
- is_open() bool
Checks if the serializer is ready.
- Returns
True if the serializer is ready.
- Return type
bool
- save() bool
Saves data to the target file.
- Returns
True if save operation was successful.
- Return type
bool
- save_as(usd_file_path: str) bool
Saves data to a new target file.
- Parameters
usd_file_path (str) – The new file path to save to.
- Returns
Boolean indicating success or failure.
- Return type
bool
- saved() None
Performs operations after save.
- close() None
Closes opened file.
- commit() None
Writes any unwritten data to file.
Properties
- stage_id: Optional[int]
Read-only property that returns the associated stage ID.
It is set by the open() method.
- stage: Optional[Usd.Stage]
Read-only property that returns the associated USD stage.
It is set by the open() method.
- usd_file_path: str
Read-only property that returns the file path of the USD stage.
- serializer_path: str
Read-only property that returns the file path used by the serializer.
- data_structures_compatible: bool
Read-only property that returns True if the serializer has no compatibility issues (data structures, tables).
- deferred_file_creation_until_first_write_op: bool
Bool property that indicates whether the serializer will postpone file creation until the first write operation is requested.
The class also implements serializer data operations by calling appropriate methods on provided serializer.