omni.flux.stage_manager.plugin.tree.usd#

  • SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.

  • SPDX-License-Identifier: Apache-2.0

  • Licensed under the Apache License, Version 2.0 (the “License”);

  • you may not use this file except in compliance with the License.

  • You may obtain a copy of the License at

  • https://www.apache.org/licenses/LICENSE-2.0

  • Unless required by applicable law or agreed to in writing, software

  • distributed under the License is distributed on an “AS IS” BASIS,

  • WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

  • See the License for the specific language governing permissions and

  • limitations under the License.

  • SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.

  • SPDX-License-Identifier: Apache-2.0

  • Licensed under the Apache License, Version 2.0 (the “License”);

  • you may not use this file except in compliance with the License.

  • You may obtain a copy of the License at

  • https://www.apache.org/licenses/LICENSE-2.0

  • Unless required by applicable law or agreed to in writing, software

  • distributed under the License is distributed on an “AS IS” BASIS,

  • WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

  • See the License for the specific language governing permissions and

  • limitations under the License.

class omni.flux.stage_manager.plugin.tree.usd.custom_tag_groups.CustomTagGroupsDelegate(header_height: int = 24, row_height: int = 24)#
class omni.flux.stage_manager.plugin.tree.usd.custom_tag_groups.CustomTagGroupsItem(*args, is_virtual: bool | None = None, **kwargs)#
property icon: str | None#

The icon style name associated with the item. Can be used by the widgets

class omni.flux.stage_manager.plugin.tree.usd.custom_tag_groups.CustomTagGroupsModel(context_name: str = '')#
pydantic model omni.flux.stage_manager.plugin.tree.usd.custom_tag_groups.CustomTagGroupsTreePlugin#

A flat list of prims that can be grouped using virtual groups

Config:
  • arbitrary_types_allowed: bool = True

Fields:
field delegate: CustomTagGroupsDelegate = None#
field model: CustomTagGroupsModel = None#
model_post_init(context: Any, /) None#

This function is meant to behave like a BaseModel method to initialise private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

name: ClassVar[str] = 'CustomTagGroupsTreePlugin'#
  • SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.

  • SPDX-License-Identifier: Apache-2.0

  • Licensed under the Apache License, Version 2.0 (the “License”);

  • you may not use this file except in compliance with the License.

  • You may obtain a copy of the License at

  • https://www.apache.org/licenses/LICENSE-2.0

  • Unless required by applicable law or agreed to in writing, software

  • distributed under the License is distributed on an “AS IS” BASIS,

  • WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

  • See the License for the specific language governing permissions and

  • limitations under the License.

class omni.flux.stage_manager.plugin.tree.usd.light_groups.LightGroupsDelegate(header_height: int = 24, row_height: int = 24)#
class omni.flux.stage_manager.plugin.tree.usd.light_groups.LightGroupsItem(
display_name: str,
data: Usd.Prim | None,
tooltip: str = None,
light_type: _LightTypes | None = None,
display_name_ancestor: str | None = None,
)#
property icon#

The icon style name associated with the item. Can be used by the widgets

class omni.flux.stage_manager.plugin.tree.usd.light_groups.LightGroupsModel(context_name: str = '')#
pydantic model omni.flux.stage_manager.plugin.tree.usd.light_groups.LightGroupsTreePlugin#

A flat list of prims that can be grouped using virtual groups

Config:
  • arbitrary_types_allowed: bool = True

Fields:
field delegate: LightGroupsDelegate = None#
field model: LightGroupsModel = None#
model_post_init(context: Any, /) None#

This function is meant to behave like a BaseModel method to initialise private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

name: ClassVar[str] = 'LightGroupsTreePlugin'#
  • SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.

  • SPDX-License-Identifier: Apache-2.0

  • Licensed under the Apache License, Version 2.0 (the “License”);

  • you may not use this file except in compliance with the License.

  • You may obtain a copy of the License at

  • https://www.apache.org/licenses/LICENSE-2.0

  • Unless required by applicable law or agreed to in writing, software

  • distributed under the License is distributed on an “AS IS” BASIS,

  • WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

  • See the License for the specific language governing permissions and

  • limitations under the License.

