2 * Copyright (c) 2023 Samsung Electronics Co., Ltd.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
19 #include <dali-scene3d/public-api/model-components/material.h>
22 #include <dali-csharp-binder/common/common.h>
24 extern SWIG_CSharpStringHelperCallback SWIG_csharp_string_callback;
30 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Material_New_SWIG_0()
32 Dali::Scene3D::Material result;
37 result = Dali::Scene3D::Material::New();
39 CALL_CATCH_EXCEPTION(0);
42 return new Dali::Scene3D::Material((const Dali::Scene3D::Material&)result);
46 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_new_Material_SWIG_1(void* csModel)
48 Dali::Scene3D::Material* model = (Dali::Scene3D::Material*)csModel;
49 Dali::Scene3D::Material* result = 0;
53 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Scene3D::Material const & type is null", 0);
59 result = (Dali::Scene3D::Material*)new Dali::Scene3D::Material((Dali::Scene3D::Material const&)*model);
61 CALL_CATCH_EXCEPTION(0);
67 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Material(void* csModel)
69 Dali::Scene3D::Material* model = (Dali::Scene3D::Material*)csModel;
75 CALL_CATCH_EXCEPTION();
79 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Material_Assign(void* csDestination, void* csSource)
81 Dali::Scene3D::Material* destination = (Dali::Scene3D::Material*)csDestination;
82 Dali::Scene3D::Material* source = (Dali::Scene3D::Material*)csSource;
83 Dali::Scene3D::Material* result = 0;
87 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Scene3D::Material const & type is null", 0);
93 result = (Dali::Scene3D::Material*)&(destination)->operator=((Dali::Scene3D::Material const&)*source);
95 CALL_CATCH_EXCEPTION(0);
102 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_NAME_get()
104 return (int)Dali::Scene3D::Material::Property::NAME;
107 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_BASE_COLOR_URL_get()
109 return (int)Dali::Scene3D::Material::Property::BASE_COLOR_URL;
112 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_BASE_COLOR_FACTOR_get()
114 return (int)Dali::Scene3D::Material::Property::BASE_COLOR_FACTOR;
117 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_METALLIC_ROUGHNESS_URL_get()
119 return (int)Dali::Scene3D::Material::Property::METALLIC_ROUGHNESS_URL;
122 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_METALLIC_FACTOR_get()
124 return (int)Dali::Scene3D::Material::Property::METALLIC_FACTOR;
127 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_ROUGHNESS_FACTOR_get()
129 return (int)Dali::Scene3D::Material::Property::ROUGHNESS_FACTOR;
132 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_NORMAL_URL_get()
134 return (int)Dali::Scene3D::Material::Property::NORMAL_URL;
137 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_NORMAL_SCALE_get()
139 return (int)Dali::Scene3D::Material::Property::NORMAL_SCALE;
142 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_OCCLUSION_URL_get()
144 return (int)Dali::Scene3D::Material::Property::OCCLUSION_URL;
147 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_OCCLUSION_STRENGTH_get()
149 return (int)Dali::Scene3D::Material::Property::OCCLUSION_STRENGTH;
152 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_EMISSIVE_URL_get()
154 return (int)Dali::Scene3D::Material::Property::EMISSIVE_URL;
157 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_EMISSIVE_FACTOR_get()
159 return (int)Dali::Scene3D::Material::Property::EMISSIVE_FACTOR;
162 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_ALPHA_MODE_get()
164 return (int)Dali::Scene3D::Material::Property::ALPHA_MODE;
167 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_ALPHA_CUTOFF_get()
169 return (int)Dali::Scene3D::Material::Property::ALPHA_CUTOFF;
172 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_DOUBLE_SIDED_get()
174 return (int)Dali::Scene3D::Material::Property::DOUBLE_SIDED;
177 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_IOR_get()
179 return (int)Dali::Scene3D::Material::Property::IOR;
182 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_SPECULAR_URL_get()
184 return (int)Dali::Scene3D::Material::Property::SPECULAR_URL;
187 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_SPECULAR_FACTOR_get()
189 return (int)Dali::Scene3D::Material::Property::SPECULAR_FACTOR;
192 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_SPECULAR_COLOR_URL_get()
194 return (int)Dali::Scene3D::Material::Property::SPECULAR_COLOR_URL;
197 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_SPECULAR_COLOR_FACTOR_get()
199 return (int)Dali::Scene3D::Material::Property::SPECULAR_COLOR_FACTOR;
202 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Material_property_DEPTH_INDEX_get()
204 return (int)Dali::Scene3D::Material::Property::DEPTH_INDEX;
207 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Material_SetProperty(void* csMaterial, int index, void* csPropertyValue)
209 Dali::Scene3D::Material* material = (Dali::Scene3D::Material*)csMaterial;
210 Dali::Property::Value* propertyValue = (Dali::Property::Value*)csPropertyValue;
214 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::Material", 0);
220 material->SetProperty((Dali::Property::Index)index, *propertyValue);
222 CALL_CATCH_EXCEPTION();
226 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Material_GetProperty(void* csMaterial, int index)
228 Dali::Scene3D::Material* material = (Dali::Scene3D::Material*)csMaterial;
229 Dali::Property::Value result;
233 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::Material", 0);
239 result = material->GetProperty((Dali::Property::Index)index);
241 CALL_CATCH_EXCEPTION(nullptr);
243 return new Dali::Property::Value((const Dali::Property::Value&)result);
246 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Material_SetTexture(void* csMaterial, unsigned int index, void* csTexture)
248 Dali::Scene3D::Material* material = (Dali::Scene3D::Material*)csMaterial;
249 Dali::Texture* texture = (Dali::Texture*)csTexture;
253 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::Material", 0);
259 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Texture", 0);
265 material->SetTexture((Dali::Scene3D::Material::TextureType)index, *texture);
267 CALL_CATCH_EXCEPTION();
270 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Material_GetTexture(void* csMaterial, unsigned int index)
272 Dali::Scene3D::Material* material = (Dali::Scene3D::Material*)csMaterial;
273 Dali::Texture result;
277 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::Material", 0);
283 result = material->GetTexture((Dali::Scene3D::Material::TextureType)index);
285 CALL_CATCH_EXCEPTION(nullptr);
287 return new Dali::Texture((const Dali::Texture&)result);
290 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Material_SetSampler(void* csMaterial, unsigned int index, void* csSampler)
292 Dali::Scene3D::Material* material = (Dali::Scene3D::Material*)csMaterial;
293 Dali::Sampler* sampler = (Dali::Sampler*)csSampler;
297 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::Material", 0);
303 material->SetSampler((Dali::Scene3D::Material::TextureType)index, *sampler);
305 CALL_CATCH_EXCEPTION();
308 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Material_GetSampler(void* csMaterial, unsigned int index)
310 Dali::Scene3D::Material* material = (Dali::Scene3D::Material*)csMaterial;
311 Dali::Sampler result;
315 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::Material", 0);
321 result = material->GetSampler((Dali::Scene3D::Material::TextureType)index);
323 CALL_CATCH_EXCEPTION(nullptr);
324 return new Dali::Sampler((const Dali::Sampler&)result);