[dali_2.3.28] Merge branch 'devel/master'
[platform/core/uifw/dali-csharp-binder.git] / dali-csharp-binder / dali-scene3d / material-wrap.cpp
1 /*
2  * Copyright (c) 2023 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17
18 // EXTERNAL INCLUDES
19 #include <dali-scene3d/public-api/model-components/material.h>
20
21 // INTERNAL INCLUDES
22 #include <dali-csharp-binder/common/common.h>
23
24 extern SWIG_CSharpStringHelperCallback SWIG_csharp_string_callback;
25
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29
30 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Material_New_SWIG_0()
31 {
32   Dali::Scene3D::Material result;
33
34   {
35     try
36     {
37       result = Dali::Scene3D::Material::New();
38     }
39     CALL_CATCH_EXCEPTION(0);
40   }
41
42   return new Dali::Scene3D::Material((const Dali::Scene3D::Material&)result);
43 }
44
45
46 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_new_Material_SWIG_1(void* csModel)
47 {
48   Dali::Scene3D::Material* model  = (Dali::Scene3D::Material*)csModel;
49   Dali::Scene3D::Material* result = 0;
50
51   if(!model)
52   {
53     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Scene3D::Material const & type is null", 0);
54     return 0;
55   }
56   {
57     try
58     {
59       result = (Dali::Scene3D::Material*)new Dali::Scene3D::Material((Dali::Scene3D::Material const&)*model);
60     }
61     CALL_CATCH_EXCEPTION(0);
62   }
63
64   return (void*)result;
65 }
66
67 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Material(void* csModel)
68 {
69   Dali::Scene3D::Material* model = (Dali::Scene3D::Material*)csModel;
70   {
71     try
72     {
73       delete model;
74     }
75     CALL_CATCH_EXCEPTION();
76   }
77 }
78
79 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Material_Assign(void* csDestination, void* csSource)
80 {
81   Dali::Scene3D::Material* destination = (Dali::Scene3D::Material*)csDestination;
82   Dali::Scene3D::Material* source      = (Dali::Scene3D::Material*)csSource;
83   Dali::Scene3D::Material* result      = 0;
84
85   if(!source)
86   {
87     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Scene3D::Material const & type is null", 0);
88     return 0;
89   }
90   {
91     try
92     {
93       result = (Dali::Scene3D::Material*)&(destination)->operator=((Dali::Scene3D::Material const&)*source);
94     }
95     CALL_CATCH_EXCEPTION(0);
96   }
97
98   return (void*)result;
99 }
100
101
102 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_NAME_get()
103 {
104   return (int)Dali::Scene3D::Material::Property::NAME;
105 }
106
107 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_BASE_COLOR_URL_get()
108 {
109   return (int)Dali::Scene3D::Material::Property::BASE_COLOR_URL;
110 }
111
112 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_BASE_COLOR_FACTOR_get()
113 {
114   return (int)Dali::Scene3D::Material::Property::BASE_COLOR_FACTOR;
115 }
116
117 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_METALLIC_ROUGHNESS_URL_get()
118 {
119   return (int)Dali::Scene3D::Material::Property::METALLIC_ROUGHNESS_URL;
120 }
121
122 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_METALLIC_FACTOR_get()
123 {
124   return (int)Dali::Scene3D::Material::Property::METALLIC_FACTOR;
125 }
126
127 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_ROUGHNESS_FACTOR_get()
128 {
129   return (int)Dali::Scene3D::Material::Property::ROUGHNESS_FACTOR;
130 }
131
132 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_NORMAL_URL_get()
133 {
134   return (int)Dali::Scene3D::Material::Property::NORMAL_URL;
135 }
136
137 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_NORMAL_SCALE_get()
138 {
139   return (int)Dali::Scene3D::Material::Property::NORMAL_SCALE;
140 }
141
142 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_OCCLUSION_URL_get()
143 {
144   return (int)Dali::Scene3D::Material::Property::OCCLUSION_URL;
145 }
146
147 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_OCCLUSION_STRENGTH_get()
148 {
149   return (int)Dali::Scene3D::Material::Property::OCCLUSION_STRENGTH;
150 }
151
152 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_EMISSIVE_URL_get()
153 {
154   return (int)Dali::Scene3D::Material::Property::EMISSIVE_URL;
155 }
156
157 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_EMISSIVE_FACTOR_get()
158 {
159   return (int)Dali::Scene3D::Material::Property::EMISSIVE_FACTOR;
160 }
161
162 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_ALPHA_MODE_get()
163 {
164   return (int)Dali::Scene3D::Material::Property::ALPHA_MODE;
165 }
166
167 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_ALPHA_CUTOFF_get()
168 {
169   return (int)Dali::Scene3D::Material::Property::ALPHA_CUTOFF;
170 }
171
172 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_DOUBLE_SIDED_get()
173 {
174   return (int)Dali::Scene3D::Material::Property::DOUBLE_SIDED;
175 }
176
177 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_IOR_get()
178 {
179   return (int)Dali::Scene3D::Material::Property::IOR;
180 }
181
182 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_SPECULAR_URL_get()
183 {
184   return (int)Dali::Scene3D::Material::Property::SPECULAR_URL;
185 }
186
187 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_SPECULAR_FACTOR_get()
188 {
189   return (int)Dali::Scene3D::Material::Property::SPECULAR_FACTOR;
190 }
191
192 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_SPECULAR_COLOR_URL_get()
193 {
194   return (int)Dali::Scene3D::Material::Property::SPECULAR_COLOR_URL;
195 }
196
197 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_SPECULAR_COLOR_FACTOR_get()
198 {
199   return (int)Dali::Scene3D::Material::Property::SPECULAR_COLOR_FACTOR;
200 }
201
202 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_DEPTH_INDEX_get()
203 {
204   return (int)Dali::Scene3D::Material::Property::DEPTH_INDEX;
205 }
206
207 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Material_SetProperty(void* csMaterial, int index, void* csPropertyValue)
208 {
209   Dali::Scene3D::Material* material      = (Dali::Scene3D::Material*)csMaterial;
210   Dali::Property::Value*   propertyValue = (Dali::Property::Value*)csPropertyValue;
211
212   if(!material)
213   {
214     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::Material", 0);
215     return;
216   }
217   {
218     try
219     {
220       material->SetProperty((Dali::Property::Index)index, *propertyValue);
221     }
222     CALL_CATCH_EXCEPTION();
223   }
224 }
225
226 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Material_GetProperty(void* csMaterial, int index)
227 {
228   Dali::Scene3D::Material* material = (Dali::Scene3D::Material*)csMaterial;
229   Dali::Property::Value    result;
230
231   if(!material)
232   {
233     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::Material", 0);
234     return nullptr;
235   }
236   {
237     try
238     {
239       result = material->GetProperty((Dali::Property::Index)index);
240     }
241     CALL_CATCH_EXCEPTION(nullptr);
242   }
243   return new Dali::Property::Value((const Dali::Property::Value&)result);
244 }
245
246 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Material_SetTexture(void* csMaterial, unsigned int index, void* csTexture)
247 {
248   Dali::Scene3D::Material* material = (Dali::Scene3D::Material*)csMaterial;
249   Dali::Texture*           texture  = (Dali::Texture*)csTexture;
250
251   if(!material)
252   {
253     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::Material", 0);
254     return;
255   }
256
257   if(!texture)
258   {
259     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Texture", 0);
260     return;
261   }
262
263   try
264   {
265     material->SetTexture((Dali::Scene3D::Material::TextureType)index, *texture);
266   }
267   CALL_CATCH_EXCEPTION();
268 }
269
270 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Material_GetTexture(void* csMaterial, unsigned int index)
271 {
272   Dali::Scene3D::Material* material = (Dali::Scene3D::Material*)csMaterial;
273   Dali::Texture            result;
274
275   if(!material)
276   {
277     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::Material", 0);
278     return nullptr;
279   }
280
281   try
282   {
283     result = material->GetTexture((Dali::Scene3D::Material::TextureType)index);
284   }
285   CALL_CATCH_EXCEPTION(nullptr);
286
287   return new Dali::Texture((const Dali::Texture&)result);
288 }
289
290 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Material_SetSampler(void* csMaterial, unsigned int index, void* csSampler)
291 {
292   Dali::Scene3D::Material* material = (Dali::Scene3D::Material*)csMaterial;
293   Dali::Sampler*           sampler  = (Dali::Sampler*)csSampler;
294
295   if(!material)
296   {
297     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::Material", 0);
298     return;
299   }
300
301   try
302   {
303     material->SetSampler((Dali::Scene3D::Material::TextureType)index, *sampler);
304   }
305   CALL_CATCH_EXCEPTION();
306 }
307
308 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Material_GetSampler(void* csMaterial, unsigned int index)
309 {
310   Dali::Scene3D::Material* material = (Dali::Scene3D::Material*)csMaterial;
311   Dali::Sampler            result;
312
313   if(!material)
314   {
315     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::Material", 0);
316     return nullptr;
317   }
318
319   try
320   {
321     result = material->GetSampler((Dali::Scene3D::Material::TextureType)index);
322   }
323   CALL_CATCH_EXCEPTION(nullptr);
324   return new Dali::Sampler((const Dali::Sampler&)result);
325 }
326
327 #ifdef __cplusplus
328 }
329 #endif