2 * Copyright(c) 2019 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 three-dimensional vector.
26 /// <since_tizen> 3 </since_tizen>
27 [TypeConverter(typeof(Vector3TypeConverter))]
28 public class Vector3 : Disposable
33 /// <since_tizen> 3 </since_tizen>
34 protected bool swigCMemOwn;
35 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
40 /// <since_tizen> 3 </since_tizen>
41 public Vector3() : this(Interop.Vector3.new_Vector3__SWIG_0(), true)
43 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
47 /// The default constructor initializes the vector to 0.
49 /// <param name="x">The x (or width) component.</param>
50 /// <param name="y">The y (or height) component.</param>
51 /// <param name="z">The z (or depth) component.</param>
52 /// <since_tizen> 3 </since_tizen>
53 public Vector3(float x, float y, float z) : this(Interop.Vector3.new_Vector3__SWIG_1(x, y, z), true)
55 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
59 /// Conversion constructor from an array of three floats.
61 /// <param name="array">An array of xyz.</param>
62 /// <since_tizen> 3 </since_tizen>
63 public Vector3(float[] array) : this(Interop.Vector3.new_Vector3__SWIG_2(array), true)
65 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
71 /// <param name="vec2">Vector2 to create this vector from.</param>
72 /// <since_tizen> 3 </since_tizen>
73 public Vector3(Vector2 vec2) : this(Interop.Vector3.new_Vector3__SWIG_3(Vector2.getCPtr(vec2)), true)
75 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
81 /// <param name="vec4">Vector4 to create this vector from.</param>
82 /// <since_tizen> 3 </since_tizen>
83 public Vector3(Vector4 vec4) : this(Interop.Vector3.new_Vector3__SWIG_4(Vector4.getCPtr(vec4)), true)
85 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
88 internal Vector3(global::System.IntPtr cPtr, bool cMemoryOwn)
90 swigCMemOwn = cMemoryOwn;
91 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
94 internal Vector3(Vector3ChangedCallback cb, float x, float y, float z) : this(Interop.Vector3.new_Vector3__SWIG_1(x, y, z), true)
97 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
99 internal delegate void Vector3ChangedCallback(float x, float y, float z);
100 private Vector3ChangedCallback callback = null;
103 /// (1.0f,1.0f,1.0f).
105 /// <since_tizen> 3 </since_tizen>
106 public static Vector3 One
110 global::System.IntPtr cPtr = Interop.Vector3.Vector3_ONE_get();
111 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
112 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
118 /// The vector representing the x-axis.
120 /// <since_tizen> 3 </since_tizen>
121 public static Vector3 XAxis
125 global::System.IntPtr cPtr = Interop.Vector3.Vector3_XAXIS_get();
126 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
127 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
133 /// The vector representing the y-axis.
135 /// <since_tizen> 3 </since_tizen>
136 public static Vector3 YAxis
140 global::System.IntPtr cPtr = Interop.Vector3.Vector3_YAXIS_get();
141 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
142 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
148 /// The vector representing the z-axis.
150 /// <since_tizen> 3 </since_tizen>
151 public static Vector3 ZAxis
155 global::System.IntPtr cPtr = Interop.Vector3.Vector3_ZAXIS_get();
156 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
157 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
163 /// The vector representing the negative x-axis.
165 /// <since_tizen> 3 </since_tizen>
166 public static Vector3 NegativeXAxis
170 global::System.IntPtr cPtr = Interop.Vector3.Vector3_NEGATIVE_XAXIS_get();
171 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
172 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
178 /// Th vector representing the negative y-axis.
180 /// <since_tizen> 3 </since_tizen>
181 public static Vector3 NegativeYAxis
185 global::System.IntPtr cPtr = Interop.Vector3.Vector3_NEGATIVE_YAXIS_get();
186 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
187 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
193 /// The vector representing the negative z-axis.
195 /// <since_tizen> 3 </since_tizen>
196 public static Vector3 NegativeZAxis
200 global::System.IntPtr cPtr = Interop.Vector3.Vector3_NEGATIVE_ZAXIS_get();
201 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
202 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
208 /// (0.0f, 0.0f, 0.0f).
210 /// <since_tizen> 3 </since_tizen>
211 public static Vector3 Zero
215 global::System.IntPtr cPtr = Interop.Vector3.Vector3_ZERO_get();
216 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
217 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
225 /// <since_tizen> 3 </since_tizen>
230 Interop.Vector3.Vector3_X_set(swigCPtr, value);
231 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
233 callback?.Invoke(X, Y, Z);
237 float ret = Interop.Vector3.Vector3_X_get(swigCPtr);
238 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
244 /// The width component.
246 /// <since_tizen> 3 </since_tizen>
251 Interop.Vector3.Vector3_Width_set(swigCPtr, value);
252 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
254 callback?.Invoke(X, Y, Z);
258 float ret = Interop.Vector3.Vector3_Width_get(swigCPtr);
259 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
265 /// The red component.
267 /// <since_tizen> 3 </since_tizen>
272 Interop.Vector3.Vector3_r_set(swigCPtr, value);
273 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
275 callback?.Invoke(X, Y, Z);
279 float ret = Interop.Vector3.Vector3_r_get(swigCPtr);
280 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
288 /// <since_tizen> 3 </since_tizen>
293 Interop.Vector3.Vector3_Y_set(swigCPtr, value);
294 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
296 callback?.Invoke(X, Y, Z);
300 float ret = Interop.Vector3.Vector3_Y_get(swigCPtr);
301 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
307 /// The height component.
309 /// <since_tizen> 3 </since_tizen>
314 Interop.Vector3.Vector3_Height_set(swigCPtr, value);
315 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
317 callback?.Invoke(X, Y, Z);
321 float ret = Interop.Vector3.Vector3_Height_get(swigCPtr);
322 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
328 /// The green component.
330 /// <since_tizen> 3 </since_tizen>
335 Interop.Vector3.Vector3_g_set(swigCPtr, value);
336 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
338 callback?.Invoke(X, Y, Z);
342 float ret = Interop.Vector3.Vector3_g_get(swigCPtr);
343 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
351 /// <since_tizen> 3 </since_tizen>
356 Interop.Vector3.Vector3_Z_set(swigCPtr, value);
357 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
359 callback?.Invoke(X, Y, Z);
363 float ret = Interop.Vector3.Vector3_Z_get(swigCPtr);
364 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
370 /// The depth component.
372 /// <since_tizen> 3 </since_tizen>
377 Interop.Vector3.Vector3_Depth_set(swigCPtr, value);
378 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
380 callback?.Invoke(X, Y, Z);
384 float ret = Interop.Vector3.Vector3_Depth_get(swigCPtr);
385 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
391 /// The blue component.
393 /// <since_tizen> 3 </since_tizen>
398 Interop.Vector3.Vector3_b_set(swigCPtr, value);
399 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
401 callback?.Invoke(X, Y, Z);
405 float ret = Interop.Vector3.Vector3_b_get(swigCPtr);
406 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
412 /// An array subscript operator overload.
414 /// <param name="index">The subscript index.</param>
415 /// <returns>The float at the given index.</returns>
416 /// <since_tizen> 3 </since_tizen>
417 public float this[uint index]
421 return ValueOfIndex(index);
426 /// The addition operator.
428 /// <param name="arg1">The first value.</param>
429 /// <param name="arg2">The second value.</param>
430 /// <returns>The vector containing the result of the addition.</returns>
431 /// <since_tizen> 3 </since_tizen>
432 public static Vector3 operator +(Vector3 arg1, Vector3 arg2)
434 return arg1.Add(arg2);
438 /// The subtraction operator.
440 /// <param name="arg1">The first value.</param>
441 /// <param name="arg2">The second value.</param>
442 /// <returns>The vector containing the result of the subtraction.</returns>
443 /// <since_tizen> 3 </since_tizen>
444 public static Vector3 operator -(Vector3 arg1, Vector3 arg2)
446 return arg1.Subtract(arg2);
450 /// The unary negation operator.
452 /// <param name="arg1">The target value.</param>
453 /// <returns>The vector containg the negation.</returns>
454 /// <since_tizen> 3 </since_tizen>
455 public static Vector3 operator -(Vector3 arg1)
457 return arg1.Subtract();
461 /// The multiplication operator.
463 /// <param name="arg1">The first value.</param>
464 /// <param name="arg2">The second value.</param>
465 /// <returns>The vector containing the result of the multiplication.</returns>
466 /// <since_tizen> 3 </since_tizen>
467 public static Vector3 operator *(Vector3 arg1, Vector3 arg2)
469 return arg1.Multiply(arg2);
473 /// The multiplication operator.
475 /// <param name="arg1">The first value.</param>
476 /// <param name="arg2">The float value to scale the vector.</param>
477 /// <returns>The vector containing the result of the scaling.</returns>
478 /// <since_tizen> 3 </since_tizen>
479 public static Vector3 operator *(Vector3 arg1, float arg2)
481 return arg1.Multiply(arg2);
485 /// The division operator.
487 /// <param name="arg1">The first value.</param>
488 /// <param name="arg2">The second value.</param>
489 /// <returns>The vector containing the result of the division.</returns>
490 /// <since_tizen> 3 </since_tizen>
491 public static Vector3 operator /(Vector3 arg1, Vector3 arg2)
493 return arg1.Divide(arg2);
497 /// The division operator.
499 /// <param name="arg1">The first value.</param>
500 /// <param name="arg2">The float value to scale the vector by.</param>
501 /// <returns>The vector containing the result of the scaling.</returns>
502 /// <since_tizen> 3 </since_tizen>
503 public static Vector3 operator /(Vector3 arg1, float arg2)
505 return arg1.Divide(arg2);
509 /// Determines whether the specified object is equal to the current object.
511 /// <param name="obj">The object to compare with the current object.</param>
512 /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
513 public override bool Equals(System.Object obj)
515 Vector3 vector3 = obj as Vector3;
517 if (X == vector3?.X && Y == vector3?.Y && Z == vector3?.Z)
525 /// Gets the the hash code of this Vector3.
527 /// <returns>The Hash Code.</returns>
528 /// <since_tizen> 6 </since_tizen>
529 public override int GetHashCode()
531 return swigCPtr.Handle.GetHashCode();
535 /// Returns the length of the vector.
537 /// <returns>The length of the vector.</returns>
538 /// <since_tizen> 3 </since_tizen>
539 public float Length()
541 float ret = Interop.Vector3.Vector3_Length(swigCPtr);
542 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
547 /// Returns the length of the vector squared.<br />
548 /// This is more efficient than Length() for threshold
549 /// testing as it avoids the use of a square root.<br />
551 /// <returns>The length of the vector squared.</returns>
552 /// <since_tizen> 3 </since_tizen>
553 public float LengthSquared()
555 float ret = Interop.Vector3.Vector3_LengthSquared(swigCPtr);
556 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
561 /// Sets the vector to be unit length, whilst maintaining its direction.
563 /// <since_tizen> 3 </since_tizen>
564 public void Normalize()
566 Interop.Vector3.Vector3_Normalize(swigCPtr);
567 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
571 /// Clamps the vector between minimum and maximum vectors.
573 /// <param name="min">The minimum vector.</param>
574 /// <param name="max">The maximum vector.</param>
575 /// <since_tizen> 3 </since_tizen>
576 public void Clamp(Vector3 min, Vector3 max)
578 Interop.Vector3.Vector3_Clamp(swigCPtr, Vector3.getCPtr(min), Vector3.getCPtr(max));
579 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
583 /// Returns the x and y components (or width and height, or r and g) as a Vector2.
585 /// <returns>The partial vector contents as Vector2 (x,y).</returns>
586 /// <since_tizen> 3 </since_tizen>
587 public Vector2 GetVectorXY()
589 Vector2 ret = new Vector2(Interop.Vector3.Vector3_GetVectorXY__SWIG_0(swigCPtr), false);
590 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
595 /// Returns the y and z components (or height and depth, or g and b) as a Vector2.
597 /// <returns>The partial vector contents as Vector2 (y,z).</returns>
598 /// <since_tizen> 3 </since_tizen>
599 public Vector2 GetVectorYZ()
601 Vector2 ret = new Vector2(Interop.Vector3.Vector3_GetVectorYZ__SWIG_0(swigCPtr), false);
602 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
606 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector3 obj)
608 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
611 internal static Vector3 GetVector3FromPtr(global::System.IntPtr cPtr)
613 Vector3 ret = new Vector3(cPtr, false);
614 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
618 internal SWIGTYPE_p_float AsFloat()
620 global::System.IntPtr cPtr = Interop.Vector3.Vector3_AsFloat__SWIG_0(swigCPtr);
621 SWIGTYPE_p_float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
622 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
629 /// <param name="type">The dispose type</param>
630 /// <since_tizen> 3 </since_tizen>
631 protected override void Dispose(DisposeTypes type)
638 //Release your own unmanaged resources here.
639 //You should not access any managed member here except static instance.
640 //because the execution order of Finalizes is non-deterministic.
642 if (swigCPtr.Handle != global::System.IntPtr.Zero)
647 Interop.Vector3.delete_Vector3(swigCPtr);
649 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
654 private Vector3 Add(Vector3 rhs)
656 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Add(swigCPtr, Vector3.getCPtr(rhs)), true);
657 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
661 private Vector3 AddAssign(Vector3 rhs)
663 Vector3 ret = new Vector3(Interop.Vector3.Vector3_AddAssign(swigCPtr, Vector3.getCPtr(rhs)), false);
664 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
668 private Vector3 Subtract(Vector3 rhs)
670 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Subtract__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
671 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
675 private Vector3 SubtractAssign(Vector3 rhs)
677 Vector3 ret = new Vector3(Interop.Vector3.Vector3_SubtractAssign(swigCPtr, Vector3.getCPtr(rhs)), false);
678 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
682 private Vector3 Multiply(Vector3 rhs)
684 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Multiply__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
685 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
689 private Vector3 Multiply(float rhs)
691 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
692 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
696 private Vector3 MultiplyAssign(Vector3 rhs)
698 Vector3 ret = new Vector3(Interop.Vector3.Vector3_MultiplyAssign__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), false);
699 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
703 private Vector3 MultiplyAssign(float rhs)
705 Vector3 ret = new Vector3(Interop.Vector3.Vector3_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
706 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
710 private Vector3 MultiplyAssign(Rotation rhs)
712 Vector3 ret = new Vector3(Interop.Vector3.Vector3_MultiplyAssign__SWIG_2(swigCPtr, Rotation.getCPtr(rhs)), false);
713 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
717 private Vector3 Divide(Vector3 rhs)
719 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Divide__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
720 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
724 private Vector3 Divide(float rhs)
726 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
727 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
731 private Vector3 DivideAssign(Vector3 rhs)
733 Vector3 ret = new Vector3(Interop.Vector3.Vector3_DivideAssign__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), false);
734 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
738 private Vector3 DivideAssign(float rhs)
740 Vector3 ret = new Vector3(Interop.Vector3.Vector3_DivideAssign__SWIG_1(swigCPtr, rhs), false);
741 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
745 private Vector3 Subtract()
747 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Subtract__SWIG_1(swigCPtr), true);
748 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
752 private bool EqualTo(Vector3 rhs)
754 bool ret = Interop.Vector3.Vector3_EqualTo(swigCPtr, Vector3.getCPtr(rhs));
755 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
759 private bool NotEqualTo(Vector3 rhs)
761 bool ret = Interop.Vector3.Vector3_NotEqualTo(swigCPtr, Vector3.getCPtr(rhs));
762 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
766 private float ValueOfIndex(uint index)
768 float ret = Interop.Vector3.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
769 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
773 internal float Dot(Vector3 other)
775 float ret = Interop.Vector3.Vector3_Dot(swigCPtr, Vector3.getCPtr(other));
776 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
780 internal Vector3 Cross(Vector3 other)
782 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Cross(swigCPtr, Vector3.getCPtr(other)), true);
783 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();