FnUsdAbstractionLib 0.6.0
|
#include <Schema.h>
Public Member Functions | |
Schema (const SchemaDescription &pluginDescription, const SchemaPropertyList &properties, const fdk::KeyValueMap &metadata=fdk::KeyValueMap()) | |
const char * | schemaName () const |
Name of the shader class without any leading pluginPrefix() or trailing pluginSuffix(). | |
virtual const Token & | baseTypeName () const |
virtual void | getSourceTypes (TokenSet &types) const |
virtual ShaderSchema * | asShaderSchema () |
Static Public Member Functions | |
static const SchemaDescription * | find (const char *schema_name) |
Find a SchemaDescription by schema name and optional source-type - NOT the plugin .so filename! | |
Static Protected Member Functions | |
static Schema * | create (const char *schema_name) |
Protected Attributes | |
std::unique_ptr< ShaderSchemaHandle, void(*)(ShaderSchemaHandle *)> | _pImpl |
Friends | |
class | SchemaBuiltinParser |
Schema class creates SchemaDesc definitions stored in the registry.
usg::Schema::Schema | ( | const SchemaDescription & | pluginDescription, |
const SchemaPropertyList & | properties, | ||
const fdk::KeyValueMap & | metadata = fdk::KeyValueMap() |
||
) |
The shader class name is taken from the SchemaDescription::schemaName(), so the subclass must pass its SchemaDescription.
|
inlinevirtual |
Return the base schema type string used to determine the handling of property types and where to support source types. Only a few are currently supported: 'UsgSchema' schema describes a set of properties for a generic Prim, the default. 'UsgShader' schema describes a ShaderSchema, which has specific property type restrictions
Reimplemented in usg::ShaderSchema.
|
virtual |
Get the set of additional source types to create for this Schema. Currently only used for ShaderSchema subclasses. An example of an additional source type would be 'glslfx'. Default implementation does nothing.
|
inlinevirtual |
Reimplemented in usg::ShaderSchema.
|
staticprotected |
Create a Schema singleton instance based on a shader class name or an existing shader plugin description. This should only be called during SchemaDescription ctor.
©2025 The Foundry Visionmongers, Ltd. All Rights Reserved. |