FnUsdAbstractionLib 0.6.0
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
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, searching for it if this is the first time.
 
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

◆ pluginPrefix()

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)

◆ find()

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.

◆ getRegistryIdentifier()

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.



©2025 The Foundry Visionmongers, Ltd. All Rights Reserved.
www.thefoundry.co.uk