class omni.flux.stage_manager.plugin.tree.usd.material_groups.MaterialGroupsDelegate(header_height: int = 24, row_height: int = 24)#
class omni.flux.stage_manager.plugin.tree.usd.material_groups.MaterialGroupsItem(*args, is_virtual: bool | None = None, **kwargs)#
property icon#

The icon style name associated with the item. Can be used by the widgets

class omni.flux.stage_manager.plugin.tree.usd.material_groups.MaterialGroupsModel(context_name: str = '')#
pydantic model omni.flux.stage_manager.plugin.tree.usd.material_groups.MaterialGroupsTreePlugin#

A flat list of prims that can be grouped using virtual groups

Config:
  • arbitrary_types_allowed: bool = True

Fields:
field delegate: MaterialGroupsDelegate = None#
field model: MaterialGroupsModel = None#
model_post_init(context: Any, /) None#

This function is meant to behave like a BaseModel method to initialise private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

name: ClassVar[str] = 'MaterialGroupsTreePlugin'#
  • SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.

  • SPDX-License-Identifier: Apache-2.0

  • Licensed under the Apache License, Version 2.0 (the “License”);

  • you may not use this file except in compliance with the License.

  • You may obtain a copy of the License at

  • https://www.apache.org/licenses/LICENSE-2.0

  • Unless required by applicable law or agreed to in writing, software

  • distributed under the License is distributed on an “AS IS” BASIS,

  • WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

  • See the License for the specific language governing permissions and

  • limitations under the License.

class omni.flux.stage_manager.plugin.tree.usd.prim_groups.PrimGroupsDelegate(header_height: int = 24, row_height: int = 24)#
class omni.flux.stage_manager.plugin.tree.usd.prim_groups.PrimGroupsItem(*args, **kwargs)#
property icon#

The icon style name associated with the item. Can be used by the widgets

class omni.flux.stage_manager.plugin.tree.usd.prim_groups.PrimGroupsModel(context_name: str = '')#
pydantic model omni.flux.stage_manager.plugin.tree.usd.prim_groups.PrimGroupsTreePlugin#

A hierarchical tree of prims reflecting the actual USD structure.

The plugin model expects a single context item representing the root of the USD stage. The children prims will be fetched during item creation.

Config:
  • arbitrary_types_allowed: bool = True

Fields:
field delegate: PrimGroupsDelegate = None#
field model: PrimGroupsModel = None#
model_post_init(context: Any, /) None#

This function is meant to behave like a BaseModel method to initialise private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

name: ClassVar[str] = 'PrimGroupsTreePlugin'#
  • SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.

  • SPDX-License-Identifier: Apache-2.0

  • Licensed under the Apache License, Version 2.0 (the “License”);

  • you may not use this file except in compliance with the License.

  • You may obtain a copy of the License at

  • https://www.apache.org/licenses/LICENSE-2.0

  • Unless required by applicable law or agreed to in writing, software

  • distributed under the License is distributed on an “AS IS” BASIS,

  • WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

  • See the License for the specific language governing permissions and

  • limitations under the License.

class omni.flux.stage_manager.plugin.tree.usd.skeleton_groups.SkeletonBoundMeshItem(
display_name: str,
data: Prim | None,
tooltip: str = '',
display_name_ancestor: str | None = None,
skel_root: Prim | None = None,
skel_prim: Prim | None = None,
bound_prim: Prim | None = None,
)#
class omni.flux.stage_manager.plugin.tree.usd.skeleton_groups.SkeletonGroupsDelegate(header_height: int = 24, row_height: int = 24)#
class omni.flux.stage_manager.plugin.tree.usd.skeleton_groups.SkeletonGroupsModel(context_name: str = '')#
pydantic model omni.flux.stage_manager.plugin.tree.usd.skeleton_groups.SkeletonGroupsTreePlugin#

An abbreviated tree of skeleton related prims.

Config:
  • arbitrary_types_allowed: bool = True

Fields:
field delegate: SkeletonGroupsDelegate = None#
field model: SkeletonGroupsModel = None#
model_post_init(context: Any, /) None#

