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.
19 using Tizen.NUI.Binding;
20 using System.ComponentModel;
26 /// Position is a three-dimensional vector.
28 /// <since_tizen> 3 </since_tizen>
29 [Tizen.NUI.Binding.TypeConverter(typeof(PositionTypeConverter))]
30 public class Position : global::System.IDisposable
35 /// <since_tizen> 3 </since_tizen>
36 protected bool swigCMemOwn;
38 /// A Flat to check if it is already disposed.
40 /// <since_tizen> 3 </since_tizen>
41 protected bool disposed = false;
43 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
44 //A Flag to check who called Dispose(). (By User or DisposeQueue)
45 private bool isDisposeQueued = false;
50 /// <since_tizen> 3 </since_tizen>
51 public Position() : this(NDalicPINVOKE.new_Vector3__SWIG_0(), true)
53 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
59 /// <param name="x">The x component.</param>
60 /// <param name="y">The y component.</param>
61 /// <param name="z">The z component.</param>
62 /// <since_tizen> 3 </since_tizen>
63 public Position(float x, float y, float z) : this(NDalicPINVOKE.new_Vector3__SWIG_1(x, y, z), true)
65 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
71 /// <param name="position2d">Position2D to create this vector from.</param>
72 /// <since_tizen> 3 </since_tizen>
73 public Position(Position2D position2d) : this(NDalicPINVOKE.new_Vector3__SWIG_3(Position2D.getCPtr(position2d)), true)
75 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
78 internal Position(global::System.IntPtr cPtr, bool cMemoryOwn)
80 swigCMemOwn = cMemoryOwn;
81 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
88 /// <since_tizen> 3 </since_tizen>
93 isDisposeQueued = true;
94 DisposeQueue.Instance.Add(this);
99 /// ParentOrigin constants. It's 0.0.
101 /// <since_tizen> 3 </since_tizen>
102 public static float ParentOriginTop
106 float ret = NDalicPINVOKE.ParentOriginTop_get();
107 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
113 /// ParentOrigin constants. It's 1.0.
115 /// <since_tizen> 3 </since_tizen>
116 public static float ParentOriginBottom
120 float ret = NDalicPINVOKE.ParentOriginBottom_get();
121 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
127 /// ParentOrigin constants. It's 0.0.
129 /// <since_tizen> 3 </since_tizen>
130 public static float ParentOriginLeft
134 float ret = NDalicPINVOKE.ParentOriginLeft_get();
135 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
141 /// ParentOrigin constants. It's 1.0.
143 /// <since_tizen> 3 </since_tizen>
144 public static float ParentOriginRight
148 float ret = NDalicPINVOKE.ParentOriginRight_get();
149 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
155 /// ParentOrigin constants. It's 0.5.
157 /// <since_tizen> 3 </since_tizen>
158 public static float ParentOriginMiddle
162 float ret = NDalicPINVOKE.ParentOriginMiddle_get();
163 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
169 /// ParentOrigin constants: 0.0, 0.0, 0.5.
171 /// <since_tizen> 3 </since_tizen>
172 public static Position ParentOriginTopLeft
176 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopLeft_get();
177 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
178 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
184 /// ParentOrigin constants: 0.5, 0.0, 0.5.
186 /// <since_tizen> 3 </since_tizen>
187 public static Position ParentOriginTopCenter
191 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopCenter_get();
192 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
193 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
199 /// ParentOrigin constants: 1.0, 0.0, 0.5.
201 /// <since_tizen> 3 </since_tizen>
202 public static Position ParentOriginTopRight
206 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopRight_get();
207 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
208 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
214 /// ParentOrigin constants: 0.0, 0.5, 0.5.
216 /// <since_tizen> 3 </since_tizen>
217 public static Position ParentOriginCenterLeft
221 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterLeft_get();
222 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
223 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
229 /// ParentOrigin constants: 0.0, 0.5, 0.5
231 /// <since_tizen> 3 </since_tizen>
232 public static Position ParentOriginCenter
236 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenter_get();
237 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
238 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
244 /// ParentOrigin constants: 1.0, 0.5, 0.5.
246 /// <since_tizen> 3 </since_tizen>
247 public static Position ParentOriginCenterRight
251 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterRight_get();
252 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
253 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
259 /// ParentOrigin constants: 0.0f, 1.0f, 0.5f.
261 /// <since_tizen> 3 </since_tizen>
262 public static Position ParentOriginBottomLeft
266 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomLeft_get();
267 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
268 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
274 /// ParentOrigin constants: 0.5, 1.0, 0.5.
276 /// <since_tizen> 3 </since_tizen>
277 public static Position ParentOriginBottomCenter
281 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomCenter_get();
282 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
283 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
289 /// ParentOrigin constants: 1.0, 1.0, 0.5.
291 /// <since_tizen> 3 </since_tizen>
292 public static Position ParentOriginBottomRight
296 global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomRight_get();
297 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
298 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
304 /// PivotPoint constants: 0.0.
306 /// <since_tizen> 3 </since_tizen>
307 public static float PivotPointTop
311 float ret = NDalicPINVOKE.AnchorPointTop_get();
312 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
318 /// PivotPoint constants: 1.0.
320 /// <since_tizen> 3 </since_tizen>
321 public static float PivotPointBottom
325 float ret = NDalicPINVOKE.AnchorPointBottom_get();
326 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
332 /// PivotPoint constants: 0.0.
334 /// <since_tizen> 3 </since_tizen>
335 public static float PivotPointLeft
339 float ret = NDalicPINVOKE.AnchorPointLeft_get();
340 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
346 /// PivotPoint constants: 1.0.
348 /// <since_tizen> 3 </since_tizen>
349 public static float PivotPointRight
353 float ret = NDalicPINVOKE.AnchorPointRight_get();
354 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
360 /// PivotPoint constants: 0.0.
362 /// <since_tizen> 3 </since_tizen>
363 public static float PivotPointMiddle
367 float ret = NDalicPINVOKE.AnchorPointMiddle_get();
368 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
374 /// PivotPoint constants: 0.0, 0.0, 0.5.
376 /// <since_tizen> 3 </since_tizen>
377 public static Position PivotPointTopLeft
381 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopLeft_get();
382 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
383 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
389 /// PivotPoint constants: 0.5, 0.0, 0.5.
391 /// <since_tizen> 3 </since_tizen>
392 public static Position PivotPointTopCenter
396 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopCenter_get();
397 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
398 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
404 /// PivotPoint constants: 1.0, 0.0, 0.5.
406 /// <since_tizen> 3 </since_tizen>
407 public static Position PivotPointTopRight
411 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopRight_get();
412 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
413 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
419 /// PivotPoint constants: 0.0, 0.5, 0.5.
421 /// <since_tizen> 3 </since_tizen>
422 public static Position PivotPointCenterLeft
426 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterLeft_get();
427 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
428 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
434 /// PivotPoint constants: 0.5, 0.5, 0.5.
436 /// <since_tizen> 3 </since_tizen>
437 public static Position PivotPointCenter
441 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenter_get();
442 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
443 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
449 /// PivotPoint constants: 1.0, 0.5, 0.5.
451 /// <since_tizen> 3 </since_tizen>
452 public static Position PivotPointCenterRight
456 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterRight_get();
457 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
458 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
464 /// PivotPoint constants: 0.0, 1.0, 0.5.
466 /// <since_tizen> 3 </since_tizen>
467 public static Position PivotPointBottomLeft
471 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomLeft_get();
472 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
473 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
479 /// PivotPoint constants: 0.5, 1.0, 0.5
481 /// <since_tizen> 3 </since_tizen>
482 public static Position PivotPointBottomCenter
486 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomCenter_get();
487 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
488 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
494 /// PivotPoint constants: 1.0, 1.0, 0.5.
496 /// <since_tizen> 3 </since_tizen>
497 public static Position PivotPointBottomRight
501 global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomRight_get();
502 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
503 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
509 /// Constant ( 1.0f, 1.0f, 1.0f ).
511 /// <since_tizen> 3 </since_tizen>
512 public static Position One
516 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ONE_get();
517 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
518 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
524 /// Constant ( 0.0f, 0.0f, 0.0f ).
526 /// <since_tizen> 3 </since_tizen>
527 public static Position Zero
531 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZERO_get();
532 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
533 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
541 /// <since_tizen> 3 </since_tizen>
546 NDalicPINVOKE.Vector3_X_set(swigCPtr, value);
547 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
551 float ret = NDalicPINVOKE.Vector3_X_get(swigCPtr);
552 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
560 /// <since_tizen> 3 </since_tizen>
565 NDalicPINVOKE.Vector3_Y_set(swigCPtr, value);
566 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
570 float ret = NDalicPINVOKE.Vector3_Y_get(swigCPtr);
571 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
579 /// <since_tizen> 3 </since_tizen>
584 NDalicPINVOKE.Vector3_Z_set(swigCPtr, value);
585 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
589 float ret = NDalicPINVOKE.Vector3_Z_get(swigCPtr);
590 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
595 internal static Position XAxis
599 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_XAXIS_get();
600 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
601 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
606 internal static Position YAxis
610 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_YAXIS_get();
611 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
612 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
617 internal static Position ZAxis
621 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZAXIS_get();
622 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
623 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
628 internal static Position NegativeXAxis
632 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_XAXIS_get();
633 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
634 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
639 internal static Position NegativeYAxis
643 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_YAXIS_get();
644 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
645 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
650 internal static Position NegativeZAxis
654 global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_ZAXIS_get();
655 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
656 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
662 /// The const array subscript operator overload. Should be 0, 1, or 2.
664 /// <param name="index">The subscript index.</param>
665 /// <returns>The float at the given index.</returns>
666 /// <since_tizen> 3 </since_tizen>
667 public float this[uint index]
671 return ValueOfIndex(index);
677 /// An addition operator.
679 /// <param name="arg1">The vector to add.</param>
680 /// <param name="arg2">The vector to add.</param>
681 /// <returns>The vector containing the result of the addition.</returns>
682 /// <since_tizen> 3 </since_tizen>
683 public static Position operator +(Position arg1, Position arg2)
685 return arg1.Add(arg2);
689 /// The subtraction operator.
691 /// <param name="arg1">The vector to subtract.</param>
692 /// <param name="arg2">The vector to subtract.</param>
693 /// <returns>The vector containing the result of the subtraction.</returns>
694 /// <since_tizen> 3 </since_tizen>
695 public static Position operator -(Position arg1, Position arg2)
697 return arg1.Subtract(arg2);
701 /// The unary negation operator.
703 /// <param name="arg1">The vector to negate.</param>
704 /// <returns>The vector containg the negation.</returns>
705 /// <since_tizen> 3 </since_tizen>
706 public static Position operator -(Position arg1)
708 return arg1.Subtract();
712 /// The multiplication operator.
714 /// <param name="arg1">The vector to multiply.</param>
715 /// <param name="arg2">The vector to multiply.</param>
716 /// <returns>The vector containing the result of the multiplication.</returns>
717 /// <since_tizen> 3 </since_tizen>
718 public static Position operator *(Position arg1, Position arg2)
720 return arg1.Multiply(arg2);
724 /// The multiplication operator.
726 /// <param name="arg1">The vector to multiply</param>
727 /// <param name="arg2">The float value to scale the vector.</param>
728 /// <returns>The vector containing the result of scaling.</returns>
729 /// <since_tizen> 3 </since_tizen>
730 public static Position operator *(Position arg1, float arg2)
732 return arg1.Multiply(arg2);
736 /// The division operator.
738 /// <param name="arg1">The vector to divide.</param>
739 /// <param name="arg2">The vector to divide.</param>
740 /// <returns>The vector containing the result of the division.</returns>
741 /// <since_tizen> 3 </since_tizen>
742 public static Position operator /(Position arg1, Position arg2)
744 return arg1.Divide(arg2);
748 /// The division operator.
750 /// <param name="arg1">The vector to divide.</param>
751 /// <param name="arg2">The float value to scale the vector by.</param>
752 /// <returns>The vector containing the result of scaling.</returns>
753 /// <since_tizen> 3 </since_tizen>
754 public static Position operator /(Position arg1, float arg2)
756 return arg1.Divide(arg2);
760 /// Converts a position instance to a Vector3 instance.
762 /// <since_tizen> 3 </since_tizen>
763 public static implicit operator Vector3(Position Position)
765 return new Vector3(Position.X, Position.Y, Position.Z);
769 /// Converts a Vector3 instance to a position instance.
771 /// <since_tizen> 3 </since_tizen>
772 public static implicit operator Position(Vector3 vec)
774 return new Position(vec.X, vec.Y, vec.Z);
778 /// Determines whether the specified object is equal to the current object.
780 /// <param name="obj">The object to compare with the current object.</param>
781 /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
782 public override bool Equals(System.Object obj)
784 Position position = obj as Position;
786 if (X == position?.X && Y == position?.Y && Z == position?.Z)
794 /// Gets the the hash code of this Position.
796 /// <returns>The Hash Code.</returns>
797 /// <since_tizen> 6 </since_tizen>
798 public override int GetHashCode()
800 return swigCPtr.Handle.GetHashCode();
806 /// <since_tizen> 3 </since_tizen>
807 public void Dispose()
809 //Throw excpetion if Dispose() is called in separate thread.
810 if (!Window.IsInstalled())
812 throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
817 Dispose(DisposeTypes.Implicit);
821 Dispose(DisposeTypes.Explicit);
822 System.GC.SuppressFinalize(this);
827 /// Compares if rhs is equal to.
829 /// <param name="rhs">The vector to compare.</param>
830 /// <returns>Returns true if the two vectors are equal, otherwise false.</returns>
831 /// <since_tizen> 3 </since_tizen>
832 public bool EqualTo(Position rhs)
834 bool ret = NDalicPINVOKE.Vector3_EqualTo(swigCPtr, Position.getCPtr(rhs));
835 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
840 /// Compares if rhs is not equal to.
842 /// <param name="rhs">The vector to compare.</param>
843 /// <returns>Returns true if the two vectors are not equal, otherwise false.</returns>
844 /// <since_tizen> 3 </since_tizen>
845 public bool NotEqualTo(Position rhs)
847 bool ret = NDalicPINVOKE.Vector3_NotEqualTo(swigCPtr, Position.getCPtr(rhs));
848 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
852 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Position obj)
854 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
857 internal static Position GetPositionFromPtr(global::System.IntPtr cPtr)
859 Position ret = new Position(cPtr, false);
860 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
867 /// <since_tizen> 3 </since_tizen>
868 protected virtual void Dispose(DisposeTypes type)
875 if (type == DisposeTypes.Explicit)
878 //Release your own managed resources here.
879 //You should release all of your own disposable objects here.
882 //Release your own unmanaged resources here.
883 //You should not access any managed member here except static instance.
884 //because the execution order of Finalizes is non-deterministic.
886 if (swigCPtr.Handle != global::System.IntPtr.Zero)
891 NDalicPINVOKE.delete_Vector3(swigCPtr);
893 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
899 private Position Add(Position rhs)
901 Position ret = new Position(NDalicPINVOKE.Vector3_Add(swigCPtr, Position.getCPtr(rhs)), true);
902 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
906 private Position Subtract(Position rhs)
908 Position ret = new Position(NDalicPINVOKE.Vector3_Subtract__SWIG_0(swigCPtr, Position.getCPtr(rhs)), true);
909 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
913 private Position Multiply(Position rhs)
915 Position ret = new Position(NDalicPINVOKE.Vector3_Multiply__SWIG_0(swigCPtr, Position.getCPtr(rhs)), true);
916 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
920 private Position Multiply(float rhs)
922 Position ret = new Position(NDalicPINVOKE.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
923 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
927 private Position Divide(Position rhs)
929 Position ret = new Position(NDalicPINVOKE.Vector3_Divide__SWIG_0(swigCPtr, Position.getCPtr(rhs)), true);
930 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
934 private Position Divide(float rhs)
936 Position ret = new Position(NDalicPINVOKE.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
937 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
941 private Position Subtract()
943 Position ret = new Position(NDalicPINVOKE.Vector3_Subtract__SWIG_1(swigCPtr), true);
944 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
948 private float ValueOfIndex(uint index)
950 float ret = NDalicPINVOKE.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
951 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();