Skip to content

Commit

Permalink
Add initial implementation of usdSemantics
Browse files Browse the repository at this point in the history
  • Loading branch information
nvmkuruc committed Sep 12, 2024
1 parent 6030846 commit 319cad2
Show file tree
Hide file tree
Showing 21 changed files with 2,263 additions and 0 deletions.
1 change: 1 addition & 0 deletions pxr/usd/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ set(DIRS
usdRender
usdHydra
usdRi
usdSemantics
usdSkel
usdUI
usdUtils
Expand Down
54 changes: 54 additions & 0 deletions pxr/usd/usdSemantics/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
set(PXR_PREFIX pxr/usd)
set(PXR_PACKAGE usdSemantics)

pxr_library(usdSemantics
LIBRARIES
tf
vt
usd

PUBLIC_CLASSES
labelsAPI
labelsQuery
tokens

PUBLIC_HEADERS
api.h

PYTHON_CPPFILES
moduleDeps.cpp

PYMODULE_CPPFILES
module.cpp
wrapLabelsAPI.cpp
wrapLabelsQuery.cpp
wrapTokens.cpp

PYMODULE_FILES
__init__.py

RESOURCE_FILES
plugInfo.json
generatedSchema.usda
schema.usda:usdSemantics/schema.usda

DOXYGEN_FILES
overview.md
)

pxr_test_scripts(
testenv/testUsdSemanticsLabelsAPI.py
testenv/testUsdSemanticsLabelsQuery.py
)

pxr_register_test(testUsdSemanticsLabelsAPI
PYTHON
COMMAND "${CMAKE_INSTALL_PREFIX}/tests/testUsdSemanticsLabelsAPI"
EXPECTED_RETURN_CODE 0
)

pxr_register_test(testUsdSemanticsQuery
PYTHON
COMMAND "${CMAKE_INSTALL_PREFIX}/tests/testUsdSemanticsLabelsQuery"
EXPECTED_RETURN_CODE 0
)
27 changes: 27 additions & 0 deletions pxr/usd/usdSemantics/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#
# Copyright 2024 Pixar
#
# Licensed under the Apache License, Version 2.0 (the "Apache License")
# with the following modification; you may not use this file except in
# compliance with the Apache License and the following modification to it:
# Section 6. Trademarks. is deleted and replaced with:
#
# 6. Trademarks. This License does not grant permission to use the trade
# names, trademarks, service marks, or product names of the Licensor
# and its affiliates, except as required to comply with Section 4(c) of
# the License and to reproduce the content of the NOTICE file.
#
# You may obtain a copy of the Apache License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the Apache License with the above modification is
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the Apache License for the specific
# language governing permissions and limitations under the Apache License.
#

from pxr import Tf
Tf.PreparePythonModule()
del Tf
30 changes: 30 additions & 0 deletions pxr/usd/usdSemantics/api.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
//
// Copyright 2017 Pixar
//
// Licensed under the terms set forth in the LICENSE.txt file available at
// https://openusd.org/license.
//
#ifndef USDSEMANTICS_API_H
#define USDSEMANTICS_API_H

#include "pxr/base/arch/export.h"

#if defined(PXR_STATIC)
# define USDSEMANTICS_API
# define USDSEMANTICS_API_TEMPLATE_CLASS(...)
# define USDSEMANTICS_API_TEMPLATE_STRUCT(...)
# define USDSEMANTICS_LOCAL
#else
# if defined(USDSEMANTICS_EXPORTS)
# define USDSEMANTICS_API ARCH_EXPORT
# define USDSEMANTICS_API_TEMPLATE_CLASS(...) ARCH_EXPORT_TEMPLATE(class, __VA_ARGS__)
# define USDSEMANTICS_API_TEMPLATE_STRUCT(...) ARCH_EXPORT_TEMPLATE(struct, __VA_ARGS__)
# else
# define USDSEMANTICS_API ARCH_IMPORT
# define USDSEMANTICS_API_TEMPLATE_CLASS(...) ARCH_IMPORT_TEMPLATE(class, __VA_ARGS__)
# define USDSEMANTICS_API_TEMPLATE_STRUCT(...) ARCH_IMPORT_TEMPLATE(struct, __VA_ARGS__)
# endif
# define USDSEMANTICS_LOCAL ARCH_HIDDEN
#endif

#endif
17 changes: 17 additions & 0 deletions pxr/usd/usdSemantics/generatedSchema.usda
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#usda 1.0
(
"WARNING: THIS FILE IS GENERATED BY usdGenSchema. DO NOT EDIT."
)

class "SemanticsLabelsAPI" (
doc = """Applied set of labels for a prim for a taxonomy specified by the
schema's instance name.

See UsdSemanticsLabelsQuery for computing inherited semantics."""
)
{
token[] semantics:labels:__INSTANCE_NAME__ = [] (
doc = "The set of labels specified at this prim."
)
}

Loading

0 comments on commit 319cad2

Please sign in to comment.