2 * Copyright(c) 2017 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.
22 /// A three-dimensional vector.
24 /// <since_tizen> 3 </since_tizen>
25 public class Vector3 : global::System.IDisposable
27 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
31 /// <since_tizen> 3 </since_tizen>
32 protected bool swigCMemOwn;
34 internal Vector3(global::System.IntPtr cPtr, bool cMemoryOwn)
36 swigCMemOwn = cMemoryOwn;
37 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
40 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector3 obj)
42 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
45 //A Flag to check who called Dispose(). (By User or DisposeQueue)
46 private bool isDisposeQueued = false;
49 /// A Flat to check if it is already disposed.
51 /// <since_tizen> 3 </since_tizen>
52 protected bool disposed = false;
57 /// <since_tizen> 3 </since_tizen>
62 isDisposeQueued = true;
63 DisposeQueue.Instance.Add(this);
70 /// <since_tizen> 3 </since_tizen>
73 //Throw excpetion if Dispose() is called in separate thread.
74 if (!Window.IsInstalled())
76 throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
81 Dispose(DisposeTypes.Implicit);
85 Dispose(DisposeTypes.Explicit);
86 System.GC.SuppressFinalize(this);
93 /// <param name="type">The dispose type</param>
94 /// <since_tizen> 3 </since_tizen>
95 protected virtual void Dispose(DisposeTypes type)
102 if(type == DisposeTypes.Explicit)
105 //Release your own managed resources here.
106 //You should release all of your own disposable objects here.
109 //Release your own unmanaged resources here.
110 //You should not access any managed member here except static instance.
111 //because the execution order of Finalizes is non-deterministic.
113 if (swigCPtr.Handle != global::System.IntPtr.Zero)
118 NDalicPINVOKE.delete_Vector3(swigCPtr);
120 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
126 /// The addition operator.
128 /// <param name="arg1">The first value.</param>
129 /// <param name="arg2">The second value.</param>
130 /// <returns>The vector containing the result of the addition.</returns>
131 /// <since_tizen> 3 </since_tizen>
132 public static Vector3 operator +(Vector3 arg1, Vector3 arg2)
134 return arg1.Add(arg2);
138 /// The subtraction operator.
140 /// <param name="arg1">The first value.</param>
141 /// <param name="arg2">The second value.</param>
142 /// <returns>The vector containing the result of the subtraction.</returns>
143 /// <since_tizen> 3 </since_tizen>
144 public static Vector3 operator -(Vector3 arg1, Vector3 arg2)
146 return arg1.Subtract(arg2);
150 /// The unary negation operator.
152 /// <param name="arg1">The target value.</param>
153 /// <returns>The vector containg the negation.</returns>
154 /// <since_tizen> 3 </since_tizen>
155 public static Vector3 operator -(Vector3 arg1)
157 return arg1.Subtract();
161 /// The multiplication operator.
163 /// <param name="arg1">The first value.</param>
164 /// <param name="arg2">The second value.</param>
165 /// <returns>The vector containing the result of the multiplication.</returns>
166 /// <since_tizen> 3 </since_tizen>
167 public static Vector3 operator *(Vector3 arg1, Vector3 arg2)
169 return arg1.Multiply(arg2);
173 /// The multiplication operator.
175 /// <param name="arg1">The first value.</param>
176 /// <param name="arg2">The float value to scale the vector.</param>
177 /// <returns>The vector containing the result of the scaling.</returns>
178 /// <since_tizen> 3 </since_tizen>
179 public static Vector3 operator *(Vector3 arg1, float arg2)
181 return arg1.Multiply(arg2);
185 /// The division operator.
187 /// <param name="arg1">The first value.</param>
188 /// <param name="arg2">The second value.</param>
189 /// <returns>The vector containing the result of the division.</returns>
190 /// <since_tizen> 3 </since_tizen>
191 public static Vector3 operator /(Vector3 arg1, Vector3 arg2)
193 return arg1.Divide(arg2);
197 /// The division operator.
199 /// <param name="arg1">The first value.</param>
200 /// <param name="arg2">The float value to scale the vector by.</param>
201 /// <returns>The vector containing the result of the scaling.</returns>
202 /// <since_tizen> 3 </since_tizen>
203 public static Vector3 operator /(Vector3 arg1, float arg2)
205 return arg1.Divide(arg2);
209 /// An array subscript operator overload.
211 /// <param name="index">The subscript index.</param>
212 /// <returns>The float at the given index.</returns>
213 /// <since_tizen> 3 </since_tizen>
214 public float this[uint index]
218 return ValueOfIndex(index);
222 internal static Vector3 GetVector3FromPtr(global::System.IntPtr cPtr)
224 Vector3 ret = new Vector3(cPtr, false);
225 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
232 /// <since_tizen> 3 </since_tizen>
233 public Vector3() : this(NDalicPINVOKE.new_Vector3__SWIG_0(), true)
235 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
239 /// The default constructor initializes the vector to 0.
241 /// <param name="x">The x (or width) component.</param>
242 /// <param name="y">The y (or height) component.</param>
243 /// <param name="z">The z (or depth) component.</param>
244 /// <since_tizen> 3 </since_tizen>
245 public Vector3(float x, float y, float z) : this(NDalicPINVOKE.new_Vector3__SWIG_1(x, y, z), true)
247 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
251 /// Conversion constructor from an array of three floats.
253 /// <param name="array">An array of xyz.</param>
254 /// <since_tizen> 3 </since_tizen>
255 public Vector3(float[] array) : this(NDalicPINVOKE.new_Vector3__SWIG_2(array), true)
257 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
263 /// <param name="vec2">Vector2 to create this vector from.</param>
264 /// <since_tizen> 3 </since_tizen>
265 public Vector3(Vector2 vec2) : this(NDalicPINVOKE.new_Vector3__SWIG_3(Vector2.getCPtr(vec2)), true)
267 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
273 /// <param name="vec4">Vector4 to create this vector from.</param>
274 /// <since_tizen> 3 </since_tizen>
275 public Vector3(Vector4 vec4) : this(NDalicPINVOKE.new_Vector3__SWIG_4(Vector4.getCPtr(vec4)), true)
277 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
281 /// (1.0f,1.0f,1.0f).
283 /// <since_tizen> 3 </since_tizen>
284 public static Vector3 One
288 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ONE_get();
289 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
290 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
296 /// The vector representing the x-axis.
298 /// <since_tizen> 3 </since_tizen>
299 public static Vector3 XAxis
303 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_XAXIS_get();
304 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
305 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
311 /// The vector representing the y-axis.
313 /// <since_tizen> 3 </since_tizen>
314 public static Vector3 YAxis
318 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_YAXIS_get();
319 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
320 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
326 /// The vector representing the z-axis.
328 /// <since_tizen> 3 </since_tizen>
329 public static Vector3 ZAxis
333 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZAXIS_get();
334 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
335 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
341 /// The vector representing the negative x-axis.
343 /// <since_tizen> 3 </since_tizen>
344 public static Vector3 NegativeXAxis
348 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_XAXIS_get();
349 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
350 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
356 /// Th vector representing the negative y-axis.
358 /// <since_tizen> 3 </since_tizen>
359 public static Vector3 NegativeYAxis
363 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_YAXIS_get();
364 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
365 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
371 /// The vector representing the negative z-axis.
373 /// <since_tizen> 3 </since_tizen>
374 public static Vector3 NegativeZAxis
378 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_ZAXIS_get();
379 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
380 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
386 /// (0.0f, 0.0f, 0.0f).
388 /// <since_tizen> 3 </since_tizen>
389 public static Vector3 Zero
393 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZERO_get();
394 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
395 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
400 private Vector3 Add(Vector3 rhs)
402 Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Add(swigCPtr, Vector3.getCPtr(rhs)), true);
403 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
407 private Vector3 AddAssign(Vector3 rhs)
409 Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_AddAssign(swigCPtr, Vector3.getCPtr(rhs)), false);
410 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
414 private Vector3 Subtract(Vector3 rhs)
416 Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Subtract__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
417 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
421 private Vector3 SubtractAssign(Vector3 rhs)
423 Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_SubtractAssign(swigCPtr, Vector3.getCPtr(rhs)), false);
424 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
428 private Vector3 Multiply(Vector3 rhs)
430 Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Multiply__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
431 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
435 private Vector3 Multiply(float rhs)
437 Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
438 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
442 private Vector3 MultiplyAssign(Vector3 rhs)
444 Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_MultiplyAssign__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), false);
445 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
449 private Vector3 MultiplyAssign(float rhs)
451 Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
452 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
456 private Vector3 MultiplyAssign(Rotation rhs)
458 Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_MultiplyAssign__SWIG_2(swigCPtr, Rotation.getCPtr(rhs)), false);
459 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
463 private Vector3 Divide(Vector3 rhs)
465 Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Divide__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
466 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
470 private Vector3 Divide(float rhs)
472 Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
473 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
477 private Vector3 DivideAssign(Vector3 rhs)
479 Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_DivideAssign__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), false);
480 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
484 private Vector3 DivideAssign(float rhs)
486 Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_DivideAssign__SWIG_1(swigCPtr, rhs), false);
487 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
491 private Vector3 Subtract()
493 Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Subtract__SWIG_1(swigCPtr), true);
494 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
498 private bool EqualTo(Vector3 rhs)
500 bool ret = NDalicPINVOKE.Vector3_EqualTo(swigCPtr, Vector3.getCPtr(rhs));
501 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
505 private bool NotEqualTo(Vector3 rhs)
507 bool ret = NDalicPINVOKE.Vector3_NotEqualTo(swigCPtr, Vector3.getCPtr(rhs));
508 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
512 private float ValueOfIndex(uint index)
514 float ret = NDalicPINVOKE.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
515 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
519 internal float Dot(Vector3 other)
521 float ret = NDalicPINVOKE.Vector3_Dot(swigCPtr, Vector3.getCPtr(other));
522 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
526 internal Vector3 Cross(Vector3 other)
528 Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Cross(swigCPtr, Vector3.getCPtr(other)), true);
529 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
534 /// Returns the length of the vector.
536 /// <returns>The length of the vector.</returns>
537 /// <since_tizen> 3 </since_tizen>
538 public float Length()
540 float ret = NDalicPINVOKE.Vector3_Length(swigCPtr);
541 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
546 /// Returns the length of the vector squared.<br />
547 /// This is more efficient than Length() for threshold
548 /// testing as it avoids the use of a square root.<br />
550 /// <returns>The length of the vector squared.</returns>
551 /// <since_tizen> 3 </since_tizen>
552 public float LengthSquared()
554 float ret = NDalicPINVOKE.Vector3_LengthSquared(swigCPtr);
555 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
560 /// Sets the vector to be unit length, whilst maintaining its direction.
562 /// <since_tizen> 3 </since_tizen>
563 public void Normalize()
565 NDalicPINVOKE.Vector3_Normalize(swigCPtr);
566 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
570 /// Clamps the vector between minimum and maximum vectors.
572 /// <param name="min">The minimum vector.</param>
573 /// <param name="max">The maximum vector.</param>
574 /// <since_tizen> 3 </since_tizen>
575 public void Clamp(Vector3 min, Vector3 max)
577 NDalicPINVOKE.Vector3_Clamp(swigCPtr, Vector3.getCPtr(min), Vector3.getCPtr(max));
578 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
581 internal SWIGTYPE_p_float AsFloat()
583 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_AsFloat__SWIG_0(swigCPtr);
584 SWIGTYPE_p_float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
585 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
590 /// Returns the x and y components (or width and height, or r and g) as a Vector2.
592 /// <returns>The partial vector contents as Vector2 (x,y).</returns>
593 /// <since_tizen> 3 </since_tizen>
594 public Vector2 GetVectorXY()
596 Vector2 ret = new Vector2(NDalicPINVOKE.Vector3_GetVectorXY__SWIG_0(swigCPtr), false);
597 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
602 /// Returns the y and z components (or height and depth, or g and b) as a Vector2.
604 /// <returns>The partial vector contents as Vector2 (y,z).</returns>
605 /// <since_tizen> 3 </since_tizen>
606 public Vector2 GetVectorYZ()
608 Vector2 ret = new Vector2(NDalicPINVOKE.Vector3_GetVectorYZ__SWIG_0(swigCPtr), false);
609 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
616 /// <since_tizen> 3 </since_tizen>
621 NDalicPINVOKE.Vector3_X_set(swigCPtr, value);
622 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
626 float ret = NDalicPINVOKE.Vector3_X_get(swigCPtr);
627 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
633 /// The width component.
635 /// <since_tizen> 3 </since_tizen>
640 NDalicPINVOKE.Vector3_Width_set(swigCPtr, value);
641 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
645 float ret = NDalicPINVOKE.Vector3_Width_get(swigCPtr);
646 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
652 /// The red component.
654 /// <since_tizen> 3 </since_tizen>
659 NDalicPINVOKE.Vector3_r_set(swigCPtr, value);
660 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
664 float ret = NDalicPINVOKE.Vector3_r_get(swigCPtr);
665 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
673 /// <since_tizen> 3 </since_tizen>
678 NDalicPINVOKE.Vector3_Y_set(swigCPtr, value);
679 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
683 float ret = NDalicPINVOKE.Vector3_Y_get(swigCPtr);
684 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
690 /// The height component.
692 /// <since_tizen> 3 </since_tizen>
697 NDalicPINVOKE.Vector3_Height_set(swigCPtr, value);
698 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
702 float ret = NDalicPINVOKE.Vector3_Height_get(swigCPtr);
703 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
709 /// The green component.
711 /// <since_tizen> 3 </since_tizen>
716 NDalicPINVOKE.Vector3_g_set(swigCPtr, value);
717 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
721 float ret = NDalicPINVOKE.Vector3_g_get(swigCPtr);
722 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
730 /// <since_tizen> 3 </since_tizen>
735 NDalicPINVOKE.Vector3_Z_set(swigCPtr, value);
736 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
740 float ret = NDalicPINVOKE.Vector3_Z_get(swigCPtr);
741 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
747 /// The depth component.
749 /// <since_tizen> 3 </since_tizen>
754 NDalicPINVOKE.Vector3_Depth_set(swigCPtr, value);
755 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
759 float ret = NDalicPINVOKE.Vector3_Depth_get(swigCPtr);
760 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
766 /// The blue component.
768 /// <since_tizen> 3 </since_tizen>
773 NDalicPINVOKE.Vector3_b_set(swigCPtr, value);
774 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
778 float ret = NDalicPINVOKE.Vector3_b_get(swigCPtr);
779 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();