All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
NdrNodeDiscoveryResult Struct Reference

Represents the raw data of a node, and some other bits of metadata, that were determined via a NdrDiscoveryPlugin. More...

Public Member Functions

 NdrNodeDiscoveryResult (const NdrIdentifier &identifier, const NdrVersion &version, const std::string &name, const TfToken &family, const TfToken &discoveryType, const TfToken &sourceType, const std::string &uri, const std::string &resolvedUri, const std::string &sourceCode=std::string(), const NdrTokenMap &metadata=NdrTokenMap(), const std::string &blindData=std::string(), const TfToken &subIdentifier=TfToken(), const NdrTokenVec &aliases=NdrTokenVec())
 Constructor. More...
 

Public Attributes

NdrIdentifier identifier
 The node's identifier. More...
 
NdrVersion version
 The node's version. More...
 
std::string name
 The node's name. More...
 
TfToken family
 The node's family. More...
 
TfToken discoveryType
 The node's discovery type. More...
 
TfToken sourceType
 The node's source type. More...
 
std::string uri
 The node's origin. More...
 
std::string resolvedUri
 The node's fully-resolved URI. More...
 
std::string sourceCode
 The node's entire source code. More...
 
NdrTokenMap metadata
 The node's metadata collected during the discovery process. More...
 
std::string blindData
 An optional detail for the parser plugin. More...
 
TfToken subIdentifier
 The subIdentifier is associated with a particular asset and refers to a specific definition within the asset. More...
 
NdrTokenVec aliases
 A list of aliases that can be used when looking up the node by identifier in the NdrRegistry. More...
 

Detailed Description

Represents the raw data of a node, and some other bits of metadata, that were determined via a NdrDiscoveryPlugin.

Definition at line 34 of file nodeDiscoveryResult.h.

Constructor & Destructor Documentation

NdrNodeDiscoveryResult ( const NdrIdentifier identifier,
const NdrVersion &  version,
const std::string &  name,
const TfToken family,
const TfToken discoveryType,
const TfToken sourceType,
const std::string &  uri,
const std::string &  resolvedUri,
const std::string &  sourceCode = std::string(),
const NdrTokenMap &  metadata = NdrTokenMap(),
const std::string &  blindData = std::string(),
const TfToken subIdentifier = TfToken(),
const NdrTokenVec &  aliases = NdrTokenVec() 
)
inline

Constructor.

Definition at line 36 of file nodeDiscoveryResult.h.

Member Data Documentation

NdrTokenVec aliases

A list of aliases that can be used when looking up the node by identifier in the NdrRegistry.

See NdrRegistry::GetNodesByIdentifier, NdrRegistry::GetNodeByIdentifier, and NdrRegistry::GetNodeByIdentifierAndType.

Definition at line 155 of file nodeDiscoveryResult.h.

std::string blindData

An optional detail for the parser plugin.

The parser plugin defines the meaning of this data so the discovery plugin must be written to match.

Definition at line 139 of file nodeDiscoveryResult.h.

TfToken discoveryType

The node's discovery type.

The type could be the file extension, or some other type of metadata that can signify a type prior to parsing. See the documentation for NdrParserPlugin and NdrParserPlugin::DiscoveryTypes for more information on how this value is used.

Definition at line 99 of file nodeDiscoveryResult.h.

TfToken family

The node's family.

A node's family is an optional piece of metadata that specifies a generic grouping of nodes. E.g a node with identifier "mix_float_2_1" might have family "mix".

Definition at line 91 of file nodeDiscoveryResult.h.

NdrIdentifier identifier

The node's identifier.

How the node is identified. In many cases this will be the name of the file or resource that this node originated from. E.g. "mix_float_2_1". The identifier must be unique for a given sourceType.

Definition at line 71 of file nodeDiscoveryResult.h.

NdrTokenMap metadata

The node's metadata collected during the discovery process.

Additional metadata may be present in the node's source, in the asset pointed to by resolvedUri or in sourceCode (if resolvedUri is empty). In general, parsers should override this data with metadata from the shader source.

Definition at line 134 of file nodeDiscoveryResult.h.

std::string name

The node's name.

A version independent identifier for the node type. This will often embed type parameterization but should not embed the version. E.g a node with identifier "mix_float_2_1" might have name "mix_float".

Definition at line 84 of file nodeDiscoveryResult.h.

std::string resolvedUri

The node's fully-resolved URI.

For example, this might be an absolute path when the original URI was a relative path. In most cases, this is the path that Ar's Resolve() returns. In any case, this path should be locally accessible.

Definition at line 120 of file nodeDiscoveryResult.h.

std::string sourceCode

The node's entire source code.

The source code is parsed (if non-empty) by parser plugins when the resolvedUri value is empty.

Definition at line 126 of file nodeDiscoveryResult.h.

TfToken sourceType

The node's source type.

This type is unique to the parsing plugin (NdrParserPlugin::SourceType), and determines the source of the node. See NdrNode::GetSourceType() for more information.

Definition at line 106 of file nodeDiscoveryResult.h.

TfToken subIdentifier

The subIdentifier is associated with a particular asset and refers to a specific definition within the asset.

The asset is the one referred to by NdrRegistry::GetNodeFromAsset(). The subIdentifier is not needed for all cases where the node definition is not associated with an asset. Even if the node definition is associated with an asset, the subIdentifier is only needed if the asset specifies multiple definitions rather than a single definition.

Definition at line 148 of file nodeDiscoveryResult.h.

std::string uri

The node's origin.

This may be a filesystem path, a URL pointing to a resource in the cloud, or some other type of resource identifier.

Definition at line 112 of file nodeDiscoveryResult.h.

NdrVersion version

The node's version.

This may or may not be embedded in the identifier, it's up to implementations. E.g a node with identifier "mix_float_2_1" might have version 2.1.

Definition at line 76 of file nodeDiscoveryResult.h.


The documentation for this struct was generated from the following file: