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 System.ComponentModel;
19 using Tizen.NUI.Binding;
25 /// A three-dimensional vector.
27 /// <since_tizen> 3 </since_tizen>
28 [Binding.TypeConverter(typeof(Vector3TypeConverter))]
29 public class Vector3 : Disposable, ICloneable
34 /// <since_tizen> 3 </since_tizen>
35 public Vector3() : this(Interop.Vector3.new_Vector3__SWIG_0(), true)
37 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
41 /// The default constructor initializes the vector to 0.
43 /// <param name="x">The x (or width) component.</param>
44 /// <param name="y">The y (or height) component.</param>
45 /// <param name="z">The z (or depth) component.</param>
46 /// <since_tizen> 3 </since_tizen>
47 public Vector3(float x, float y, float z) : this(Interop.Vector3.new_Vector3__SWIG_1(x, y, z), true)
49 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
53 /// Conversion constructor from an array of three floats.
55 /// <param name="array">An array of xyz.</param>
56 /// <since_tizen> 3 </since_tizen>
57 public Vector3(float[] array) : this(Interop.Vector3.new_Vector3__SWIG_2(array), true)
59 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
65 /// <param name="vec2">Vector2 to create this vector from.</param>
66 /// <since_tizen> 3 </since_tizen>
67 public Vector3(Vector2 vec2) : this(Interop.Vector3.new_Vector3__SWIG_3(Vector2.getCPtr(vec2)), true)
69 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
75 /// <param name="vec4">Vector4 to create this vector from.</param>
76 /// <since_tizen> 3 </since_tizen>
77 public Vector3(Vector4 vec4) : this(Interop.Vector3.new_Vector3__SWIG_4(Vector4.getCPtr(vec4)), true)
79 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
82 internal Vector3(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
86 internal Vector3(Vector3ChangedCallback cb, float x, float y, float z) : this(Interop.Vector3.new_Vector3__SWIG_1(x, y, z), true)
89 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
91 internal delegate void Vector3ChangedCallback(float x, float y, float z);
92 private Vector3ChangedCallback callback = null;
97 /// <since_tizen> 3 </since_tizen>
98 public static Vector3 One
102 global::System.IntPtr cPtr = Interop.Vector3.Vector3_ONE_get();
103 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
104 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
110 /// The vector representing the x-axis.
112 /// <since_tizen> 3 </since_tizen>
113 public static Vector3 XAxis
117 global::System.IntPtr cPtr = Interop.Vector3.Vector3_XAXIS_get();
118 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
119 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
125 /// The vector representing the y-axis.
127 /// <since_tizen> 3 </since_tizen>
128 public static Vector3 YAxis
132 global::System.IntPtr cPtr = Interop.Vector3.Vector3_YAXIS_get();
133 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
134 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
140 /// The vector representing the z-axis.
142 /// <since_tizen> 3 </since_tizen>
143 public static Vector3 ZAxis
147 global::System.IntPtr cPtr = Interop.Vector3.Vector3_ZAXIS_get();
148 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
149 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
155 /// The vector representing the negative x-axis.
157 /// <since_tizen> 3 </since_tizen>
158 public static Vector3 NegativeXAxis
162 global::System.IntPtr cPtr = Interop.Vector3.Vector3_NEGATIVE_XAXIS_get();
163 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
164 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
170 /// Th vector representing the negative y-axis.
172 /// <since_tizen> 3 </since_tizen>
173 public static Vector3 NegativeYAxis
177 global::System.IntPtr cPtr = Interop.Vector3.Vector3_NEGATIVE_YAXIS_get();
178 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
179 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
185 /// The vector representing the negative z-axis.
187 /// <since_tizen> 3 </since_tizen>
188 public static Vector3 NegativeZAxis
192 global::System.IntPtr cPtr = Interop.Vector3.Vector3_NEGATIVE_ZAXIS_get();
193 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
194 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
200 /// (0.0f, 0.0f, 0.0f).
202 /// <since_tizen> 3 </since_tizen>
203 public static Vector3 Zero
207 global::System.IntPtr cPtr = Interop.Vector3.Vector3_ZERO_get();
208 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
209 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
217 /// <since_tizen> 3 </since_tizen>
222 Interop.Vector3.Vector3_X_set(swigCPtr, value);
223 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
225 callback?.Invoke(X, Y, Z);
229 float ret = Interop.Vector3.Vector3_X_get(swigCPtr);
230 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
236 /// The width component.
238 /// <since_tizen> 3 </since_tizen>
243 Interop.Vector3.Vector3_Width_set(swigCPtr, value);
244 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
246 callback?.Invoke(X, Y, Z);
250 float ret = Interop.Vector3.Vector3_Width_get(swigCPtr);
251 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
257 /// The red component.
259 /// <since_tizen> 3 </since_tizen>
264 Interop.Vector3.Vector3_r_set(swigCPtr, value);
265 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
267 callback?.Invoke(X, Y, Z);
271 float ret = Interop.Vector3.Vector3_r_get(swigCPtr);
272 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
280 /// <since_tizen> 3 </since_tizen>
285 Interop.Vector3.Vector3_Y_set(swigCPtr, value);
286 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
288 callback?.Invoke(X, Y, Z);
292 float ret = Interop.Vector3.Vector3_Y_get(swigCPtr);
293 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
299 /// The height component.
301 /// <since_tizen> 3 </since_tizen>
306 Interop.Vector3.Vector3_Height_set(swigCPtr, value);
307 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
309 callback?.Invoke(X, Y, Z);
313 float ret = Interop.Vector3.Vector3_Height_get(swigCPtr);
314 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
320 /// The green component.
322 /// <since_tizen> 3 </since_tizen>
327 Interop.Vector3.Vector3_g_set(swigCPtr, value);
328 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
330 callback?.Invoke(X, Y, Z);
334 float ret = Interop.Vector3.Vector3_g_get(swigCPtr);
335 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
343 /// <since_tizen> 3 </since_tizen>
348 Interop.Vector3.Vector3_Z_set(swigCPtr, value);
349 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
351 callback?.Invoke(X, Y, Z);
355 float ret = Interop.Vector3.Vector3_Z_get(swigCPtr);
356 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
362 /// The depth component.
364 /// <since_tizen> 3 </since_tizen>
369 Interop.Vector3.Vector3_Depth_set(swigCPtr, value);
370 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
372 callback?.Invoke(X, Y, Z);
376 float ret = Interop.Vector3.Vector3_Depth_get(swigCPtr);
377 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
383 /// The blue component.
385 /// <since_tizen> 3 </since_tizen>
390 Interop.Vector3.Vector3_b_set(swigCPtr, value);
391 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
393 callback?.Invoke(X, Y, Z);
397 float ret = Interop.Vector3.Vector3_b_get(swigCPtr);
398 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
404 /// An array subscript operator overload.
406 /// <param name="index">The subscript index.</param>
407 /// <returns>The float at the given index.</returns>
408 /// <since_tizen> 3 </since_tizen>
409 public float this[uint index]
413 return ValueOfIndex(index);
418 /// The addition operator.
420 /// <param name="arg1">The first value.</param>
421 /// <param name="arg2">The second value.</param>
422 /// <returns>The vector containing the result of the addition.</returns>
423 /// <since_tizen> 3 </since_tizen>
424 public static Vector3 operator +(Vector3 arg1, Vector3 arg2)
426 return arg1.Add(arg2);
430 /// The subtraction operator.
432 /// <param name="arg1">The first value.</param>
433 /// <param name="arg2">The second value.</param>
434 /// <returns>The vector containing the result of the subtraction.</returns>
435 /// <since_tizen> 3 </since_tizen>
436 public static Vector3 operator -(Vector3 arg1, Vector3 arg2)
438 return arg1.Subtract(arg2);
442 /// The unary negation operator.
444 /// <param name="arg1">The target value.</param>
445 /// <returns>The vector containg the negation.</returns>
446 /// <since_tizen> 3 </since_tizen>
447 public static Vector3 operator -(Vector3 arg1)
449 return arg1.Subtract();
453 /// The multiplication operator.
455 /// <param name="arg1">The first value.</param>
456 /// <param name="arg2">The second value.</param>
457 /// <returns>The vector containing the result of the multiplication.</returns>
458 /// <since_tizen> 3 </since_tizen>
459 public static Vector3 operator *(Vector3 arg1, Vector3 arg2)
461 return arg1.Multiply(arg2);
465 /// The multiplication operator.
467 /// <param name="arg1">The first value.</param>
468 /// <param name="arg2">The float value to scale the vector.</param>
469 /// <returns>The vector containing the result of the scaling.</returns>
470 /// <since_tizen> 3 </since_tizen>
471 public static Vector3 operator *(Vector3 arg1, float arg2)
473 return arg1.Multiply(arg2);
477 /// The division operator.
479 /// <param name="arg1">The first value.</param>
480 /// <param name="arg2">The second value.</param>
481 /// <returns>The vector containing the result of the division.</returns>
482 /// <since_tizen> 3 </since_tizen>
483 public static Vector3 operator /(Vector3 arg1, Vector3 arg2)
485 return arg1.Divide(arg2);
489 /// The division operator.
491 /// <param name="arg1">The first value.</param>
492 /// <param name="arg2">The float value to scale the vector by.</param>
493 /// <returns>The vector containing the result of the scaling.</returns>
494 /// <since_tizen> 3 </since_tizen>
495 public static Vector3 operator /(Vector3 arg1, float arg2)
497 return arg1.Divide(arg2);
501 /// Determines whether the specified object is equal to the current object.
503 /// <param name="obj">The object to compare with the current object.</param>
504 /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
505 public override bool Equals(System.Object obj)
507 Vector3 vector3 = obj as Vector3;
509 if (X == vector3?.X && Y == vector3?.Y && Z == vector3?.Z)
517 /// Gets the the hash code of this Vector3.
519 /// <returns>The Hash Code.</returns>
520 /// <since_tizen> 6 </since_tizen>
521 public override int GetHashCode()
523 return swigCPtr.Handle.GetHashCode();
527 /// Returns the length of the vector.
529 /// <returns>The length of the vector.</returns>
530 /// <since_tizen> 3 </since_tizen>
531 public float Length()
533 float ret = Interop.Vector3.Vector3_Length(swigCPtr);
534 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
539 /// Returns the length of the vector squared.<br />
540 /// This is more efficient than Length() for threshold
541 /// testing as it avoids the use of a square root.<br />
543 /// <returns>The length of the vector squared.</returns>
544 /// <since_tizen> 3 </since_tizen>
545 public float LengthSquared()
547 float ret = Interop.Vector3.Vector3_LengthSquared(swigCPtr);
548 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
553 /// Sets the vector to be unit length, whilst maintaining its direction.
555 /// <since_tizen> 3 </since_tizen>
556 public void Normalize()
558 Interop.Vector3.Vector3_Normalize(swigCPtr);
559 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
563 /// Clamps the vector between minimum and maximum vectors.
565 /// <param name="min">The minimum vector.</param>
566 /// <param name="max">The maximum vector.</param>
567 /// <since_tizen> 3 </since_tizen>
568 public void Clamp(Vector3 min, Vector3 max)
570 Interop.Vector3.Vector3_Clamp(swigCPtr, Vector3.getCPtr(min), Vector3.getCPtr(max));
571 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
575 /// Returns the x and y components (or width and height, or r and g) as a Vector2.
577 /// <returns>The partial vector contents as Vector2 (x,y).</returns>
578 /// <since_tizen> 3 </since_tizen>
579 public Vector2 GetVectorXY()
581 Vector2 ret = new Vector2(Interop.Vector3.Vector3_GetVectorXY__SWIG_0(swigCPtr), false);
582 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
587 /// Returns the y and z components (or height and depth, or g and b) as a Vector2.
589 /// <returns>The partial vector contents as Vector2 (y,z).</returns>
590 /// <since_tizen> 3 </since_tizen>
591 public Vector2 GetVectorYZ()
593 Vector2 ret = new Vector2(Interop.Vector3.Vector3_GetVectorYZ__SWIG_0(swigCPtr), false);
594 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
599 [EditorBrowsable(EditorBrowsableState.Never)]
600 public object Clone() => new Vector3(X, Y, Z);
602 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector3 obj)
604 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
607 internal static Vector3 GetVector3FromPtr(global::System.IntPtr cPtr)
609 Vector3 ret = new Vector3(cPtr, false);
610 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
614 internal SWIGTYPE_p_float AsFloat()
616 global::System.IntPtr cPtr = Interop.Vector3.Vector3_AsFloat__SWIG_0(swigCPtr);
617 SWIGTYPE_p_float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
618 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
622 /// This will not be public opened.
623 [EditorBrowsable(EditorBrowsableState.Never)]
624 protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
626 Interop.Vector3.delete_Vector3(swigCPtr);
629 private Vector3 Add(Vector3 rhs)
631 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Add(swigCPtr, Vector3.getCPtr(rhs)), true);
632 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
636 private Vector3 AddAssign(Vector3 rhs)
638 Vector3 ret = new Vector3(Interop.Vector3.Vector3_AddAssign(swigCPtr, Vector3.getCPtr(rhs)), false);
639 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
643 private Vector3 Subtract(Vector3 rhs)
645 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Subtract__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
646 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
650 private Vector3 SubtractAssign(Vector3 rhs)
652 Vector3 ret = new Vector3(Interop.Vector3.Vector3_SubtractAssign(swigCPtr, Vector3.getCPtr(rhs)), false);
653 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
657 private Vector3 Multiply(Vector3 rhs)
659 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Multiply__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
660 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
664 private Vector3 Multiply(float rhs)
666 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
667 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
671 private Vector3 MultiplyAssign(Vector3 rhs)
673 Vector3 ret = new Vector3(Interop.Vector3.Vector3_MultiplyAssign__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), false);
674 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
678 private Vector3 MultiplyAssign(float rhs)
680 Vector3 ret = new Vector3(Interop.Vector3.Vector3_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
681 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
685 private Vector3 MultiplyAssign(Rotation rhs)
687 Vector3 ret = new Vector3(Interop.Vector3.Vector3_MultiplyAssign__SWIG_2(swigCPtr, Rotation.getCPtr(rhs)), false);
688 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
692 private Vector3 Divide(Vector3 rhs)
694 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Divide__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
695 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
699 private Vector3 Divide(float rhs)
701 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
702 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
706 private Vector3 DivideAssign(Vector3 rhs)
708 Vector3 ret = new Vector3(Interop.Vector3.Vector3_DivideAssign__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), false);
709 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
713 private Vector3 DivideAssign(float rhs)
715 Vector3 ret = new Vector3(Interop.Vector3.Vector3_DivideAssign__SWIG_1(swigCPtr, rhs), false);
716 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
720 private Vector3 Subtract()
722 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Subtract__SWIG_1(swigCPtr), true);
723 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
727 private bool EqualTo(Vector3 rhs)
729 bool ret = Interop.Vector3.Vector3_EqualTo(swigCPtr, Vector3.getCPtr(rhs));
730 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
734 private bool NotEqualTo(Vector3 rhs)
736 bool ret = Interop.Vector3.Vector3_NotEqualTo(swigCPtr, Vector3.getCPtr(rhs));
737 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
741 private float ValueOfIndex(uint index)
743 float ret = Interop.Vector3.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
744 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
748 internal float Dot(Vector3 other)
750 float ret = Interop.Vector3.Vector3_Dot(swigCPtr, Vector3.getCPtr(other));
751 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
755 internal Vector3 Cross(Vector3 other)
757 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Cross(swigCPtr, Vector3.getCPtr(other)), true);
758 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();