This function is meant to behave like a BaseModel method to initialise private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

name: ClassVar[str] = 'SkeletonGroupsTreePlugin'#
class omni.flux.stage_manager.plugin.tree.usd.skeleton_groups.SkeletonItem(
display_name: str,
data: Prim | None,
tooltip: str = '',
display_name_ancestor: str | None = None,
skel_root: Prim | None = None,
skel_prim: Prim | None = None,
bound_prim: Prim | None = None,
)#
class omni.flux.stage_manager.plugin.tree.usd.skeleton_groups.SkeletonJointItem(
display_name: str,
data: Prim | None,
index: int,
tooltip: str = '',
display_name_ancestor: str | None = None,
skel_root: Prim | None = None,
skel_prim: Prim | None = None,
bound_prim: Prim | None = None,
)#
class omni.flux.stage_manager.plugin.tree.usd.skeleton_groups.SkeletonRootItem(
display_name: str,
data: Prim | None,
tooltip: str = '',
display_name_ancestor: str | None = None,
skel_root: Prim | None = None,
skel_prim: Prim | None = None,
bound_prim: Prim | None = None,
)#
class omni.flux.stage_manager.plugin.tree.usd.skeleton_groups.SkeletonTreeItem(
display_name: str,
data: Prim | None,
tooltip: str = '',
display_name_ancestor: str | None = None,
skel_root: Prim | None = None,
skel_prim: Prim | None = None,
bound_prim: Prim | None = None,
)#
icon: str | None = None#
  • SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.

  • SPDX-License-Identifier: Apache-2.0

  • Licensed under the Apache License, Version 2.0 (the “License”);

  • you may not use this file except in compliance with the License.

  • You may obtain a copy of the License at

  • https://www.apache.org/licenses/LICENSE-2.0

  • Unless required by applicable law or agreed to in writing, software

  • distributed under the License is distributed on an “AS IS” BASIS,

  • WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

  • See the License for the specific language governing permissions and

  • limitations under the License.

class omni.flux.stage_manager.plugin.tree.usd.virtual_groups.VirtualGroupsDelegate(header_height: int = 24, row_height: int = 24)#
class omni.flux.stage_manager.plugin.tree.usd.virtual_groups.VirtualGroupsItem(*args, is_virtual: bool | None = None, **kwargs)#

Create a Virtual Group Item.

Virtual items are synthetic grouping nodes that exist for UI organization purposes and don’t directly correspond to a real USD prim. For example, a Material node that groups meshes by their bound material. Non-virtual items represent actual USD prims.

Note: The same USD prim may appear multiple times under different virtual parents (e.g., a mesh with multiple materials). In such cases, always create new instances via _build_item() rather than reusing existing tree items to ensure each occurrence gets its own unique tree item instance.

Parameters:
  • display_name – The name to display in the Tree

  • data – The USD Prim this item represents (None for pure virtual grouping nodes)

  • tooltip – The tooltip to display when hovering an item in the TreeView

  • display_name_ancestor – A string to prepend to the display name with

  • is_virtual – Whether this is a virtual grouping node. If None, inferred from whether data is None.

build_widget()#

Build the UsdPrimNameField widget for this item.

display_text_fn(prim: Usd.Prim) str#

Get display text for the prim. Returns display_name if virtual, otherwise prim.GetName().

is_prim_editable(prim: Usd.Prim) bool#

Determine if the prim is editable.

class omni.flux.stage_manager.plugin.tree.usd.virtual_groups.VirtualGroupsModel(context_name: str = '')#
pydantic model omni.flux.stage_manager.plugin.tree.usd.virtual_groups.VirtualGroupsTreePlugin#

A flat list of prims that can be grouped using virtual groups

Config:
  • arbitrary_types_allowed: bool = True

Fields:
field delegate: VirtualGroupsDelegate = None#
field model: VirtualGroupsModel = None#
model_post_init(context: Any, /) None#

This function is meant to behave like a BaseModel method to initialise private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

name: ClassVar[str] = 'VirtualGroupsTreePlugin'#