Merge "add Timer Tick event" into tizen
[platform/core/csapi/nui.git] / Tizen.NUI / src / internal / Quaternion.cs
1 //------------------------------------------------------------------------------
2 // <auto-generated />
3 //
4 // This file was automatically generated by SWIG (http://www.swig.org).
5 // Version 3.0.9
6 //
7 // Do not make changes to this file unless you know what you are doing--modify
8 // the SWIG interface file instead.
9 //------------------------------------------------------------------------------
10
11 namespace Tizen.NUI {
12
13 public class Quaternion : global::System.IDisposable {
14   private global::System.Runtime.InteropServices.HandleRef swigCPtr;
15   protected bool swigCMemOwn;
16
17   internal Quaternion(global::System.IntPtr cPtr, bool cMemoryOwn) {
18     swigCMemOwn = cMemoryOwn;
19     swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
20   }
21
22   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Quaternion obj) {
23     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
24   }
25
26   ~Quaternion() {
27     DisposeQueue.Instance.Add(this);
28   }
29
30   public virtual void Dispose() {
31     if (!Stage.IsInstalled()) {
32       DisposeQueue.Instance.Add(this);
33       return;
34     }
35
36     lock(this) {
37       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
38         if (swigCMemOwn) {
39           swigCMemOwn = false;
40           NDalicPINVOKE.delete_Quaternion(swigCPtr);
41         }
42         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
43       }
44       global::System.GC.SuppressFinalize(this);
45     }
46   }
47
48
49   public static Quaternion operator+(Quaternion arg1, Quaternion arg2) {
50     return arg1.Add(arg2);
51   }
52
53   public static Quaternion operator-(Quaternion arg1, Quaternion arg2) {
54     return arg1.Subtract(arg2);
55   }
56
57   public static Quaternion operator-(Quaternion arg1) {
58     return arg1.Subtract();
59   }
60
61   public static Quaternion operator*(Quaternion arg1, Quaternion arg2) {
62     return arg1.Multiply(arg2);
63   }
64
65   public static Vector3 operator*(Quaternion arg1, Vector3 arg2) {
66     return arg1.Multiply(arg2);
67   }
68
69   public static Quaternion operator*(Quaternion arg1, float arg2) {
70     return arg1.Multiply(arg2);
71   }
72
73   public static Quaternion operator/(Quaternion arg1, Quaternion arg2) {
74     return arg1.Divide(arg2);
75   }
76
77   public static Quaternion operator/(Quaternion arg1, float arg2) {
78     return arg1.Divide(arg2);
79   }
80
81   public Quaternion() : this(NDalicPINVOKE.new_Quaternion__SWIG_0(), true) {
82     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
83   }
84
85   public Quaternion(float cosThetaBy2, float iBySineTheta, float jBySineTheta, float kBySineTheta) : this(NDalicPINVOKE.new_Quaternion__SWIG_1(cosThetaBy2, iBySineTheta, jBySineTheta, kBySineTheta), true) {
86     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
87   }
88
89   public Quaternion(Vector4 vector) : this(NDalicPINVOKE.new_Quaternion__SWIG_2(Vector4.getCPtr(vector)), true) {
90     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
91   }
92
93   public Quaternion(Radian angle, Vector3 axis) : this(NDalicPINVOKE.new_Quaternion__SWIG_3(Radian.getCPtr(angle), Vector3.getCPtr(axis)), true) {
94     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
95   }
96
97   public Quaternion(Radian pitch, Radian yaw, Radian roll) : this(NDalicPINVOKE.new_Quaternion__SWIG_4(Radian.getCPtr(pitch), Radian.getCPtr(yaw), Radian.getCPtr(roll)), true) {
98     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
99   }
100
101   public Quaternion(Matrix matrix) : this(NDalicPINVOKE.new_Quaternion__SWIG_5(Matrix.getCPtr(matrix)), true) {
102     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
103   }
104
105   public Quaternion(Vector3 xAxis, Vector3 yAxis, Vector3 zAxis) : this(NDalicPINVOKE.new_Quaternion__SWIG_6(Vector3.getCPtr(xAxis), Vector3.getCPtr(yAxis), Vector3.getCPtr(zAxis)), true) {
106     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
107   }
108
109   public Quaternion(Vector3 v0, Vector3 v1) : this(NDalicPINVOKE.new_Quaternion__SWIG_7(Vector3.getCPtr(v0), Vector3.getCPtr(v1)), true) {
110     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
111   }
112
113   public static Quaternion IDENTITY {
114     get {
115       global::System.IntPtr cPtr = NDalicPINVOKE.Quaternion_IDENTITY_get();
116       Quaternion ret = (cPtr == global::System.IntPtr.Zero) ? null : new Quaternion(cPtr, false);
117       if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
118       return ret;
119     } 
120   }
121
122   public bool IsIdentity() {
123     bool ret = NDalicPINVOKE.Quaternion_IsIdentity(swigCPtr);
124     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
125     return ret;
126   }
127
128   public bool ToAxisAngle(Vector3 axis, Radian angle) {
129     bool ret = NDalicPINVOKE.Quaternion_ToAxisAngle(swigCPtr, Vector3.getCPtr(axis), Radian.getCPtr(angle));
130     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
131     return ret;
132   }
133
134   public Vector4 AsVector() {
135     Vector4 ret = new Vector4(NDalicPINVOKE.Quaternion_AsVector(swigCPtr), false);
136     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
137     return ret;
138   }
139
140   public void SetEuler(Radian pitch, Radian yaw, Radian roll) {
141     NDalicPINVOKE.Quaternion_SetEuler(swigCPtr, Radian.getCPtr(pitch), Radian.getCPtr(yaw), Radian.getCPtr(roll));
142     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
143   }
144
145   public Vector4 EulerAngles() {
146     Vector4 ret = new Vector4(NDalicPINVOKE.Quaternion_EulerAngles(swigCPtr), true);
147     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
148     return ret;
149   }
150
151   public Quaternion Add(Quaternion other) {
152     Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_Add(swigCPtr, Quaternion.getCPtr(other)), true);
153     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
154     return ret;
155   }
156
157   public Quaternion Subtract(Quaternion other) {
158     Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_Subtract__SWIG_0(swigCPtr, Quaternion.getCPtr(other)), true);
159     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
160     return ret;
161   }
162
163   public Quaternion Multiply(Quaternion other) {
164     Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_Multiply__SWIG_0(swigCPtr, Quaternion.getCPtr(other)), true);
165     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
166     return ret;
167   }
168
169   public Vector3 Multiply(Vector3 other) {
170     Vector3 ret = new Vector3(NDalicPINVOKE.Quaternion_Multiply__SWIG_1(swigCPtr, Vector3.getCPtr(other)), true);
171     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
172     return ret;
173   }
174
175   public Quaternion Divide(Quaternion other) {
176     Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_Divide__SWIG_0(swigCPtr, Quaternion.getCPtr(other)), true);
177     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
178     return ret;
179   }
180
181   public Quaternion Multiply(float scale) {
182     Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_Multiply__SWIG_2(swigCPtr, scale), true);
183     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
184     return ret;
185   }
186
187   public Quaternion Divide(float scale) {
188     Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_Divide__SWIG_1(swigCPtr, scale), true);
189     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
190     return ret;
191   }
192
193   public Quaternion Subtract() {
194     Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_Subtract__SWIG_1(swigCPtr), true);
195     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
196     return ret;
197   }
198
199   public Quaternion AddAssign(Quaternion other) {
200     Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_AddAssign(swigCPtr, Quaternion.getCPtr(other)), false);
201     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
202     return ret;
203   }
204
205   public Quaternion SubtractAssign(Quaternion other) {
206     Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_SubtractAssign(swigCPtr, Quaternion.getCPtr(other)), false);
207     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
208     return ret;
209   }
210
211   public Quaternion MultiplyAssign(Quaternion other) {
212     Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_MultiplyAssign__SWIG_0(swigCPtr, Quaternion.getCPtr(other)), false);
213     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
214     return ret;
215   }
216
217   public Quaternion MultiplyAssign(float scale) {
218     Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_MultiplyAssign__SWIG_1(swigCPtr, scale), false);
219     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
220     return ret;
221   }
222
223   public Quaternion DivideAssign(float scale) {
224     Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_DivideAssign(swigCPtr, scale), false);
225     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
226     return ret;
227   }
228
229   public bool EqualTo(Quaternion rhs) {
230     bool ret = NDalicPINVOKE.Quaternion_EqualTo(swigCPtr, Quaternion.getCPtr(rhs));
231     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
232     return ret;
233   }
234
235   public bool NotEqualTo(Quaternion rhs) {
236     bool ret = NDalicPINVOKE.Quaternion_NotEqualTo(swigCPtr, Quaternion.getCPtr(rhs));
237     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
238     return ret;
239   }
240
241   public float Length() {
242     float ret = NDalicPINVOKE.Quaternion_Length(swigCPtr);
243     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
244     return ret;
245   }
246
247   public float LengthSquared() {
248     float ret = NDalicPINVOKE.Quaternion_LengthSquared(swigCPtr);
249     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
250     return ret;
251   }
252
253   public void Normalize() {
254     NDalicPINVOKE.Quaternion_Normalize(swigCPtr);
255     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
256   }
257
258   public Quaternion Normalized() {
259     Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_Normalized(swigCPtr), true);
260     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
261     return ret;
262   }
263
264   public void Conjugate() {
265     NDalicPINVOKE.Quaternion_Conjugate(swigCPtr);
266     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
267   }
268
269   public void Invert() {
270     NDalicPINVOKE.Quaternion_Invert(swigCPtr);
271     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
272   }
273
274   public Quaternion Log() {
275     Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_Log(swigCPtr), true);
276     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
277     return ret;
278   }
279
280   public Quaternion Exp() {
281     Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_Exp(swigCPtr), true);
282     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
283     return ret;
284   }
285
286   public static float Dot(Quaternion q1, Quaternion q2) {
287     float ret = NDalicPINVOKE.Quaternion_Dot(Quaternion.getCPtr(q1), Quaternion.getCPtr(q2));
288     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
289     return ret;
290   }
291
292   public static Quaternion Lerp(Quaternion q1, Quaternion q2, float t) {
293     Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_Lerp(Quaternion.getCPtr(q1), Quaternion.getCPtr(q2), t), true);
294     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
295     return ret;
296   }
297
298   public static Quaternion Slerp(Quaternion q1, Quaternion q2, float progress) {
299     Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_Slerp(Quaternion.getCPtr(q1), Quaternion.getCPtr(q2), progress), true);
300     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
301     return ret;
302   }
303
304   public static Quaternion SlerpNoInvert(Quaternion q1, Quaternion q2, float t) {
305     Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_SlerpNoInvert(Quaternion.getCPtr(q1), Quaternion.getCPtr(q2), t), true);
306     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
307     return ret;
308   }
309
310   public static Quaternion Squad(Quaternion start, Quaternion end, Quaternion ctrl1, Quaternion ctrl2, float t) {
311     Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_Squad(Quaternion.getCPtr(start), Quaternion.getCPtr(end), Quaternion.getCPtr(ctrl1), Quaternion.getCPtr(ctrl2), t), true);
312     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
313     return ret;
314   }
315
316   public static float AngleBetween(Quaternion q1, Quaternion q2) {
317     float ret = NDalicPINVOKE.Quaternion_AngleBetween(Quaternion.getCPtr(q1), Quaternion.getCPtr(q2));
318     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
319     return ret;
320   }
321
322   public Vector4 Rotate(Vector4 vector) {
323     Vector4 ret = new Vector4(NDalicPINVOKE.Quaternion_Rotate__SWIG_0(swigCPtr, Vector4.getCPtr(vector)), true);
324     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
325     return ret;
326   }
327
328   public Vector3 Rotate(Vector3 vector) {
329     Vector3 ret = new Vector3(NDalicPINVOKE.Quaternion_Rotate__SWIG_1(swigCPtr, Vector3.getCPtr(vector)), true);
330     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
331     return ret;
332   }
333
334   public Vector4 mVector {
335     set {
336       NDalicPINVOKE.Quaternion_mVector_set(swigCPtr, Vector4.getCPtr(value));
337       if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
338     } 
339     get {
340       global::System.IntPtr cPtr = NDalicPINVOKE.Quaternion_mVector_get(swigCPtr);
341       Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
342       if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
343       return ret;
344     } 
345   }
346
347 }
348
349 }