HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TIL_ColorCurves.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  * NAME: TIL_ColorCurves.h ( TIL Library, C++)
7  *
8  * COMMENTS:
9  * A class for sampling color curves.
10  */
11 #ifndef TIL_COLOR_CURVES_H
12 #define TIL_COLOR_CURVES_H
13 
14 #include "TIL_API.h"
15 #include <UT/UT_NonCopyable.h>
16 
18 {
19 public:
20  TIL_ColorCurves(int curve_size = 256);
21  ~TIL_ColorCurves();
22 
24 
25  void setValid(bool valid);
26  void setValid(int comp, bool valid);
27 
28  void setCurveSize(int size);
29  int getCurveSize() const { return myCurveSize; }
30 
31  const float *getCurve(int comp) const;
32  float *getCurveForWrite(int comp);
33 
34  void setDomain(float start, float end) { myStart=start; myEnd=end;}
35  void getDomain(float &start, float &end) const
36  { start = myStart; end = myEnd; }
37 
38  void clampRange(float minr, float maxr);
39 
40 private:
41  bool myValid[4];
42  float *myCurves[4];
43  int myCurveSize;
44  float myStart;
45  float myEnd;
46 };
47 
48 #endif
GLuint start
Definition: glcorearb.h:475
void getDomain(float &start, float &end) const
GLuint GLuint end
Definition: glcorearb.h:475
#define UT_NON_COPYABLE(CLASS)
Define deleted copy constructor and assignment operator inside a class.
void setDomain(float start, float end)
GLsizeiptr size
Definition: glcorearb.h:664
int getCurveSize() const
#define TIL_API
Definition: TIL_API.h:10