HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DefaultColorManagementSystem.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_DEFAULT_COLOR_MANAGEMENT_SYSTEM_H
7 #define MATERIALX_DEFAULT_COLOR_MANAGEMENT_SYSTEM_H
8 
9 /// @file
10 /// Default color management system implementation
11 
13 
15 
16 /// A shared pointer to a DefaultColorManagementSystem
17 using DefaultColorManagementSystemPtr = shared_ptr<class DefaultColorManagementSystem>;
18 
19 /// @class DefaultColorManagementSystem
20 /// Class for a default color management system.
22 {
23  public:
25 
26  /// Create a new DefaultColorManagementSystem
27  static DefaultColorManagementSystemPtr create(const string& target);
28 
29  /// Return the DefaultColorManagementSystem name
30  const string& getName() const override;
31 
32  protected:
33  /// Returns a nodedef for a given transform
34  NodeDefPtr getNodeDef(const ColorSpaceTransform& transform) const override;
35 
36  /// Protected constructor
37  DefaultColorManagementSystem(const string& target);
38 
39  private:
40  string _target;
41 };
42 
44 
45 #endif
#define MATERIALX_NAMESPACE_BEGIN
Definition: Generated.h:25
#define MX_GENSHADER_API
Definition: Export.h:18
GLenum target
Definition: glcorearb.h:1667
GA_API const UT_StringHolder transform
virtual NodeDefPtr getNodeDef(const ColorSpaceTransform &transform) const =0
Returns a nodedef for a given transform.
virtual const string & getName() const =0
Return the ColorManagementSystem name.
#define MATERIALX_NAMESPACE_END
Definition: Generated.h:26
shared_ptr< class DefaultColorManagementSystem > DefaultColorManagementSystemPtr
A shared pointer to a DefaultColorManagementSystem.
shared_ptr< NodeDef > NodeDefPtr
A shared pointer to a NodeDef.
Definition: Definition.h:32