FnUsdAbstractionLib  14.0.8
usg::SchemaDescription Class Reference

#include <Schema.h>

Public Types

typedef Schema *(* PluginBuilder) (void)
 Constructor method definition used for 'build()' methods in plugins.
 

Public Member Functions

 SchemaDescription (const char *schema_name, PluginBuilder builder)
 
const char * schemaName () const
 Name of the shader class without any leading pluginPrefix() or trailing pluginSuffix().
 
const TokenschemaBaseType () const
 Name of base schema type - 'UsgSchema', 'UsgShader', etc.
 
const TokenSet & sourceTypes () const
 Set of type names this description will produce. Assigned by querying getSchemaTypes() on Schema instance.
 
const SchemaDescHandle * registryNode () const
 Pointer to singleton shader node stored in registry.
 
const std::string & registryIdentifier () const
 Unique identifier used for registry retrieval.
 

Static Public Member Functions

static const char * pluginPrefix ()
 
static const char * pluginSuffix ()
 
static const SchemaDescriptionfind (const char *schema_name)
 
static const SchemaDescriptiongetRegistryIdentifier (const std::string &identifier)
 

Public Attributes

PluginBuilder builder_method
 

Detailed Description

This structure creates a subclass of Schema, possibly from loading a plugin file or a compiled-in SchemaDescription.

Member Function Documentation

static const char* usg::SchemaDescription::pluginPrefix ( )
inlinestatic

Prefix and suffix strings prepended and appended to schemaName() string to construct plugin filenames (vs. the loaded SchemaDescription name)

static const SchemaDescription* usg::SchemaDescription::find ( const char *  schema_name)
static

Find a dso description by Schema name.

If a SchemaDescription already exists it's immediately returned otherwise pluginPrefix() and pluginSuffix() are added to the schemaName() string to search for the plugin .so filename.

Returns nullptr if not found.

Referenced by usg::Schema::find().

static const SchemaDescription* usg::SchemaDescription::getRegistryIdentifier ( const std::string &  identifier)
static

Find a dso description by shader registry unique identifier string. If it's not already in the registry null is returned and a plugin search is NOT performed.



©2024 The Foundry Visionmongers, Ltd. All Rights Reserved.
www.foundry.com