52
52
53
53
#include " BLI_math.h"
54
54
55
- KX_LightObject::KX_LightObject (void * sgReplicationInfo,SG_Callbacks callbacks,
56
- RAS_IRasterizer* rasterizer,
57
- RAS_ILightObject* lightobj)
58
- : KX_GameObject(sgReplicationInfo,callbacks),
59
- m_rasterizer(rasterizer)
55
+ KX_LightObject::KX_LightObject (void * sgReplicationInfo, SG_Callbacks callbacks,
56
+ RAS_IRasterizer * rasterizer,
57
+ RAS_ILightObject * lightobj)
58
+ :KX_GameObject(sgReplicationInfo, callbacks),
59
+ m_rasterizer(rasterizer)
60
60
{
61
61
m_lightobj = lightobj;
62
62
m_lightobj->m_scene = sgReplicationInfo;
63
63
m_lightobj->m_light = this ;
64
64
m_rasterizer->AddLight (m_lightobj);
65
- m_blenderscene = ((KX_Scene*)sgReplicationInfo)->GetBlenderScene ();
65
+ m_blenderscene = ((KX_Scene *)sgReplicationInfo)->GetBlenderScene ();
66
66
m_base = NULL ;
67
- };
68
-
67
+ }
69
68
70
69
KX_LightObject::~KX_LightObject ()
71
70
{
@@ -80,14 +79,12 @@ KX_LightObject::~KX_LightObject()
80
79
}
81
80
}
82
81
83
-
84
- CValue* KX_LightObject::GetReplica ()
82
+ CValue *KX_LightObject::GetReplica ()
85
83
{
86
-
87
- KX_LightObject* replica = new KX_LightObject (*this );
84
+ KX_LightObject *replica = new KX_LightObject (*this );
88
85
89
86
replica->ProcessReplica ();
90
-
87
+
91
88
replica->m_lightobj = m_lightobj->Clone ();
92
89
replica->m_lightobj ->m_light = replica;
93
90
m_rasterizer->AddLight (replica->m_lightobj );
@@ -99,7 +96,7 @@ CValue* KX_LightObject::GetReplica()
99
96
100
97
void KX_LightObject::UpdateScene (KX_Scene *kxscene)
101
98
{
102
- m_lightobj->m_scene = (void *)kxscene;
99
+ m_lightobj->m_scene = (void *)kxscene;
103
100
m_blenderscene = kxscene->GetBlenderScene ();
104
101
m_base = BKE_scene_base_add (m_blenderscene, GetBlenderObject ());
105
102
}
@@ -129,23 +126,23 @@ PyTypeObject KX_LightObject::Type = {
129
126
0 ,
130
127
&KX_GameObject::Sequence,
131
128
&KX_GameObject::Mapping,
132
- 0 ,0 , 0 ,
129
+ 0 , 0 , 0 ,
133
130
NULL ,
134
131
NULL ,
135
132
0 ,
136
133
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
137
- 0 ,0 , 0 , 0 , 0 , 0 , 0 ,
134
+ 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
138
135
Methods,
139
136
0 ,
140
137
0 ,
141
138
&KX_GameObject::Type,
142
- 0 ,0 , 0 , 0 , 0 , 0 ,
139
+ 0 , 0 , 0 , 0 , 0 , 0 ,
143
140
py_base_new
144
141
};
145
142
146
143
PyMethodDef KX_LightObject::Methods[] = {
147
144
KX_PYMETHODTABLE_NOARGS (KX_LightObject, updateShadow),
148
- {NULL ,NULL } // Sentinel
145
+ {NULL , NULL } // Sentinel
149
146
};
150
147
151
148
PyAttributeDef KX_LightObject::Attributes[] = {
@@ -173,7 +170,7 @@ PyAttributeDef KX_LightObject::Attributes[] = {
173
170
KX_PYATTRIBUTE_RO_FUNCTION (" HEMI" , KX_LightObject, pyattr_get_typeconst),
174
171
KX_PYATTRIBUTE_RW_FUNCTION (" type" , KX_LightObject, pyattr_get_type, pyattr_set_type),
175
172
KX_PYATTRIBUTE_RW_FUNCTION (" staticShadow" , KX_LightObject, pyattr_get_static_shadow, pyattr_set_static_shadow),
176
- { NULL } // Sentinel
173
+ {NULL } // Sentinel
177
174
};
178
175
179
176
KX_PYMETHODDEF_DOC_NOARGS (KX_LightObject, updateShadow, " updateShadow(): Set the shadow to be updated next frame if the lamp uses a static shadow.\n " )
@@ -202,7 +199,7 @@ int KX_LightObject::pyattr_set_layer(void *self_v, const KX_PYATTRIBUTE_DEF *att
202
199
PyErr_Format (PyExc_TypeError, " expected an integer greater than 1 for attribute \" %s\" " , attrdef->m_name );
203
200
return PY_SET_ATTR_FAIL;
204
201
}
205
- else if (layer > MAX_LIGHT_LAYERS) {
202
+ else if (layer > MAX_LIGHT_LAYERS) {
206
203
PyErr_Format (PyExc_TypeError, " expected an integer less than %i for attribute \" %s\" " , MAX_LIGHT_LAYERS, attrdef->m_name );
207
204
return PY_SET_ATTR_FAIL;
208
205
}
@@ -213,13 +210,13 @@ int KX_LightObject::pyattr_set_layer(void *self_v, const KX_PYATTRIBUTE_DEF *att
213
210
214
211
PyObject *KX_LightObject::pyattr_get_energy (void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
215
212
{
216
- KX_LightObject* self = static_cast <KX_LightObject*>(self_v);
213
+ KX_LightObject * self = static_cast <KX_LightObject *>(self_v);
217
214
return PyFloat_FromDouble (self->m_lightobj ->m_energy );
218
215
}
219
216
220
217
int KX_LightObject::pyattr_set_energy (void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value)
221
218
{
222
- KX_LightObject* self = static_cast <KX_LightObject*>(self_v);
219
+ KX_LightObject * self = static_cast <KX_LightObject *>(self_v);
223
220
224
221
if (PyFloat_Check (value)) {
225
222
float val = PyFloat_AsDouble (value);
@@ -298,13 +295,13 @@ PyObject *KX_LightObject::pyattr_get_shadow_active(void *self_v, const KX_PYATTR
298
295
299
296
PyObject *KX_LightObject::pyattr_get_distance (void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
300
297
{
301
- KX_LightObject* self = static_cast <KX_LightObject*>(self_v);
298
+ KX_LightObject * self = static_cast <KX_LightObject *>(self_v);
302
299
return PyFloat_FromDouble (self->m_lightobj ->m_distance );
303
300
}
304
301
305
302
int KX_LightObject::pyattr_set_distance (void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value)
306
303
{
307
- KX_LightObject* self = static_cast <KX_LightObject*>(self_v);
304
+ KX_LightObject * self = static_cast <KX_LightObject *>(self_v);
308
305
309
306
if (PyFloat_Check (value)) {
310
307
float val = PyFloat_AsDouble (value);
@@ -323,34 +320,31 @@ int KX_LightObject::pyattr_set_distance(void *self_v, const KX_PYATTRIBUTE_DEF *
323
320
324
321
PyObject *KX_LightObject::pyattr_get_color (void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
325
322
{
326
- KX_LightObject* self = static_cast <KX_LightObject*>(self_v);
323
+ KX_LightObject * self = static_cast <KX_LightObject *>(self_v);
327
324
return Py_BuildValue (" [fff]" , self->m_lightobj ->m_color [0 ], self->m_lightobj ->m_color [1 ], self->m_lightobj ->m_color [2 ]);
328
325
}
329
326
330
327
int KX_LightObject::pyattr_set_color (void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value)
331
328
{
332
- KX_LightObject* self = static_cast <KX_LightObject*>(self_v);
329
+ KX_LightObject * self = static_cast <KX_LightObject *>(self_v);
333
330
334
331
MT_Vector3 color;
335
- if (PyVecTo (value, color))
336
- {
337
- self->m_lightobj ->m_color [0 ] = color[0 ];
338
- self->m_lightobj ->m_color [1 ] = color[1 ];
339
- self->m_lightobj ->m_color [2 ] = color[2 ];
332
+ if (PyVecTo (value, color)) {
333
+ color.getValue (self->m_lightobj ->m_color );
340
334
return PY_SET_ATTR_SUCCESS;
341
335
}
342
336
return PY_SET_ATTR_FAIL;
343
337
}
344
338
345
339
PyObject *KX_LightObject::pyattr_get_lin_attenuation (void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
346
340
{
347
- KX_LightObject* self = static_cast <KX_LightObject*>(self_v);
341
+ KX_LightObject * self = static_cast <KX_LightObject *>(self_v);
348
342
return PyFloat_FromDouble (self->m_lightobj ->m_att1 );
349
343
}
350
344
351
345
int KX_LightObject::pyattr_set_lin_attenuation (void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value)
352
346
{
353
- KX_LightObject* self = static_cast <KX_LightObject*>(self_v);
347
+ KX_LightObject * self = static_cast <KX_LightObject *>(self_v);
354
348
355
349
if (PyFloat_Check (value)) {
356
350
float val = PyFloat_AsDouble (value);
@@ -369,13 +363,13 @@ int KX_LightObject::pyattr_set_lin_attenuation(void *self_v, const KX_PYATTRIBUT
369
363
370
364
PyObject *KX_LightObject::pyattr_get_quad_attenuation (void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
371
365
{
372
- KX_LightObject* self = static_cast <KX_LightObject*>(self_v);
366
+ KX_LightObject * self = static_cast <KX_LightObject *>(self_v);
373
367
return PyFloat_FromDouble (self->m_lightobj ->m_att2 );
374
368
}
375
369
376
370
int KX_LightObject::pyattr_set_quad_attenuation (void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value)
377
371
{
378
- KX_LightObject* self = static_cast <KX_LightObject*>(self_v);
372
+ KX_LightObject * self = static_cast <KX_LightObject *>(self_v);
379
373
380
374
if (PyFloat_Check (value)) {
381
375
float val = PyFloat_AsDouble (value);
@@ -394,13 +388,13 @@ int KX_LightObject::pyattr_set_quad_attenuation(void *self_v, const KX_PYATTRIBU
394
388
395
389
PyObject *KX_LightObject::pyattr_get_spotsize (void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
396
390
{
397
- KX_LightObject* self = static_cast <KX_LightObject*>(self_v);
391
+ KX_LightObject * self = static_cast <KX_LightObject *>(self_v);
398
392
return PyFloat_FromDouble (RAD2DEG (self->m_lightobj ->m_spotsize ));
399
393
}
400
394
401
395
int KX_LightObject::pyattr_set_spotsize (void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value)
402
396
{
403
- KX_LightObject* self = static_cast <KX_LightObject*>(self_v);
397
+ KX_LightObject * self = static_cast <KX_LightObject *>(self_v);
404
398
405
399
if (PyFloat_Check (value)) {
406
400
double val = PyFloat_AsDouble (value);
@@ -418,13 +412,13 @@ int KX_LightObject::pyattr_set_spotsize(void *self_v, const KX_PYATTRIBUTE_DEF *
418
412
}
419
413
PyObject *KX_LightObject::pyattr_get_spotblend (void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
420
414
{
421
- KX_LightObject* self = static_cast <KX_LightObject*>(self_v);
415
+ KX_LightObject * self = static_cast <KX_LightObject *>(self_v);
422
416
return PyFloat_FromDouble (self->m_lightobj ->m_spotblend );
423
417
}
424
418
425
419
int KX_LightObject::pyattr_set_spotblend (void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value)
426
420
{
427
- KX_LightObject* self = static_cast <KX_LightObject*>(self_v);
421
+ KX_LightObject * self = static_cast <KX_LightObject *>(self_v);
428
422
429
423
if (PyFloat_Check (value)) {
430
424
float val = (float )PyFloat_AsDouble (value);
@@ -445,7 +439,7 @@ PyObject *KX_LightObject::pyattr_get_typeconst(void *self_v, const KX_PYATTRIBUT
445
439
{
446
440
PyObject *retvalue;
447
441
448
- const char * type = attrdef->m_name ;
442
+ const char * type = attrdef->m_name ;
449
443
450
444
if (!strcmp (type, " SPOT" )) {
451
445
retvalue = PyLong_FromLong (RAS_ILightObject::LIGHT_SPOT);
@@ -468,21 +462,21 @@ PyObject *KX_LightObject::pyattr_get_typeconst(void *self_v, const KX_PYATTRIBUT
468
462
return retvalue;
469
463
}
470
464
471
- PyObject *KX_LightObject::pyattr_get_type (void * self_v, const KX_PYATTRIBUTE_DEF *attrdef)
465
+ PyObject *KX_LightObject::pyattr_get_type (void * self_v, const KX_PYATTRIBUTE_DEF *attrdef)
472
466
{
473
- KX_LightObject* self = static_cast <KX_LightObject*>(self_v);
467
+ KX_LightObject * self = static_cast <KX_LightObject *>(self_v);
474
468
return PyLong_FromLong (self->m_lightobj ->m_type );
475
469
}
476
470
477
- int KX_LightObject::pyattr_set_type (void * self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value)
471
+ int KX_LightObject::pyattr_set_type (void * self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value)
478
472
{
479
- KX_LightObject* self = static_cast <KX_LightObject*>(self_v);
473
+ KX_LightObject * self = static_cast <KX_LightObject *>(self_v);
480
474
const int val = PyLong_AsLong (value);
481
- if ((val== -1 && PyErr_Occurred ()) || val< 0 || val> 3 ) {
475
+ if ((val == -1 && PyErr_Occurred ()) || val < 0 || val > 3 ) {
482
476
PyErr_SetString (PyExc_ValueError, " light.type= val: KX_LightObject, expected an int between 0 and 2" );
483
477
return PY_SET_ATTR_FAIL;
484
478
}
485
-
479
+
486
480
switch (val) {
487
481
case 0 :
488
482
self->m_lightobj ->m_type = self->m_lightobj ->LIGHT_SPOT ;
@@ -501,15 +495,15 @@ int KX_LightObject::pyattr_set_type(void* self_v, const KX_PYATTRIBUTE_DEF *attr
501
495
return PY_SET_ATTR_SUCCESS;
502
496
}
503
497
504
- PyObject *KX_LightObject::pyattr_get_static_shadow (void * self_v, const KX_PYATTRIBUTE_DEF *attrdef)
498
+ PyObject *KX_LightObject::pyattr_get_static_shadow (void * self_v, const KX_PYATTRIBUTE_DEF *attrdef)
505
499
{
506
- KX_LightObject* self = static_cast <KX_LightObject*>(self_v);
500
+ KX_LightObject * self = static_cast <KX_LightObject *>(self_v);
507
501
return PyBool_FromLong (self->m_lightobj ->m_staticShadow );
508
502
}
509
503
510
- int KX_LightObject::pyattr_set_static_shadow (void * self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value)
504
+ int KX_LightObject::pyattr_set_static_shadow (void * self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value)
511
505
{
512
- KX_LightObject* self = static_cast <KX_LightObject*>(self_v);
506
+ KX_LightObject * self = static_cast <KX_LightObject *>(self_v);
513
507
int param = PyObject_IsTrue (value);
514
508
if (param == -1 ) {
515
509
PyErr_SetString (PyExc_AttributeError, " light.staticShadow = val: KX_LightObject, expected True or False" );
0 commit comments