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.
23 /// A three-dimensional vector.
25 /// <since_tizen> 3 </since_tizen>
26 public class Vector3 : global::System.IDisposable
31 /// <since_tizen> 3 </since_tizen>
32 protected bool swigCMemOwn;
34 /// A Flat to check if it is already disposed.
36 /// <since_tizen> 3 </since_tizen>
37 protected bool disposed = false;
38 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
39 //A Flag to check who called Dispose(). (By User or DisposeQueue)
40 private bool isDisposeQueued = false;
45 /// <since_tizen> 3 </since_tizen>
46 public Vector3() : this(Interop.Vector3.new_Vector3__SWIG_0(), true)
48 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
52 /// The default constructor initializes the vector to 0.
54 /// <param name="x">The x (or width) component.</param>
55 /// <param name="y">The y (or height) component.</param>
56 /// <param name="z">The z (or depth) component.</param>
57 /// <since_tizen> 3 </since_tizen>
58 public Vector3(float x, float y, float z) : this(Interop.Vector3.new_Vector3__SWIG_1(x, y, z), true)
60 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
64 /// Conversion constructor from an array of three floats.
66 /// <param name="array">An array of xyz.</param>
67 /// <since_tizen> 3 </since_tizen>
68 public Vector3(float[] array) : this(Interop.Vector3.new_Vector3__SWIG_2(array), true)
70 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
76 /// <param name="vec2">Vector2 to create this vector from.</param>
77 /// <since_tizen> 3 </since_tizen>
78 public Vector3(Vector2 vec2) : this(Interop.Vector3.new_Vector3__SWIG_3(Vector2.getCPtr(vec2)), true)
80 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
86 /// <param name="vec4">Vector4 to create this vector from.</param>
87 /// <since_tizen> 3 </since_tizen>
88 public Vector3(Vector4 vec4) : this(Interop.Vector3.new_Vector3__SWIG_4(Vector4.getCPtr(vec4)), true)
90 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
93 internal Vector3(global::System.IntPtr cPtr, bool cMemoryOwn)
95 swigCMemOwn = cMemoryOwn;
96 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
102 /// <since_tizen> 3 </since_tizen>
107 isDisposeQueued = true;
108 DisposeQueue.Instance.Add(this);
113 /// (1.0f,1.0f,1.0f).
115 /// <since_tizen> 3 </since_tizen>
116 public static Vector3 One
120 global::System.IntPtr cPtr = Interop.Vector3.Vector3_ONE_get();
121 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
122 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
128 /// The vector representing the x-axis.
130 /// <since_tizen> 3 </since_tizen>
131 public static Vector3 XAxis
135 global::System.IntPtr cPtr = Interop.Vector3.Vector3_XAXIS_get();
136 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
137 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
143 /// The vector representing the y-axis.
145 /// <since_tizen> 3 </since_tizen>
146 public static Vector3 YAxis
150 global::System.IntPtr cPtr = Interop.Vector3.Vector3_YAXIS_get();
151 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
152 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
158 /// The vector representing the z-axis.
160 /// <since_tizen> 3 </since_tizen>
161 public static Vector3 ZAxis
165 global::System.IntPtr cPtr = Interop.Vector3.Vector3_ZAXIS_get();
166 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
167 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
173 /// The vector representing the negative x-axis.
175 /// <since_tizen> 3 </since_tizen>
176 public static Vector3 NegativeXAxis
180 global::System.IntPtr cPtr = Interop.Vector3.Vector3_NEGATIVE_XAXIS_get();
181 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
182 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
188 /// Th vector representing the negative y-axis.
190 /// <since_tizen> 3 </since_tizen>
191 public static Vector3 NegativeYAxis
195 global::System.IntPtr cPtr = Interop.Vector3.Vector3_NEGATIVE_YAXIS_get();
196 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
197 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
203 /// The vector representing the negative z-axis.
205 /// <since_tizen> 3 </since_tizen>
206 public static Vector3 NegativeZAxis
210 global::System.IntPtr cPtr = Interop.Vector3.Vector3_NEGATIVE_ZAXIS_get();
211 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
212 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
218 /// (0.0f, 0.0f, 0.0f).
220 /// <since_tizen> 3 </since_tizen>
221 public static Vector3 Zero
225 global::System.IntPtr cPtr = Interop.Vector3.Vector3_ZERO_get();
226 Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
227 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
235 /// <since_tizen> 3 </since_tizen>
240 Interop.Vector3.Vector3_X_set(swigCPtr, value);
241 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
245 float ret = Interop.Vector3.Vector3_X_get(swigCPtr);
246 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
252 /// The width component.
254 /// <since_tizen> 3 </since_tizen>
259 Interop.Vector3.Vector3_Width_set(swigCPtr, value);
260 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
264 float ret = Interop.Vector3.Vector3_Width_get(swigCPtr);
265 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
271 /// The red component.
273 /// <since_tizen> 3 </since_tizen>
278 Interop.Vector3.Vector3_r_set(swigCPtr, value);
279 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
283 float ret = Interop.Vector3.Vector3_r_get(swigCPtr);
284 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
292 /// <since_tizen> 3 </since_tizen>
297 Interop.Vector3.Vector3_Y_set(swigCPtr, value);
298 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
302 float ret = Interop.Vector3.Vector3_Y_get(swigCPtr);
303 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
309 /// The height component.
311 /// <since_tizen> 3 </since_tizen>
316 Interop.Vector3.Vector3_Height_set(swigCPtr, value);
317 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
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();
340 float ret = Interop.Vector3.Vector3_g_get(swigCPtr);
341 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
349 /// <since_tizen> 3 </since_tizen>
354 Interop.Vector3.Vector3_Z_set(swigCPtr, value);
355 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
359 float ret = Interop.Vector3.Vector3_Z_get(swigCPtr);
360 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
366 /// The depth component.
368 /// <since_tizen> 3 </since_tizen>
373 Interop.Vector3.Vector3_Depth_set(swigCPtr, value);
374 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
378 float ret = Interop.Vector3.Vector3_Depth_get(swigCPtr);
379 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
385 /// The blue component.
387 /// <since_tizen> 3 </since_tizen>
392 Interop.Vector3.Vector3_b_set(swigCPtr, value);
393 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
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();
601 /// <since_tizen> 3 </since_tizen>
602 public void Dispose()
604 //Throw excpetion if Dispose() is called in separate thread.
605 if (!Window.IsInstalled())
607 throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
612 Dispose(DisposeTypes.Implicit);
616 Dispose(DisposeTypes.Explicit);
617 System.GC.SuppressFinalize(this);
621 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector3 obj)
623 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
626 internal static Vector3 GetVector3FromPtr(global::System.IntPtr cPtr)
628 Vector3 ret = new Vector3(cPtr, false);
629 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
633 internal SWIGTYPE_p_float AsFloat()
635 global::System.IntPtr cPtr = Interop.Vector3.Vector3_AsFloat__SWIG_0(swigCPtr);
636 SWIGTYPE_p_float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
637 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
644 /// <param name="type">The dispose type</param>
645 /// <since_tizen> 3 </since_tizen>
646 protected virtual void Dispose(DisposeTypes type)
653 if (type == DisposeTypes.Explicit)
656 //Release your own managed resources here.
657 //You should release all of your own disposable objects here.
660 //Release your own unmanaged resources here.
661 //You should not access any managed member here except static instance.
662 //because the execution order of Finalizes is non-deterministic.
664 if (swigCPtr.Handle != global::System.IntPtr.Zero)
669 Interop.Vector3.delete_Vector3(swigCPtr);
671 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
676 private Vector3 Add(Vector3 rhs)
678 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Add(swigCPtr, Vector3.getCPtr(rhs)), true);
679 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
683 private Vector3 AddAssign(Vector3 rhs)
685 Vector3 ret = new Vector3(Interop.Vector3.Vector3_AddAssign(swigCPtr, Vector3.getCPtr(rhs)), false);
686 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
690 private Vector3 Subtract(Vector3 rhs)
692 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Subtract__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
693 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
697 private Vector3 SubtractAssign(Vector3 rhs)
699 Vector3 ret = new Vector3(Interop.Vector3.Vector3_SubtractAssign(swigCPtr, Vector3.getCPtr(rhs)), false);
700 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
704 private Vector3 Multiply(Vector3 rhs)
706 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Multiply__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
707 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
711 private Vector3 Multiply(float rhs)
713 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
714 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
718 private Vector3 MultiplyAssign(Vector3 rhs)
720 Vector3 ret = new Vector3(Interop.Vector3.Vector3_MultiplyAssign__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), false);
721 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
725 private Vector3 MultiplyAssign(float rhs)
727 Vector3 ret = new Vector3(Interop.Vector3.Vector3_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
728 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
732 private Vector3 MultiplyAssign(Rotation rhs)
734 Vector3 ret = new Vector3(Interop.Vector3.Vector3_MultiplyAssign__SWIG_2(swigCPtr, Rotation.getCPtr(rhs)), false);
735 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
739 private Vector3 Divide(Vector3 rhs)
741 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Divide__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
742 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
746 private Vector3 Divide(float rhs)
748 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
749 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
753 private Vector3 DivideAssign(Vector3 rhs)
755 Vector3 ret = new Vector3(Interop.Vector3.Vector3_DivideAssign__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), false);
756 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
760 private Vector3 DivideAssign(float rhs)
762 Vector3 ret = new Vector3(Interop.Vector3.Vector3_DivideAssign__SWIG_1(swigCPtr, rhs), false);
763 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
767 private Vector3 Subtract()
769 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Subtract__SWIG_1(swigCPtr), true);
770 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
774 private bool EqualTo(Vector3 rhs)
776 bool ret = Interop.Vector3.Vector3_EqualTo(swigCPtr, Vector3.getCPtr(rhs));
777 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
781 private bool NotEqualTo(Vector3 rhs)
783 bool ret = Interop.Vector3.Vector3_NotEqualTo(swigCPtr, Vector3.getCPtr(rhs));
784 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
788 private float ValueOfIndex(uint index)
790 float ret = Interop.Vector3.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
791 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
795 internal float Dot(Vector3 other)
797 float ret = Interop.Vector3.Vector3_Dot(swigCPtr, Vector3.getCPtr(other));
798 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
802 internal Vector3 Cross(Vector3 other)
804 Vector3 ret = new Vector3(Interop.Vector3.Vector3_Cross(swigCPtr, Vector3.getCPtr(other)), true);
805 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();