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.
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 : Disposable
35 /// <since_tizen> 3 </since_tizen>
36 protected bool swigCMemOwn;
37 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
42 /// <since_tizen> 3 </since_tizen>
43 public Position() : this(Interop.Vector3.new_Vector3__SWIG_0(), true)
45 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
51 /// <param name="x">The x component.</param>
52 /// <param name="y">The y component.</param>
53 /// <param name="z">The z component(optional).</param>
54 /// <since_tizen> 3 </since_tizen>
55 public Position(float x, float y, float z = 0.0f) : this(Interop.Vector3.new_Vector3__SWIG_1(x, y, z), true)
57 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
63 /// <param name="position2d">Position2D to create this vector from.</param>
64 /// <since_tizen> 3 </since_tizen>
65 public Position(Position2D position2d) : this(Interop.Vector3.new_Vector3__SWIG_3(Position2D.getCPtr(position2d)), true)
67 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
70 internal Position(global::System.IntPtr cPtr, bool cMemoryOwn)
72 swigCMemOwn = cMemoryOwn;
73 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
77 /// ParentOrigin constants. It's 0.0.
79 /// <since_tizen> 3 </since_tizen>
80 public static float ParentOriginTop
84 float ret = Interop.NDalicParentOrigin.ParentOriginTop_get();
85 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
91 /// ParentOrigin constants. It's 1.0.
93 /// <since_tizen> 3 </since_tizen>
94 public static float ParentOriginBottom
98 float ret = Interop.NDalicParentOrigin.ParentOriginBottom_get();
99 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
105 /// ParentOrigin constants. It's 0.0.
107 /// <since_tizen> 3 </since_tizen>
108 public static float ParentOriginLeft
112 float ret = Interop.NDalicParentOrigin.ParentOriginLeft_get();
113 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
119 /// ParentOrigin constants. It's 1.0.
121 /// <since_tizen> 3 </since_tizen>
122 public static float ParentOriginRight
126 float ret = Interop.NDalicParentOrigin.ParentOriginRight_get();
127 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
133 /// ParentOrigin constants. It's 0.5.
135 /// <since_tizen> 3 </since_tizen>
136 public static float ParentOriginMiddle
140 float ret = Interop.NDalicParentOrigin.ParentOriginMiddle_get();
141 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
147 /// ParentOrigin constants: 0.0, 0.0, 0.5.
149 /// <since_tizen> 3 </since_tizen>
150 public static Position ParentOriginTopLeft
154 global::System.IntPtr cPtr = Interop.NDalicParentOrigin.ParentOriginTopLeft_get();
155 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
156 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
162 /// ParentOrigin constants: 0.5, 0.0, 0.5.
164 /// <since_tizen> 3 </since_tizen>
165 public static Position ParentOriginTopCenter
169 global::System.IntPtr cPtr = Interop.NDalicParentOrigin.ParentOriginTopCenter_get();
170 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
171 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
177 /// ParentOrigin constants: 1.0, 0.0, 0.5.
179 /// <since_tizen> 3 </since_tizen>
180 public static Position ParentOriginTopRight
184 global::System.IntPtr cPtr = Interop.NDalicParentOrigin.ParentOriginTopRight_get();
185 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
186 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
192 /// ParentOrigin constants: 0.0, 0.5, 0.5.
194 /// <since_tizen> 3 </since_tizen>
195 public static Position ParentOriginCenterLeft
199 global::System.IntPtr cPtr = Interop.NDalicParentOrigin.ParentOriginCenterLeft_get();
200 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
201 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
207 /// ParentOrigin constants: 0.0, 0.5, 0.5
209 /// <since_tizen> 3 </since_tizen>
210 public static Position ParentOriginCenter
214 global::System.IntPtr cPtr = Interop.NDalicParentOrigin.ParentOriginCenter_get();
215 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
216 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
222 /// ParentOrigin constants: 1.0, 0.5, 0.5.
224 /// <since_tizen> 3 </since_tizen>
225 public static Position ParentOriginCenterRight
229 global::System.IntPtr cPtr = Interop.NDalicParentOrigin.ParentOriginCenterRight_get();
230 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
231 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
237 /// ParentOrigin constants: 0.0f, 1.0f, 0.5f.
239 /// <since_tizen> 3 </since_tizen>
240 public static Position ParentOriginBottomLeft
244 global::System.IntPtr cPtr = Interop.NDalicParentOrigin.ParentOriginBottomLeft_get();
245 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
246 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
252 /// ParentOrigin constants: 0.5, 1.0, 0.5.
254 /// <since_tizen> 3 </since_tizen>
255 public static Position ParentOriginBottomCenter
259 global::System.IntPtr cPtr = Interop.NDalicParentOrigin.ParentOriginBottomCenter_get();
260 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
261 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
267 /// ParentOrigin constants: 1.0, 1.0, 0.5.
269 /// <since_tizen> 3 </since_tizen>
270 public static Position ParentOriginBottomRight
274 global::System.IntPtr cPtr = Interop.NDalicParentOrigin.ParentOriginBottomRight_get();
275 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
276 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
282 /// PivotPoint constants: 0.0.
284 /// <since_tizen> 3 </since_tizen>
285 public static float PivotPointTop
289 float ret = Interop.NDalicAnchorPoint.AnchorPointTop_get();
290 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
296 /// PivotPoint constants: 1.0.
298 /// <since_tizen> 3 </since_tizen>
299 public static float PivotPointBottom
303 float ret = Interop.NDalicAnchorPoint.AnchorPointBottom_get();
304 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
310 /// PivotPoint constants: 0.0.
312 /// <since_tizen> 3 </since_tizen>
313 public static float PivotPointLeft
317 float ret = Interop.NDalicAnchorPoint.AnchorPointLeft_get();
318 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
324 /// PivotPoint constants: 1.0.
326 /// <since_tizen> 3 </since_tizen>
327 public static float PivotPointRight
331 float ret = Interop.NDalicAnchorPoint.AnchorPointRight_get();
332 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
338 /// PivotPoint constants: 0.0.
340 /// <since_tizen> 3 </since_tizen>
341 public static float PivotPointMiddle
345 float ret = Interop.NDalicAnchorPoint.AnchorPointMiddle_get();
346 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
352 /// PivotPoint constants: 0.0, 0.0, 0.5.
354 /// <since_tizen> 3 </since_tizen>
355 public static Position PivotPointTopLeft
359 global::System.IntPtr cPtr = Interop.NDalicAnchorPoint.AnchorPointTopLeft_get();
360 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
361 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
367 /// PivotPoint constants: 0.5, 0.0, 0.5.
369 /// <since_tizen> 3 </since_tizen>
370 public static Position PivotPointTopCenter
374 global::System.IntPtr cPtr = Interop.NDalicAnchorPoint.AnchorPointTopCenter_get();
375 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
376 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
382 /// PivotPoint constants: 1.0, 0.0, 0.5.
384 /// <since_tizen> 3 </since_tizen>
385 public static Position PivotPointTopRight
389 global::System.IntPtr cPtr = Interop.NDalicAnchorPoint.AnchorPointTopRight_get();
390 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
391 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
397 /// PivotPoint constants: 0.0, 0.5, 0.5.
399 /// <since_tizen> 3 </since_tizen>
400 public static Position PivotPointCenterLeft
404 global::System.IntPtr cPtr = Interop.NDalicAnchorPoint.AnchorPointCenterLeft_get();
405 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
406 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
412 /// PivotPoint constants: 0.5, 0.5, 0.5.
414 /// <since_tizen> 3 </since_tizen>
415 public static Position PivotPointCenter
419 global::System.IntPtr cPtr = Interop.NDalicAnchorPoint.AnchorPointCenter_get();
420 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
421 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
427 /// PivotPoint constants: 1.0, 0.5, 0.5.
429 /// <since_tizen> 3 </since_tizen>
430 public static Position PivotPointCenterRight
434 global::System.IntPtr cPtr = Interop.NDalicAnchorPoint.AnchorPointCenterRight_get();
435 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
436 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
442 /// PivotPoint constants: 0.0, 1.0, 0.5.
444 /// <since_tizen> 3 </since_tizen>
445 public static Position PivotPointBottomLeft
449 global::System.IntPtr cPtr = Interop.NDalicAnchorPoint.AnchorPointBottomLeft_get();
450 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
451 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
457 /// PivotPoint constants: 0.5, 1.0, 0.5
459 /// <since_tizen> 3 </since_tizen>
460 public static Position PivotPointBottomCenter
464 global::System.IntPtr cPtr = Interop.NDalicAnchorPoint.AnchorPointBottomCenter_get();
465 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
466 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
472 /// PivotPoint constants: 1.0, 1.0, 0.5.
474 /// <since_tizen> 3 </since_tizen>
475 public static Position PivotPointBottomRight
479 global::System.IntPtr cPtr = Interop.NDalicAnchorPoint.AnchorPointBottomRight_get();
480 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
481 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
487 /// Constant ( 1.0f, 1.0f, 1.0f ).
489 /// <since_tizen> 3 </since_tizen>
490 public static Position One
494 global::System.IntPtr cPtr = Interop.Vector3.Vector3_ONE_get();
495 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
496 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
502 /// Constant ( 0.0f, 0.0f, 0.0f ).
504 /// <since_tizen> 3 </since_tizen>
505 public static Position Zero
509 global::System.IntPtr cPtr = Interop.Vector3.Vector3_ZERO_get();
510 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
511 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
519 /// <since_tizen> 3 </since_tizen>
524 Interop.Vector3.Vector3_X_set(swigCPtr, value);
525 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
527 callback?.Invoke(X, Y, Z);
531 float ret = Interop.Vector3.Vector3_X_get(swigCPtr);
532 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
540 /// <since_tizen> 3 </since_tizen>
545 Interop.Vector3.Vector3_Y_set(swigCPtr, value);
546 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
548 callback?.Invoke(X, Y, Z);
552 float ret = Interop.Vector3.Vector3_Y_get(swigCPtr);
553 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
561 /// <since_tizen> 3 </since_tizen>
566 Interop.Vector3.Vector3_Z_set(swigCPtr, value);
567 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
569 callback?.Invoke(X, Y, Z);
573 float ret = Interop.Vector3.Vector3_Z_get(swigCPtr);
574 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
579 internal static Position XAxis
583 global::System.IntPtr cPtr = Interop.Vector3.Vector3_XAXIS_get();
584 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
585 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
590 internal static Position YAxis
594 global::System.IntPtr cPtr = Interop.Vector3.Vector3_YAXIS_get();
595 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
596 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
601 internal static Position ZAxis
605 global::System.IntPtr cPtr = Interop.Vector3.Vector3_ZAXIS_get();
606 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
607 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
612 internal static Position NegativeXAxis
616 global::System.IntPtr cPtr = Interop.Vector3.Vector3_NEGATIVE_XAXIS_get();
617 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
618 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
623 internal static Position NegativeYAxis
627 global::System.IntPtr cPtr = Interop.Vector3.Vector3_NEGATIVE_YAXIS_get();
628 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
629 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
634 internal static Position NegativeZAxis
638 global::System.IntPtr cPtr = Interop.Vector3.Vector3_NEGATIVE_ZAXIS_get();
639 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
640 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
646 /// The const array subscript operator overload. Should be 0, 1, or 2.
648 /// <param name="index">The subscript index.</param>
649 /// <returns>The float at the given index.</returns>
650 /// <since_tizen> 3 </since_tizen>
651 public float this[uint index]
655 return ValueOfIndex(index);
661 /// An addition operator.
663 /// <param name="arg1">The vector to add.</param>
664 /// <param name="arg2">The vector to add.</param>
665 /// <returns>The vector containing the result of the addition.</returns>
666 /// <since_tizen> 3 </since_tizen>
667 public static Position operator +(Position arg1, Position arg2)
669 return arg1.Add(arg2);
673 /// The subtraction operator.
675 /// <param name="arg1">The vector to subtract.</param>
676 /// <param name="arg2">The vector to subtract.</param>
677 /// <returns>The vector containing the result of the subtraction.</returns>
678 /// <since_tizen> 3 </since_tizen>
679 public static Position operator -(Position arg1, Position arg2)
681 return arg1.Subtract(arg2);
685 /// The unary negation operator.
687 /// <param name="arg1">The vector to negate.</param>
688 /// <returns>The vector containg the negation.</returns>
689 /// <since_tizen> 3 </since_tizen>
690 public static Position operator -(Position arg1)
692 return arg1.Subtract();
696 /// The multiplication operator.
698 /// <param name="arg1">The vector to multiply.</param>
699 /// <param name="arg2">The vector to multiply.</param>
700 /// <returns>The vector containing the result of the multiplication.</returns>
701 /// <since_tizen> 3 </since_tizen>
702 public static Position operator *(Position arg1, Position arg2)
704 return arg1.Multiply(arg2);
708 /// The multiplication operator.
710 /// <param name="arg1">The vector to multiply</param>
711 /// <param name="arg2">The float value to scale the vector.</param>
712 /// <returns>The vector containing the result of scaling.</returns>
713 /// <since_tizen> 3 </since_tizen>
714 public static Position operator *(Position arg1, float arg2)
716 return arg1.Multiply(arg2);
720 /// The division operator.
722 /// <param name="arg1">The vector to divide.</param>
723 /// <param name="arg2">The vector to divide.</param>
724 /// <returns>The vector containing the result of the division.</returns>
725 /// <since_tizen> 3 </since_tizen>
726 public static Position operator /(Position arg1, Position arg2)
728 return arg1.Divide(arg2);
732 /// The division operator.
734 /// <param name="arg1">The vector to divide.</param>
735 /// <param name="arg2">The float value to scale the vector by.</param>
736 /// <returns>The vector containing the result of scaling.</returns>
737 /// <since_tizen> 3 </since_tizen>
738 public static Position operator /(Position arg1, float arg2)
740 return arg1.Divide(arg2);
744 /// Converts a position instance to a Vector3 instance.
746 /// <since_tizen> 3 </since_tizen>
747 public static implicit operator Vector3(Position Position)
749 return new Vector3(Position.X, Position.Y, Position.Z);
753 /// Converts a Vector3 instance to a position instance.
755 /// <since_tizen> 3 </since_tizen>
756 public static implicit operator Position(Vector3 vec)
758 return new Position(vec.X, vec.Y, vec.Z);
762 /// Determines whether the specified object is equal to the current object.
764 /// <param name="obj">The object to compare with the current object.</param>
765 /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
766 public override bool Equals(System.Object obj)
768 Position position = obj as Position;
770 if (X == position?.X && Y == position?.Y && Z == position?.Z)
778 /// Gets the the hash code of this Position.
780 /// <returns>The Hash Code.</returns>
781 /// <since_tizen> 6 </since_tizen>
782 public override int GetHashCode()
784 return swigCPtr.Handle.GetHashCode();
788 /// Compares if rhs is equal to.
790 /// <param name="rhs">The vector to compare.</param>
791 /// <returns>Returns true if the two vectors are equal, otherwise false.</returns>
792 /// <since_tizen> 3 </since_tizen>
793 public bool EqualTo(Position rhs)
795 bool ret = Interop.Vector3.Vector3_EqualTo(swigCPtr, Position.getCPtr(rhs));
796 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
801 /// Compares if rhs is not equal to.
803 /// <param name="rhs">The vector to compare.</param>
804 /// <returns>Returns true if the two vectors are not equal, otherwise false.</returns>
805 /// <since_tizen> 3 </since_tizen>
806 public bool NotEqualTo(Position rhs)
808 bool ret = Interop.Vector3.Vector3_NotEqualTo(swigCPtr, Position.getCPtr(rhs));
809 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
813 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Position obj)
815 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
818 internal static Position GetPositionFromPtr(global::System.IntPtr cPtr)
820 Position ret = new Position(cPtr, false);
821 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
828 /// <since_tizen> 3 </since_tizen>
829 protected override void Dispose(DisposeTypes type)
836 //Release your own unmanaged resources here.
837 //You should not access any managed member here except static instance.
838 //because the execution order of Finalizes is non-deterministic.
840 if (swigCPtr.Handle != global::System.IntPtr.Zero)
845 Interop.Vector3.delete_Vector3(swigCPtr);
847 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
853 private Position Add(Position rhs)
855 Position ret = new Position(Interop.Vector3.Vector3_Add(swigCPtr, Position.getCPtr(rhs)), true);
856 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
860 private Position Subtract(Position rhs)
862 Position ret = new Position(Interop.Vector3.Vector3_Subtract__SWIG_0(swigCPtr, Position.getCPtr(rhs)), true);
863 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
867 private Position Multiply(Position rhs)
869 Position ret = new Position(Interop.Vector3.Vector3_Multiply__SWIG_0(swigCPtr, Position.getCPtr(rhs)), true);
870 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
874 private Position Multiply(float rhs)
876 Position ret = new Position(Interop.Vector3.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
877 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
881 private Position Divide(Position rhs)
883 Position ret = new Position(Interop.Vector3.Vector3_Divide__SWIG_0(swigCPtr, Position.getCPtr(rhs)), true);
884 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
888 private Position Divide(float rhs)
890 Position ret = new Position(Interop.Vector3.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
891 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
895 private Position Subtract()
897 Position ret = new Position(Interop.Vector3.Vector3_Subtract__SWIG_1(swigCPtr), true);
898 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
902 private float ValueOfIndex(uint index)
904 float ret = Interop.Vector3.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
905 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
909 internal delegate void PositionChangedCallback(float x, float y, float z);
911 internal Position(PositionChangedCallback cb, float x, float y, float z) : this(Interop.Vector3.new_Vector3__SWIG_1(x, y, z), true)
914 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
917 private PositionChangedCallback callback = null;