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 : global::System.IDisposable
33 /// <since_tizen> 3 </since_tizen>
34 protected bool swigCMemOwn;
37 /// A Flat to check if it is already disposed.
39 /// <since_tizen> 3 </since_tizen>
40 protected bool disposed = false;
42 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
43 //A Flag to check who called Dispose(). (By User or DisposeQueue)
44 private bool isDisposeQueued = false;
47 /// The default constructor initializes the vector to 0.
49 /// <since_tizen> 3 </since_tizen>
50 public Vector4() : this(NDalicPINVOKE.new_Vector4__SWIG_0(), true)
52 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
56 /// The conversion constructor from four floats.
58 /// <param name="x">The x (or r/s) component.</param>
59 /// <param name="y">The y (or g/t) component.</param>
60 /// <param name="z">The z (or b/p) component.</param>
61 /// <param name="w">The w (or a/q) component.</param>
62 /// <since_tizen> 3 </since_tizen>
63 public Vector4(float x, float y, float z, float w) : this(NDalicPINVOKE.new_Vector4__SWIG_1(x, y, z, w), true)
65 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
69 /// The conversion constructor from an array of four floats.
71 /// <param name="array">The array of either xyzw/rgba/stpq.</param>
72 /// <since_tizen> 3 </since_tizen>
73 public Vector4(float[] array) : this(NDalicPINVOKE.new_Vector4__SWIG_2(array), true)
75 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
79 /// The conversion constructor from Vector2.
81 /// <param name="vec2">Vector2 to copy from, z and w are initialized to 0.</param>
82 /// <since_tizen> 3 </since_tizen>
83 public Vector4(Vector2 vec2) : this(NDalicPINVOKE.new_Vector4__SWIG_3(Vector2.getCPtr(vec2)), true)
85 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
89 /// The conversion constructor from Vector3.
91 /// <param name="vec3">Vector3 to copy from, w is initialized to 0.</param>
92 /// <since_tizen> 3 </since_tizen>
93 public Vector4(Vector3 vec3) : this(NDalicPINVOKE.new_Vector4__SWIG_4(Vector3.getCPtr(vec3)), true)
95 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
98 internal Vector4(global::System.IntPtr cPtr, bool cMemoryOwn)
100 swigCMemOwn = cMemoryOwn;
101 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
107 /// <since_tizen> 3 </since_tizen>
112 isDisposeQueued = true;
113 DisposeQueue.Instance.Add(this);
118 /// (1.0f,1.0f,1.0f,1.0f).
120 /// <since_tizen> 3 </since_tizen>
121 public static Vector4 One
125 global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_ONE_get();
126 Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
127 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
133 /// (1.0f,0.0f,0.0f,0.0f).
135 /// <since_tizen> 3 </since_tizen>
136 public static Vector4 XAxis
140 global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_XAXIS_get();
141 Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
142 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
148 /// (0.0f,1.0f,0.0f,0.0f).
150 /// <since_tizen> 3 </since_tizen>
151 public static Vector4 YAxis
155 global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_YAXIS_get();
156 Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
157 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
163 /// (0.0f,0.0f,1.0f,0.0f).
165 /// <since_tizen> 3 </since_tizen>
166 public static Vector4 ZAxis
170 global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_ZAXIS_get();
171 Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
172 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
178 /// (0.0f, 0.0f, 0.0f, 0.0f).
180 /// <since_tizen> 3 </since_tizen>
181 public static Vector4 Zero
185 global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_ZERO_get();
186 Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
187 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
195 /// <since_tizen> 3 </since_tizen>
200 NDalicPINVOKE.Vector4_X_set(swigCPtr, value);
201 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
205 float ret = NDalicPINVOKE.Vector4_X_get(swigCPtr);
206 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
212 /// The red component.
214 /// <since_tizen> 3 </since_tizen>
219 NDalicPINVOKE.Vector4_r_set(swigCPtr, value);
220 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
224 float ret = NDalicPINVOKE.Vector4_r_get(swigCPtr);
225 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
233 /// <since_tizen> 3 </since_tizen>
238 NDalicPINVOKE.Vector4_s_set(swigCPtr, value);
239 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
243 float ret = NDalicPINVOKE.Vector4_s_get(swigCPtr);
244 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
252 /// <since_tizen> 3 </since_tizen>
257 NDalicPINVOKE.Vector4_Y_set(swigCPtr, value);
258 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
262 float ret = NDalicPINVOKE.Vector4_Y_get(swigCPtr);
263 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
269 /// The green component.
271 /// <since_tizen> 3 </since_tizen>
276 NDalicPINVOKE.Vector4_g_set(swigCPtr, value);
277 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
281 float ret = NDalicPINVOKE.Vector4_g_get(swigCPtr);
282 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
290 /// <since_tizen> 3 </since_tizen>
295 NDalicPINVOKE.Vector4_t_set(swigCPtr, value);
296 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
300 float ret = NDalicPINVOKE.Vector4_t_get(swigCPtr);
301 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
309 /// <since_tizen> 3 </since_tizen>
314 NDalicPINVOKE.Vector4_Z_set(swigCPtr, value);
315 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
319 float ret = NDalicPINVOKE.Vector4_Z_get(swigCPtr);
320 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
326 /// The blue component.
328 /// <since_tizen> 3 </since_tizen>
333 NDalicPINVOKE.Vector4_b_set(swigCPtr, value);
334 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
338 float ret = NDalicPINVOKE.Vector4_b_get(swigCPtr);
339 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
347 /// <since_tizen> 3 </since_tizen>
352 NDalicPINVOKE.Vector4_p_set(swigCPtr, value);
353 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
357 float ret = NDalicPINVOKE.Vector4_p_get(swigCPtr);
358 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
366 /// <since_tizen> 3 </since_tizen>
371 NDalicPINVOKE.Vector4_W_set(swigCPtr, value);
372 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
376 float ret = NDalicPINVOKE.Vector4_W_get(swigCPtr);
377 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
383 /// The alpha component.
385 /// <since_tizen> 3 </since_tizen>
390 NDalicPINVOKE.Vector4_a_set(swigCPtr, value);
391 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
395 float ret = NDalicPINVOKE.Vector4_a_get(swigCPtr);
396 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
404 /// <since_tizen> 3 </since_tizen>
409 NDalicPINVOKE.Vector4_q_set(swigCPtr, value);
410 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
414 float ret = NDalicPINVOKE.Vector4_q_get(swigCPtr);
415 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
421 /// The array subscript operator overload.
423 /// <param name="index">The subscript index.</param>
424 /// <returns>The float at the given index.</returns>
425 /// <since_tizen> 3 </since_tizen>
426 public float this[uint index]
430 return ValueOfIndex(index);
436 /// The addition operator.
438 /// <param name="arg1">The first value.</param>
439 /// <param name="arg2">The second value.</param>
440 /// <returns>The vector containing the result of the addition.</returns>
441 /// <since_tizen> 3 </since_tizen>
442 public static Vector4 operator +(Vector4 arg1, Vector4 arg2)
444 return arg1.Add(arg2);
448 /// The subtraction operator.
450 /// <param name="arg1">The first value.</param>
451 /// <param name="arg2">The second value.</param>
452 /// <returns>The vector containing the result of the subtraction.</returns>
453 /// <since_tizen> 3 </since_tizen>
454 public static Vector4 operator -(Vector4 arg1, Vector4 arg2)
456 return arg1.Subtract(arg2);
460 /// The unary negation operator.
462 /// <param name="arg1">The target value.</param>
463 /// <returns>The vector containing the negation.</returns>
464 /// <since_tizen> 3 </since_tizen>
465 public static Vector4 operator -(Vector4 arg1)
467 return arg1.Subtract();
471 /// The multiplication operator.
473 /// <param name="arg1">The first value.</param>
474 /// <param name="arg2">The second value.</param>
475 /// <returns>The vector containing the result of the multiplication.</returns>
476 /// <since_tizen> 3 </since_tizen>
477 public static Vector4 operator *(Vector4 arg1, Vector4 arg2)
479 return arg1.Multiply(arg2);
483 /// The multiplication operator.
485 /// <param name="arg1">The first value.</param>
486 /// <param name="arg2">The float value to scale the vector.</param>
487 /// <returns>The vector containing the result of scaling.</returns>
488 /// <since_tizen> 3 </since_tizen>
489 public static Vector4 operator *(Vector4 arg1, float arg2)
491 return arg1.Multiply(arg2);
495 /// The division operator.
497 /// <param name="arg1">The first value.</param>
498 /// <param name="arg2">The second value.</param>
499 /// <returns>The vector containing the result of the division.</returns>
500 /// <since_tizen> 3 </since_tizen>
501 public static Vector4 operator /(Vector4 arg1, Vector4 arg2)
503 return arg1.Divide(arg2);
507 /// The division operator.
509 /// <param name="arg1">The first value.</param>
510 /// <param name="arg2">The float value to scale the vector by.</param>
511 /// <returns>The vector containing the result of scaling.</returns>
512 /// <since_tizen> 3 </since_tizen>
513 public static Vector4 operator /(Vector4 arg1, float arg2)
515 return arg1.Divide(arg2);
519 /// Determines whether the specified object is equal to the current object.
521 /// <param name="obj">The object to compare with the current object.</param>
522 /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
523 public override bool Equals(System.Object obj)
525 Vector4 vector4 = obj as Vector4;
527 if (X == vector4?.X && Y == vector4?.Y && Z == vector4?.Z && W == vector4?.W)
535 /// Gets the the hash code of this Vector4.
537 /// <returns>The Hash Code.</returns>
538 /// <since_tizen> 5 </since_tizen>
539 public override int GetHashCode()
541 return X.GetHashCode();
545 /// Returns the length of the vector.
547 /// <returns>The length.</returns>
548 /// <since_tizen> 3 </since_tizen>
549 public float Length()
551 float ret = NDalicPINVOKE.Vector4_Length(swigCPtr);
552 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
557 /// Returns the length of the vector squared.<br />
558 /// This is faster than using Length() when performing
559 /// threshold checks as it avoids use of the square root.<br />
561 /// <returns>The length of the vector squared.</returns>
562 /// <since_tizen> 3 </since_tizen>
563 public float LengthSquared()
565 float ret = NDalicPINVOKE.Vector4_LengthSquared(swigCPtr);
566 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
571 /// Normalizes the vector.<br />
572 /// Sets the vector to unit length whilst maintaining its direction.<br />
574 /// <since_tizen> 3 </since_tizen>
575 public void Normalize()
577 NDalicPINVOKE.Vector4_Normalize(swigCPtr);
578 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
582 /// Clamps the vector between minimum and maximum vectors.
584 /// <param name="min">The minimum vector.</param>
585 /// <param name="max">The maximum vector.</param>
586 /// <since_tizen> 3 </since_tizen>
587 public void Clamp(Vector4 min, Vector4 max)
589 NDalicPINVOKE.Vector4_Clamp(swigCPtr, Vector4.getCPtr(min), Vector4.getCPtr(max));
590 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
596 /// <since_tizen> 3 </since_tizen>
597 public void Dispose()
599 //Throw excpetion if Dispose() is called in separate thread.
600 if (!Window.IsInstalled())
602 throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
607 Dispose(DisposeTypes.Implicit);
611 Dispose(DisposeTypes.Explicit);
612 System.GC.SuppressFinalize(this);
616 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector4 obj)
618 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
621 internal static Vector4 GetVector4FromPtr(global::System.IntPtr cPtr)
623 Vector4 ret = new Vector4(cPtr, false);
624 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
628 internal SWIGTYPE_p_float AsFloat()
630 global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_AsFloat__SWIG_0(swigCPtr);
631 SWIGTYPE_p_float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
632 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
636 internal float Dot(Vector3 other)
638 float ret = NDalicPINVOKE.Vector4_Dot__SWIG_0(swigCPtr, Vector3.getCPtr(other));
639 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
643 internal float Dot(Vector4 other)
645 float ret = NDalicPINVOKE.Vector4_Dot__SWIG_1(swigCPtr, Vector4.getCPtr(other));
646 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
650 internal float Dot4(Vector4 other)
652 float ret = NDalicPINVOKE.Vector4_Dot4(swigCPtr, Vector4.getCPtr(other));
653 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
657 internal Vector4 Cross(Vector4 other)
659 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Cross(swigCPtr, Vector4.getCPtr(other)), true);
660 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
667 /// <param name="type">The dispose type</param>
668 /// <since_tizen> 3 </since_tizen>
669 protected virtual void Dispose(DisposeTypes type)
676 if (type == DisposeTypes.Explicit)
679 //Release your own managed resources here.
680 //You should release all of your own disposable objects here.
683 //Release your own unmanaged resources here.
684 //You should not access any managed member here except static instance.
685 //because the execution order of Finalizes is non-deterministic.
687 if (swigCPtr.Handle != global::System.IntPtr.Zero)
692 NDalicPINVOKE.delete_Vector4(swigCPtr);
694 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
699 private Vector4 Add(Vector4 rhs)
701 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Add(swigCPtr, Vector4.getCPtr(rhs)), true);
702 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
706 private Vector4 AddAssign(Vector4 rhs)
708 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_AddAssign(swigCPtr, Vector4.getCPtr(rhs)), false);
709 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
713 private Vector4 Subtract(Vector4 rhs)
715 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Subtract__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
716 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
720 private Vector4 SubtractAssign(Vector4 rhs)
722 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_SubtractAssign(swigCPtr, Vector4.getCPtr(rhs)), false);
723 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
727 private Vector4 Multiply(Vector4 rhs)
729 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Multiply__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
730 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
734 private Vector4 Multiply(float rhs)
736 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Multiply__SWIG_1(swigCPtr, rhs), true);
737 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
741 private Vector4 MultiplyAssign(Vector4 rhs)
743 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_MultiplyAssign__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), false);
744 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
748 private Vector4 MultiplyAssign(float rhs)
750 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
751 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
755 private Vector4 Divide(Vector4 rhs)
757 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Divide__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
758 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
762 private Vector4 Divide(float rhs)
764 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Divide__SWIG_1(swigCPtr, rhs), true);
765 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
769 private Vector4 DivideAssign(Vector4 rhs)
771 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_DivideAssign__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), false);
772 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
776 private Vector4 DivideAssign(float rhs)
778 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_DivideAssign__SWIG_1(swigCPtr, rhs), false);
779 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
783 private Vector4 Subtract()
785 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Subtract__SWIG_1(swigCPtr), true);
786 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
790 private bool EqualTo(Vector4 rhs)
792 bool ret = NDalicPINVOKE.Vector4_EqualTo(swigCPtr, Vector4.getCPtr(rhs));
793 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
797 private bool NotEqualTo(Vector4 rhs)
799 bool ret = NDalicPINVOKE.Vector4_NotEqualTo(swigCPtr, Vector4.getCPtr(rhs));
800 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
804 private float ValueOfIndex(uint index)
806 float ret = NDalicPINVOKE.Vector4_ValueOfIndex__SWIG_0(swigCPtr, index);
807 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();