[dali_2.2.51] Merge branch 'devel/master'
[platform/core/uifw/dali-csharp-binder.git] / dali-csharp-binder / dali-scene3d / model-primitive-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/model-primitive.h>
20
21 // INTERNAL INCLUDES
22 #include <dali-csharp-binder/common/common.h>
23
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27
28 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Model_Primitive_New_SWIG_0()
29 {
30   Dali::Scene3D::ModelPrimitive result;
31
32   {
33     try
34     {
35       result = Dali::Scene3D::ModelPrimitive::New();
36     }
37     CALL_CATCH_EXCEPTION(0);
38   }
39
40   return new Dali::Scene3D::ModelPrimitive((const Dali::Scene3D::ModelPrimitive&)result);
41 }
42
43 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_new_Model_Primitive_SWIG_0()
44 {
45   Dali::Scene3D::ModelPrimitive* result = 0;
46
47   {
48     try
49     {
50       result = (Dali::Scene3D::ModelPrimitive*)new Dali::Scene3D::ModelPrimitive();
51     }
52     CALL_CATCH_EXCEPTION(0);
53   }
54
55   return (void*)result;
56 }
57
58 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_new_Model_Primitive_SWIG_1(void* csModel)
59 {
60   Dali::Scene3D::ModelPrimitive* model  = (Dali::Scene3D::ModelPrimitive*)csModel;
61   Dali::Scene3D::ModelPrimitive* result = 0;
62
63   if(!model)
64   {
65     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Scene3D::ModelPrimitive const & type is null", 0);
66     return 0;
67   }
68   {
69     try
70     {
71       result = (Dali::Scene3D::ModelPrimitive*)new Dali::Scene3D::ModelPrimitive((Dali::Scene3D::ModelPrimitive const&)*model);
72     }
73     CALL_CATCH_EXCEPTION(0);
74   }
75
76   return (void*)result;
77 }
78
79 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Model_Primitive(void* csModel)
80 {
81   Dali::Scene3D::ModelPrimitive* model = (Dali::Scene3D::ModelPrimitive*)csModel;
82   {
83     try
84     {
85       delete model;
86     }
87     CALL_CATCH_EXCEPTION();
88   }
89 }
90
91 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Model_Primitive_Assign(void* csDestination, void* csSource)
92 {
93   Dali::Scene3D::ModelPrimitive* destination = (Dali::Scene3D::ModelPrimitive*)csDestination;
94   Dali::Scene3D::ModelPrimitive* source      = (Dali::Scene3D::ModelPrimitive*)csSource;
95   Dali::Scene3D::ModelPrimitive* result      = 0;
96
97   if(!source)
98   {
99     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Scene3D::ModelPrimitive const & type is null", 0);
100     return 0;
101   }
102   {
103     try
104     {
105       result = (Dali::Scene3D::ModelPrimitive*)&(destination)->operator=((Dali::Scene3D::ModelPrimitive const&)*source);
106     }
107     CALL_CATCH_EXCEPTION(0);
108   }
109
110   return (void*)result;
111 }
112
113 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Model_Primitive_DownCast(void* csHandle)
114 {
115   Dali::BaseHandle*    handle = (Dali::BaseHandle*)csHandle;
116   Dali::Scene3D::ModelPrimitive result;
117
118   if(!handle)
119   {
120     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::ModelPrimitive", 0);
121     return 0;
122   }
123   {
124     try
125     {
126       result = Dali::Scene3D::ModelPrimitive::DownCast(*handle);
127     }
128     CALL_CATCH_EXCEPTION(0);
129   }
130
131   return new Dali::Scene3D::ModelPrimitive((const Dali::Scene3D::ModelPrimitive&)result);
132 }
133
134 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Model_Primitive_SetGeometry(void* csModelPrimitive, void* csGeometry)
135 {
136   Dali::Scene3D::ModelPrimitive* modelPrimitive = (Dali::Scene3D::ModelPrimitive*)csModelPrimitive;
137   Dali::Geometry* geometry = (Dali::Geometry*)csGeometry;
138
139   if(!modelPrimitive)
140   {
141     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::ModelPrimitive", 0);
142     return;
143   }
144   {
145     try
146     {
147       modelPrimitive->SetGeometry(*geometry);
148     }
149     CALL_CATCH_EXCEPTION();
150   }
151 }
152
153 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Model_Primitive_GetGeometry(void* csModelPrimitive)
154 {
155   Dali::Scene3D::ModelPrimitive* modelPrimitive = (Dali::Scene3D::ModelPrimitive*)csModelPrimitive;
156   Dali::Geometry result;
157
158   if(!modelPrimitive)
159   {
160     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::ModelPrimitive", 0);
161     return nullptr;
162   }
163   {
164     try
165     {
166       result = modelPrimitive->GetGeometry();
167     }
168     CALL_CATCH_EXCEPTION(nullptr);
169   }
170   return new Dali::Geometry((const Dali::Geometry&)result);
171 }
172
173 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Model_Primitive_SetMaterial(void* csModelPrimitive, void* csMaterial)
174 {
175    Dali::Scene3D::ModelPrimitive* modelPrimitive = (Dali::Scene3D::ModelPrimitive*)csModelPrimitive;
176    Dali::Scene3D::Material* material = (Dali::Scene3D::Material*)csMaterial;
177
178    if(!modelPrimitive)
179    {
180      SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::ModelNode", 0);
181      return;
182    }
183
184    try
185    {
186      modelPrimitive->SetMaterial(*material);
187    }
188    CALL_CATCH_EXCEPTION();
189 }
190
191
192 #ifdef __cplusplus
193 }
194 #endif