2 * Copyright(c) 2018 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.
18 using Tizen.NUI.Binding;
24 /// A four-dimensional vector.
26 /// <since_tizen> 3 </since_tizen>
27 [TypeConverter(typeof(Vector4TypeConverter))]
28 public class Vector4 : Disposable
33 /// <since_tizen> 3 </since_tizen>
34 protected bool swigCMemOwn;
36 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
39 /// The default constructor initializes the vector to 0.
41 /// <since_tizen> 3 </since_tizen>
42 public Vector4() : this(Interop.Vector4.new_Vector4__SWIG_0(), true)
44 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
48 /// The conversion constructor from four floats.
50 /// <param name="x">The x (or r/s) component.</param>
51 /// <param name="y">The y (or g/t) component.</param>
52 /// <param name="z">The z (or b/p) component.</param>
53 /// <param name="w">The w (or a/q) component.</param>
54 /// <since_tizen> 3 </since_tizen>
55 public Vector4(float x, float y, float z, float w) : this(Interop.Vector4.new_Vector4__SWIG_1(x, y, z, w), true)
57 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
61 /// The conversion constructor from an array of four floats.
63 /// <param name="array">The array of either xyzw/rgba/stpq.</param>
64 /// <since_tizen> 3 </since_tizen>
65 public Vector4(float[] array) : this(Interop.Vector4.new_Vector4__SWIG_2(array), true)
67 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
71 /// The conversion constructor from Vector2.
73 /// <param name="vec2">Vector2 to copy from, z and w are initialized to 0.</param>
74 /// <since_tizen> 3 </since_tizen>
75 public Vector4(Vector2 vec2) : this(Interop.Vector4.new_Vector4__SWIG_3(Vector2.getCPtr(vec2)), true)
77 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
81 /// The conversion constructor from Vector3.
83 /// <param name="vec3">Vector3 to copy from, w is initialized to 0.</param>
84 /// <since_tizen> 3 </since_tizen>
85 public Vector4(Vector3 vec3) : this(Interop.Vector4.new_Vector4__SWIG_4(Vector3.getCPtr(vec3)), true)
87 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
90 internal Vector4(global::System.IntPtr cPtr, bool cMemoryOwn)
92 swigCMemOwn = cMemoryOwn;
93 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
97 /// (1.0f,1.0f,1.0f,1.0f).
99 /// <since_tizen> 3 </since_tizen>
100 public static Vector4 One
104 global::System.IntPtr cPtr = Interop.Vector4.Vector4_ONE_get();
105 Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
106 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
112 /// (1.0f,0.0f,0.0f,0.0f).
114 /// <since_tizen> 3 </since_tizen>
115 public static Vector4 XAxis
119 global::System.IntPtr cPtr = Interop.Vector4.Vector4_XAXIS_get();
120 Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
121 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
127 /// (0.0f,1.0f,0.0f,0.0f).
129 /// <since_tizen> 3 </since_tizen>
130 public static Vector4 YAxis
134 global::System.IntPtr cPtr = Interop.Vector4.Vector4_YAXIS_get();
135 Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
136 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
142 /// (0.0f,0.0f,1.0f,0.0f).
144 /// <since_tizen> 3 </since_tizen>
145 public static Vector4 ZAxis
149 global::System.IntPtr cPtr = Interop.Vector4.Vector4_ZAXIS_get();
150 Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
151 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
157 /// (0.0f, 0.0f, 0.0f, 0.0f).
159 /// <since_tizen> 3 </since_tizen>
160 public static Vector4 Zero
164 global::System.IntPtr cPtr = Interop.Vector4.Vector4_ZERO_get();
165 Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
166 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
174 /// <since_tizen> 3 </since_tizen>
179 Interop.Vector4.Vector4_X_set(swigCPtr, value);
180 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
184 float ret = Interop.Vector4.Vector4_X_get(swigCPtr);
185 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
191 /// The red component.
193 /// <since_tizen> 3 </since_tizen>
198 Interop.Vector4.Vector4_r_set(swigCPtr, value);
199 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
203 float ret = Interop.Vector4.Vector4_r_get(swigCPtr);
204 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
212 /// <since_tizen> 3 </since_tizen>
217 Interop.Vector4.Vector4_s_set(swigCPtr, value);
218 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
222 float ret = Interop.Vector4.Vector4_s_get(swigCPtr);
223 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
231 /// <since_tizen> 3 </since_tizen>
236 Interop.Vector4.Vector4_Y_set(swigCPtr, value);
237 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
241 float ret = Interop.Vector4.Vector4_Y_get(swigCPtr);
242 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
248 /// The green component.
250 /// <since_tizen> 3 </since_tizen>
255 Interop.Vector4.Vector4_g_set(swigCPtr, value);
256 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
260 float ret = Interop.Vector4.Vector4_g_get(swigCPtr);
261 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
269 /// <since_tizen> 3 </since_tizen>
274 Interop.Vector4.Vector4_t_set(swigCPtr, value);
275 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
279 float ret = Interop.Vector4.Vector4_t_get(swigCPtr);
280 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
288 /// <since_tizen> 3 </since_tizen>
293 Interop.Vector4.Vector4_Z_set(swigCPtr, value);
294 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
298 float ret = Interop.Vector4.Vector4_Z_get(swigCPtr);
299 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
305 /// The blue component.
307 /// <since_tizen> 3 </since_tizen>
312 Interop.Vector4.Vector4_b_set(swigCPtr, value);
313 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
317 float ret = Interop.Vector4.Vector4_b_get(swigCPtr);
318 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
326 /// <since_tizen> 3 </since_tizen>
331 Interop.Vector4.Vector4_p_set(swigCPtr, value);
332 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
336 float ret = Interop.Vector4.Vector4_p_get(swigCPtr);
337 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
345 /// <since_tizen> 3 </since_tizen>
350 Interop.Vector4.Vector4_W_set(swigCPtr, value);
351 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
355 float ret = Interop.Vector4.Vector4_W_get(swigCPtr);
356 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
362 /// The alpha component.
364 /// <since_tizen> 3 </since_tizen>
369 Interop.Vector4.Vector4_a_set(swigCPtr, value);
370 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
374 float ret = Interop.Vector4.Vector4_a_get(swigCPtr);
375 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
383 /// <since_tizen> 3 </since_tizen>
388 Interop.Vector4.Vector4_q_set(swigCPtr, value);
389 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
393 float ret = Interop.Vector4.Vector4_q_get(swigCPtr);
394 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
400 /// The array subscript operator overload.
402 /// <param name="index">The subscript index.</param>
403 /// <returns>The float at the given index.</returns>
404 /// <since_tizen> 3 </since_tizen>
405 public float this[uint index]
409 return ValueOfIndex(index);
415 /// The addition operator.
417 /// <param name="arg1">The first value.</param>
418 /// <param name="arg2">The second value.</param>
419 /// <returns>The vector containing the result of the addition.</returns>
420 /// <since_tizen> 3 </since_tizen>
421 public static Vector4 operator +(Vector4 arg1, Vector4 arg2)
423 return arg1.Add(arg2);
427 /// The subtraction operator.
429 /// <param name="arg1">The first value.</param>
430 /// <param name="arg2">The second value.</param>
431 /// <returns>The vector containing the result of the subtraction.</returns>
432 /// <since_tizen> 3 </since_tizen>
433 public static Vector4 operator -(Vector4 arg1, Vector4 arg2)
435 return arg1.Subtract(arg2);
439 /// The unary negation operator.
441 /// <param name="arg1">The target value.</param>
442 /// <returns>The vector containing the negation.</returns>
443 /// <since_tizen> 3 </since_tizen>
444 public static Vector4 operator -(Vector4 arg1)
446 return arg1.Subtract();
450 /// The multiplication operator.
452 /// <param name="arg1">The first value.</param>
453 /// <param name="arg2">The second value.</param>
454 /// <returns>The vector containing the result of the multiplication.</returns>
455 /// <since_tizen> 3 </since_tizen>
456 public static Vector4 operator *(Vector4 arg1, Vector4 arg2)
458 return arg1.Multiply(arg2);
462 /// The multiplication operator.
464 /// <param name="arg1">The first value.</param>
465 /// <param name="arg2">The float value to scale the vector.</param>
466 /// <returns>The vector containing the result of scaling.</returns>
467 /// <since_tizen> 3 </since_tizen>
468 public static Vector4 operator *(Vector4 arg1, float arg2)
470 return arg1.Multiply(arg2);
474 /// The division operator.
476 /// <param name="arg1">The first value.</param>
477 /// <param name="arg2">The second value.</param>
478 /// <returns>The vector containing the result of the division.</returns>
479 /// <since_tizen> 3 </since_tizen>
480 public static Vector4 operator /(Vector4 arg1, Vector4 arg2)
482 return arg1.Divide(arg2);
486 /// The division operator.
488 /// <param name="arg1">The first value.</param>
489 /// <param name="arg2">The float value to scale the vector by.</param>
490 /// <returns>The vector containing the result of scaling.</returns>
491 /// <since_tizen> 3 </since_tizen>
492 public static Vector4 operator /(Vector4 arg1, float arg2)
494 return arg1.Divide(arg2);
498 /// Determines whether the specified object is equal to the current object.
500 /// <param name="obj">The object to compare with the current object.</param>
501 /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
502 public override bool Equals(System.Object obj)
504 Vector4 vector4 = obj as Vector4;
506 if (X == vector4?.X && Y == vector4?.Y && Z == vector4?.Z && W == vector4?.W)
514 /// Gets the the hash code of this Vector4.
516 /// <returns>The Hash Code.</returns>
517 /// <since_tizen> 6 </since_tizen>
518 public override int GetHashCode()
520 return swigCPtr.Handle.GetHashCode();
524 /// Returns the length of the vector.
526 /// <returns>The length.</returns>
527 /// <since_tizen> 3 </since_tizen>
528 public float Length()
530 float ret = Interop.Vector4.Vector4_Length(swigCPtr);
531 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
536 /// Returns the length of the vector squared.<br />
537 /// This is faster than using Length() when performing
538 /// threshold checks as it avoids use of the square root.<br />
540 /// <returns>The length of the vector squared.</returns>
541 /// <since_tizen> 3 </since_tizen>
542 public float LengthSquared()
544 float ret = Interop.Vector4.Vector4_LengthSquared(swigCPtr);
545 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
550 /// Normalizes the vector.<br />
551 /// Sets the vector to unit length whilst maintaining its direction.<br />
553 /// <since_tizen> 3 </since_tizen>
554 public void Normalize()
556 Interop.Vector4.Vector4_Normalize(swigCPtr);
557 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
561 /// Clamps the vector between minimum and maximum vectors.
563 /// <param name="min">The minimum vector.</param>
564 /// <param name="max">The maximum vector.</param>
565 /// <since_tizen> 3 </since_tizen>
566 public void Clamp(Vector4 min, Vector4 max)
568 Interop.Vector4.Vector4_Clamp(swigCPtr, Vector4.getCPtr(min), Vector4.getCPtr(max));
569 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
572 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector4 obj)
574 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
577 internal static Vector4 GetVector4FromPtr(global::System.IntPtr cPtr)
579 Vector4 ret = new Vector4(cPtr, false);
580 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
584 internal SWIGTYPE_p_float AsFloat()
586 global::System.IntPtr cPtr = Interop.Vector4.Vector4_AsFloat__SWIG_0(swigCPtr);
587 SWIGTYPE_p_float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
588 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
592 internal float Dot(Vector3 other)
594 float ret = Interop.Vector4.Vector4_Dot__SWIG_0(swigCPtr, Vector3.getCPtr(other));
595 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
599 internal float Dot(Vector4 other)
601 float ret = Interop.Vector4.Vector4_Dot__SWIG_1(swigCPtr, Vector4.getCPtr(other));
602 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
606 internal float Dot4(Vector4 other)
608 float ret = Interop.Vector4.Vector4_Dot4(swigCPtr, Vector4.getCPtr(other));
609 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
613 internal Vector4 Cross(Vector4 other)
615 Vector4 ret = new Vector4(Interop.Vector4.Vector4_Cross(swigCPtr, Vector4.getCPtr(other)), true);
616 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
623 /// <param name="type">The dispose type</param>
624 /// <since_tizen> 3 </since_tizen>
625 protected override void Dispose(DisposeTypes type)
632 //Release your own unmanaged resources here.
633 //You should not access any managed member here except static instance.
634 //because the execution order of Finalizes is non-deterministic.
636 if (swigCPtr.Handle != global::System.IntPtr.Zero)
641 Interop.Vector4.delete_Vector4(swigCPtr);
643 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
648 private Vector4 Add(Vector4 rhs)
650 Vector4 ret = new Vector4(Interop.Vector4.Vector4_Add(swigCPtr, Vector4.getCPtr(rhs)), true);
651 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
655 private Vector4 AddAssign(Vector4 rhs)
657 Vector4 ret = new Vector4(Interop.Vector4.Vector4_AddAssign(swigCPtr, Vector4.getCPtr(rhs)), false);
658 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
662 private Vector4 Subtract(Vector4 rhs)
664 Vector4 ret = new Vector4(Interop.Vector4.Vector4_Subtract__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
665 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
669 private Vector4 SubtractAssign(Vector4 rhs)
671 Vector4 ret = new Vector4(Interop.Vector4.Vector4_SubtractAssign(swigCPtr, Vector4.getCPtr(rhs)), false);
672 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
676 private Vector4 Multiply(Vector4 rhs)
678 Vector4 ret = new Vector4(Interop.Vector4.Vector4_Multiply__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
679 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
683 private Vector4 Multiply(float rhs)
685 Vector4 ret = new Vector4(Interop.Vector4.Vector4_Multiply__SWIG_1(swigCPtr, rhs), true);
686 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
690 private Vector4 MultiplyAssign(Vector4 rhs)
692 Vector4 ret = new Vector4(Interop.Vector4.Vector4_MultiplyAssign__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), false);
693 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
697 private Vector4 MultiplyAssign(float rhs)
699 Vector4 ret = new Vector4(Interop.Vector4.Vector4_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
700 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
704 private Vector4 Divide(Vector4 rhs)
706 Vector4 ret = new Vector4(Interop.Vector4.Vector4_Divide__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
707 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
711 private Vector4 Divide(float rhs)
713 Vector4 ret = new Vector4(Interop.Vector4.Vector4_Divide__SWIG_1(swigCPtr, rhs), true);
714 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
718 private Vector4 DivideAssign(Vector4 rhs)
720 Vector4 ret = new Vector4(Interop.Vector4.Vector4_DivideAssign__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), false);
721 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
725 private Vector4 DivideAssign(float rhs)
727 Vector4 ret = new Vector4(Interop.Vector4.Vector4_DivideAssign__SWIG_1(swigCPtr, rhs), false);
728 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
732 private Vector4 Subtract()
734 Vector4 ret = new Vector4(Interop.Vector4.Vector4_Subtract__SWIG_1(swigCPtr), true);
735 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
739 private bool EqualTo(Vector4 rhs)
741 bool ret = Interop.Vector4.Vector4_EqualTo(swigCPtr, Vector4.getCPtr(rhs));
742 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
746 private bool NotEqualTo(Vector4 rhs)
748 bool ret = Interop.Vector4.Vector4_NotEqualTo(swigCPtr, Vector4.getCPtr(rhs));
749 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
753 private float ValueOfIndex(uint index)
755 float ret = Interop.Vector4.Vector4_ValueOfIndex__SWIG_0(swigCPtr, index);
756 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();