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 setGeometry(bool onoff);
77  virtual void setGlobalIllumination(bool onoff);
78  virtual void setPortal(bool onoff);
79  virtual void setAreaSide(bool single, bool reverse);
80  virtual void setAreaAxes(const UT_Vector3F &axes);
81  virtual void setBoundingRadius(float radius);
82  virtual void setSurfaceArea(float area);
83  virtual void setNormalizeArea(bool norm);
84  virtual void setAreaShape(OBJ_LightAreaShape shape);
85  virtual void setAreaTransform(UT_Matrix4 t);
86  virtual void setEnvironmentMap(const char *name, const char *relativeTo);
87  virtual void setEnvironment(bool onoff);
88  virtual void setEnvironmentMipmap(bool onoff);
89  virtual void setEnvironmentCone(float angle);
90  virtual bool isEnvironmentLight() const;
91  virtual void setAttenuation(float constant, float linear, float quadratic);
92  virtual void setAttenuationRange(float near_dist, float far_dist);
93  virtual void setAttenuationRamp(
94  const UT_Ramp *ramp, float start_dist, float end_dist);
95  virtual void setLightShadowMapSize(int s);
96  virtual void setFogIntensity(float i);
97  virtual void setFogScatter(float para, float perp);
98 
99 protected:
101 
104 private:
105  void verifySubclassOverride() const;
106 };
107 
108 
109 // ==========================================================================
110 // OBJ_ReLightProxy stub implementation.
111 // ==========================================================================
112 
114 {
115  verifySubclassOverride();
116  return NULL;
117 }
118 
119 inline void OBJ_ReLightProxy::enable(bool e)
120 { verifySubclassOverride(); }
121 
123 { verifySubclassOverride(); }
124 
125 inline void OBJ_ReLightProxy::setInfinite(int onoff)
126 { verifySubclassOverride(); }
127 
128 inline void OBJ_ReLightProxy::setAmbient(int onoff)
129 { verifySubclassOverride(); }
130 
131 inline void OBJ_ReLightProxy::setCone(int onoff)
132 { verifySubclassOverride(); }
133 
134 inline void OBJ_ReLightProxy::setName(const char *name)
135 { verifySubclassOverride(); }
136 
138 { verifySubclassOverride(); }
139 
141 { verifySubclassOverride(); }
142 
144 { verifySubclassOverride(); }
145 
147 { verifySubclassOverride(); }
148 
149 inline void OBJ_ReLightProxy::setConeAttrib(float a, float d, float r)
150 { verifySubclassOverride(); }
151 
153  const char *name, const char *relativeTo)
154 { verifySubclassOverride(); }
155 
157 { verifySubclassOverride(); }
158 
159 inline void OBJ_ReLightProxy::setShadowed(bool onoff)
160 { verifySubclassOverride(); }
161 
163 { verifySubclassOverride(); }
164 
166 { verifySubclassOverride(); }
167 
169 { verifySubclassOverride(); }
170 
172 { verifySubclassOverride(); }
173 
174 inline void OBJ_ReLightProxy::setShadowMask(const char *m)
175 { verifySubclassOverride(); }
176 
178 { verifySubclassOverride(); }
179 
180 inline void OBJ_ReLightProxy::setFocalLength(float focal)
181 { verifySubclassOverride(); }
182 
183 inline void OBJ_ReLightProxy::setAperture(float aper)
184 { verifySubclassOverride(); }
185 
186 inline void OBJ_ReLightProxy::setNearDistance(float znear)
187 { verifySubclassOverride(); }
188 
189 inline void OBJ_ReLightProxy::setFarDistance(float zfar)
190 { verifySubclassOverride(); }
191 
192 inline int OBJ_ReLightProxy::isInfinite() const
193 {
194  verifySubclassOverride();
195  return 0;
196 }
197 
199 { verifySubclassOverride(); }
200 
201 inline void OBJ_ReLightProxy::setDiffuse(int onoff)
202 { verifySubclassOverride(); }
203 
204 inline void OBJ_ReLightProxy::setSpecular(int onoff)
205 { verifySubclassOverride(); }
206 
207 inline void OBJ_ReLightProxy::setArea(bool onoff)
208 { verifySubclassOverride(); }
209 
210 inline void OBJ_ReLightProxy::setGeometry(bool onoff)
211 { verifySubclassOverride(); }
212 
214 { verifySubclassOverride(); }
215 
216 inline void OBJ_ReLightProxy::setPortal(bool onoff)
217 { verifySubclassOverride(); }
218 
219 inline void OBJ_ReLightProxy::setAreaSide(bool single, bool reverse)
220 { verifySubclassOverride(); }
221 
223 { verifySubclassOverride(); }
224 
225 inline void OBJ_ReLightProxy::setBoundingRadius(float radius)
226 { verifySubclassOverride(); }
227 
229 { verifySubclassOverride(); }
230 
232 { verifySubclassOverride(); }
233 
235 { verifySubclassOverride(); }
236 
238 { verifySubclassOverride(); }
239 
241  const char *name, const char *relativeTo)
242 { verifySubclassOverride(); }
243 
244 inline void OBJ_ReLightProxy::setEnvironment(bool onoff)
245 { verifySubclassOverride(); }
246 
248 { verifySubclassOverride(); }
249 
251 { verifySubclassOverride(); }
252 
254 {
255  verifySubclassOverride();
256  return false;
257 }
258 
260  float constant, float linear, float quadratic)
261 { verifySubclassOverride(); }
262 
264  float near_dist, float far_dist)
265 { verifySubclassOverride(); }
266 
268  const UT_Ramp *ramp, float start_dist, float end_dist)
269 { verifySubclassOverride(); }
270 
272 { verifySubclassOverride(); }
273 
275 { verifySubclassOverride(); }
276 
277 inline void OBJ_ReLightProxy::setFogScatter(float,float)
278 { verifySubclassOverride(); }
279 
280 #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 setGeometry(bool onoff)
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
GLdouble s
Definition: glad.h:3009
PUGI__FN void reverse(I begin, I end)
Definition: pugixml.cpp:7458
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 setBoundingRadius(float radius)
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:87
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:96
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 void setNormalizeArea(bool norm)
virtual RE_Light * getLight()
GA_API const UT_StringHolder area
virtual void setShadowQuality(float q)