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();
218 /// The setter is deprecated in API8 and will be removed in API10. Please use new Vector3(...) constructor.
221 /// // DO NOT use like the followings!
222 /// Vector3 vector3 = new Vector3();
223 /// vector3.X = 0.1f;
224 /// // Please USE like this
225 /// float x = 0.1f, y = 0.5f, z = 0.9f;
226 /// Vector3 vector3 = new Vector3(x, y, z);
228 /// <since_tizen> 3 </since_tizen>
233 Tizen.Log.Fatal("NUI", "Please do not use this setter, Deprecated in API8, will be removed in API10. please use new Vector3(...) constructor");
235 Interop.Vector3.Vector3_X_set(swigCPtr, value);
236 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
238 callback?.Invoke(X, Y, Z);
242 float ret = Interop.Vector3.Vector3_X_get(swigCPtr);
243 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
249 /// The width component.
252 /// The setter is deprecated in API8 and will be removed in API10. Please use new Vector3(...) constructor.
255 /// // DO NOT use like the followings!
256 /// Vector3 vector3 = new Vector3();
257 /// vector3.Width = 1.0f;
258 /// // Please USE like this
259 /// float width = 1.0f, height = 2.0f, depth = 3.0f;
260 /// Vector3 vector3 = new Vector3(width, height, depth);
262 /// <since_tizen> 3 </since_tizen>
263 [Obsolete("Please do not use this setter, Deprecated in API8, will be removed in API10. please use new Vector3(...) constructor")]
268 Tizen.Log.Fatal("NUI", "Please do not use this setter, Deprecated in API8, will be removed in API10. please use new Vector3(...) constructor");
270 Interop.Vector3.Vector3_Width_set(swigCPtr, value);
271 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
273 callback?.Invoke(X, Y, Z);
277 float ret = Interop.Vector3.Vector3_Width_get(swigCPtr);
278 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
284 /// The red component.
287 /// The setter is deprecated in API8 and will be removed in API10. Please use new Vector3(...) constructor.
290 /// // DO NOT use like the followings!
291 /// Vector3 vector3 = new Vector3();
292 /// vector3.R = 0.1f;
293 /// // Please USE like this
294 /// float r = 0.1f, g = 0.5f, b = 0.9f;
295 /// Vector3 vector3 = new Vector3(r, g, b);
297 /// <since_tizen> 3 </since_tizen>
302 Tizen.Log.Fatal("NUI", "Please do not use this setter, Deprecated in API8, will be removed in API10. please use new Vector3(...) constructor");
304 Interop.Vector3.Vector3_r_set(swigCPtr, value);
305 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
307 callback?.Invoke(X, Y, Z);
311 float ret = Interop.Vector3.Vector3_r_get(swigCPtr);
312 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
321 /// The setter is deprecated in API8 and will be removed in API10. Please use new Vector3(...) constructor.
324 /// // DO NOT use like the followings!
325 /// Vector3 vector3 = new Vector3();
326 /// vector3.Y = 0.5f;
327 /// // Please USE like this
328 /// float x = 0.1f, y = 0.5f, z = 0.9f;
329 /// Vector3 vector3 = new Vector3(x, y, z);
331 /// <since_tizen> 3 </since_tizen>
336 Tizen.Log.Fatal("NUI", "Please do not use this setter, Deprecated in API8, will be removed in API10. please use new Vector3(...) constructor");
338 Interop.Vector3.Vector3_Y_set(swigCPtr, value);
339 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
341 callback?.Invoke(X, Y, Z);
345 float ret = Interop.Vector3.Vector3_Y_get(swigCPtr);
346 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
352 /// The height component.
355 /// The setter is deprecated in API8 and will be removed in API10. Please use new Vector3(...) constructor.
358 /// // DO NOT use like the followings!
359 /// Vector3 vector3 = new Vector3();
360 /// vector3.Height = 2.0f;
361 /// // Please USE like this
362 /// float width = 1.0f, height = 2.0f, depth = 3.0f;
363 /// Vector3 vector3 = new Vector3(width, height, depth);
365 /// <since_tizen> 3 </since_tizen>
370 Tizen.Log.Fatal("NUI", "Please do not use this setter, Deprecated in API8, will be removed in API10. please use new Vector3(...) constructor");
372 Interop.Vector3.Vector3_Height_set(swigCPtr, value);
373 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
375 callback?.Invoke(X, Y, Z);
379 float ret = Interop.Vector3.Vector3_Height_get(swigCPtr);
380 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
386 /// The green component.
389 /// The setter is deprecated in API8 and will be removed in API10. Please use new Vector3(...) constructor.
392 /// // DO NOT use like the followings!
393 /// Vector3 vector3 = new Vector3();
394 /// vector3.G = 0.5f;
395 /// // Please USE like this
396 /// float r = 0.1f, g = 0.5f, b = 0.9f;
397 /// Vector3 vector3 = new Vector3(r, g, b);
399 /// <since_tizen> 3 </since_tizen>
404 Tizen.Log.Fatal("NUI", "Please do not use this setter, Deprecated in API8, will be removed in API10. please use new Vector3(...) constructor");
406 Interop.Vector3.Vector3_g_set(swigCPtr, value);
407 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
409 callback?.Invoke(X, Y, Z);
413 float ret = Interop.Vector3.Vector3_g_get(swigCPtr);
414 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
423 /// The setter is deprecated in API8 and will be removed in API10. Please use new Vector3(...) constructor.
426 /// // DO NOT use like the followings!
427 /// Vector3 vector3 = new Vector3();
428 /// vector3.Z = 0.9f;
429 /// // Please USE like this
430 /// float x = 0.1f, y = 0.5f, z = 0.9f;
431 /// Vector3 vector3 = new Vector3(x, y, z);
433 /// <since_tizen> 3 </since_tizen>
438 Tizen.Log.Fatal("NUI", "Please do not use this setter, Deprecated in API8, will be removed in API10. please use new Vector3(...) constructor");
440 Interop.Vector3.Vector3_Z_set(swigCPtr, value);
441 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
443 callback?.Invoke(X, Y, Z);
447 float ret = Interop.Vector3.Vector3_Z_get(swigCPtr);
448 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
454 /// The depth component.
457 /// The setter is deprecated in API8 and will be removed in API10. Please use new Vector3(...) constructor.
460 /// // DO NOT use like the followings!
461 /// Vector3 vector3 = new Vector3();
462 /// vector3.Depth = 3.0f;
463 /// // Please USE like this
464 /// float width = 1.0f, height = 2.0f, depth = 3.0f;
465 /// Vector3 vector3 = new Vector3(width, height, depth);
467 /// <since_tizen> 3 </since_tizen>
468 [Obsolete("Please do not use this setter, Deprecated in API8, will be removed in API10. please use new Vector3(...) constructor")]
473 Tizen.Log.Fatal("NUI", "Please do not use this setter, Deprecated in API8, will be removed in API10. please use new Vector3(...) constructor");
475 Interop.Vector3.Vector3_Depth_set(swigCPtr, value);
476 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
478 callback?.Invoke(X, Y, Z);
482 float ret = Interop.Vector3.Vector3_Depth_get(swigCPtr);
483 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
489 /// The blue component.
492 /// The setter is deprecated in API8 and will be removed in API10. Please use new Vector3(...) constructor.
495 /// // DO NOT use like the followings!
496 /// Vector3 vector3 = new Vector3();
497 /// vector3.B = 0.9f;
498 /// // Please USE like this
499 /// float r = 0.1f, g = 0.5f, b = 0.9f;
500 /// Vector3 vector3 = new Vector3(r, g, b);
502 /// <since_tizen> 3 </since_tizen>
507 Tizen.Log.Fatal("NUI", "Please do not use this setter, Deprecated in API8, will be removed in API10. please use new Vector3(...) constructor");
509 Interop.Vector3.Vector3_b_set(swigCPtr, value);
510 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
512 callback?.Invoke(X, Y, Z);
516 float ret = Interop.Vector3.Vector3_b_get(swigCPtr);
517 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
523 /// An array subscript operator overload.
525 /// <param name="index">The subscript index.</param>
526 /// <returns>The float at the given index.</returns>
527 /// <since_tizen> 3 </since_tizen>
528 public float this[uint index]
532 return ValueOfIndex(index);
537 /// The addition operator.
539 /// <param name="arg1">The first value.</param>
540 /// <param name="arg2">The second value.</param>
541 /// <returns>The vector containing the result of the addition.</returns>
542 /// <since_tizen> 3 </since_tizen>
543 public static Vector3 operator +(Vector3 arg1, Vector3 arg2)
545 return arg1?.Add(arg2);
549 /// The subtraction operator.
551 /// <param name="arg1">The first value.</param>
552 /// <param name="arg2">The second value.</param>
553 /// <returns>The vector containing the result of the subtraction.</returns>
554 /// <since_tizen> 3 </since_tizen>
555 public static Vector3 operator -(Vector3 arg1, Vector3 arg2)
557 return arg1?.Subtract(arg2);
561 /// The unary negation operator.
563 /// <param name="arg1">The target value.</param>
564 /// <returns>The vector containg the negation.</returns>
565 /// <since_tizen> 3 </since_tizen>
566 public static Vector3 operator -(Vector3 arg1)
568 return arg1?.Subtract();
572 /// The multiplication operator.
574 /// <param name="arg1">The first value.</param>
575 /// <param name="arg2">The second value.</param>
576 /// <returns>The vector containing the result of the multiplication.</returns>
577 /// <since_tizen> 3 </since_tizen>
578 public static Vector3 operator *(Vector3 arg1, Vector3 arg2)
580 return arg1?.Multiply(arg2);
584 /// The multiplication operator.
586 /// <param name="arg1">The first value.</param>
587 /// <param name="arg2">The float value to scale the vector.</param>
588 /// <returns>The vector containing the result of the scaling.</returns>
589 /// <since_tizen> 3 </since_tizen>
590 public static Vector3 operator *(Vector3 arg1, float arg2)
592 return arg1?.Multiply(arg2);
596 /// The division operator.
598 /// <param name="arg1">The first value.</param>
599 /// <param name="arg2">The second value.</param>
600 /// <returns>The vector containing the result of the division.</returns>
601 /// <since_tizen> 3 </since_tizen>
602 public static Vector3 operator /(Vector3 arg1, Vector3 arg2)
604 return arg1?.Divide(arg2);
608 /// The division operator.
610 /// <param name="arg1">The first value.</param>
611 /// <param name="arg2">The float value to scale the vector by.</param>
612 /// <returns>The vector containing the result of the scaling.</returns>
613 /// <since_tizen> 3 </since_tizen>
614 public static Vector3 operator /(Vector3 arg1, float arg2)
616 return arg1?.Divide(arg2);
620 /// Determines whether the specified object is equal to the current object.
622 /// <param name="obj">The object to compare with the current object.</param>
623 /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
624 public override bool Equals(System.Object obj)
626 Vector3 vector3 = obj as Vector3;
628 if (X == vector3?.X && Y == vector3?.Y && Z == vector3?.Z)
636 /// Gets the the hash code of this Vector3.
638 /// <returns>The Hash Code.</returns>
639 /// <since_tizen> 6 </since_tizen>
640 public override int GetHashCode()
642 return swigCPtr.Handle.GetHashCode();
646 /// Returns the length of the vector.
648 /// <returns>The length of the vector.</returns>
649 /// <since_tizen> 3 </since_tizen>
650 public float Length()
652 float ret = Interop.Vector3.Vector3_Length(swigCPtr);
653 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
658 /// Returns the length of the vector squared.<br />
659 /// This is more efficient than Length() for threshold
660 /// testing as it avoids the use of a square root.<br />
662 /// <returns>The length of the vector squared.</returns>
663 /// <since_tizen> 3 </since_tizen>
664 public float LengthSquared()
666 float ret = Interop.Vector3.Vector3_LengthSquared(swigCPtr);
667 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
672 /// Sets the vector to be unit length, whilst maintaining its direction.
674 /// <since_tizen> 3 </since_tizen>
675 public void Normalize()
677 Interop.Vector3.Vector3_Normalize(swigCPtr);
678 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
682 /// Clamps the vector between minimum and maximum vectors.
684 /// <param name="min">The minimum vector.</param>
685 /// <param name="max">The maximum vector.</param>
686 /// <since_tizen> 3 </since_tizen>
687 public void Clamp(Vector3 min, Vector3 max)
689 Interop.Vector3.Vector3_Clamp(swigCPtr, Vector3.getCPtr(min), Vector3.getCPtr(max));
690 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
694 /// Returns the x and y components (or width and height, or r and g) as a Vector2.
696 /// <returns>The partial vector contents as Vector2 (x,y).</returns>
697 /// <since_tizen> 3 </since_tizen>
698 public Vector2 GetVectorXY()
700 Vector2 ret = new Vector2(Interop.Vector3.Vector3_GetVectorXY__SWIG_0(swigCPtr), false);
701 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
706 /// Returns the y and z components (or height and depth, or g and b) as a Vector2.
708 /// <returns>The partial vector contents as Vector2 (y,z).</returns>
709 /// <since_tizen> 3 </since_tizen>
710 public Vector2 GetVectorYZ()
712 Vector2 ret = new Vector2(Interop.Vector3.Vector3_GetVectorYZ__SWIG_0(swigCPtr), false);
713 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
718 [EditorBrowsable(EditorBrowsableState.Never)]
719 public object Clone() => new Vector3(X, Y, Z);
721 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector3 obj)
723 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
726 internal static Vector3 GetVector3FromPtr(global::System.IntPtr cPtr)
728 Vector3 ret = new Vector3(cPtr, false);
729 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
733 internal SWIGTYPE_p_float AsFloat()
735 global::System.IntPtr cPtr = Interop.Vector3.Vector3_AsFloat__SWIG_0(swigCPtr);
736 SWIGTYPE_p_float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr);
737 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
741 /// This will not be public opened.
742 [EditorBrowsable(EditorBrowsableState.Never)]
743 protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
745 Interop.Vector3.delete_Vector3(swigCPtr);
748 private Vector3 Add(Vector3 rhs)
750 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Add(swigCPtr, Vector3.getCPtr(rhs)), true);
751 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
755 private Vector3 AddAssign(Vector3 rhs)
757 Vector3 ret = new Vector3(Interop.Vector3.Vector3_AddAssign(swigCPtr, Vector3.getCPtr(rhs)), false);
758 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
762 private Vector3 Subtract(Vector3 rhs)
764 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Subtract__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
765 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
769 private Vector3 SubtractAssign(Vector3 rhs)
771 Vector3 ret = new Vector3(Interop.Vector3.Vector3_SubtractAssign(swigCPtr, Vector3.getCPtr(rhs)), false);
772 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
776 private Vector3 Multiply(Vector3 rhs)
778 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Multiply__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
779 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
783 private Vector3 Multiply(float rhs)
785 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
786 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
790 private Vector3 MultiplyAssign(Vector3 rhs)
792 Vector3 ret = new Vector3(Interop.Vector3.Vector3_MultiplyAssign__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), false);
793 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
797 private Vector3 MultiplyAssign(float rhs)
799 Vector3 ret = new Vector3(Interop.Vector3.Vector3_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
800 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
804 private Vector3 MultiplyAssign(Rotation rhs)
806 Vector3 ret = new Vector3(Interop.Vector3.Vector3_MultiplyAssign__SWIG_2(swigCPtr, Rotation.getCPtr(rhs)), false);
807 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
811 private Vector3 Divide(Vector3 rhs)
813 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Divide__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
814 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
818 private Vector3 Divide(float rhs)
820 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
821 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
825 private Vector3 DivideAssign(Vector3 rhs)
827 Vector3 ret = new Vector3(Interop.Vector3.Vector3_DivideAssign__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), false);
828 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
832 private Vector3 DivideAssign(float rhs)
834 Vector3 ret = new Vector3(Interop.Vector3.Vector3_DivideAssign__SWIG_1(swigCPtr, rhs), false);
835 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
839 private Vector3 Subtract()
841 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Subtract__SWIG_1(swigCPtr), true);
842 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
846 private bool EqualTo(Vector3 rhs)
848 bool ret = Interop.Vector3.Vector3_EqualTo(swigCPtr, Vector3.getCPtr(rhs));
849 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
853 private bool NotEqualTo(Vector3 rhs)
855 bool ret = Interop.Vector3.Vector3_NotEqualTo(swigCPtr, Vector3.getCPtr(rhs));
856 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
860 private float ValueOfIndex(uint index)
862 float ret = Interop.Vector3.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
863 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
867 internal float Dot(Vector3 other)
869 float ret = Interop.Vector3.Vector3_Dot(swigCPtr, Vector3.getCPtr(other));
870 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
874 internal Vector3 Cross(Vector3 other)
876 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Cross(swigCPtr, Vector3.getCPtr(other)), true);
877 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();