HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_Ramp.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * COMMENTS:
7  */
8 
9 #ifndef __HOM_Ramp_h__
10 #define __HOM_Ramp_h__
11 
12 #include "HOM_API.h"
13 #include "HOM_Defines.h"
14 #include "HOM_Errors.h"
15 #include "HOM_EnumModules.h"
16 #include "HOM_Module.h"
17 #include <UT/UT_Ramp.h>
18 
19 
20 SWIGOUT(%rename(Ramp) HOM_Ramp;)
21 
23 {
24 public:
26  : myIsColor(false)
27  { HOM_CONSTRUCT_OBJECT(this) }
28 
29  HOM_Ramp(std::vector<HOM_EnumValue *> basis,
30  const std::vector<double> &keys,
31  const std::vector<double> &values);
32 
33  HOM_Ramp(std::vector<HOM_EnumValue *> basis,
34  const std::vector<double> &keys,
35  const std::vector<std::vector<double> > &values);
36 
37  SWIGOUT(%ignore HOM_Ramp(const UT_Ramp&);)
38  HOM_Ramp(const UT_Ramp &ramp)
39  : myRamp{ramp}
40  , myIsColor{true}
41  {}
42 
44  { HOM_DESTRUCT_OBJECT(this) }
45 
46 
47  SWIGOUT(%ignore operator=;)
48  HOM_Ramp &operator=(const HOM_Ramp& ramp)
49  {
50  if (this != &ramp)
51  myRamp = ramp.myRamp;
52  return *this;
53  }
54 
55  std::string __repr__();
56 
57  bool isColor()
58  { return myIsColor; }
59 
60  HOM_EnumValue &colorType();
61  void setColorType(HOM_EnumValue &enum_value);
62 
63 
64  std::vector<HOM_EnumValue *> basis();
65 
66  std::vector<double> keys();
67 
69  { return &myRamp; }
70 
71 
72  SWIGOUT(%ignore getUTRamp;)
74  { return myRamp; }
75 
76  SWIGOUT(%ignore setIsColor;)
77  void setIsColor(bool is_color)
78  { myIsColor = is_color; }
79 
80  SWIGOUT(%ignore rampLookup;)
81  hboost::any rampLookup(double pos);
82 
83  SWIGOUT(%ignore rampValues;)
84  hboost::any rampValues();
85 
86  // Internal converters
87  SWIGOUT(%ignore splineBasisForEnumValue;)
88  static UT_SPLINE_BASIS splineBasisForEnumValue(
89  HOM_EnumValue &enum_value);
90  SWIGOUT(%ignore splineBasisToEnumValue;)
91  static HOM_EnumValue & splineBasisToEnumValue(UT_SPLINE_BASIS basis);
92 
93 #ifdef SWIG
94 %extend
95 {
96  InterpreterObject lookup(double pos)
97  {
98  return HOMboostAnyToInterpreterObject(self->rampLookup(pos));
99  }
100 
101  InterpreterObject values()
102  {
103  return HOMboostAnyToInterpreterObject(self->rampValues());
104  }
105 }
106 #endif
107 
108 private:
109  UT_Ramp myRamp;
110  bool myIsColor;
111 };
112 
113 #endif
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1343
HOM_Ramp(const UT_Ramp &ramp)
Definition: HOM_Ramp.h:38
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
string __repr__(VtArray< T > const &self)
Definition: wrapArray.h:312
UT_SPLINE_BASIS
Definition: UT_Spline.h:31
UT_Ramp & getUTRamp()
Definition: HOM_Ramp.h:73
bool isColor()
Definition: HOM_Ramp.h:57
bool any(const vbool4 &v)
Definition: simd.h:3600
#define HOM_API
Definition: HOM_API.h:13
void ignore(T const &) VULKAN_HPP_NOEXCEPT
Definition: vulkan.hpp:6508
#define HOM_CONSTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1342
HOM_Ramp()
Definition: HOM_Ramp.h:25
void setIsColor(bool is_color)
Definition: HOM_Ramp.h:77
void * _asVoidPointer()
Definition: HOM_Ramp.h:68
GLenum GLsizei GLsizei GLint * values
Definition: glcorearb.h:1602
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)
Utility class for containing a color ramp.
Definition: UT_Ramp.h:96
~HOM_Ramp()
Definition: HOM_Ramp.h:43