HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HwImplementation.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_HWIMPLEMENTATION_H
7 #define MATERIALX_HWIMPLEMENTATION_H
8 
9 /// @file
10 /// Hardware shader node implementation base class
11 
12 #include <MaterialXGenHw/Export.h>
13 
15 
17 
18 /// @class HwImplementation
19 /// Base class for HW node implementations.
21 {
22  public:
23  bool isEditable(const ShaderInput& input) const override;
24 
25  protected:
27 
28  // Integer identifiers for coordinate spaces.
29  // The order must match the order given for the space enum string in stdlib.
30  enum Space
31  {
32  MODEL_SPACE = 0,
33  OBJECT_SPACE = 1,
34  WORLD_SPACE = 2
35  };
36 
37  /// Internal string constants
38  static const string SPACE;
39  static const string INDEX;
40  static const string GEOMPROP;
41 };
42 
44 
45 #endif
#define MATERIALX_NAMESPACE_BEGIN
Definition: Generated.h:25
static const string SPACE
Internal string constants.
static const string INDEX
virtual bool isEditable(const ShaderInput &) const
static const string GEOMPROP
#define MATERIALX_NAMESPACE_END
Definition: Generated.h:26
#define MX_GENHW_API
Definition: Export.h:18