// Copyright (c) 2018-2020, 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 <carb/Defines.h>
#include <carb/Types.h>
#include <rtx/hydra/IHydraEngine.h>

#include <cstddef>

// defined in rtx/hydra/IHydraEngine.h
//struct omni::usd::hydra::IHydraSceneDelegate;

namespace omni
{
namespace hydra
{
namespace usdrt // carbonite style interface to allow other plugins to access scene delegates
{



struct ISceneDelegateFactory
{
    CARB_PLUGIN_INTERFACE("omni::hydra::usdrt::ISceneDelegateFactory", 0, 1)

    void(CARB_ABI* getInterface)(omni::usd::hydra::IHydraSceneDelegate& delegateInterface);
};

} // namespace hydra
} // namespace usd
} // namespace omni
