usdrt/scenegraph/interface/Common.h

File members: usdrt/scenegraph/interface/Common.h

// Copyright (c) 2022-2024, NVIDIA CORPORATION. All rights reserved.
//
// NVIDIA CORPORATION and its licensors retain all intellectual property
// and proprietary rights in and to this software, related documentation
// and any modifications thereto. Any use, reproduction, disclosure or
// distribution of this software and related documentation without an express
// license agreement from NVIDIA CORPORATION is strictly prohibited.
//
#pragma once

#include "AccessType.h"

#include <omni/core/IObject.h>
#include <omni/fabric/IFabric.h>

namespace usdrt
{

enum class UsdSchemaType
{
    AbstractBase,
    AbstractTyped,
    ConcreteTyped,
    NonAppliedAPI,
    SingleApplyAPI,
    MultipleApplyAPI

};

enum class OMNI_ATTR("prefix=e") ListPosition : uint32_t
{
    eFrontOfPrepend,
    eBackOfPrepend,
    eFrontOfAppend,
    eBackOfAppend
};

struct AttrSpecC
{
    omni::fabric::Type type;
    omni::fabric::TokenC name;
    AccessType accessType;
};

} // namespace usdrt