HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
OBJ_ReLightProxy.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: OBJ_ReLightProxy.h ( OBJ Library, C++)
7  *
8  * COMMENTS:
9  * Stand-in proxy for OBJ_ReLight. If OBJ_ReLight is not loaded (i.e.
10  * non-graphical apps), then the proxy does nothing.
11  */
12 
13 #ifndef __OBJ_ReLightProxy__
14 #define __OBJ_ReLightProxy__
15 
16 #include "OBJ_API.h"
17 
18 #include "OBJ_Light.h"
19 #include <UT/UT_Options.h>
20 #include <UT/UT_Ramp.h>
21 #include <UT/UT_UniquePtr.h>
22 #include <UT/UT_Vector3.h>
23 
24 class OBJ_Ambient;
25 class OBJ_ReLightProxy;
26 class RE_Light;
27 
28 typedef OBJ_ReLightProxy *(*OBJ_ReLightProxyCreateFunc)
29  (OBJ_Ambient *obj_light);
30 
31 // ==========================================================================
32 // OBJ_ReLightProxy declaration.
33 // ==========================================================================
35 {
36 public:
37  virtual ~OBJ_ReLightProxy();
38 
39  virtual RE_Light *getLight();
40  const UT_Options &getParms() const { return myParms; }
41 
42  static OBJ_ReLightProxy *create(OBJ_Ambient *obj_light);
43  static void registerCreateFunc(OBJ_ReLightProxyCreateFunc create_func);
44 
45  // Proxies for methods on the OBJ_ReLight object.
46  // In this base class, these proxies are just stubs.
47  virtual void enable(bool e);
48  virtual void bumpVersion();
49  virtual void setInfinite(int onoff);
50  virtual void setAmbient(int onoff);
51  virtual void setCone(int onoff);
52  virtual void setName(const char *name);
53  virtual void setPosition(const UT_Vector3 &p);
54  virtual void setDirection(const UT_Vector3 &d);
55  virtual void setOrientation(UT_Matrix3 &orient);
56  virtual void setColor(const UT_Vector3 &c);
57  virtual void setConeAttrib(float a, float d, float r);
58  virtual void setProjectMap(const char *name, const char *relativeTo);
59  virtual void setProjectMapClamp(int onoff);
60  virtual void setShadowed(bool onoff);
61  virtual void setShadowIntensity(float i);
62  virtual void setShadowBias(float b);
63  virtual void setShadowBlur(float b);
64  virtual void setShadowQuality(float q);
65  virtual void setShadowMask(const char *m);
66  virtual void setTransform(const UT_Matrix4 &m);
67  virtual void setFocalLength(float focal);
68  virtual void setAperture(float aper);
69  virtual void setNearDistance(float znear);
70  virtual void setFarDistance(float zfar);
71  virtual int isInfinite() const;
72  virtual void setOrthoWidth(float width);
73  virtual void setDiffuse(int onoff);
74  virtual void setSpecular(int onoff);
75  virtual void setArea(bool onoff);
76  virtual void setGlobalIllumination(bool onoff);
77  virtual void setPortal(bool onoff);
78  virtual void setAreaSide(bool single, bool reverse);
79  virtual void setAreaAxes(const UT_Vector3F &axes);
80  virtual void setSurfaceArea(float area);
81  virtual void setAreaShape(OBJ_LightAreaShape shape);
82  virtual void setAreaTransform(UT_Matrix4 t);
83  virtual void setEnvironmentMap(const char *name, const char *relativeTo);
84  virtual void setEnvironment(bool onoff);
85  virtual void setEnvironmentMipmap(bool onoff);
86  virtual void setEnvironmentCone(float angle);
87  virtual bool isEnvironmentLight() const;
88  virtual void setAttenuation(float constant, float linear, float quadratic);
89  virtual void setAttenuationRange(float near_dist, float far_dist);
90  virtual void setAttenuationRamp(
91  const UT_Ramp *ramp, float start_dist, float end_dist);
92  virtual void setLightShadowMapSize(int s);
93  virtual void setFogIntensity(float i);
94  virtual void setFogScatter(float para, float perp);
95 
96 protected:
98 
101 private:
102  void verifySubclassOverride() const;
103 };
104 
105 
106 // ==========================================================================
107 // OBJ_ReLightProxy stub implementation.
108 // ==========================================================================
109 
111 {
112  verifySubclassOverride();
113  return NULL;
114 }
115 
116 inline void OBJ_ReLightProxy::enable(bool e)
117 { verifySubclassOverride(); }
118 
120 { verifySubclassOverride(); }
121 
122 inline void OBJ_ReLightProxy::setInfinite(int onoff)
123 { verifySubclassOverride(); }
124 
125 inline void OBJ_ReLightProxy::setAmbient(int onoff)
126 { verifySubclassOverride(); }
127 
128 inline void OBJ_ReLightProxy::setCone(int onoff)
129 { verifySubclassOverride(); }
130 
131 inline void OBJ_ReLightProxy::setName(const char *name)
132 { verifySubclassOverride(); }
133 
135 { verifySubclassOverride(); }
136 
138 { verifySubclassOverride(); }
139 
141 { verifySubclassOverride(); }
142 
144 { verifySubclassOverride(); }
145 
146 inline void OBJ_ReLightProxy::setConeAttrib(float a, float d, float r)
147 { verifySubclassOverride(); }
148 
150  const char *name, const char *relativeTo)
151 { verifySubclassOverride(); }
152 
154 { verifySubclassOverride(); }
155 
156 inline void OBJ_ReLightProxy::setShadowed(bool onoff)
157 { verifySubclassOverride(); }
158 
160 { verifySubclassOverride(); }
161 
163 { verifySubclassOverride(); }
164 
166 { verifySubclassOverride(); }
167 
169 { verifySubclassOverride(); }
170 
171 inline void OBJ_ReLightProxy::setShadowMask(const char *m)
172 { verifySubclassOverride(); }
173 
175 { verifySubclassOverride(); }
176 
177 inline void OBJ_ReLightProxy::setFocalLength(float focal)
178 { verifySubclassOverride(); }
179 
180 inline void OBJ_ReLightProxy::setAperture(float aper)
181 { verifySubclassOverride(); }
182 
183 inline void OBJ_ReLightProxy::setNearDistance(float znear)
184 { verifySubclassOverride(); }
185 
186 inline void OBJ_ReLightProxy::setFarDistance(float zfar)
187 { verifySubclassOverride(); }
188 
189 inline int OBJ_ReLightProxy::isInfinite() const
190 {
191  verifySubclassOverride();
192  return 0;
193 }
194 
196 { verifySubclassOverride(); }
197 
198 inline void OBJ_ReLightProxy::setDiffuse(int onoff)
199 { verifySubclassOverride(); }
200 
201 inline void OBJ_ReLightProxy::setSpecular(int onoff)
202 { verifySubclassOverride(); }
203 
204 inline void OBJ_ReLightProxy::setArea(bool onoff)
205 { verifySubclassOverride(); }
206 
208 { verifySubclassOverride(); }
209 
210 inline void OBJ_ReLightProxy::setPortal(bool onoff)
211 { verifySubclassOverride(); }
212 
213 inline void OBJ_ReLightProxy::setAreaSide(bool single, bool reverse)
214 { verifySubclassOverride(); }
215 
217 { verifySubclassOverride(); }
218 
220 { verifySubclassOverride(); }
221 
223 { verifySubclassOverride(); }
224 
226 { verifySubclassOverride(); }
227 
229  const char *name, const char *relativeTo)
230 { verifySubclassOverride(); }
231 
232 inline void OBJ_ReLightProxy::setEnvironment(bool onoff)
233 { verifySubclassOverride(); }
234 
236 { verifySubclassOverride(); }
237 
239 { verifySubclassOverride(); }
240 
242 {
243  verifySubclassOverride();
244  return false;
245 }
246 
248  float constant, float linear, float quadratic)
249 { verifySubclassOverride(); }
250 
252  float near_dist, float far_dist)
253 { verifySubclassOverride(); }
254 
256  const UT_Ramp *ramp, float start_dist, float end_dist)
257 { verifySubclassOverride(); }
258 
260 { verifySubclassOverride(); }
261 
263 { verifySubclassOverride(); }
264 
265 inline void OBJ_ReLightProxy::setFogScatter(float,float)
266 { verifySubclassOverride(); }
267 
268 #endif
UT_UniquePtr< UT_Ramp > myAttenRamp
virtual void setEnvironment(bool onoff)
virtual void setLightShadowMapSize(int s)
virtual void setShadowIntensity(float i)
virtual void setFocalLength(float focal)
virtual void setAreaTransform(UT_Matrix4 t)
virtual void setSurfaceArea(float area)
virtual void setEnvironmentCone(float angle)
SIM_API const UT_StringHolder angle
virtual void setTransform(const UT_Matrix4 &m)
const UT_Options & getParms() const
virtual bool isEnvironmentLight() const
virtual void setShadowed(bool onoff)
virtual void setPortal(bool onoff)
GLboolean GLboolean GLboolean GLboolean a
Definition: glcorearb.h:1222
void reverse(I begin, I end)
Definition: pugixml.cpp:7190
GLdouble s
Definition: glad.h:3009
OBJ_ReLightProxy *(* OBJ_ReLightProxyCreateFunc)(OBJ_Ambient *obj_light)
GLdouble GLdouble GLdouble q
Definition: glad.h:2445
virtual void setAreaShape(OBJ_LightAreaShape shape)
virtual void setAttenuationRamp(const UT_Ramp *ramp, float start_dist, float end_dist)
virtual void setNearDistance(float znear)
virtual void setProjectMapClamp(int onoff)
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
Definition: UT_UniquePtr.h:39
virtual void setEnvironmentMipmap(bool onoff)
virtual void setFogScatter(float para, float perp)
virtual void setName(const char *name)
virtual void enable(bool e)
virtual void bumpVersion()
virtual void setAttenuation(float constant, float linear, float quadratic)
virtual void setProjectMap(const char *name, const char *relativeTo)
virtual void setArea(bool onoff)
virtual void setAperture(float aper)
OBJ_LightAreaShape
Definition: OBJ_Light.h:29
bool isInfinite(const float x)
Return true if x is an infinity value (either positive infinity or negative infinity).
Definition: Math.h:385
virtual void setAmbient(int onoff)
virtual void setAreaSide(bool single, bool reverse)
GLuint const GLchar * name
Definition: glcorearb.h:786
virtual void setInfinite(int onoff)
GLboolean GLboolean GLboolean b
Definition: glcorearb.h:1222
virtual void setConeAttrib(float a, float d, float r)
GA_API const UT_StringHolder orient
virtual void setOrientation(UT_Matrix3 &orient)
GLdouble t
Definition: glad.h:2397
virtual void setShadowMask(const char *m)
A map of string to various well defined value types.
Definition: UT_Options.h:84
virtual void setFogIntensity(float i)
virtual void setDiffuse(int onoff)
virtual void setCone(int onoff)
Utility class for containing a color ramp.
Definition: UT_Ramp.h:88
virtual int isInfinite() const
virtual void setShadowBlur(float b)
virtual void setSpecular(int onoff)
virtual void setEnvironmentMap(const char *name, const char *relativeTo)
virtual void setGlobalIllumination(bool onoff)
GLint GLsizei width
Definition: glcorearb.h:103
virtual void setPosition(const UT_Vector3 &p)
virtual void setAreaAxes(const UT_Vector3F &axes)
virtual void setFarDistance(float zfar)
GLboolean r
Definition: glcorearb.h:1222
virtual void setDirection(const UT_Vector3 &d)
#define OBJ_API
Definition: OBJ_API.h:10
virtual void setShadowBias(float b)
virtual void setAttenuationRange(float near_dist, float far_dist)
virtual void setOrthoWidth(float width)
virtual void setColor(const UT_Vector3 &c)
virtual RE_Light * getLight()
GA_API const UT_StringHolder area
virtual void setShadowQuality(float q)