8#ifndef PXR_USD_SDR_PARSER_PLUGIN_H
9#define PXR_USD_SDR_PARSER_PLUGIN_H
19#include "pxr/base/tf/type.h"
22#include "pxr/usd/sdr/api.h"
27PXR_NAMESPACE_OPEN_SCOPE
33#define SDR_REGISTER_PARSER_PLUGIN(ParserPluginClass) \
34TF_REGISTRY_FUNCTION(TfType) \
36 TfType::Define<ParserPluginClass, TfType::Bases<SdrParserPlugin>>() \
37 .SetFactory<SdrParserPluginFactory<ParserPluginClass>>(); \
150using SdrParserPluginFactoryBase = NdrParserPluginFactoryBase;
153using SdrParserPluginFactory = NdrParserPluginFactory<T>;
157PXR_NAMESPACE_CLOSE_SCOPE
Interface for parser plugins.
Interface for parser plugins.
virtual SDR_API SdrShaderNodeUniquePtr ParseShaderNode(const SdrShaderNodeDiscoveryResult &discoveryResult)=0
Takes the specified SdrShaderNodeDiscoveryResult instance, which was a result of the discovery proces...
static SDR_API SdrShaderNodeUniquePtr GetInvalidShaderNode(const SdrShaderNodeDiscoveryResult &dr)
Gets an invalid node based on the discovery result provided.
SDR_API NdrNodeUniquePtr Parse(const NdrNodeDiscoveryResult &discoveryResult) override
Takes the specified NdrNodeDiscoveryResult instance, which was a result of the discovery process,...
Represents the raw data of a node, and some other bits of metadata, that were determined via a NdrDis...
Represents the raw data of a node, and some other bits of metadata, that were determined via a SdrDis...
Pointer storage with deletion detection.