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.
17 using System.ComponentModel;
18 using Tizen.NUI.Binding;
24 /// A three-dimensional vector.
26 /// <since_tizen> 3 </since_tizen>
27 [Binding.TypeConverter(typeof(Vector3TypeConverter))]
28 public class Vector3 : Disposable
33 /// <since_tizen> 3 </since_tizen>
34 public Vector3() : this(Interop.Vector3.new_Vector3__SWIG_0(), true)
36 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
40 /// The default constructor initializes the vector to 0.
42 /// <param name="x">The x (or width) component.</param>
43 /// <param name="y">The y (or height) component.</param>
44 /// <param name="z">The z (or depth) component.</param>
45 /// <since_tizen> 3 </since_tizen>
46 public Vector3(float x, float y, float z) : this(Interop.Vector3.new_Vector3__SWIG_1(x, y, z), true)
48 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
52 /// Conversion constructor from an array of three floats.
54 /// <param name="array">An array of xyz.</param>
55 /// <since_tizen> 3 </since_tizen>
56 public Vector3(float[] array) : this(Interop.Vector3.new_Vector3__SWIG_2(array), true)
58 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
64 /// <param name="vec2">Vector2 to create this vector from.</param>
65 /// <since_tizen> 3 </since_tizen>
66 public Vector3(Vector2 vec2) : this(Interop.Vector3.new_Vector3__SWIG_3(Vector2.getCPtr(vec2)), true)
68 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
74 /// <param name="vec4">Vector4 to create this vector from.</param>
75 /// <since_tizen> 3 </since_tizen>
76 public Vector3(Vector4 vec4) : this(Interop.Vector3.new_Vector3__SWIG_4(Vector4.getCPtr(vec4)), true)
78 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
81 internal Vector3(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
85 internal Vector3(Vector3ChangedCallback cb, float x, float y, float z) : this(Interop.Vector3.new_Vector3__SWIG_1(x, y, z), true)
88 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
90 internal delegate void Vector3ChangedCallback(float x, float y, float z);
91 private Vector3ChangedCallback callback = null;
96 /// <since_tizen> 3 </since_tizen>
97 public static Vector3 One
101 global::System.IntPtr cPtr = Interop.Vector3.Vector3_ONE_get();
102 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
103 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
109 /// The vector representing the x-axis.
111 /// <since_tizen> 3 </since_tizen>
112 public static Vector3 XAxis
116 global::System.IntPtr cPtr = Interop.Vector3.Vector3_XAXIS_get();
117 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
118 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
124 /// The vector representing the y-axis.
126 /// <since_tizen> 3 </since_tizen>
127 public static Vector3 YAxis
131 global::System.IntPtr cPtr = Interop.Vector3.Vector3_YAXIS_get();
132 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
133 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
139 /// The vector representing the z-axis.
141 /// <since_tizen> 3 </since_tizen>
142 public static Vector3 ZAxis
146 global::System.IntPtr cPtr = Interop.Vector3.Vector3_ZAXIS_get();
147 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
148 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
154 /// The vector representing the negative x-axis.
156 /// <since_tizen> 3 </since_tizen>
157 public static Vector3 NegativeXAxis
161 global::System.IntPtr cPtr = Interop.Vector3.Vector3_NEGATIVE_XAXIS_get();
162 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
163 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
169 /// Th vector representing the negative y-axis.
171 /// <since_tizen> 3 </since_tizen>
172 public static Vector3 NegativeYAxis
176 global::System.IntPtr cPtr = Interop.Vector3.Vector3_NEGATIVE_YAXIS_get();
177 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
178 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
184 /// The vector representing the negative z-axis.
186 /// <since_tizen> 3 </since_tizen>
187 public static Vector3 NegativeZAxis
191 global::System.IntPtr cPtr = Interop.Vector3.Vector3_NEGATIVE_ZAXIS_get();
192 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
193 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
199 /// (0.0f, 0.0f, 0.0f).
201 /// <since_tizen> 3 </since_tizen>
202 public static Vector3 Zero
206 global::System.IntPtr cPtr = Interop.Vector3.Vector3_ZERO_get();
207 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
208 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
216 /// <since_tizen> 3 </since_tizen>
221 Interop.Vector3.Vector3_X_set(swigCPtr, value);
222 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
224 callback?.Invoke(X, Y, Z);
228 float ret = Interop.Vector3.Vector3_X_get(swigCPtr);
229 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
235 /// The width component.
237 /// <since_tizen> 3 </since_tizen>
242 Interop.Vector3.Vector3_Width_set(swigCPtr, value);
243 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
245 callback?.Invoke(X, Y, Z);
249 float ret = Interop.Vector3.Vector3_Width_get(swigCPtr);
250 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
256 /// The red component.
258 /// <since_tizen> 3 </since_tizen>
263 Interop.Vector3.Vector3_r_set(swigCPtr, value);
264 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
266 callback?.Invoke(X, Y, Z);
270 float ret = Interop.Vector3.Vector3_r_get(swigCPtr);
271 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
279 /// <since_tizen> 3 </since_tizen>
284 Interop.Vector3.Vector3_Y_set(swigCPtr, value);
285 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
287 callback?.Invoke(X, Y, Z);
291 float ret = Interop.Vector3.Vector3_Y_get(swigCPtr);
292 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
298 /// The height component.
300 /// <since_tizen> 3 </since_tizen>
305 Interop.Vector3.Vector3_Height_set(swigCPtr, value);
306 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
308 callback?.Invoke(X, Y, Z);
312 float ret = Interop.Vector3.Vector3_Height_get(swigCPtr);
313 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
319 /// The green component.
321 /// <since_tizen> 3 </since_tizen>
326 Interop.Vector3.Vector3_g_set(swigCPtr, value);
327 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
329 callback?.Invoke(X, Y, Z);
333 float ret = Interop.Vector3.Vector3_g_get(swigCPtr);
334 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
342 /// <since_tizen> 3 </since_tizen>
347 Interop.Vector3.Vector3_Z_set(swigCPtr, value);
348 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
350 callback?.Invoke(X, Y, Z);
354 float ret = Interop.Vector3.Vector3_Z_get(swigCPtr);
355 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
361 /// The depth component.
363 /// <since_tizen> 3 </since_tizen>
368 Interop.Vector3.Vector3_Depth_set(swigCPtr, value);
369 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
371 callback?.Invoke(X, Y, Z);
375 float ret = Interop.Vector3.Vector3_Depth_get(swigCPtr);
376 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
382 /// The blue component.
384 /// <since_tizen> 3 </since_tizen>
389 Interop.Vector3.Vector3_b_set(swigCPtr, value);
390 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
392 callback?.Invoke(X, Y, Z);
396 float ret = Interop.Vector3.Vector3_b_get(swigCPtr);
397 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
403 /// An array subscript operator overload.
405 /// <param name="index">The subscript index.</param>
406 /// <returns>The float at the given index.</returns>
407 /// <since_tizen> 3 </since_tizen>
408 public float this[uint index]
412 return ValueOfIndex(index);
417 /// The addition operator.
419 /// <param name="arg1">The first value.</param>
420 /// <param name="arg2">The second value.</param>
421 /// <returns>The vector containing the result of the addition.</returns>
422 /// <since_tizen> 3 </since_tizen>
423 public static Vector3 operator +(Vector3 arg1, Vector3 arg2)
425 return arg1.Add(arg2);
429 /// The subtraction operator.
431 /// <param name="arg1">The first value.</param>
432 /// <param name="arg2">The second value.</param>
433 /// <returns>The vector containing the result of the subtraction.</returns>
434 /// <since_tizen> 3 </since_tizen>
435 public static Vector3 operator -(Vector3 arg1, Vector3 arg2)
437 return arg1.Subtract(arg2);
441 /// The unary negation operator.
443 /// <param name="arg1">The target value.</param>
444 /// <returns>The vector containg the negation.</returns>
445 /// <since_tizen> 3 </since_tizen>
446 public static Vector3 operator -(Vector3 arg1)
448 return arg1.Subtract();
452 /// The multiplication operator.
454 /// <param name="arg1">The first value.</param>
455 /// <param name="arg2">The second value.</param>
456 /// <returns>The vector containing the result of the multiplication.</returns>
457 /// <since_tizen> 3 </since_tizen>
458 public static Vector3 operator *(Vector3 arg1, Vector3 arg2)
460 return arg1.Multiply(arg2);
464 /// The multiplication operator.
466 /// <param name="arg1">The first value.</param>
467 /// <param name="arg2">The float value to scale the vector.</param>
468 /// <returns>The vector containing the result of the scaling.</returns>
469 /// <since_tizen> 3 </since_tizen>
470 public static Vector3 operator *(Vector3 arg1, float arg2)
472 return arg1.Multiply(arg2);
476 /// The division operator.
478 /// <param name="arg1">The first value.</param>
479 /// <param name="arg2">The second value.</param>
480 /// <returns>The vector containing the result of the division.</returns>
481 /// <since_tizen> 3 </since_tizen>
482 public static Vector3 operator /(Vector3 arg1, Vector3 arg2)
484 return arg1.Divide(arg2);
488 /// The division operator.
490 /// <param name="arg1">The first value.</param>
491 /// <param name="arg2">The float value to scale the vector by.</param>
492 /// <returns>The vector containing the result of the scaling.</returns>
493 /// <since_tizen> 3 </since_tizen>
494 public static Vector3 operator /(Vector3 arg1, float arg2)
496 return arg1.Divide(arg2);
500 /// Determines whether the specified object is equal to the current object.
502 /// <param name="obj">The object to compare with the current object.</param>
503 /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
504 public override bool Equals(System.Object obj)
506 Vector3 vector3 = obj as Vector3;
508 if (X == vector3?.X && Y == vector3?.Y && Z == vector3?.Z)
516 /// Gets the the hash code of this Vector3.
518 /// <returns>The Hash Code.</returns>
519 /// <since_tizen> 6 </since_tizen>
520 public override int GetHashCode()
522 return swigCPtr.Handle.GetHashCode();
526 /// Returns the length of the vector.
528 /// <returns>The length of the vector.</returns>
529 /// <since_tizen> 3 </since_tizen>
530 public float Length()
532 float ret = Interop.Vector3.Vector3_Length(swigCPtr);
533 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
538 /// Returns the length of the vector squared.<br />
539 /// This is more efficient than Length() for threshold
540 /// testing as it avoids the use of a square root.<br />
542 /// <returns>The length of the vector squared.</returns>
543 /// <since_tizen> 3 </since_tizen>
544 public float LengthSquared()
546 float ret = Interop.Vector3.Vector3_LengthSquared(swigCPtr);
547 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
552 /// Sets the vector to be unit length, whilst maintaining its direction.
554 /// <since_tizen> 3 </since_tizen>
555 public void Normalize()
557 Interop.Vector3.Vector3_Normalize(swigCPtr);
558 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
562 /// Clamps the vector between minimum and maximum vectors.
564 /// <param name="min">The minimum vector.</param>
565 /// <param name="max">The maximum vector.</param>
566 /// <since_tizen> 3 </since_tizen>
567 public void Clamp(Vector3 min, Vector3 max)
569 Interop.Vector3.Vector3_Clamp(swigCPtr, Vector3.getCPtr(min), Vector3.getCPtr(max));
570 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
574 /// Returns the x and y components (or width and height, or r and g) as a Vector2.
576 /// <returns>The partial vector contents as Vector2 (x,y).</returns>
577 /// <since_tizen> 3 </since_tizen>
578 public Vector2 GetVectorXY()
580 Vector2 ret = new Vector2(Interop.Vector3.Vector3_GetVectorXY__SWIG_0(swigCPtr), false);
581 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
586 /// Returns the y and z components (or height and depth, or g and b) as a Vector2.
588 /// <returns>The partial vector contents as Vector2 (y,z).</returns>
589 /// <since_tizen> 3 </since_tizen>
590 public Vector2 GetVectorYZ()
592 Vector2 ret = new Vector2(Interop.Vector3.Vector3_GetVectorYZ__SWIG_0(swigCPtr), false);
593 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
597 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector3 obj)
599 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
602 internal static Vector3 GetVector3FromPtr(global::System.IntPtr cPtr)
604 Vector3 ret = new Vector3(cPtr, false);
605 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
609 internal SWIGTYPE_p_float AsFloat()
611 global::System.IntPtr cPtr = Interop.Vector3.Vector3_AsFloat__SWIG_0(swigCPtr);
612 SWIGTYPE_p_float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
613 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
617 /// This will not be public opened.
618 [EditorBrowsable(EditorBrowsableState.Never)]
619 protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
621 Interop.Vector3.delete_Vector3(swigCPtr);
624 private Vector3 Add(Vector3 rhs)
626 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Add(swigCPtr, Vector3.getCPtr(rhs)), true);
627 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
631 private Vector3 AddAssign(Vector3 rhs)
633 Vector3 ret = new Vector3(Interop.Vector3.Vector3_AddAssign(swigCPtr, Vector3.getCPtr(rhs)), false);
634 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
638 private Vector3 Subtract(Vector3 rhs)
640 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Subtract__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
641 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
645 private Vector3 SubtractAssign(Vector3 rhs)
647 Vector3 ret = new Vector3(Interop.Vector3.Vector3_SubtractAssign(swigCPtr, Vector3.getCPtr(rhs)), false);
648 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
652 private Vector3 Multiply(Vector3 rhs)
654 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Multiply__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
655 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
659 private Vector3 Multiply(float rhs)
661 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
662 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
666 private Vector3 MultiplyAssign(Vector3 rhs)
668 Vector3 ret = new Vector3(Interop.Vector3.Vector3_MultiplyAssign__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), false);
669 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
673 private Vector3 MultiplyAssign(float rhs)
675 Vector3 ret = new Vector3(Interop.Vector3.Vector3_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
676 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
680 private Vector3 MultiplyAssign(Rotation rhs)
682 Vector3 ret = new Vector3(Interop.Vector3.Vector3_MultiplyAssign__SWIG_2(swigCPtr, Rotation.getCPtr(rhs)), false);
683 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
687 private Vector3 Divide(Vector3 rhs)
689 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Divide__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
690 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
694 private Vector3 Divide(float rhs)
696 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
697 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
701 private Vector3 DivideAssign(Vector3 rhs)
703 Vector3 ret = new Vector3(Interop.Vector3.Vector3_DivideAssign__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), false);
704 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
708 private Vector3 DivideAssign(float rhs)
710 Vector3 ret = new Vector3(Interop.Vector3.Vector3_DivideAssign__SWIG_1(swigCPtr, rhs), false);
711 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
715 private Vector3 Subtract()
717 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Subtract__SWIG_1(swigCPtr), true);
718 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
722 private bool EqualTo(Vector3 rhs)
724 bool ret = Interop.Vector3.Vector3_EqualTo(swigCPtr, Vector3.getCPtr(rhs));
725 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
729 private bool NotEqualTo(Vector3 rhs)
731 bool ret = Interop.Vector3.Vector3_NotEqualTo(swigCPtr, Vector3.getCPtr(rhs));
732 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
736 private float ValueOfIndex(uint index)
738 float ret = Interop.Vector3.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
739 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
743 internal float Dot(Vector3 other)
745 float ret = Interop.Vector3.Vector3_Dot(swigCPtr, Vector3.getCPtr(other));
746 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
750 internal Vector3 Cross(Vector3 other)
752 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Cross(swigCPtr, Vector3.getCPtr(other)), true);
753 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();