HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
OslNetworkSyntax.h
Go to the documentation of this file.
1 //
2 // Copyright Contributors to the MaterialX Project
3 // SPDX-License-Identifier: Apache-2.0
4 //
5 
6 #ifndef MATERIALX_OSLNETWORKSYNTAX_H
7 #define MATERIALX_OSLNETWORKSYNTAX_H
8 
9 /// @file
10 /// OSL Network syntax class
11 
12 #include <MaterialXGenOsl/Export.h>
13 
15 
17 
18 /// @class OslNetworkSyntax
19 /// Syntax class for OSL (Open Shading Language) Network command strings
21 {
22  public:
23  OslNetworkSyntax(TypeSystemPtr typeSystem);
24 
25  static SyntaxPtr create(TypeSystemPtr typeSystem) { return std::make_shared<OslNetworkSyntax>(typeSystem); }
26 
27  const string& getOutputQualifier() const override;
28  const string& getConstantQualifier() const override { return EMPTY_STRING; };
29  const string& getSourceFileExtension() const override { return SOURCE_FILE_EXTENSION; };
30 
31  static const string OUTPUT_QUALIFIER;
32  static const string SOURCE_FILE_EXTENSION;
33  static const StringVec VECTOR_MEMBERS;
34  static const StringVec VECTOR2_MEMBERS;
35  static const StringVec VECTOR4_MEMBERS;
36  static const StringVec COLOR4_MEMBERS;
37 };
38 
40 
41 #endif
#define MATERIALX_NAMESPACE_BEGIN
Definition: Generated.h:25
vector< string > StringVec
A vector of strings.
Definition: Library.h:61
MATERIALX_NAMESPACE_BEGIN MX_CORE_API const string EMPTY_STRING
shared_ptr< Syntax > SyntaxPtr
Shared pointer to a Syntax.
Definition: Syntax.h:28
const string & getConstantQualifier() const override
static const string SOURCE_FILE_EXTENSION
virtual const string & getOutputQualifier() const
Definition: Syntax.h:127
shared_ptr< class TypeSystem > TypeSystemPtr
Definition: TypeDesc.h:219
#define MX_GENOSL_API
Definition: Export.h:18
static const StringVec VECTOR4_MEMBERS
static const StringVec VECTOR2_MEMBERS
static const StringVec VECTOR_MEMBERS
virtual const string & getSourceFileExtension() const =0
Return the file extension used for source code files in this language.
static const StringVec COLOR4_MEMBERS
#define MATERIALX_NAMESPACE_END
Definition: Generated.h:26
static SyntaxPtr create(TypeSystemPtr typeSystem)
Definition: Syntax.h:43