1 /** Copyright (c) 2017 Samsung Electronics Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
7 * http://www.apache.org/licenses/LICENSE-2.0
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
21 /// A four-dimensional vector.
23 public class Vector4 : global::System.IDisposable
25 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
26 protected bool swigCMemOwn;
28 internal Vector4(global::System.IntPtr cPtr, bool cMemoryOwn)
30 swigCMemOwn = cMemoryOwn;
31 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
34 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector4 obj)
36 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
39 //A Flag to check who called Dispose(). (By User or DisposeQueue)
40 private bool isDisposeQueued = false;
41 //A Flat to check if it is already disposed.
42 protected bool disposed = false;
48 isDisposeQueued = true;
49 DisposeQueue.Instance.Add(this);
55 //Throw excpetion if Dispose() is called in separate thread.
56 if (!Window.IsInstalled())
58 throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
63 Dispose(DisposeTypes.Implicit);
67 Dispose(DisposeTypes.Explicit);
68 System.GC.SuppressFinalize(this);
72 protected virtual void Dispose(DisposeTypes type)
79 if(type == DisposeTypes.Explicit)
82 //Release your own managed resources here.
83 //You should release all of your own disposable objects here.
86 //Release your own unmanaged resources here.
87 //You should not access any managed member here except static instance.
88 //because the execution order of Finalizes is non-deterministic.
90 if (swigCPtr.Handle != global::System.IntPtr.Zero)
95 NDalicPINVOKE.delete_Vector4(swigCPtr);
97 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
103 /// The addition operator.
105 /// <param name="arg1">The first value.</param>
106 /// <param name="arg2">The second value.</param>
107 /// <returns>The vector containing the result of the addition.</returns>
108 /// <since_tizen> 3 </since_tizen>
109 public static Vector4 operator +(Vector4 arg1, Vector4 arg2)
111 return arg1.Add(arg2);
115 /// The subtraction operator.
117 /// <param name="arg1">The first value.</param>
118 /// <param name="arg2">The second value.</param>
119 /// <returns>The vector containing the result of the subtraction.</returns>
120 /// <since_tizen> 3 </since_tizen>
121 public static Vector4 operator -(Vector4 arg1, Vector4 arg2)
123 return arg1.Subtract(arg2);
127 /// The unary negation operator.
129 /// <param name="arg1">The target value.</param>
130 /// <returns>The vector containing the negation.</returns>
131 /// <since_tizen> 3 </since_tizen>
132 public static Vector4 operator -(Vector4 arg1)
134 return arg1.Subtract();
138 /// The multiplication operator.
140 /// <param name="arg1">The first value.</param>
141 /// <param name="arg2">The second value.</param>
142 /// <returns>The vector containing the result of the multiplication.</returns>
143 /// <since_tizen> 3 </since_tizen>
144 public static Vector4 operator *(Vector4 arg1, Vector4 arg2)
146 return arg1.Multiply(arg2);
150 /// The multiplication operator.
152 /// <param name="arg1">The first value.</param>
153 /// <param name="arg2">The float value to scale the vector.</param>
154 /// <returns>The vector containing the result of scaling.</returns>
155 /// <since_tizen> 3 </since_tizen>
156 public static Vector4 operator *(Vector4 arg1, float arg2)
158 return arg1.Multiply(arg2);
162 /// The division operator.
164 /// <param name="arg1">The first value.</param>
165 /// <param name="arg2">The second value.</param>
166 /// <returns>The vector containing the result of the division.</returns>
167 /// <since_tizen> 3 </since_tizen>
168 public static Vector4 operator /(Vector4 arg1, Vector4 arg2)
170 return arg1.Divide(arg2);
174 /// The division operator.
176 /// <param name="arg1">The first value.</param>
177 /// <param name="arg2">The float value to scale the vector by.</param>
178 /// <returns>The vector containing the result of scaling.</returns>
179 /// <since_tizen> 3 </since_tizen>
180 public static Vector4 operator /(Vector4 arg1, float arg2)
182 return arg1.Divide(arg2);
186 /// The array subscript operator overload.
188 /// <param name="index">The subscript index.</param>
189 /// <returns>The float at the given index.</returns>
190 /// <since_tizen> 3 </since_tizen>
191 public float this[uint index]
195 return ValueOfIndex(index);
199 internal static Vector4 GetVector4FromPtr(global::System.IntPtr cPtr)
201 Vector4 ret = new Vector4(cPtr, false);
202 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
207 /// The default constructor initializes the vector to 0.
209 /// <since_tizen> 3 </since_tizen>
210 public Vector4() : this(NDalicPINVOKE.new_Vector4__SWIG_0(), true)
212 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
216 /// The conversion constructor from four floats.
218 /// <param name="x">The x (or r/s) component.</param>
219 /// <param name="y">The y (or g/t) component.</param>
220 /// <param name="z">The z (or b/p) component.</param>
221 /// <param name="w">The w (or a/q) component.</param>
222 /// <since_tizen> 3 </since_tizen>
223 public Vector4(float x, float y, float z, float w) : this(NDalicPINVOKE.new_Vector4__SWIG_1(x, y, z, w), true)
225 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
229 /// The conversion constructor from an array of four floats.
231 /// <param name="array">The array of either xyzw/rgba/stpq.</param>
232 /// <since_tizen> 3 </since_tizen>
233 public Vector4(float[] array) : this(NDalicPINVOKE.new_Vector4__SWIG_2(array), true)
235 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
239 /// The conversion constructor from Vector2.
241 /// <param name="vec2">Vector2 to copy from, z and w are initialized to 0.</param>
242 /// <since_tizen> 3 </since_tizen>
243 public Vector4(Vector2 vec2) : this(NDalicPINVOKE.new_Vector4__SWIG_3(Vector2.getCPtr(vec2)), true)
245 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
249 /// The conversion constructor from Vector3.
251 /// <param name="vec3">Vector3 to copy from, w is initialized to 0.</param>
252 /// <since_tizen> 3 </since_tizen>
253 public Vector4(Vector3 vec3) : this(NDalicPINVOKE.new_Vector4__SWIG_4(Vector3.getCPtr(vec3)), true)
255 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
259 /// (1.0f,1.0f,1.0f,1.0f).
261 /// <since_tizen> 3 </since_tizen>
262 public static Vector4 One
266 global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_ONE_get();
267 Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
268 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
274 /// (1.0f,0.0f,0.0f,0.0f).
276 /// <since_tizen> 3 </since_tizen>
277 public static Vector4 XAxis
281 global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_XAXIS_get();
282 Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
283 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
289 /// (0.0f,1.0f,0.0f,0.0f).
291 /// <since_tizen> 3 </since_tizen>
292 public static Vector4 YAxis
296 global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_YAXIS_get();
297 Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
298 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
304 /// (0.0f,0.0f,1.0f,0.0f).
306 /// <since_tizen> 3 </since_tizen>
307 public static Vector4 ZAxis
311 global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_ZAXIS_get();
312 Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
313 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
319 /// (0.0f, 0.0f, 0.0f, 0.0f).
321 /// <since_tizen> 3 </since_tizen>
322 public static Vector4 Zero
326 global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_ZERO_get();
327 Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
328 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
333 private Vector4 Add(Vector4 rhs)
335 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Add(swigCPtr, Vector4.getCPtr(rhs)), true);
336 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
340 private Vector4 AddAssign(Vector4 rhs)
342 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_AddAssign(swigCPtr, Vector4.getCPtr(rhs)), false);
343 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
347 private Vector4 Subtract(Vector4 rhs)
349 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Subtract__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
350 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
354 private Vector4 SubtractAssign(Vector4 rhs)
356 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_SubtractAssign(swigCPtr, Vector4.getCPtr(rhs)), false);
357 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
361 private Vector4 Multiply(Vector4 rhs)
363 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Multiply__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
364 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
368 private Vector4 Multiply(float rhs)
370 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Multiply__SWIG_1(swigCPtr, rhs), true);
371 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
375 private Vector4 MultiplyAssign(Vector4 rhs)
377 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_MultiplyAssign__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), false);
378 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
382 private Vector4 MultiplyAssign(float rhs)
384 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
385 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
389 private Vector4 Divide(Vector4 rhs)
391 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Divide__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
392 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
396 private Vector4 Divide(float rhs)
398 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Divide__SWIG_1(swigCPtr, rhs), true);
399 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
403 private Vector4 DivideAssign(Vector4 rhs)
405 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_DivideAssign__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), false);
406 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
410 private Vector4 DivideAssign(float rhs)
412 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_DivideAssign__SWIG_1(swigCPtr, rhs), false);
413 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
417 private Vector4 Subtract()
419 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Subtract__SWIG_1(swigCPtr), true);
420 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
424 private bool EqualTo(Vector4 rhs)
426 bool ret = NDalicPINVOKE.Vector4_EqualTo(swigCPtr, Vector4.getCPtr(rhs));
427 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
431 private bool NotEqualTo(Vector4 rhs)
433 bool ret = NDalicPINVOKE.Vector4_NotEqualTo(swigCPtr, Vector4.getCPtr(rhs));
434 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
438 private float ValueOfIndex(uint index)
440 float ret = NDalicPINVOKE.Vector4_ValueOfIndex__SWIG_0(swigCPtr, index);
441 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
445 internal float Dot(Vector3 other)
447 float ret = NDalicPINVOKE.Vector4_Dot__SWIG_0(swigCPtr, Vector3.getCPtr(other));
448 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
452 internal float Dot(Vector4 other)
454 float ret = NDalicPINVOKE.Vector4_Dot__SWIG_1(swigCPtr, Vector4.getCPtr(other));
455 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
459 internal float Dot4(Vector4 other)
461 float ret = NDalicPINVOKE.Vector4_Dot4(swigCPtr, Vector4.getCPtr(other));
462 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
466 internal Vector4 Cross(Vector4 other)
468 Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Cross(swigCPtr, Vector4.getCPtr(other)), true);
469 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
474 /// Returns the length of the vector.
476 /// <returns>The length.</returns>
477 /// <since_tizen> 3 </since_tizen>
478 public float Length()
480 float ret = NDalicPINVOKE.Vector4_Length(swigCPtr);
481 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
486 /// Returns the length of the vector squared.<br>
487 /// This is faster than using Length() when performing
488 /// threshold checks as it avoids use of the square root.<br>
490 /// <returns>The length of the vector squared.</returns>
491 /// <since_tizen> 3 </since_tizen>
492 public float LengthSquared()
494 float ret = NDalicPINVOKE.Vector4_LengthSquared(swigCPtr);
495 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
500 /// Normalizes the vector.<br>
501 /// Sets the vector to unit length whilst maintaining its direction.<br>
503 /// <since_tizen> 3 </since_tizen>
504 public void Normalize()
506 NDalicPINVOKE.Vector4_Normalize(swigCPtr);
507 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
511 /// Clamps the vector between minimum and maximum vectors.
513 /// <param name="min">The minimum vector.</param>
514 /// <param name="max">The maximum vector.</param>
515 /// <since_tizen> 3 </since_tizen>
516 public void Clamp(Vector4 min, Vector4 max)
518 NDalicPINVOKE.Vector4_Clamp(swigCPtr, Vector4.getCPtr(min), Vector4.getCPtr(max));
519 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
522 internal SWIGTYPE_p_float AsFloat()
524 global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_AsFloat__SWIG_0(swigCPtr);
525 SWIGTYPE_p_float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
526 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
533 /// <since_tizen> 3 </since_tizen>
538 NDalicPINVOKE.Vector4_X_set(swigCPtr, value);
539 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
543 float ret = NDalicPINVOKE.Vector4_X_get(swigCPtr);
544 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
550 /// The red component.
552 /// <since_tizen> 3 </since_tizen>
557 NDalicPINVOKE.Vector4_r_set(swigCPtr, value);
558 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
562 float ret = NDalicPINVOKE.Vector4_r_get(swigCPtr);
563 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
571 /// <since_tizen> 3 </since_tizen>
576 NDalicPINVOKE.Vector4_s_set(swigCPtr, value);
577 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
581 float ret = NDalicPINVOKE.Vector4_s_get(swigCPtr);
582 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
590 /// <since_tizen> 3 </since_tizen>
595 NDalicPINVOKE.Vector4_Y_set(swigCPtr, value);
596 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
600 float ret = NDalicPINVOKE.Vector4_Y_get(swigCPtr);
601 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
607 /// The green component.
609 /// <since_tizen> 3 </since_tizen>
614 NDalicPINVOKE.Vector4_g_set(swigCPtr, value);
615 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
619 float ret = NDalicPINVOKE.Vector4_g_get(swigCPtr);
620 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
628 /// <since_tizen> 3 </since_tizen>
633 NDalicPINVOKE.Vector4_t_set(swigCPtr, value);
634 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
638 float ret = NDalicPINVOKE.Vector4_t_get(swigCPtr);
639 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
647 /// <since_tizen> 3 </since_tizen>
652 NDalicPINVOKE.Vector4_Z_set(swigCPtr, value);
653 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
657 float ret = NDalicPINVOKE.Vector4_Z_get(swigCPtr);
658 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
664 /// The blue component.
666 /// <since_tizen> 3 </since_tizen>
671 NDalicPINVOKE.Vector4_b_set(swigCPtr, value);
672 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
676 float ret = NDalicPINVOKE.Vector4_b_get(swigCPtr);
677 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
685 /// <since_tizen> 3 </since_tizen>
690 NDalicPINVOKE.Vector4_p_set(swigCPtr, value);
691 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
695 float ret = NDalicPINVOKE.Vector4_p_get(swigCPtr);
696 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
704 /// <since_tizen> 3 </since_tizen>
709 NDalicPINVOKE.Vector4_W_set(swigCPtr, value);
710 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
714 float ret = NDalicPINVOKE.Vector4_W_get(swigCPtr);
715 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
721 /// The alpha component.
723 /// <since_tizen> 3 </since_tizen>
728 NDalicPINVOKE.Vector4_a_set(swigCPtr, value);
729 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
733 float ret = NDalicPINVOKE.Vector4_a_get(swigCPtr);
734 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
742 /// <since_tizen> 3 </since_tizen>
747 NDalicPINVOKE.Vector4_q_set(swigCPtr, value);
748 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
752 float ret = NDalicPINVOKE.Vector4_q_get(swigCPtr);
753 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();