HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GR_HandleParts.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: GEO rendering library (C++)
7  *
8  * COMMENTS:
9  * Colors and materials for all kinds of handles.
10  *
11  */
12 
13 #ifndef __GR_HandleParts_H__
14 #define __GR_HandleParts_H__
15 
16 #include "GR_API.h"
17 #include <UT/UT_Vector3.h>
18 
19 #include "GR_DisplayColors.h"
20 
22 {
41 
44 
46 };
47 
49 {
57 };
58 
59 class UT_Color;
61 
63 {
64 public:
66  : diff(1.0f, 1.0f, 1.0f),
67  spec(1.0f, 1.0f, 1.0f),
68  amb (1.0f, 1.0f, 1.0f),
69  emit(0.0f, 0.0f, 0.0f)
70  {}
71 
76  float rough = 0.3f;
77  float diff_rough = 0.3f;
78  float alpha = 1.0f;
79  bool lit = true;
80 };
81 
82 
84 {
85 public:
87  ~GR_HandleParts();
88 
89  void reset();
90 
91  const GR_HandleLook *getLook(GR_HandleMaterial mat, bool ghost = false);
92  const UT_Color &getColor(GR_DisplayColor color, bool ghost = false);
93 
94 private:
95  const UT_Color &initColor(int ghost, UT_Color *&color,
96  UT_Color *&ghostcolor,
98 
100 
101  UT_Color *myActiveColor;
102  UT_Color *myPickedColor;
103  UT_Color *myInactiveColor;
104  UT_Color *mySelectedColor;
105  UT_Color *myGuideColor;
106 
107  UT_Color *myAxisColor;
108  UT_Color *myXAxisColor;
109  UT_Color *myYAxisColor;
110  UT_Color *myZAxisColor;
111  UT_Color *myPivotColor;
112  UT_Color *myPlaneAxisColor;
113  UT_Color *myViewAxisRotateColor;
114  UT_Color *myTumbleSphereColor;
115  UT_Color *myBendColor;
116  UT_Color *myTwistColor;
117  UT_Color *myTracerColor;
118  UT_Color *myDeltaTextColor;
119  UT_Color *myDeltaTextShadowColor;
120 
121  UT_Color *myGhostActiveColor;
122  UT_Color *myGhostPickedColor;
123  UT_Color *myGhostInactiveColor;
124  UT_Color *myGhostSelectedColor;
125  UT_Color *myGhostGuideColor;
126 
127  UT_Color *myGhostAxisColor;
128  UT_Color *myGhostXAxisColor;
129  UT_Color *myGhostYAxisColor;
130  UT_Color *myGhostZAxisColor;
131  UT_Color *myGhostPivotColor;
132  UT_Color *myGhostPlaneAxisColor;
133  UT_Color *myGhostViewAxisRotateColor;
134  UT_Color *myGhostTumbleSphereColor;
135  UT_Color *myGhostBendColor;
136  UT_Color *myGhostTwistColor;
137  UT_Color *myGhostTracerColor;
138  UT_Color *myGhostDeltaTextColor;
139  UT_Color *myGhostDeltaTextShadowColor;
140 
141  UT_Color *myCplaneHandleXlateColor;
142  UT_Color *myCplaneHandleRotateColor;
143  UT_Color *myCplaneHandleBorderColor;
144 
145  UT_Color *myGhostCplaneHandleXlateColor;
146  UT_Color *myGhostCplaneHandleRotateColor;
147  UT_Color *myGhostCplaneHandleBorderColor;
148 
149  UT_Color *mySliderKnobMaxColor;
150  UT_Color *myGhostSliderKnobMaxColor;
151 
152  const GR_CommonDispOption &myDisplayOpt; // our color source
153 };
154 
155 #endif
UT_Vector3F amb
GR_HandleMultiParts
GR_DisplayColor
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
Definition: UT_UniquePtr.h:39
UT_Vector3F diff
GLfloat f
Definition: glcorearb.h:1926
GLint GLint GLsizei GLint GLenum GLenum type
Definition: glcorearb.h:108
GLboolean reset
Definition: glad.h:5138
#define GR_API
Definition: GR_API.h:10
GLfloat GLfloat GLfloat alpha
Definition: glcorearb.h:112
UT_Vector3F emit
GLuint color
Definition: glcorearb.h:1261
GR_HandleMaterial
UT_Vector3F spec