uninitialized variable
[scilab.git] / scilab / modules / graphics / src / c / getHandleProperty / set_specular_color_property.c
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2013 - Pedro SOUZA
4  *
5  * This file must be used under the terms of the CeCILL.
6  * This source file is licensed as described in the file COPYING, which
7  * you should have received as part of this distribution.  The terms
8  * are also available at
9  * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
10  *
11  */
12
13 #include "setHandleProperty.h"
14 #include "SetProperty.h"
15 #include "getPropertyAssignedValue.h"
16 #include "SetPropertyStatus.h"
17 #include "Scierror.h"
18 #include "localization.h"
19
20
21 #include "setGraphicObjectProperty.h"
22 #include "graphicObjectProperties.h"
23
24 /**
25  * Sets the specular color of the light/material.
26  */
27 int set_specular_color_property(void* _pvCtx, int iObjUID, void* _pvData, int valueType, int nbRow, int nbCol)
28 {
29     BOOL status = FALSE;
30     double * color = NULL;
31
32     if (valueType != sci_matrix)
33     {
34         Scierror(999, _("Wrong type for '%s' property: Real matrix expected.\n"), "specular_color");
35         return SET_PROPERTY_ERROR;
36     }
37
38     if (nbRow * nbCol != 3)
39     {
40         Scierror(999, _("Wrong size for '%s' property: %d elements expected.\n"), "specular_color", 3);
41         return SET_PROPERTY_ERROR;
42     }
43
44     color = (double*)_pvData;
45     if (color[0] < 0.0 || color[1] < 0.0 || color[2] < 0.0 ||
46             color[0] > 1.0 || color[1] > 1.0 || color[2] > 1.0 )
47     {
48         Scierror(999, _("Wrong values for '%s' property: values between [0, 1] expected.\n"), "specular_color");
49         return SET_PROPERTY_ERROR;
50     }
51
52     status = setGraphicObjectProperty(iObjUID, __GO_SPECULARCOLOR__, _pvData, jni_double_vector, 3);
53
54     if (status == TRUE)
55     {
56         return SET_PROPERTY_SUCCEED;
57     }
58     else
59     {
60         Scierror(999, _("'%s' property does not exist for this handle.\n"), "specular_color");
61         return SET_PROPERTY_ERROR;
62     }
63 }