diff --git a/port/Assimp.NET/Assimp.NET_CS/UintVector.cs b/port/Assimp.NET/Assimp.NET_CS/UintVector.cs new file mode 100644 index 000000000..cb31e7475 --- /dev/null +++ b/port/Assimp.NET/Assimp.NET_CS/UintVector.cs @@ -0,0 +1,346 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.40 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + + +using System; +using System.Runtime.InteropServices; + +public class UintVector : IDisposable, System.Collections.IEnumerable +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IList +#endif + { + private HandleRef swigCPtr; + protected bool swigCMemOwn; + + internal UintVector(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } + + internal static HandleRef getCPtr(UintVector obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } + + ~UintVector() { + Dispose(); + } + + public virtual void Dispose() { + lock(this) { + if (swigCPtr.Handle != IntPtr.Zero) { + if (swigCMemOwn) { + swigCMemOwn = false; + Assimp_NETPINVOKE.delete_UintVector(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + } + GC.SuppressFinalize(this); + } + } + + public UintVector(System.Collections.ICollection c) : this() { + if (c == null) + throw new ArgumentNullException("c"); + foreach (uint element in c) { + this.Add(element); + } + } + + public bool IsFixedSize { + get { + return false; + } + } + + public bool IsReadOnly { + get { + return false; + } + } + + public uint this[int index] { + get { + return getitem(index); + } + set { + setitem(index, value); + } + } + + public int Capacity { + get { + return (int)capacity(); + } + set { + if (value < size()) + throw new ArgumentOutOfRangeException("Capacity"); + reserve((uint)value); + } + } + + public int Count { + get { + return (int)size(); + } + } + + public bool IsSynchronized { + get { + return false; + } + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array) +#else + public void CopyTo(uint[] array) +#endif + { + CopyTo(0, array, 0, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array, int arrayIndex) +#else + public void CopyTo(uint[] array, int arrayIndex) +#endif + { + CopyTo(0, array, arrayIndex, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(int index, System.Array array, int arrayIndex, int count) +#else + public void CopyTo(int index, uint[] array, int arrayIndex, int count) +#endif + { + if (array == null) + throw new ArgumentNullException("array"); + if (index < 0) + throw new ArgumentOutOfRangeException("index", "Value is less than zero"); + if (arrayIndex < 0) + throw new ArgumentOutOfRangeException("arrayIndex", "Value is less than zero"); + if (count < 0) + throw new ArgumentOutOfRangeException("count", "Value is less than zero"); + if (array.Rank > 1) + throw new ArgumentException("Multi dimensional array.", "array"); + if (index+count > this.Count || arrayIndex+count > array.Length) + throw new ArgumentException("Number of elements to copy is too large."); + for (int i=0; i System.Collections.Generic.IEnumerable.GetEnumerator() { + return new UintVectorEnumerator(this); + } +#endif + + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { + return new UintVectorEnumerator(this); + } + + public UintVectorEnumerator GetEnumerator() { + return new UintVectorEnumerator(this); + } + + // Type-safe enumerator + /// Note that the IEnumerator documentation requires an InvalidOperationException to be thrown + /// whenever the collection is modified. This has been done for changes in the size of the + /// collection but not when one of the elements of the collection is modified as it is a bit + /// tricky to detect unmanaged code that modifies the collection under our feet. + public sealed class UintVectorEnumerator : System.Collections.IEnumerator +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IEnumerator +#endif + { + private UintVector collectionRef; + private int currentIndex; + private object currentObject; + private int currentSize; + + public UintVectorEnumerator(UintVector collection) { + collectionRef = collection; + currentIndex = -1; + currentObject = null; + currentSize = collectionRef.Count; + } + + // Type-safe iterator Current + public uint Current { + get { + if (currentIndex == -1) + throw new InvalidOperationException("Enumeration not started."); + if (currentIndex > currentSize - 1) + throw new InvalidOperationException("Enumeration finished."); + if (currentObject == null) + throw new InvalidOperationException("Collection modified."); + return (uint)currentObject; + } + } + + // Type-unsafe IEnumerator.Current + object System.Collections.IEnumerator.Current { + get { + return Current; + } + } + + public bool MoveNext() { + int size = collectionRef.Count; + bool moveOkay = (currentIndex+1 < size) && (size == currentSize); + if (moveOkay) { + currentIndex++; + currentObject = collectionRef[currentIndex]; + } else { + currentObject = null; + } + return moveOkay; + } + + public void Reset() { + currentIndex = -1; + currentObject = null; + if (collectionRef.Count != currentSize) { + throw new InvalidOperationException("Collection modified."); + } + } + +#if !SWIG_DOTNET_1 + public void Dispose() { + currentIndex = -1; + currentObject = null; + } +#endif + } + + public void Clear() { + Assimp_NETPINVOKE.UintVector_Clear(swigCPtr); + } + + public void Add(uint x) { + Assimp_NETPINVOKE.UintVector_Add(swigCPtr, x); + } + + private uint size() { + uint ret = Assimp_NETPINVOKE.UintVector_size(swigCPtr); + return ret; + } + + private uint capacity() { + uint ret = Assimp_NETPINVOKE.UintVector_capacity(swigCPtr); + return ret; + } + + private void reserve(uint n) { + Assimp_NETPINVOKE.UintVector_reserve(swigCPtr, n); + } + + public UintVector() : this(Assimp_NETPINVOKE.new_UintVector__SWIG_0(), true) { + } + + public UintVector(UintVector other) : this(Assimp_NETPINVOKE.new_UintVector__SWIG_1(UintVector.getCPtr(other)), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public UintVector(int capacity) : this(Assimp_NETPINVOKE.new_UintVector__SWIG_2(capacity), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + private uint getitemcopy(int index) { + uint ret = Assimp_NETPINVOKE.UintVector_getitemcopy(swigCPtr, index); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private uint getitem(int index) { + uint ret = Assimp_NETPINVOKE.UintVector_getitem(swigCPtr, index); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private void setitem(int index, uint val) { + Assimp_NETPINVOKE.UintVector_setitem(swigCPtr, index, val); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void AddRange(UintVector values) { + Assimp_NETPINVOKE.UintVector_AddRange(swigCPtr, UintVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public UintVector GetRange(int index, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.UintVector_GetRange(swigCPtr, index, count); + UintVector ret = (cPtr == IntPtr.Zero) ? null : new UintVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Insert(int index, uint x) { + Assimp_NETPINVOKE.UintVector_Insert(swigCPtr, index, x); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void InsertRange(int index, UintVector values) { + Assimp_NETPINVOKE.UintVector_InsertRange(swigCPtr, index, UintVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveAt(int index) { + Assimp_NETPINVOKE.UintVector_RemoveAt(swigCPtr, index); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveRange(int index, int count) { + Assimp_NETPINVOKE.UintVector_RemoveRange(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public static UintVector Repeat(uint value, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.UintVector_Repeat(value, count); + UintVector ret = (cPtr == IntPtr.Zero) ? null : new UintVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Reverse() { + Assimp_NETPINVOKE.UintVector_Reverse__SWIG_0(swigCPtr); + } + + public void Reverse(int index, int count) { + Assimp_NETPINVOKE.UintVector_Reverse__SWIG_1(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void SetRange(int index, UintVector values) { + Assimp_NETPINVOKE.UintVector_SetRange(swigCPtr, index, UintVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public bool Contains(uint value) { + bool ret = Assimp_NETPINVOKE.UintVector_Contains(swigCPtr, value); + return ret; + } + + public int IndexOf(uint value) { + int ret = Assimp_NETPINVOKE.UintVector_IndexOf(swigCPtr, value); + return ret; + } + + public int LastIndexOf(uint value) { + int ret = Assimp_NETPINVOKE.UintVector_LastIndexOf(swigCPtr, value); + return ret; + } + + public bool Remove(uint value) { + bool ret = Assimp_NETPINVOKE.UintVector_Remove(swigCPtr, value); + return ret; + } + +} diff --git a/port/Assimp.NET/Assimp.NET_CS/aiAnimationVector.cs b/port/Assimp.NET/Assimp.NET_CS/aiAnimationVector.cs new file mode 100644 index 000000000..6b013ab49 --- /dev/null +++ b/port/Assimp.NET/Assimp.NET_CS/aiAnimationVector.cs @@ -0,0 +1,348 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.40 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + + +using System; +using System.Runtime.InteropServices; + +public class aiAnimationVector : IDisposable, System.Collections.IEnumerable +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IList +#endif + { + private HandleRef swigCPtr; + protected bool swigCMemOwn; + + internal aiAnimationVector(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } + + internal static HandleRef getCPtr(aiAnimationVector obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } + + ~aiAnimationVector() { + Dispose(); + } + + public virtual void Dispose() { + lock(this) { + if (swigCPtr.Handle != IntPtr.Zero) { + if (swigCMemOwn) { + swigCMemOwn = false; + Assimp_NETPINVOKE.delete_aiAnimationVector(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + } + GC.SuppressFinalize(this); + } + } + + public aiAnimationVector(System.Collections.ICollection c) : this() { + if (c == null) + throw new ArgumentNullException("c"); + foreach (aiAnimation element in c) { + this.Add(element); + } + } + + public bool IsFixedSize { + get { + return false; + } + } + + public bool IsReadOnly { + get { + return false; + } + } + + public aiAnimation this[int index] { + get { + return getitem(index); + } + set { + setitem(index, value); + } + } + + public int Capacity { + get { + return (int)capacity(); + } + set { + if (value < size()) + throw new ArgumentOutOfRangeException("Capacity"); + reserve((uint)value); + } + } + + public int Count { + get { + return (int)size(); + } + } + + public bool IsSynchronized { + get { + return false; + } + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array) +#else + public void CopyTo(aiAnimation[] array) +#endif + { + CopyTo(0, array, 0, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array, int arrayIndex) +#else + public void CopyTo(aiAnimation[] array, int arrayIndex) +#endif + { + CopyTo(0, array, arrayIndex, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(int index, System.Array array, int arrayIndex, int count) +#else + public void CopyTo(int index, aiAnimation[] array, int arrayIndex, int count) +#endif + { + if (array == null) + throw new ArgumentNullException("array"); + if (index < 0) + throw new ArgumentOutOfRangeException("index", "Value is less than zero"); + if (arrayIndex < 0) + throw new ArgumentOutOfRangeException("arrayIndex", "Value is less than zero"); + if (count < 0) + throw new ArgumentOutOfRangeException("count", "Value is less than zero"); + if (array.Rank > 1) + throw new ArgumentException("Multi dimensional array.", "array"); + if (index+count > this.Count || arrayIndex+count > array.Length) + throw new ArgumentException("Number of elements to copy is too large."); + for (int i=0; i System.Collections.Generic.IEnumerable.GetEnumerator() { + return new aiAnimationVectorEnumerator(this); + } +#endif + + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { + return new aiAnimationVectorEnumerator(this); + } + + public aiAnimationVectorEnumerator GetEnumerator() { + return new aiAnimationVectorEnumerator(this); + } + + // Type-safe enumerator + /// Note that the IEnumerator documentation requires an InvalidOperationException to be thrown + /// whenever the collection is modified. This has been done for changes in the size of the + /// collection but not when one of the elements of the collection is modified as it is a bit + /// tricky to detect unmanaged code that modifies the collection under our feet. + public sealed class aiAnimationVectorEnumerator : System.Collections.IEnumerator +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IEnumerator +#endif + { + private aiAnimationVector collectionRef; + private int currentIndex; + private object currentObject; + private int currentSize; + + public aiAnimationVectorEnumerator(aiAnimationVector collection) { + collectionRef = collection; + currentIndex = -1; + currentObject = null; + currentSize = collectionRef.Count; + } + + // Type-safe iterator Current + public aiAnimation Current { + get { + if (currentIndex == -1) + throw new InvalidOperationException("Enumeration not started."); + if (currentIndex > currentSize - 1) + throw new InvalidOperationException("Enumeration finished."); + if (currentObject == null) + throw new InvalidOperationException("Collection modified."); + return (aiAnimation)currentObject; + } + } + + // Type-unsafe IEnumerator.Current + object System.Collections.IEnumerator.Current { + get { + return Current; + } + } + + public bool MoveNext() { + int size = collectionRef.Count; + bool moveOkay = (currentIndex+1 < size) && (size == currentSize); + if (moveOkay) { + currentIndex++; + currentObject = collectionRef[currentIndex]; + } else { + currentObject = null; + } + return moveOkay; + } + + public void Reset() { + currentIndex = -1; + currentObject = null; + if (collectionRef.Count != currentSize) { + throw new InvalidOperationException("Collection modified."); + } + } + +#if !SWIG_DOTNET_1 + public void Dispose() { + currentIndex = -1; + currentObject = null; + } +#endif + } + + public void Clear() { + Assimp_NETPINVOKE.aiAnimationVector_Clear(swigCPtr); + } + + public void Add(aiAnimation x) { + Assimp_NETPINVOKE.aiAnimationVector_Add(swigCPtr, aiAnimation.getCPtr(x)); + } + + private uint size() { + uint ret = Assimp_NETPINVOKE.aiAnimationVector_size(swigCPtr); + return ret; + } + + private uint capacity() { + uint ret = Assimp_NETPINVOKE.aiAnimationVector_capacity(swigCPtr); + return ret; + } + + private void reserve(uint n) { + Assimp_NETPINVOKE.aiAnimationVector_reserve(swigCPtr, n); + } + + public aiAnimationVector() : this(Assimp_NETPINVOKE.new_aiAnimationVector__SWIG_0(), true) { + } + + public aiAnimationVector(aiAnimationVector other) : this(Assimp_NETPINVOKE.new_aiAnimationVector__SWIG_1(aiAnimationVector.getCPtr(other)), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public aiAnimationVector(int capacity) : this(Assimp_NETPINVOKE.new_aiAnimationVector__SWIG_2(capacity), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + private aiAnimation getitemcopy(int index) { + IntPtr cPtr = Assimp_NETPINVOKE.aiAnimationVector_getitemcopy(swigCPtr, index); + aiAnimation ret = (cPtr == IntPtr.Zero) ? null : new aiAnimation(cPtr, false); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private aiAnimation getitem(int index) { + IntPtr cPtr = Assimp_NETPINVOKE.aiAnimationVector_getitem(swigCPtr, index); + aiAnimation ret = (cPtr == IntPtr.Zero) ? null : new aiAnimation(cPtr, false); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private void setitem(int index, aiAnimation val) { + Assimp_NETPINVOKE.aiAnimationVector_setitem(swigCPtr, index, aiAnimation.getCPtr(val)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void AddRange(aiAnimationVector values) { + Assimp_NETPINVOKE.aiAnimationVector_AddRange(swigCPtr, aiAnimationVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public aiAnimationVector GetRange(int index, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.aiAnimationVector_GetRange(swigCPtr, index, count); + aiAnimationVector ret = (cPtr == IntPtr.Zero) ? null : new aiAnimationVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Insert(int index, aiAnimation x) { + Assimp_NETPINVOKE.aiAnimationVector_Insert(swigCPtr, index, aiAnimation.getCPtr(x)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void InsertRange(int index, aiAnimationVector values) { + Assimp_NETPINVOKE.aiAnimationVector_InsertRange(swigCPtr, index, aiAnimationVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveAt(int index) { + Assimp_NETPINVOKE.aiAnimationVector_RemoveAt(swigCPtr, index); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveRange(int index, int count) { + Assimp_NETPINVOKE.aiAnimationVector_RemoveRange(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public static aiAnimationVector Repeat(aiAnimation value, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.aiAnimationVector_Repeat(aiAnimation.getCPtr(value), count); + aiAnimationVector ret = (cPtr == IntPtr.Zero) ? null : new aiAnimationVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Reverse() { + Assimp_NETPINVOKE.aiAnimationVector_Reverse__SWIG_0(swigCPtr); + } + + public void Reverse(int index, int count) { + Assimp_NETPINVOKE.aiAnimationVector_Reverse__SWIG_1(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void SetRange(int index, aiAnimationVector values) { + Assimp_NETPINVOKE.aiAnimationVector_SetRange(swigCPtr, index, aiAnimationVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public bool Contains(aiAnimation value) { + bool ret = Assimp_NETPINVOKE.aiAnimationVector_Contains(swigCPtr, aiAnimation.getCPtr(value)); + return ret; + } + + public int IndexOf(aiAnimation value) { + int ret = Assimp_NETPINVOKE.aiAnimationVector_IndexOf(swigCPtr, aiAnimation.getCPtr(value)); + return ret; + } + + public int LastIndexOf(aiAnimation value) { + int ret = Assimp_NETPINVOKE.aiAnimationVector_LastIndexOf(swigCPtr, aiAnimation.getCPtr(value)); + return ret; + } + + public bool Remove(aiAnimation value) { + bool ret = Assimp_NETPINVOKE.aiAnimationVector_Remove(swigCPtr, aiAnimation.getCPtr(value)); + return ret; + } + +} diff --git a/port/Assimp.NET/Assimp.NET_CS/aiCameraVector.cs b/port/Assimp.NET/Assimp.NET_CS/aiCameraVector.cs new file mode 100644 index 000000000..338eb2f4f --- /dev/null +++ b/port/Assimp.NET/Assimp.NET_CS/aiCameraVector.cs @@ -0,0 +1,348 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.40 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + + +using System; +using System.Runtime.InteropServices; + +public class aiCameraVector : IDisposable, System.Collections.IEnumerable +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IList +#endif + { + private HandleRef swigCPtr; + protected bool swigCMemOwn; + + internal aiCameraVector(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } + + internal static HandleRef getCPtr(aiCameraVector obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } + + ~aiCameraVector() { + Dispose(); + } + + public virtual void Dispose() { + lock(this) { + if (swigCPtr.Handle != IntPtr.Zero) { + if (swigCMemOwn) { + swigCMemOwn = false; + Assimp_NETPINVOKE.delete_aiCameraVector(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + } + GC.SuppressFinalize(this); + } + } + + public aiCameraVector(System.Collections.ICollection c) : this() { + if (c == null) + throw new ArgumentNullException("c"); + foreach (aiCamera element in c) { + this.Add(element); + } + } + + public bool IsFixedSize { + get { + return false; + } + } + + public bool IsReadOnly { + get { + return false; + } + } + + public aiCamera this[int index] { + get { + return getitem(index); + } + set { + setitem(index, value); + } + } + + public int Capacity { + get { + return (int)capacity(); + } + set { + if (value < size()) + throw new ArgumentOutOfRangeException("Capacity"); + reserve((uint)value); + } + } + + public int Count { + get { + return (int)size(); + } + } + + public bool IsSynchronized { + get { + return false; + } + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array) +#else + public void CopyTo(aiCamera[] array) +#endif + { + CopyTo(0, array, 0, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array, int arrayIndex) +#else + public void CopyTo(aiCamera[] array, int arrayIndex) +#endif + { + CopyTo(0, array, arrayIndex, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(int index, System.Array array, int arrayIndex, int count) +#else + public void CopyTo(int index, aiCamera[] array, int arrayIndex, int count) +#endif + { + if (array == null) + throw new ArgumentNullException("array"); + if (index < 0) + throw new ArgumentOutOfRangeException("index", "Value is less than zero"); + if (arrayIndex < 0) + throw new ArgumentOutOfRangeException("arrayIndex", "Value is less than zero"); + if (count < 0) + throw new ArgumentOutOfRangeException("count", "Value is less than zero"); + if (array.Rank > 1) + throw new ArgumentException("Multi dimensional array.", "array"); + if (index+count > this.Count || arrayIndex+count > array.Length) + throw new ArgumentException("Number of elements to copy is too large."); + for (int i=0; i System.Collections.Generic.IEnumerable.GetEnumerator() { + return new aiCameraVectorEnumerator(this); + } +#endif + + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { + return new aiCameraVectorEnumerator(this); + } + + public aiCameraVectorEnumerator GetEnumerator() { + return new aiCameraVectorEnumerator(this); + } + + // Type-safe enumerator + /// Note that the IEnumerator documentation requires an InvalidOperationException to be thrown + /// whenever the collection is modified. This has been done for changes in the size of the + /// collection but not when one of the elements of the collection is modified as it is a bit + /// tricky to detect unmanaged code that modifies the collection under our feet. + public sealed class aiCameraVectorEnumerator : System.Collections.IEnumerator +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IEnumerator +#endif + { + private aiCameraVector collectionRef; + private int currentIndex; + private object currentObject; + private int currentSize; + + public aiCameraVectorEnumerator(aiCameraVector collection) { + collectionRef = collection; + currentIndex = -1; + currentObject = null; + currentSize = collectionRef.Count; + } + + // Type-safe iterator Current + public aiCamera Current { + get { + if (currentIndex == -1) + throw new InvalidOperationException("Enumeration not started."); + if (currentIndex > currentSize - 1) + throw new InvalidOperationException("Enumeration finished."); + if (currentObject == null) + throw new InvalidOperationException("Collection modified."); + return (aiCamera)currentObject; + } + } + + // Type-unsafe IEnumerator.Current + object System.Collections.IEnumerator.Current { + get { + return Current; + } + } + + public bool MoveNext() { + int size = collectionRef.Count; + bool moveOkay = (currentIndex+1 < size) && (size == currentSize); + if (moveOkay) { + currentIndex++; + currentObject = collectionRef[currentIndex]; + } else { + currentObject = null; + } + return moveOkay; + } + + public void Reset() { + currentIndex = -1; + currentObject = null; + if (collectionRef.Count != currentSize) { + throw new InvalidOperationException("Collection modified."); + } + } + +#if !SWIG_DOTNET_1 + public void Dispose() { + currentIndex = -1; + currentObject = null; + } +#endif + } + + public void Clear() { + Assimp_NETPINVOKE.aiCameraVector_Clear(swigCPtr); + } + + public void Add(aiCamera x) { + Assimp_NETPINVOKE.aiCameraVector_Add(swigCPtr, aiCamera.getCPtr(x)); + } + + private uint size() { + uint ret = Assimp_NETPINVOKE.aiCameraVector_size(swigCPtr); + return ret; + } + + private uint capacity() { + uint ret = Assimp_NETPINVOKE.aiCameraVector_capacity(swigCPtr); + return ret; + } + + private void reserve(uint n) { + Assimp_NETPINVOKE.aiCameraVector_reserve(swigCPtr, n); + } + + public aiCameraVector() : this(Assimp_NETPINVOKE.new_aiCameraVector__SWIG_0(), true) { + } + + public aiCameraVector(aiCameraVector other) : this(Assimp_NETPINVOKE.new_aiCameraVector__SWIG_1(aiCameraVector.getCPtr(other)), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public aiCameraVector(int capacity) : this(Assimp_NETPINVOKE.new_aiCameraVector__SWIG_2(capacity), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + private aiCamera getitemcopy(int index) { + IntPtr cPtr = Assimp_NETPINVOKE.aiCameraVector_getitemcopy(swigCPtr, index); + aiCamera ret = (cPtr == IntPtr.Zero) ? null : new aiCamera(cPtr, false); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private aiCamera getitem(int index) { + IntPtr cPtr = Assimp_NETPINVOKE.aiCameraVector_getitem(swigCPtr, index); + aiCamera ret = (cPtr == IntPtr.Zero) ? null : new aiCamera(cPtr, false); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private void setitem(int index, aiCamera val) { + Assimp_NETPINVOKE.aiCameraVector_setitem(swigCPtr, index, aiCamera.getCPtr(val)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void AddRange(aiCameraVector values) { + Assimp_NETPINVOKE.aiCameraVector_AddRange(swigCPtr, aiCameraVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public aiCameraVector GetRange(int index, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.aiCameraVector_GetRange(swigCPtr, index, count); + aiCameraVector ret = (cPtr == IntPtr.Zero) ? null : new aiCameraVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Insert(int index, aiCamera x) { + Assimp_NETPINVOKE.aiCameraVector_Insert(swigCPtr, index, aiCamera.getCPtr(x)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void InsertRange(int index, aiCameraVector values) { + Assimp_NETPINVOKE.aiCameraVector_InsertRange(swigCPtr, index, aiCameraVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveAt(int index) { + Assimp_NETPINVOKE.aiCameraVector_RemoveAt(swigCPtr, index); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveRange(int index, int count) { + Assimp_NETPINVOKE.aiCameraVector_RemoveRange(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public static aiCameraVector Repeat(aiCamera value, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.aiCameraVector_Repeat(aiCamera.getCPtr(value), count); + aiCameraVector ret = (cPtr == IntPtr.Zero) ? null : new aiCameraVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Reverse() { + Assimp_NETPINVOKE.aiCameraVector_Reverse__SWIG_0(swigCPtr); + } + + public void Reverse(int index, int count) { + Assimp_NETPINVOKE.aiCameraVector_Reverse__SWIG_1(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void SetRange(int index, aiCameraVector values) { + Assimp_NETPINVOKE.aiCameraVector_SetRange(swigCPtr, index, aiCameraVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public bool Contains(aiCamera value) { + bool ret = Assimp_NETPINVOKE.aiCameraVector_Contains(swigCPtr, aiCamera.getCPtr(value)); + return ret; + } + + public int IndexOf(aiCamera value) { + int ret = Assimp_NETPINVOKE.aiCameraVector_IndexOf(swigCPtr, aiCamera.getCPtr(value)); + return ret; + } + + public int LastIndexOf(aiCamera value) { + int ret = Assimp_NETPINVOKE.aiCameraVector_LastIndexOf(swigCPtr, aiCamera.getCPtr(value)); + return ret; + } + + public bool Remove(aiCamera value) { + bool ret = Assimp_NETPINVOKE.aiCameraVector_Remove(swigCPtr, aiCamera.getCPtr(value)); + return ret; + } + +} diff --git a/port/Assimp.NET/Assimp.NET_CS/aiColor4DVector.cs b/port/Assimp.NET/Assimp.NET_CS/aiColor4DVector.cs new file mode 100644 index 000000000..32121fccf --- /dev/null +++ b/port/Assimp.NET/Assimp.NET_CS/aiColor4DVector.cs @@ -0,0 +1,348 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.40 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + + +using System; +using System.Runtime.InteropServices; + +public class aiColor4DVector : IDisposable, System.Collections.IEnumerable +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IList +#endif + { + private HandleRef swigCPtr; + protected bool swigCMemOwn; + + internal aiColor4DVector(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } + + internal static HandleRef getCPtr(aiColor4DVector obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } + + ~aiColor4DVector() { + Dispose(); + } + + public virtual void Dispose() { + lock(this) { + if (swigCPtr.Handle != IntPtr.Zero) { + if (swigCMemOwn) { + swigCMemOwn = false; + Assimp_NETPINVOKE.delete_aiColor4DVector(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + } + GC.SuppressFinalize(this); + } + } + + public aiColor4DVector(System.Collections.ICollection c) : this() { + if (c == null) + throw new ArgumentNullException("c"); + foreach (SWIGTYPE_p_aiColor4D element in c) { + this.Add(element); + } + } + + public bool IsFixedSize { + get { + return false; + } + } + + public bool IsReadOnly { + get { + return false; + } + } + + public SWIGTYPE_p_aiColor4D this[int index] { + get { + return getitem(index); + } + set { + setitem(index, value); + } + } + + public int Capacity { + get { + return (int)capacity(); + } + set { + if (value < size()) + throw new ArgumentOutOfRangeException("Capacity"); + reserve((uint)value); + } + } + + public int Count { + get { + return (int)size(); + } + } + + public bool IsSynchronized { + get { + return false; + } + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array) +#else + public void CopyTo(SWIGTYPE_p_aiColor4D[] array) +#endif + { + CopyTo(0, array, 0, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array, int arrayIndex) +#else + public void CopyTo(SWIGTYPE_p_aiColor4D[] array, int arrayIndex) +#endif + { + CopyTo(0, array, arrayIndex, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(int index, System.Array array, int arrayIndex, int count) +#else + public void CopyTo(int index, SWIGTYPE_p_aiColor4D[] array, int arrayIndex, int count) +#endif + { + if (array == null) + throw new ArgumentNullException("array"); + if (index < 0) + throw new ArgumentOutOfRangeException("index", "Value is less than zero"); + if (arrayIndex < 0) + throw new ArgumentOutOfRangeException("arrayIndex", "Value is less than zero"); + if (count < 0) + throw new ArgumentOutOfRangeException("count", "Value is less than zero"); + if (array.Rank > 1) + throw new ArgumentException("Multi dimensional array.", "array"); + if (index+count > this.Count || arrayIndex+count > array.Length) + throw new ArgumentException("Number of elements to copy is too large."); + for (int i=0; i System.Collections.Generic.IEnumerable.GetEnumerator() { + return new aiColor4DVectorEnumerator(this); + } +#endif + + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { + return new aiColor4DVectorEnumerator(this); + } + + public aiColor4DVectorEnumerator GetEnumerator() { + return new aiColor4DVectorEnumerator(this); + } + + // Type-safe enumerator + /// Note that the IEnumerator documentation requires an InvalidOperationException to be thrown + /// whenever the collection is modified. This has been done for changes in the size of the + /// collection but not when one of the elements of the collection is modified as it is a bit + /// tricky to detect unmanaged code that modifies the collection under our feet. + public sealed class aiColor4DVectorEnumerator : System.Collections.IEnumerator +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IEnumerator +#endif + { + private aiColor4DVector collectionRef; + private int currentIndex; + private object currentObject; + private int currentSize; + + public aiColor4DVectorEnumerator(aiColor4DVector collection) { + collectionRef = collection; + currentIndex = -1; + currentObject = null; + currentSize = collectionRef.Count; + } + + // Type-safe iterator Current + public SWIGTYPE_p_aiColor4D Current { + get { + if (currentIndex == -1) + throw new InvalidOperationException("Enumeration not started."); + if (currentIndex > currentSize - 1) + throw new InvalidOperationException("Enumeration finished."); + if (currentObject == null) + throw new InvalidOperationException("Collection modified."); + return (SWIGTYPE_p_aiColor4D)currentObject; + } + } + + // Type-unsafe IEnumerator.Current + object System.Collections.IEnumerator.Current { + get { + return Current; + } + } + + public bool MoveNext() { + int size = collectionRef.Count; + bool moveOkay = (currentIndex+1 < size) && (size == currentSize); + if (moveOkay) { + currentIndex++; + currentObject = collectionRef[currentIndex]; + } else { + currentObject = null; + } + return moveOkay; + } + + public void Reset() { + currentIndex = -1; + currentObject = null; + if (collectionRef.Count != currentSize) { + throw new InvalidOperationException("Collection modified."); + } + } + +#if !SWIG_DOTNET_1 + public void Dispose() { + currentIndex = -1; + currentObject = null; + } +#endif + } + + public void Clear() { + Assimp_NETPINVOKE.aiColor4DVector_Clear(swigCPtr); + } + + public void Add(SWIGTYPE_p_aiColor4D x) { + Assimp_NETPINVOKE.aiColor4DVector_Add(swigCPtr, SWIGTYPE_p_aiColor4D.getCPtr(x)); + } + + private uint size() { + uint ret = Assimp_NETPINVOKE.aiColor4DVector_size(swigCPtr); + return ret; + } + + private uint capacity() { + uint ret = Assimp_NETPINVOKE.aiColor4DVector_capacity(swigCPtr); + return ret; + } + + private void reserve(uint n) { + Assimp_NETPINVOKE.aiColor4DVector_reserve(swigCPtr, n); + } + + public aiColor4DVector() : this(Assimp_NETPINVOKE.new_aiColor4DVector__SWIG_0(), true) { + } + + public aiColor4DVector(aiColor4DVector other) : this(Assimp_NETPINVOKE.new_aiColor4DVector__SWIG_1(aiColor4DVector.getCPtr(other)), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public aiColor4DVector(int capacity) : this(Assimp_NETPINVOKE.new_aiColor4DVector__SWIG_2(capacity), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + private SWIGTYPE_p_aiColor4D getitemcopy(int index) { + IntPtr cPtr = Assimp_NETPINVOKE.aiColor4DVector_getitemcopy(swigCPtr, index); + SWIGTYPE_p_aiColor4D ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_aiColor4D(cPtr, false); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private SWIGTYPE_p_aiColor4D getitem(int index) { + IntPtr cPtr = Assimp_NETPINVOKE.aiColor4DVector_getitem(swigCPtr, index); + SWIGTYPE_p_aiColor4D ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_aiColor4D(cPtr, false); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private void setitem(int index, SWIGTYPE_p_aiColor4D val) { + Assimp_NETPINVOKE.aiColor4DVector_setitem(swigCPtr, index, SWIGTYPE_p_aiColor4D.getCPtr(val)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void AddRange(aiColor4DVector values) { + Assimp_NETPINVOKE.aiColor4DVector_AddRange(swigCPtr, aiColor4DVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public aiColor4DVector GetRange(int index, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.aiColor4DVector_GetRange(swigCPtr, index, count); + aiColor4DVector ret = (cPtr == IntPtr.Zero) ? null : new aiColor4DVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Insert(int index, SWIGTYPE_p_aiColor4D x) { + Assimp_NETPINVOKE.aiColor4DVector_Insert(swigCPtr, index, SWIGTYPE_p_aiColor4D.getCPtr(x)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void InsertRange(int index, aiColor4DVector values) { + Assimp_NETPINVOKE.aiColor4DVector_InsertRange(swigCPtr, index, aiColor4DVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveAt(int index) { + Assimp_NETPINVOKE.aiColor4DVector_RemoveAt(swigCPtr, index); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveRange(int index, int count) { + Assimp_NETPINVOKE.aiColor4DVector_RemoveRange(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public static aiColor4DVector Repeat(SWIGTYPE_p_aiColor4D value, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.aiColor4DVector_Repeat(SWIGTYPE_p_aiColor4D.getCPtr(value), count); + aiColor4DVector ret = (cPtr == IntPtr.Zero) ? null : new aiColor4DVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Reverse() { + Assimp_NETPINVOKE.aiColor4DVector_Reverse__SWIG_0(swigCPtr); + } + + public void Reverse(int index, int count) { + Assimp_NETPINVOKE.aiColor4DVector_Reverse__SWIG_1(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void SetRange(int index, aiColor4DVector values) { + Assimp_NETPINVOKE.aiColor4DVector_SetRange(swigCPtr, index, aiColor4DVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public bool Contains(SWIGTYPE_p_aiColor4D value) { + bool ret = Assimp_NETPINVOKE.aiColor4DVector_Contains(swigCPtr, SWIGTYPE_p_aiColor4D.getCPtr(value)); + return ret; + } + + public int IndexOf(SWIGTYPE_p_aiColor4D value) { + int ret = Assimp_NETPINVOKE.aiColor4DVector_IndexOf(swigCPtr, SWIGTYPE_p_aiColor4D.getCPtr(value)); + return ret; + } + + public int LastIndexOf(SWIGTYPE_p_aiColor4D value) { + int ret = Assimp_NETPINVOKE.aiColor4DVector_LastIndexOf(swigCPtr, SWIGTYPE_p_aiColor4D.getCPtr(value)); + return ret; + } + + public bool Remove(SWIGTYPE_p_aiColor4D value) { + bool ret = Assimp_NETPINVOKE.aiColor4DVector_Remove(swigCPtr, SWIGTYPE_p_aiColor4D.getCPtr(value)); + return ret; + } + +} diff --git a/port/Assimp.NET/Assimp.NET_CS/aiColor4DVectorVector.cs b/port/Assimp.NET/Assimp.NET_CS/aiColor4DVectorVector.cs new file mode 100644 index 000000000..21ab68b06 --- /dev/null +++ b/port/Assimp.NET/Assimp.NET_CS/aiColor4DVectorVector.cs @@ -0,0 +1,327 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.40 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + + +using System; +using System.Runtime.InteropServices; + +public class aiColor4DVectorVector : IDisposable, System.Collections.IEnumerable +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IEnumerable +#endif + { + private HandleRef swigCPtr; + protected bool swigCMemOwn; + + internal aiColor4DVectorVector(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } + + internal static HandleRef getCPtr(aiColor4DVectorVector obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } + + ~aiColor4DVectorVector() { + Dispose(); + } + + public virtual void Dispose() { + lock(this) { + if (swigCPtr.Handle != IntPtr.Zero) { + if (swigCMemOwn) { + swigCMemOwn = false; + Assimp_NETPINVOKE.delete_aiColor4DVectorVector(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + } + GC.SuppressFinalize(this); + } + } + + public aiColor4DVectorVector(System.Collections.ICollection c) : this() { + if (c == null) + throw new ArgumentNullException("c"); + foreach (aiColor4DVector element in c) { + this.Add(element); + } + } + + public bool IsFixedSize { + get { + return false; + } + } + + public bool IsReadOnly { + get { + return false; + } + } + + public aiColor4DVector this[int index] { + get { + return getitem(index); + } + set { + setitem(index, value); + } + } + + public int Capacity { + get { + return (int)capacity(); + } + set { + if (value < size()) + throw new ArgumentOutOfRangeException("Capacity"); + reserve((uint)value); + } + } + + public int Count { + get { + return (int)size(); + } + } + + public bool IsSynchronized { + get { + return false; + } + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array) +#else + public void CopyTo(aiColor4DVector[] array) +#endif + { + CopyTo(0, array, 0, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array, int arrayIndex) +#else + public void CopyTo(aiColor4DVector[] array, int arrayIndex) +#endif + { + CopyTo(0, array, arrayIndex, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(int index, System.Array array, int arrayIndex, int count) +#else + public void CopyTo(int index, aiColor4DVector[] array, int arrayIndex, int count) +#endif + { + if (array == null) + throw new ArgumentNullException("array"); + if (index < 0) + throw new ArgumentOutOfRangeException("index", "Value is less than zero"); + if (arrayIndex < 0) + throw new ArgumentOutOfRangeException("arrayIndex", "Value is less than zero"); + if (count < 0) + throw new ArgumentOutOfRangeException("count", "Value is less than zero"); + if (array.Rank > 1) + throw new ArgumentException("Multi dimensional array.", "array"); + if (index+count > this.Count || arrayIndex+count > array.Length) + throw new ArgumentException("Number of elements to copy is too large."); + for (int i=0; i System.Collections.Generic.IEnumerable.GetEnumerator() { + return new aiColor4DVectorVectorEnumerator(this); + } +#endif + + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { + return new aiColor4DVectorVectorEnumerator(this); + } + + public aiColor4DVectorVectorEnumerator GetEnumerator() { + return new aiColor4DVectorVectorEnumerator(this); + } + + // Type-safe enumerator + /// Note that the IEnumerator documentation requires an InvalidOperationException to be thrown + /// whenever the collection is modified. This has been done for changes in the size of the + /// collection but not when one of the elements of the collection is modified as it is a bit + /// tricky to detect unmanaged code that modifies the collection under our feet. + public sealed class aiColor4DVectorVectorEnumerator : System.Collections.IEnumerator +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IEnumerator +#endif + { + private aiColor4DVectorVector collectionRef; + private int currentIndex; + private object currentObject; + private int currentSize; + + public aiColor4DVectorVectorEnumerator(aiColor4DVectorVector collection) { + collectionRef = collection; + currentIndex = -1; + currentObject = null; + currentSize = collectionRef.Count; + } + + // Type-safe iterator Current + public aiColor4DVector Current { + get { + if (currentIndex == -1) + throw new InvalidOperationException("Enumeration not started."); + if (currentIndex > currentSize - 1) + throw new InvalidOperationException("Enumeration finished."); + if (currentObject == null) + throw new InvalidOperationException("Collection modified."); + return (aiColor4DVector)currentObject; + } + } + + // Type-unsafe IEnumerator.Current + object System.Collections.IEnumerator.Current { + get { + return Current; + } + } + + public bool MoveNext() { + int size = collectionRef.Count; + bool moveOkay = (currentIndex+1 < size) && (size == currentSize); + if (moveOkay) { + currentIndex++; + currentObject = collectionRef[currentIndex]; + } else { + currentObject = null; + } + return moveOkay; + } + + public void Reset() { + currentIndex = -1; + currentObject = null; + if (collectionRef.Count != currentSize) { + throw new InvalidOperationException("Collection modified."); + } + } + +#if !SWIG_DOTNET_1 + public void Dispose() { + currentIndex = -1; + currentObject = null; + } +#endif + } + + public void Clear() { + Assimp_NETPINVOKE.aiColor4DVectorVector_Clear(swigCPtr); + } + + public void Add(aiColor4DVector x) { + Assimp_NETPINVOKE.aiColor4DVectorVector_Add(swigCPtr, aiColor4DVector.getCPtr(x)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + private uint size() { + uint ret = Assimp_NETPINVOKE.aiColor4DVectorVector_size(swigCPtr); + return ret; + } + + private uint capacity() { + uint ret = Assimp_NETPINVOKE.aiColor4DVectorVector_capacity(swigCPtr); + return ret; + } + + private void reserve(uint n) { + Assimp_NETPINVOKE.aiColor4DVectorVector_reserve(swigCPtr, n); + } + + public aiColor4DVectorVector() : this(Assimp_NETPINVOKE.new_aiColor4DVectorVector__SWIG_0(), true) { + } + + public aiColor4DVectorVector(aiColor4DVectorVector other) : this(Assimp_NETPINVOKE.new_aiColor4DVectorVector__SWIG_1(aiColor4DVectorVector.getCPtr(other)), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public aiColor4DVectorVector(int capacity) : this(Assimp_NETPINVOKE.new_aiColor4DVectorVector__SWIG_2(capacity), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + private aiColor4DVector getitemcopy(int index) { + aiColor4DVector ret = new aiColor4DVector(Assimp_NETPINVOKE.aiColor4DVectorVector_getitemcopy(swigCPtr, index), true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private aiColor4DVector getitem(int index) { + aiColor4DVector ret = new aiColor4DVector(Assimp_NETPINVOKE.aiColor4DVectorVector_getitem(swigCPtr, index), false); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private void setitem(int index, aiColor4DVector val) { + Assimp_NETPINVOKE.aiColor4DVectorVector_setitem(swigCPtr, index, aiColor4DVector.getCPtr(val)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void AddRange(aiColor4DVectorVector values) { + Assimp_NETPINVOKE.aiColor4DVectorVector_AddRange(swigCPtr, aiColor4DVectorVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public aiColor4DVectorVector GetRange(int index, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.aiColor4DVectorVector_GetRange(swigCPtr, index, count); + aiColor4DVectorVector ret = (cPtr == IntPtr.Zero) ? null : new aiColor4DVectorVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Insert(int index, aiColor4DVector x) { + Assimp_NETPINVOKE.aiColor4DVectorVector_Insert(swigCPtr, index, aiColor4DVector.getCPtr(x)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void InsertRange(int index, aiColor4DVectorVector values) { + Assimp_NETPINVOKE.aiColor4DVectorVector_InsertRange(swigCPtr, index, aiColor4DVectorVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveAt(int index) { + Assimp_NETPINVOKE.aiColor4DVectorVector_RemoveAt(swigCPtr, index); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveRange(int index, int count) { + Assimp_NETPINVOKE.aiColor4DVectorVector_RemoveRange(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public static aiColor4DVectorVector Repeat(aiColor4DVector value, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.aiColor4DVectorVector_Repeat(aiColor4DVector.getCPtr(value), count); + aiColor4DVectorVector ret = (cPtr == IntPtr.Zero) ? null : new aiColor4DVectorVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Reverse() { + Assimp_NETPINVOKE.aiColor4DVectorVector_Reverse__SWIG_0(swigCPtr); + } + + public void Reverse(int index, int count) { + Assimp_NETPINVOKE.aiColor4DVectorVector_Reverse__SWIG_1(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void SetRange(int index, aiColor4DVectorVector values) { + Assimp_NETPINVOKE.aiColor4DVectorVector_SetRange(swigCPtr, index, aiColor4DVectorVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + +} diff --git a/port/Assimp.NET/Assimp.NET_CS/aiFaceVector.cs b/port/Assimp.NET/Assimp.NET_CS/aiFaceVector.cs new file mode 100644 index 000000000..a4996cf67 --- /dev/null +++ b/port/Assimp.NET/Assimp.NET_CS/aiFaceVector.cs @@ -0,0 +1,348 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.40 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + + +using System; +using System.Runtime.InteropServices; + +public class aiFaceVector : IDisposable, System.Collections.IEnumerable +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IList +#endif + { + private HandleRef swigCPtr; + protected bool swigCMemOwn; + + internal aiFaceVector(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } + + internal static HandleRef getCPtr(aiFaceVector obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } + + ~aiFaceVector() { + Dispose(); + } + + public virtual void Dispose() { + lock(this) { + if (swigCPtr.Handle != IntPtr.Zero) { + if (swigCMemOwn) { + swigCMemOwn = false; + Assimp_NETPINVOKE.delete_aiFaceVector(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + } + GC.SuppressFinalize(this); + } + } + + public aiFaceVector(System.Collections.ICollection c) : this() { + if (c == null) + throw new ArgumentNullException("c"); + foreach (aiFace element in c) { + this.Add(element); + } + } + + public bool IsFixedSize { + get { + return false; + } + } + + public bool IsReadOnly { + get { + return false; + } + } + + public aiFace this[int index] { + get { + return getitem(index); + } + set { + setitem(index, value); + } + } + + public int Capacity { + get { + return (int)capacity(); + } + set { + if (value < size()) + throw new ArgumentOutOfRangeException("Capacity"); + reserve((uint)value); + } + } + + public int Count { + get { + return (int)size(); + } + } + + public bool IsSynchronized { + get { + return false; + } + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array) +#else + public void CopyTo(aiFace[] array) +#endif + { + CopyTo(0, array, 0, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array, int arrayIndex) +#else + public void CopyTo(aiFace[] array, int arrayIndex) +#endif + { + CopyTo(0, array, arrayIndex, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(int index, System.Array array, int arrayIndex, int count) +#else + public void CopyTo(int index, aiFace[] array, int arrayIndex, int count) +#endif + { + if (array == null) + throw new ArgumentNullException("array"); + if (index < 0) + throw new ArgumentOutOfRangeException("index", "Value is less than zero"); + if (arrayIndex < 0) + throw new ArgumentOutOfRangeException("arrayIndex", "Value is less than zero"); + if (count < 0) + throw new ArgumentOutOfRangeException("count", "Value is less than zero"); + if (array.Rank > 1) + throw new ArgumentException("Multi dimensional array.", "array"); + if (index+count > this.Count || arrayIndex+count > array.Length) + throw new ArgumentException("Number of elements to copy is too large."); + for (int i=0; i System.Collections.Generic.IEnumerable.GetEnumerator() { + return new aiFaceVectorEnumerator(this); + } +#endif + + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { + return new aiFaceVectorEnumerator(this); + } + + public aiFaceVectorEnumerator GetEnumerator() { + return new aiFaceVectorEnumerator(this); + } + + // Type-safe enumerator + /// Note that the IEnumerator documentation requires an InvalidOperationException to be thrown + /// whenever the collection is modified. This has been done for changes in the size of the + /// collection but not when one of the elements of the collection is modified as it is a bit + /// tricky to detect unmanaged code that modifies the collection under our feet. + public sealed class aiFaceVectorEnumerator : System.Collections.IEnumerator +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IEnumerator +#endif + { + private aiFaceVector collectionRef; + private int currentIndex; + private object currentObject; + private int currentSize; + + public aiFaceVectorEnumerator(aiFaceVector collection) { + collectionRef = collection; + currentIndex = -1; + currentObject = null; + currentSize = collectionRef.Count; + } + + // Type-safe iterator Current + public aiFace Current { + get { + if (currentIndex == -1) + throw new InvalidOperationException("Enumeration not started."); + if (currentIndex > currentSize - 1) + throw new InvalidOperationException("Enumeration finished."); + if (currentObject == null) + throw new InvalidOperationException("Collection modified."); + return (aiFace)currentObject; + } + } + + // Type-unsafe IEnumerator.Current + object System.Collections.IEnumerator.Current { + get { + return Current; + } + } + + public bool MoveNext() { + int size = collectionRef.Count; + bool moveOkay = (currentIndex+1 < size) && (size == currentSize); + if (moveOkay) { + currentIndex++; + currentObject = collectionRef[currentIndex]; + } else { + currentObject = null; + } + return moveOkay; + } + + public void Reset() { + currentIndex = -1; + currentObject = null; + if (collectionRef.Count != currentSize) { + throw new InvalidOperationException("Collection modified."); + } + } + +#if !SWIG_DOTNET_1 + public void Dispose() { + currentIndex = -1; + currentObject = null; + } +#endif + } + + public void Clear() { + Assimp_NETPINVOKE.aiFaceVector_Clear(swigCPtr); + } + + public void Add(aiFace x) { + Assimp_NETPINVOKE.aiFaceVector_Add(swigCPtr, aiFace.getCPtr(x)); + } + + private uint size() { + uint ret = Assimp_NETPINVOKE.aiFaceVector_size(swigCPtr); + return ret; + } + + private uint capacity() { + uint ret = Assimp_NETPINVOKE.aiFaceVector_capacity(swigCPtr); + return ret; + } + + private void reserve(uint n) { + Assimp_NETPINVOKE.aiFaceVector_reserve(swigCPtr, n); + } + + public aiFaceVector() : this(Assimp_NETPINVOKE.new_aiFaceVector__SWIG_0(), true) { + } + + public aiFaceVector(aiFaceVector other) : this(Assimp_NETPINVOKE.new_aiFaceVector__SWIG_1(aiFaceVector.getCPtr(other)), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public aiFaceVector(int capacity) : this(Assimp_NETPINVOKE.new_aiFaceVector__SWIG_2(capacity), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + private aiFace getitemcopy(int index) { + IntPtr cPtr = Assimp_NETPINVOKE.aiFaceVector_getitemcopy(swigCPtr, index); + aiFace ret = (cPtr == IntPtr.Zero) ? null : new aiFace(cPtr, false); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private aiFace getitem(int index) { + IntPtr cPtr = Assimp_NETPINVOKE.aiFaceVector_getitem(swigCPtr, index); + aiFace ret = (cPtr == IntPtr.Zero) ? null : new aiFace(cPtr, false); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private void setitem(int index, aiFace val) { + Assimp_NETPINVOKE.aiFaceVector_setitem(swigCPtr, index, aiFace.getCPtr(val)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void AddRange(aiFaceVector values) { + Assimp_NETPINVOKE.aiFaceVector_AddRange(swigCPtr, aiFaceVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public aiFaceVector GetRange(int index, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.aiFaceVector_GetRange(swigCPtr, index, count); + aiFaceVector ret = (cPtr == IntPtr.Zero) ? null : new aiFaceVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Insert(int index, aiFace x) { + Assimp_NETPINVOKE.aiFaceVector_Insert(swigCPtr, index, aiFace.getCPtr(x)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void InsertRange(int index, aiFaceVector values) { + Assimp_NETPINVOKE.aiFaceVector_InsertRange(swigCPtr, index, aiFaceVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveAt(int index) { + Assimp_NETPINVOKE.aiFaceVector_RemoveAt(swigCPtr, index); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveRange(int index, int count) { + Assimp_NETPINVOKE.aiFaceVector_RemoveRange(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public static aiFaceVector Repeat(aiFace value, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.aiFaceVector_Repeat(aiFace.getCPtr(value), count); + aiFaceVector ret = (cPtr == IntPtr.Zero) ? null : new aiFaceVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Reverse() { + Assimp_NETPINVOKE.aiFaceVector_Reverse__SWIG_0(swigCPtr); + } + + public void Reverse(int index, int count) { + Assimp_NETPINVOKE.aiFaceVector_Reverse__SWIG_1(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void SetRange(int index, aiFaceVector values) { + Assimp_NETPINVOKE.aiFaceVector_SetRange(swigCPtr, index, aiFaceVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public bool Contains(aiFace value) { + bool ret = Assimp_NETPINVOKE.aiFaceVector_Contains(swigCPtr, aiFace.getCPtr(value)); + return ret; + } + + public int IndexOf(aiFace value) { + int ret = Assimp_NETPINVOKE.aiFaceVector_IndexOf(swigCPtr, aiFace.getCPtr(value)); + return ret; + } + + public int LastIndexOf(aiFace value) { + int ret = Assimp_NETPINVOKE.aiFaceVector_LastIndexOf(swigCPtr, aiFace.getCPtr(value)); + return ret; + } + + public bool Remove(aiFace value) { + bool ret = Assimp_NETPINVOKE.aiFaceVector_Remove(swigCPtr, aiFace.getCPtr(value)); + return ret; + } + +} diff --git a/port/Assimp.NET/Assimp.NET_CS/aiLightVector.cs b/port/Assimp.NET/Assimp.NET_CS/aiLightVector.cs new file mode 100644 index 000000000..c1dab4ffb --- /dev/null +++ b/port/Assimp.NET/Assimp.NET_CS/aiLightVector.cs @@ -0,0 +1,348 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.40 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + + +using System; +using System.Runtime.InteropServices; + +public class aiLightVector : IDisposable, System.Collections.IEnumerable +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IList +#endif + { + private HandleRef swigCPtr; + protected bool swigCMemOwn; + + internal aiLightVector(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } + + internal static HandleRef getCPtr(aiLightVector obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } + + ~aiLightVector() { + Dispose(); + } + + public virtual void Dispose() { + lock(this) { + if (swigCPtr.Handle != IntPtr.Zero) { + if (swigCMemOwn) { + swigCMemOwn = false; + Assimp_NETPINVOKE.delete_aiLightVector(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + } + GC.SuppressFinalize(this); + } + } + + public aiLightVector(System.Collections.ICollection c) : this() { + if (c == null) + throw new ArgumentNullException("c"); + foreach (aiLight element in c) { + this.Add(element); + } + } + + public bool IsFixedSize { + get { + return false; + } + } + + public bool IsReadOnly { + get { + return false; + } + } + + public aiLight this[int index] { + get { + return getitem(index); + } + set { + setitem(index, value); + } + } + + public int Capacity { + get { + return (int)capacity(); + } + set { + if (value < size()) + throw new ArgumentOutOfRangeException("Capacity"); + reserve((uint)value); + } + } + + public int Count { + get { + return (int)size(); + } + } + + public bool IsSynchronized { + get { + return false; + } + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array) +#else + public void CopyTo(aiLight[] array) +#endif + { + CopyTo(0, array, 0, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array, int arrayIndex) +#else + public void CopyTo(aiLight[] array, int arrayIndex) +#endif + { + CopyTo(0, array, arrayIndex, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(int index, System.Array array, int arrayIndex, int count) +#else + public void CopyTo(int index, aiLight[] array, int arrayIndex, int count) +#endif + { + if (array == null) + throw new ArgumentNullException("array"); + if (index < 0) + throw new ArgumentOutOfRangeException("index", "Value is less than zero"); + if (arrayIndex < 0) + throw new ArgumentOutOfRangeException("arrayIndex", "Value is less than zero"); + if (count < 0) + throw new ArgumentOutOfRangeException("count", "Value is less than zero"); + if (array.Rank > 1) + throw new ArgumentException("Multi dimensional array.", "array"); + if (index+count > this.Count || arrayIndex+count > array.Length) + throw new ArgumentException("Number of elements to copy is too large."); + for (int i=0; i System.Collections.Generic.IEnumerable.GetEnumerator() { + return new aiLightVectorEnumerator(this); + } +#endif + + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { + return new aiLightVectorEnumerator(this); + } + + public aiLightVectorEnumerator GetEnumerator() { + return new aiLightVectorEnumerator(this); + } + + // Type-safe enumerator + /// Note that the IEnumerator documentation requires an InvalidOperationException to be thrown + /// whenever the collection is modified. This has been done for changes in the size of the + /// collection but not when one of the elements of the collection is modified as it is a bit + /// tricky to detect unmanaged code that modifies the collection under our feet. + public sealed class aiLightVectorEnumerator : System.Collections.IEnumerator +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IEnumerator +#endif + { + private aiLightVector collectionRef; + private int currentIndex; + private object currentObject; + private int currentSize; + + public aiLightVectorEnumerator(aiLightVector collection) { + collectionRef = collection; + currentIndex = -1; + currentObject = null; + currentSize = collectionRef.Count; + } + + // Type-safe iterator Current + public aiLight Current { + get { + if (currentIndex == -1) + throw new InvalidOperationException("Enumeration not started."); + if (currentIndex > currentSize - 1) + throw new InvalidOperationException("Enumeration finished."); + if (currentObject == null) + throw new InvalidOperationException("Collection modified."); + return (aiLight)currentObject; + } + } + + // Type-unsafe IEnumerator.Current + object System.Collections.IEnumerator.Current { + get { + return Current; + } + } + + public bool MoveNext() { + int size = collectionRef.Count; + bool moveOkay = (currentIndex+1 < size) && (size == currentSize); + if (moveOkay) { + currentIndex++; + currentObject = collectionRef[currentIndex]; + } else { + currentObject = null; + } + return moveOkay; + } + + public void Reset() { + currentIndex = -1; + currentObject = null; + if (collectionRef.Count != currentSize) { + throw new InvalidOperationException("Collection modified."); + } + } + +#if !SWIG_DOTNET_1 + public void Dispose() { + currentIndex = -1; + currentObject = null; + } +#endif + } + + public void Clear() { + Assimp_NETPINVOKE.aiLightVector_Clear(swigCPtr); + } + + public void Add(aiLight x) { + Assimp_NETPINVOKE.aiLightVector_Add(swigCPtr, aiLight.getCPtr(x)); + } + + private uint size() { + uint ret = Assimp_NETPINVOKE.aiLightVector_size(swigCPtr); + return ret; + } + + private uint capacity() { + uint ret = Assimp_NETPINVOKE.aiLightVector_capacity(swigCPtr); + return ret; + } + + private void reserve(uint n) { + Assimp_NETPINVOKE.aiLightVector_reserve(swigCPtr, n); + } + + public aiLightVector() : this(Assimp_NETPINVOKE.new_aiLightVector__SWIG_0(), true) { + } + + public aiLightVector(aiLightVector other) : this(Assimp_NETPINVOKE.new_aiLightVector__SWIG_1(aiLightVector.getCPtr(other)), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public aiLightVector(int capacity) : this(Assimp_NETPINVOKE.new_aiLightVector__SWIG_2(capacity), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + private aiLight getitemcopy(int index) { + IntPtr cPtr = Assimp_NETPINVOKE.aiLightVector_getitemcopy(swigCPtr, index); + aiLight ret = (cPtr == IntPtr.Zero) ? null : new aiLight(cPtr, false); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private aiLight getitem(int index) { + IntPtr cPtr = Assimp_NETPINVOKE.aiLightVector_getitem(swigCPtr, index); + aiLight ret = (cPtr == IntPtr.Zero) ? null : new aiLight(cPtr, false); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private void setitem(int index, aiLight val) { + Assimp_NETPINVOKE.aiLightVector_setitem(swigCPtr, index, aiLight.getCPtr(val)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void AddRange(aiLightVector values) { + Assimp_NETPINVOKE.aiLightVector_AddRange(swigCPtr, aiLightVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public aiLightVector GetRange(int index, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.aiLightVector_GetRange(swigCPtr, index, count); + aiLightVector ret = (cPtr == IntPtr.Zero) ? null : new aiLightVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Insert(int index, aiLight x) { + Assimp_NETPINVOKE.aiLightVector_Insert(swigCPtr, index, aiLight.getCPtr(x)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void InsertRange(int index, aiLightVector values) { + Assimp_NETPINVOKE.aiLightVector_InsertRange(swigCPtr, index, aiLightVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveAt(int index) { + Assimp_NETPINVOKE.aiLightVector_RemoveAt(swigCPtr, index); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveRange(int index, int count) { + Assimp_NETPINVOKE.aiLightVector_RemoveRange(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public static aiLightVector Repeat(aiLight value, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.aiLightVector_Repeat(aiLight.getCPtr(value), count); + aiLightVector ret = (cPtr == IntPtr.Zero) ? null : new aiLightVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Reverse() { + Assimp_NETPINVOKE.aiLightVector_Reverse__SWIG_0(swigCPtr); + } + + public void Reverse(int index, int count) { + Assimp_NETPINVOKE.aiLightVector_Reverse__SWIG_1(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void SetRange(int index, aiLightVector values) { + Assimp_NETPINVOKE.aiLightVector_SetRange(swigCPtr, index, aiLightVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public bool Contains(aiLight value) { + bool ret = Assimp_NETPINVOKE.aiLightVector_Contains(swigCPtr, aiLight.getCPtr(value)); + return ret; + } + + public int IndexOf(aiLight value) { + int ret = Assimp_NETPINVOKE.aiLightVector_IndexOf(swigCPtr, aiLight.getCPtr(value)); + return ret; + } + + public int LastIndexOf(aiLight value) { + int ret = Assimp_NETPINVOKE.aiLightVector_LastIndexOf(swigCPtr, aiLight.getCPtr(value)); + return ret; + } + + public bool Remove(aiLight value) { + bool ret = Assimp_NETPINVOKE.aiLightVector_Remove(swigCPtr, aiLight.getCPtr(value)); + return ret; + } + +} diff --git a/port/Assimp.NET/Assimp.NET_CS/aiMaterialVector.cs b/port/Assimp.NET/Assimp.NET_CS/aiMaterialVector.cs new file mode 100644 index 000000000..7c2de84c3 --- /dev/null +++ b/port/Assimp.NET/Assimp.NET_CS/aiMaterialVector.cs @@ -0,0 +1,348 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.40 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + + +using System; +using System.Runtime.InteropServices; + +public class aiMaterialVector : IDisposable, System.Collections.IEnumerable +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IList +#endif + { + private HandleRef swigCPtr; + protected bool swigCMemOwn; + + internal aiMaterialVector(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } + + internal static HandleRef getCPtr(aiMaterialVector obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } + + ~aiMaterialVector() { + Dispose(); + } + + public virtual void Dispose() { + lock(this) { + if (swigCPtr.Handle != IntPtr.Zero) { + if (swigCMemOwn) { + swigCMemOwn = false; + Assimp_NETPINVOKE.delete_aiMaterialVector(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + } + GC.SuppressFinalize(this); + } + } + + public aiMaterialVector(System.Collections.ICollection c) : this() { + if (c == null) + throw new ArgumentNullException("c"); + foreach (aiMaterial element in c) { + this.Add(element); + } + } + + public bool IsFixedSize { + get { + return false; + } + } + + public bool IsReadOnly { + get { + return false; + } + } + + public aiMaterial this[int index] { + get { + return getitem(index); + } + set { + setitem(index, value); + } + } + + public int Capacity { + get { + return (int)capacity(); + } + set { + if (value < size()) + throw new ArgumentOutOfRangeException("Capacity"); + reserve((uint)value); + } + } + + public int Count { + get { + return (int)size(); + } + } + + public bool IsSynchronized { + get { + return false; + } + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array) +#else + public void CopyTo(aiMaterial[] array) +#endif + { + CopyTo(0, array, 0, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array, int arrayIndex) +#else + public void CopyTo(aiMaterial[] array, int arrayIndex) +#endif + { + CopyTo(0, array, arrayIndex, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(int index, System.Array array, int arrayIndex, int count) +#else + public void CopyTo(int index, aiMaterial[] array, int arrayIndex, int count) +#endif + { + if (array == null) + throw new ArgumentNullException("array"); + if (index < 0) + throw new ArgumentOutOfRangeException("index", "Value is less than zero"); + if (arrayIndex < 0) + throw new ArgumentOutOfRangeException("arrayIndex", "Value is less than zero"); + if (count < 0) + throw new ArgumentOutOfRangeException("count", "Value is less than zero"); + if (array.Rank > 1) + throw new ArgumentException("Multi dimensional array.", "array"); + if (index+count > this.Count || arrayIndex+count > array.Length) + throw new ArgumentException("Number of elements to copy is too large."); + for (int i=0; i System.Collections.Generic.IEnumerable.GetEnumerator() { + return new aiMaterialVectorEnumerator(this); + } +#endif + + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { + return new aiMaterialVectorEnumerator(this); + } + + public aiMaterialVectorEnumerator GetEnumerator() { + return new aiMaterialVectorEnumerator(this); + } + + // Type-safe enumerator + /// Note that the IEnumerator documentation requires an InvalidOperationException to be thrown + /// whenever the collection is modified. This has been done for changes in the size of the + /// collection but not when one of the elements of the collection is modified as it is a bit + /// tricky to detect unmanaged code that modifies the collection under our feet. + public sealed class aiMaterialVectorEnumerator : System.Collections.IEnumerator +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IEnumerator +#endif + { + private aiMaterialVector collectionRef; + private int currentIndex; + private object currentObject; + private int currentSize; + + public aiMaterialVectorEnumerator(aiMaterialVector collection) { + collectionRef = collection; + currentIndex = -1; + currentObject = null; + currentSize = collectionRef.Count; + } + + // Type-safe iterator Current + public aiMaterial Current { + get { + if (currentIndex == -1) + throw new InvalidOperationException("Enumeration not started."); + if (currentIndex > currentSize - 1) + throw new InvalidOperationException("Enumeration finished."); + if (currentObject == null) + throw new InvalidOperationException("Collection modified."); + return (aiMaterial)currentObject; + } + } + + // Type-unsafe IEnumerator.Current + object System.Collections.IEnumerator.Current { + get { + return Current; + } + } + + public bool MoveNext() { + int size = collectionRef.Count; + bool moveOkay = (currentIndex+1 < size) && (size == currentSize); + if (moveOkay) { + currentIndex++; + currentObject = collectionRef[currentIndex]; + } else { + currentObject = null; + } + return moveOkay; + } + + public void Reset() { + currentIndex = -1; + currentObject = null; + if (collectionRef.Count != currentSize) { + throw new InvalidOperationException("Collection modified."); + } + } + +#if !SWIG_DOTNET_1 + public void Dispose() { + currentIndex = -1; + currentObject = null; + } +#endif + } + + public void Clear() { + Assimp_NETPINVOKE.aiMaterialVector_Clear(swigCPtr); + } + + public void Add(aiMaterial x) { + Assimp_NETPINVOKE.aiMaterialVector_Add(swigCPtr, aiMaterial.getCPtr(x)); + } + + private uint size() { + uint ret = Assimp_NETPINVOKE.aiMaterialVector_size(swigCPtr); + return ret; + } + + private uint capacity() { + uint ret = Assimp_NETPINVOKE.aiMaterialVector_capacity(swigCPtr); + return ret; + } + + private void reserve(uint n) { + Assimp_NETPINVOKE.aiMaterialVector_reserve(swigCPtr, n); + } + + public aiMaterialVector() : this(Assimp_NETPINVOKE.new_aiMaterialVector__SWIG_0(), true) { + } + + public aiMaterialVector(aiMaterialVector other) : this(Assimp_NETPINVOKE.new_aiMaterialVector__SWIG_1(aiMaterialVector.getCPtr(other)), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public aiMaterialVector(int capacity) : this(Assimp_NETPINVOKE.new_aiMaterialVector__SWIG_2(capacity), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + private aiMaterial getitemcopy(int index) { + IntPtr cPtr = Assimp_NETPINVOKE.aiMaterialVector_getitemcopy(swigCPtr, index); + aiMaterial ret = (cPtr == IntPtr.Zero) ? null : new aiMaterial(cPtr, false); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private aiMaterial getitem(int index) { + IntPtr cPtr = Assimp_NETPINVOKE.aiMaterialVector_getitem(swigCPtr, index); + aiMaterial ret = (cPtr == IntPtr.Zero) ? null : new aiMaterial(cPtr, false); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private void setitem(int index, aiMaterial val) { + Assimp_NETPINVOKE.aiMaterialVector_setitem(swigCPtr, index, aiMaterial.getCPtr(val)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void AddRange(aiMaterialVector values) { + Assimp_NETPINVOKE.aiMaterialVector_AddRange(swigCPtr, aiMaterialVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public aiMaterialVector GetRange(int index, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.aiMaterialVector_GetRange(swigCPtr, index, count); + aiMaterialVector ret = (cPtr == IntPtr.Zero) ? null : new aiMaterialVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Insert(int index, aiMaterial x) { + Assimp_NETPINVOKE.aiMaterialVector_Insert(swigCPtr, index, aiMaterial.getCPtr(x)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void InsertRange(int index, aiMaterialVector values) { + Assimp_NETPINVOKE.aiMaterialVector_InsertRange(swigCPtr, index, aiMaterialVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveAt(int index) { + Assimp_NETPINVOKE.aiMaterialVector_RemoveAt(swigCPtr, index); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveRange(int index, int count) { + Assimp_NETPINVOKE.aiMaterialVector_RemoveRange(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public static aiMaterialVector Repeat(aiMaterial value, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.aiMaterialVector_Repeat(aiMaterial.getCPtr(value), count); + aiMaterialVector ret = (cPtr == IntPtr.Zero) ? null : new aiMaterialVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Reverse() { + Assimp_NETPINVOKE.aiMaterialVector_Reverse__SWIG_0(swigCPtr); + } + + public void Reverse(int index, int count) { + Assimp_NETPINVOKE.aiMaterialVector_Reverse__SWIG_1(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void SetRange(int index, aiMaterialVector values) { + Assimp_NETPINVOKE.aiMaterialVector_SetRange(swigCPtr, index, aiMaterialVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public bool Contains(aiMaterial value) { + bool ret = Assimp_NETPINVOKE.aiMaterialVector_Contains(swigCPtr, aiMaterial.getCPtr(value)); + return ret; + } + + public int IndexOf(aiMaterial value) { + int ret = Assimp_NETPINVOKE.aiMaterialVector_IndexOf(swigCPtr, aiMaterial.getCPtr(value)); + return ret; + } + + public int LastIndexOf(aiMaterial value) { + int ret = Assimp_NETPINVOKE.aiMaterialVector_LastIndexOf(swigCPtr, aiMaterial.getCPtr(value)); + return ret; + } + + public bool Remove(aiMaterial value) { + bool ret = Assimp_NETPINVOKE.aiMaterialVector_Remove(swigCPtr, aiMaterial.getCPtr(value)); + return ret; + } + +} diff --git a/port/Assimp.NET/Assimp.NET_CS/aiMeshVector.cs b/port/Assimp.NET/Assimp.NET_CS/aiMeshVector.cs new file mode 100644 index 000000000..8655795ad --- /dev/null +++ b/port/Assimp.NET/Assimp.NET_CS/aiMeshVector.cs @@ -0,0 +1,348 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.40 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + + +using System; +using System.Runtime.InteropServices; + +public class aiMeshVector : IDisposable, System.Collections.IEnumerable +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IList +#endif + { + private HandleRef swigCPtr; + protected bool swigCMemOwn; + + internal aiMeshVector(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } + + internal static HandleRef getCPtr(aiMeshVector obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } + + ~aiMeshVector() { + Dispose(); + } + + public virtual void Dispose() { + lock(this) { + if (swigCPtr.Handle != IntPtr.Zero) { + if (swigCMemOwn) { + swigCMemOwn = false; + Assimp_NETPINVOKE.delete_aiMeshVector(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + } + GC.SuppressFinalize(this); + } + } + + public aiMeshVector(System.Collections.ICollection c) : this() { + if (c == null) + throw new ArgumentNullException("c"); + foreach (aiMesh element in c) { + this.Add(element); + } + } + + public bool IsFixedSize { + get { + return false; + } + } + + public bool IsReadOnly { + get { + return false; + } + } + + public aiMesh this[int index] { + get { + return getitem(index); + } + set { + setitem(index, value); + } + } + + public int Capacity { + get { + return (int)capacity(); + } + set { + if (value < size()) + throw new ArgumentOutOfRangeException("Capacity"); + reserve((uint)value); + } + } + + public int Count { + get { + return (int)size(); + } + } + + public bool IsSynchronized { + get { + return false; + } + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array) +#else + public void CopyTo(aiMesh[] array) +#endif + { + CopyTo(0, array, 0, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array, int arrayIndex) +#else + public void CopyTo(aiMesh[] array, int arrayIndex) +#endif + { + CopyTo(0, array, arrayIndex, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(int index, System.Array array, int arrayIndex, int count) +#else + public void CopyTo(int index, aiMesh[] array, int arrayIndex, int count) +#endif + { + if (array == null) + throw new ArgumentNullException("array"); + if (index < 0) + throw new ArgumentOutOfRangeException("index", "Value is less than zero"); + if (arrayIndex < 0) + throw new ArgumentOutOfRangeException("arrayIndex", "Value is less than zero"); + if (count < 0) + throw new ArgumentOutOfRangeException("count", "Value is less than zero"); + if (array.Rank > 1) + throw new ArgumentException("Multi dimensional array.", "array"); + if (index+count > this.Count || arrayIndex+count > array.Length) + throw new ArgumentException("Number of elements to copy is too large."); + for (int i=0; i System.Collections.Generic.IEnumerable.GetEnumerator() { + return new aiMeshVectorEnumerator(this); + } +#endif + + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { + return new aiMeshVectorEnumerator(this); + } + + public aiMeshVectorEnumerator GetEnumerator() { + return new aiMeshVectorEnumerator(this); + } + + // Type-safe enumerator + /// Note that the IEnumerator documentation requires an InvalidOperationException to be thrown + /// whenever the collection is modified. This has been done for changes in the size of the + /// collection but not when one of the elements of the collection is modified as it is a bit + /// tricky to detect unmanaged code that modifies the collection under our feet. + public sealed class aiMeshVectorEnumerator : System.Collections.IEnumerator +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IEnumerator +#endif + { + private aiMeshVector collectionRef; + private int currentIndex; + private object currentObject; + private int currentSize; + + public aiMeshVectorEnumerator(aiMeshVector collection) { + collectionRef = collection; + currentIndex = -1; + currentObject = null; + currentSize = collectionRef.Count; + } + + // Type-safe iterator Current + public aiMesh Current { + get { + if (currentIndex == -1) + throw new InvalidOperationException("Enumeration not started."); + if (currentIndex > currentSize - 1) + throw new InvalidOperationException("Enumeration finished."); + if (currentObject == null) + throw new InvalidOperationException("Collection modified."); + return (aiMesh)currentObject; + } + } + + // Type-unsafe IEnumerator.Current + object System.Collections.IEnumerator.Current { + get { + return Current; + } + } + + public bool MoveNext() { + int size = collectionRef.Count; + bool moveOkay = (currentIndex+1 < size) && (size == currentSize); + if (moveOkay) { + currentIndex++; + currentObject = collectionRef[currentIndex]; + } else { + currentObject = null; + } + return moveOkay; + } + + public void Reset() { + currentIndex = -1; + currentObject = null; + if (collectionRef.Count != currentSize) { + throw new InvalidOperationException("Collection modified."); + } + } + +#if !SWIG_DOTNET_1 + public void Dispose() { + currentIndex = -1; + currentObject = null; + } +#endif + } + + public void Clear() { + Assimp_NETPINVOKE.aiMeshVector_Clear(swigCPtr); + } + + public void Add(aiMesh x) { + Assimp_NETPINVOKE.aiMeshVector_Add(swigCPtr, aiMesh.getCPtr(x)); + } + + private uint size() { + uint ret = Assimp_NETPINVOKE.aiMeshVector_size(swigCPtr); + return ret; + } + + private uint capacity() { + uint ret = Assimp_NETPINVOKE.aiMeshVector_capacity(swigCPtr); + return ret; + } + + private void reserve(uint n) { + Assimp_NETPINVOKE.aiMeshVector_reserve(swigCPtr, n); + } + + public aiMeshVector() : this(Assimp_NETPINVOKE.new_aiMeshVector__SWIG_0(), true) { + } + + public aiMeshVector(aiMeshVector other) : this(Assimp_NETPINVOKE.new_aiMeshVector__SWIG_1(aiMeshVector.getCPtr(other)), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public aiMeshVector(int capacity) : this(Assimp_NETPINVOKE.new_aiMeshVector__SWIG_2(capacity), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + private aiMesh getitemcopy(int index) { + IntPtr cPtr = Assimp_NETPINVOKE.aiMeshVector_getitemcopy(swigCPtr, index); + aiMesh ret = (cPtr == IntPtr.Zero) ? null : new aiMesh(cPtr, false); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private aiMesh getitem(int index) { + IntPtr cPtr = Assimp_NETPINVOKE.aiMeshVector_getitem(swigCPtr, index); + aiMesh ret = (cPtr == IntPtr.Zero) ? null : new aiMesh(cPtr, false); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private void setitem(int index, aiMesh val) { + Assimp_NETPINVOKE.aiMeshVector_setitem(swigCPtr, index, aiMesh.getCPtr(val)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void AddRange(aiMeshVector values) { + Assimp_NETPINVOKE.aiMeshVector_AddRange(swigCPtr, aiMeshVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public aiMeshVector GetRange(int index, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.aiMeshVector_GetRange(swigCPtr, index, count); + aiMeshVector ret = (cPtr == IntPtr.Zero) ? null : new aiMeshVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Insert(int index, aiMesh x) { + Assimp_NETPINVOKE.aiMeshVector_Insert(swigCPtr, index, aiMesh.getCPtr(x)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void InsertRange(int index, aiMeshVector values) { + Assimp_NETPINVOKE.aiMeshVector_InsertRange(swigCPtr, index, aiMeshVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveAt(int index) { + Assimp_NETPINVOKE.aiMeshVector_RemoveAt(swigCPtr, index); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveRange(int index, int count) { + Assimp_NETPINVOKE.aiMeshVector_RemoveRange(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public static aiMeshVector Repeat(aiMesh value, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.aiMeshVector_Repeat(aiMesh.getCPtr(value), count); + aiMeshVector ret = (cPtr == IntPtr.Zero) ? null : new aiMeshVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Reverse() { + Assimp_NETPINVOKE.aiMeshVector_Reverse__SWIG_0(swigCPtr); + } + + public void Reverse(int index, int count) { + Assimp_NETPINVOKE.aiMeshVector_Reverse__SWIG_1(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void SetRange(int index, aiMeshVector values) { + Assimp_NETPINVOKE.aiMeshVector_SetRange(swigCPtr, index, aiMeshVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public bool Contains(aiMesh value) { + bool ret = Assimp_NETPINVOKE.aiMeshVector_Contains(swigCPtr, aiMesh.getCPtr(value)); + return ret; + } + + public int IndexOf(aiMesh value) { + int ret = Assimp_NETPINVOKE.aiMeshVector_IndexOf(swigCPtr, aiMesh.getCPtr(value)); + return ret; + } + + public int LastIndexOf(aiMesh value) { + int ret = Assimp_NETPINVOKE.aiMeshVector_LastIndexOf(swigCPtr, aiMesh.getCPtr(value)); + return ret; + } + + public bool Remove(aiMesh value) { + bool ret = Assimp_NETPINVOKE.aiMeshVector_Remove(swigCPtr, aiMesh.getCPtr(value)); + return ret; + } + +} diff --git a/port/Assimp.NET/Assimp.NET_CS/aiNodeAnimVector.cs b/port/Assimp.NET/Assimp.NET_CS/aiNodeAnimVector.cs new file mode 100644 index 000000000..05d6a8788 --- /dev/null +++ b/port/Assimp.NET/Assimp.NET_CS/aiNodeAnimVector.cs @@ -0,0 +1,348 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.40 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + + +using System; +using System.Runtime.InteropServices; + +public class aiNodeAnimVector : IDisposable, System.Collections.IEnumerable +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IList +#endif + { + private HandleRef swigCPtr; + protected bool swigCMemOwn; + + internal aiNodeAnimVector(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } + + internal static HandleRef getCPtr(aiNodeAnimVector obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } + + ~aiNodeAnimVector() { + Dispose(); + } + + public virtual void Dispose() { + lock(this) { + if (swigCPtr.Handle != IntPtr.Zero) { + if (swigCMemOwn) { + swigCMemOwn = false; + Assimp_NETPINVOKE.delete_aiNodeAnimVector(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + } + GC.SuppressFinalize(this); + } + } + + public aiNodeAnimVector(System.Collections.ICollection c) : this() { + if (c == null) + throw new ArgumentNullException("c"); + foreach (aiNodeAnim element in c) { + this.Add(element); + } + } + + public bool IsFixedSize { + get { + return false; + } + } + + public bool IsReadOnly { + get { + return false; + } + } + + public aiNodeAnim this[int index] { + get { + return getitem(index); + } + set { + setitem(index, value); + } + } + + public int Capacity { + get { + return (int)capacity(); + } + set { + if (value < size()) + throw new ArgumentOutOfRangeException("Capacity"); + reserve((uint)value); + } + } + + public int Count { + get { + return (int)size(); + } + } + + public bool IsSynchronized { + get { + return false; + } + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array) +#else + public void CopyTo(aiNodeAnim[] array) +#endif + { + CopyTo(0, array, 0, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array, int arrayIndex) +#else + public void CopyTo(aiNodeAnim[] array, int arrayIndex) +#endif + { + CopyTo(0, array, arrayIndex, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(int index, System.Array array, int arrayIndex, int count) +#else + public void CopyTo(int index, aiNodeAnim[] array, int arrayIndex, int count) +#endif + { + if (array == null) + throw new ArgumentNullException("array"); + if (index < 0) + throw new ArgumentOutOfRangeException("index", "Value is less than zero"); + if (arrayIndex < 0) + throw new ArgumentOutOfRangeException("arrayIndex", "Value is less than zero"); + if (count < 0) + throw new ArgumentOutOfRangeException("count", "Value is less than zero"); + if (array.Rank > 1) + throw new ArgumentException("Multi dimensional array.", "array"); + if (index+count > this.Count || arrayIndex+count > array.Length) + throw new ArgumentException("Number of elements to copy is too large."); + for (int i=0; i System.Collections.Generic.IEnumerable.GetEnumerator() { + return new aiNodeAnimVectorEnumerator(this); + } +#endif + + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { + return new aiNodeAnimVectorEnumerator(this); + } + + public aiNodeAnimVectorEnumerator GetEnumerator() { + return new aiNodeAnimVectorEnumerator(this); + } + + // Type-safe enumerator + /// Note that the IEnumerator documentation requires an InvalidOperationException to be thrown + /// whenever the collection is modified. This has been done for changes in the size of the + /// collection but not when one of the elements of the collection is modified as it is a bit + /// tricky to detect unmanaged code that modifies the collection under our feet. + public sealed class aiNodeAnimVectorEnumerator : System.Collections.IEnumerator +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IEnumerator +#endif + { + private aiNodeAnimVector collectionRef; + private int currentIndex; + private object currentObject; + private int currentSize; + + public aiNodeAnimVectorEnumerator(aiNodeAnimVector collection) { + collectionRef = collection; + currentIndex = -1; + currentObject = null; + currentSize = collectionRef.Count; + } + + // Type-safe iterator Current + public aiNodeAnim Current { + get { + if (currentIndex == -1) + throw new InvalidOperationException("Enumeration not started."); + if (currentIndex > currentSize - 1) + throw new InvalidOperationException("Enumeration finished."); + if (currentObject == null) + throw new InvalidOperationException("Collection modified."); + return (aiNodeAnim)currentObject; + } + } + + // Type-unsafe IEnumerator.Current + object System.Collections.IEnumerator.Current { + get { + return Current; + } + } + + public bool MoveNext() { + int size = collectionRef.Count; + bool moveOkay = (currentIndex+1 < size) && (size == currentSize); + if (moveOkay) { + currentIndex++; + currentObject = collectionRef[currentIndex]; + } else { + currentObject = null; + } + return moveOkay; + } + + public void Reset() { + currentIndex = -1; + currentObject = null; + if (collectionRef.Count != currentSize) { + throw new InvalidOperationException("Collection modified."); + } + } + +#if !SWIG_DOTNET_1 + public void Dispose() { + currentIndex = -1; + currentObject = null; + } +#endif + } + + public void Clear() { + Assimp_NETPINVOKE.aiNodeAnimVector_Clear(swigCPtr); + } + + public void Add(aiNodeAnim x) { + Assimp_NETPINVOKE.aiNodeAnimVector_Add(swigCPtr, aiNodeAnim.getCPtr(x)); + } + + private uint size() { + uint ret = Assimp_NETPINVOKE.aiNodeAnimVector_size(swigCPtr); + return ret; + } + + private uint capacity() { + uint ret = Assimp_NETPINVOKE.aiNodeAnimVector_capacity(swigCPtr); + return ret; + } + + private void reserve(uint n) { + Assimp_NETPINVOKE.aiNodeAnimVector_reserve(swigCPtr, n); + } + + public aiNodeAnimVector() : this(Assimp_NETPINVOKE.new_aiNodeAnimVector__SWIG_0(), true) { + } + + public aiNodeAnimVector(aiNodeAnimVector other) : this(Assimp_NETPINVOKE.new_aiNodeAnimVector__SWIG_1(aiNodeAnimVector.getCPtr(other)), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public aiNodeAnimVector(int capacity) : this(Assimp_NETPINVOKE.new_aiNodeAnimVector__SWIG_2(capacity), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + private aiNodeAnim getitemcopy(int index) { + IntPtr cPtr = Assimp_NETPINVOKE.aiNodeAnimVector_getitemcopy(swigCPtr, index); + aiNodeAnim ret = (cPtr == IntPtr.Zero) ? null : new aiNodeAnim(cPtr, false); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private aiNodeAnim getitem(int index) { + IntPtr cPtr = Assimp_NETPINVOKE.aiNodeAnimVector_getitem(swigCPtr, index); + aiNodeAnim ret = (cPtr == IntPtr.Zero) ? null : new aiNodeAnim(cPtr, false); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private void setitem(int index, aiNodeAnim val) { + Assimp_NETPINVOKE.aiNodeAnimVector_setitem(swigCPtr, index, aiNodeAnim.getCPtr(val)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void AddRange(aiNodeAnimVector values) { + Assimp_NETPINVOKE.aiNodeAnimVector_AddRange(swigCPtr, aiNodeAnimVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public aiNodeAnimVector GetRange(int index, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.aiNodeAnimVector_GetRange(swigCPtr, index, count); + aiNodeAnimVector ret = (cPtr == IntPtr.Zero) ? null : new aiNodeAnimVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Insert(int index, aiNodeAnim x) { + Assimp_NETPINVOKE.aiNodeAnimVector_Insert(swigCPtr, index, aiNodeAnim.getCPtr(x)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void InsertRange(int index, aiNodeAnimVector values) { + Assimp_NETPINVOKE.aiNodeAnimVector_InsertRange(swigCPtr, index, aiNodeAnimVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveAt(int index) { + Assimp_NETPINVOKE.aiNodeAnimVector_RemoveAt(swigCPtr, index); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveRange(int index, int count) { + Assimp_NETPINVOKE.aiNodeAnimVector_RemoveRange(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public static aiNodeAnimVector Repeat(aiNodeAnim value, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.aiNodeAnimVector_Repeat(aiNodeAnim.getCPtr(value), count); + aiNodeAnimVector ret = (cPtr == IntPtr.Zero) ? null : new aiNodeAnimVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Reverse() { + Assimp_NETPINVOKE.aiNodeAnimVector_Reverse__SWIG_0(swigCPtr); + } + + public void Reverse(int index, int count) { + Assimp_NETPINVOKE.aiNodeAnimVector_Reverse__SWIG_1(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void SetRange(int index, aiNodeAnimVector values) { + Assimp_NETPINVOKE.aiNodeAnimVector_SetRange(swigCPtr, index, aiNodeAnimVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public bool Contains(aiNodeAnim value) { + bool ret = Assimp_NETPINVOKE.aiNodeAnimVector_Contains(swigCPtr, aiNodeAnim.getCPtr(value)); + return ret; + } + + public int IndexOf(aiNodeAnim value) { + int ret = Assimp_NETPINVOKE.aiNodeAnimVector_IndexOf(swigCPtr, aiNodeAnim.getCPtr(value)); + return ret; + } + + public int LastIndexOf(aiNodeAnim value) { + int ret = Assimp_NETPINVOKE.aiNodeAnimVector_LastIndexOf(swigCPtr, aiNodeAnim.getCPtr(value)); + return ret; + } + + public bool Remove(aiNodeAnim value) { + bool ret = Assimp_NETPINVOKE.aiNodeAnimVector_Remove(swigCPtr, aiNodeAnim.getCPtr(value)); + return ret; + } + +} diff --git a/port/Assimp.NET/Assimp.NET_CS/aiNodeVector.cs b/port/Assimp.NET/Assimp.NET_CS/aiNodeVector.cs new file mode 100644 index 000000000..9ffd6c1ec --- /dev/null +++ b/port/Assimp.NET/Assimp.NET_CS/aiNodeVector.cs @@ -0,0 +1,348 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.40 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + + +using System; +using System.Runtime.InteropServices; + +public class aiNodeVector : IDisposable, System.Collections.IEnumerable +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IList +#endif + { + private HandleRef swigCPtr; + protected bool swigCMemOwn; + + internal aiNodeVector(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } + + internal static HandleRef getCPtr(aiNodeVector obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } + + ~aiNodeVector() { + Dispose(); + } + + public virtual void Dispose() { + lock(this) { + if (swigCPtr.Handle != IntPtr.Zero) { + if (swigCMemOwn) { + swigCMemOwn = false; + Assimp_NETPINVOKE.delete_aiNodeVector(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + } + GC.SuppressFinalize(this); + } + } + + public aiNodeVector(System.Collections.ICollection c) : this() { + if (c == null) + throw new ArgumentNullException("c"); + foreach (aiNode element in c) { + this.Add(element); + } + } + + public bool IsFixedSize { + get { + return false; + } + } + + public bool IsReadOnly { + get { + return false; + } + } + + public aiNode this[int index] { + get { + return getitem(index); + } + set { + setitem(index, value); + } + } + + public int Capacity { + get { + return (int)capacity(); + } + set { + if (value < size()) + throw new ArgumentOutOfRangeException("Capacity"); + reserve((uint)value); + } + } + + public int Count { + get { + return (int)size(); + } + } + + public bool IsSynchronized { + get { + return false; + } + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array) +#else + public void CopyTo(aiNode[] array) +#endif + { + CopyTo(0, array, 0, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array, int arrayIndex) +#else + public void CopyTo(aiNode[] array, int arrayIndex) +#endif + { + CopyTo(0, array, arrayIndex, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(int index, System.Array array, int arrayIndex, int count) +#else + public void CopyTo(int index, aiNode[] array, int arrayIndex, int count) +#endif + { + if (array == null) + throw new ArgumentNullException("array"); + if (index < 0) + throw new ArgumentOutOfRangeException("index", "Value is less than zero"); + if (arrayIndex < 0) + throw new ArgumentOutOfRangeException("arrayIndex", "Value is less than zero"); + if (count < 0) + throw new ArgumentOutOfRangeException("count", "Value is less than zero"); + if (array.Rank > 1) + throw new ArgumentException("Multi dimensional array.", "array"); + if (index+count > this.Count || arrayIndex+count > array.Length) + throw new ArgumentException("Number of elements to copy is too large."); + for (int i=0; i System.Collections.Generic.IEnumerable.GetEnumerator() { + return new aiNodeVectorEnumerator(this); + } +#endif + + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { + return new aiNodeVectorEnumerator(this); + } + + public aiNodeVectorEnumerator GetEnumerator() { + return new aiNodeVectorEnumerator(this); + } + + // Type-safe enumerator + /// Note that the IEnumerator documentation requires an InvalidOperationException to be thrown + /// whenever the collection is modified. This has been done for changes in the size of the + /// collection but not when one of the elements of the collection is modified as it is a bit + /// tricky to detect unmanaged code that modifies the collection under our feet. + public sealed class aiNodeVectorEnumerator : System.Collections.IEnumerator +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IEnumerator +#endif + { + private aiNodeVector collectionRef; + private int currentIndex; + private object currentObject; + private int currentSize; + + public aiNodeVectorEnumerator(aiNodeVector collection) { + collectionRef = collection; + currentIndex = -1; + currentObject = null; + currentSize = collectionRef.Count; + } + + // Type-safe iterator Current + public aiNode Current { + get { + if (currentIndex == -1) + throw new InvalidOperationException("Enumeration not started."); + if (currentIndex > currentSize - 1) + throw new InvalidOperationException("Enumeration finished."); + if (currentObject == null) + throw new InvalidOperationException("Collection modified."); + return (aiNode)currentObject; + } + } + + // Type-unsafe IEnumerator.Current + object System.Collections.IEnumerator.Current { + get { + return Current; + } + } + + public bool MoveNext() { + int size = collectionRef.Count; + bool moveOkay = (currentIndex+1 < size) && (size == currentSize); + if (moveOkay) { + currentIndex++; + currentObject = collectionRef[currentIndex]; + } else { + currentObject = null; + } + return moveOkay; + } + + public void Reset() { + currentIndex = -1; + currentObject = null; + if (collectionRef.Count != currentSize) { + throw new InvalidOperationException("Collection modified."); + } + } + +#if !SWIG_DOTNET_1 + public void Dispose() { + currentIndex = -1; + currentObject = null; + } +#endif + } + + public void Clear() { + Assimp_NETPINVOKE.aiNodeVector_Clear(swigCPtr); + } + + public void Add(aiNode x) { + Assimp_NETPINVOKE.aiNodeVector_Add(swigCPtr, aiNode.getCPtr(x)); + } + + private uint size() { + uint ret = Assimp_NETPINVOKE.aiNodeVector_size(swigCPtr); + return ret; + } + + private uint capacity() { + uint ret = Assimp_NETPINVOKE.aiNodeVector_capacity(swigCPtr); + return ret; + } + + private void reserve(uint n) { + Assimp_NETPINVOKE.aiNodeVector_reserve(swigCPtr, n); + } + + public aiNodeVector() : this(Assimp_NETPINVOKE.new_aiNodeVector__SWIG_0(), true) { + } + + public aiNodeVector(aiNodeVector other) : this(Assimp_NETPINVOKE.new_aiNodeVector__SWIG_1(aiNodeVector.getCPtr(other)), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public aiNodeVector(int capacity) : this(Assimp_NETPINVOKE.new_aiNodeVector__SWIG_2(capacity), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + private aiNode getitemcopy(int index) { + IntPtr cPtr = Assimp_NETPINVOKE.aiNodeVector_getitemcopy(swigCPtr, index); + aiNode ret = (cPtr == IntPtr.Zero) ? null : new aiNode(cPtr, false); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private aiNode getitem(int index) { + IntPtr cPtr = Assimp_NETPINVOKE.aiNodeVector_getitem(swigCPtr, index); + aiNode ret = (cPtr == IntPtr.Zero) ? null : new aiNode(cPtr, false); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private void setitem(int index, aiNode val) { + Assimp_NETPINVOKE.aiNodeVector_setitem(swigCPtr, index, aiNode.getCPtr(val)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void AddRange(aiNodeVector values) { + Assimp_NETPINVOKE.aiNodeVector_AddRange(swigCPtr, aiNodeVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public aiNodeVector GetRange(int index, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.aiNodeVector_GetRange(swigCPtr, index, count); + aiNodeVector ret = (cPtr == IntPtr.Zero) ? null : new aiNodeVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Insert(int index, aiNode x) { + Assimp_NETPINVOKE.aiNodeVector_Insert(swigCPtr, index, aiNode.getCPtr(x)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void InsertRange(int index, aiNodeVector values) { + Assimp_NETPINVOKE.aiNodeVector_InsertRange(swigCPtr, index, aiNodeVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveAt(int index) { + Assimp_NETPINVOKE.aiNodeVector_RemoveAt(swigCPtr, index); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveRange(int index, int count) { + Assimp_NETPINVOKE.aiNodeVector_RemoveRange(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public static aiNodeVector Repeat(aiNode value, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.aiNodeVector_Repeat(aiNode.getCPtr(value), count); + aiNodeVector ret = (cPtr == IntPtr.Zero) ? null : new aiNodeVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Reverse() { + Assimp_NETPINVOKE.aiNodeVector_Reverse__SWIG_0(swigCPtr); + } + + public void Reverse(int index, int count) { + Assimp_NETPINVOKE.aiNodeVector_Reverse__SWIG_1(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void SetRange(int index, aiNodeVector values) { + Assimp_NETPINVOKE.aiNodeVector_SetRange(swigCPtr, index, aiNodeVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public bool Contains(aiNode value) { + bool ret = Assimp_NETPINVOKE.aiNodeVector_Contains(swigCPtr, aiNode.getCPtr(value)); + return ret; + } + + public int IndexOf(aiNode value) { + int ret = Assimp_NETPINVOKE.aiNodeVector_IndexOf(swigCPtr, aiNode.getCPtr(value)); + return ret; + } + + public int LastIndexOf(aiNode value) { + int ret = Assimp_NETPINVOKE.aiNodeVector_LastIndexOf(swigCPtr, aiNode.getCPtr(value)); + return ret; + } + + public bool Remove(aiNode value) { + bool ret = Assimp_NETPINVOKE.aiNodeVector_Remove(swigCPtr, aiNode.getCPtr(value)); + return ret; + } + +} diff --git a/port/Assimp.NET/Assimp.NET_CS/aiTextureVector.cs b/port/Assimp.NET/Assimp.NET_CS/aiTextureVector.cs new file mode 100644 index 000000000..bd42c5690 --- /dev/null +++ b/port/Assimp.NET/Assimp.NET_CS/aiTextureVector.cs @@ -0,0 +1,348 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.40 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + + +using System; +using System.Runtime.InteropServices; + +public class aiTextureVector : IDisposable, System.Collections.IEnumerable +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IList +#endif + { + private HandleRef swigCPtr; + protected bool swigCMemOwn; + + internal aiTextureVector(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } + + internal static HandleRef getCPtr(aiTextureVector obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } + + ~aiTextureVector() { + Dispose(); + } + + public virtual void Dispose() { + lock(this) { + if (swigCPtr.Handle != IntPtr.Zero) { + if (swigCMemOwn) { + swigCMemOwn = false; + Assimp_NETPINVOKE.delete_aiTextureVector(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + } + GC.SuppressFinalize(this); + } + } + + public aiTextureVector(System.Collections.ICollection c) : this() { + if (c == null) + throw new ArgumentNullException("c"); + foreach (aiTexture element in c) { + this.Add(element); + } + } + + public bool IsFixedSize { + get { + return false; + } + } + + public bool IsReadOnly { + get { + return false; + } + } + + public aiTexture this[int index] { + get { + return getitem(index); + } + set { + setitem(index, value); + } + } + + public int Capacity { + get { + return (int)capacity(); + } + set { + if (value < size()) + throw new ArgumentOutOfRangeException("Capacity"); + reserve((uint)value); + } + } + + public int Count { + get { + return (int)size(); + } + } + + public bool IsSynchronized { + get { + return false; + } + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array) +#else + public void CopyTo(aiTexture[] array) +#endif + { + CopyTo(0, array, 0, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array, int arrayIndex) +#else + public void CopyTo(aiTexture[] array, int arrayIndex) +#endif + { + CopyTo(0, array, arrayIndex, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(int index, System.Array array, int arrayIndex, int count) +#else + public void CopyTo(int index, aiTexture[] array, int arrayIndex, int count) +#endif + { + if (array == null) + throw new ArgumentNullException("array"); + if (index < 0) + throw new ArgumentOutOfRangeException("index", "Value is less than zero"); + if (arrayIndex < 0) + throw new ArgumentOutOfRangeException("arrayIndex", "Value is less than zero"); + if (count < 0) + throw new ArgumentOutOfRangeException("count", "Value is less than zero"); + if (array.Rank > 1) + throw new ArgumentException("Multi dimensional array.", "array"); + if (index+count > this.Count || arrayIndex+count > array.Length) + throw new ArgumentException("Number of elements to copy is too large."); + for (int i=0; i System.Collections.Generic.IEnumerable.GetEnumerator() { + return new aiTextureVectorEnumerator(this); + } +#endif + + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { + return new aiTextureVectorEnumerator(this); + } + + public aiTextureVectorEnumerator GetEnumerator() { + return new aiTextureVectorEnumerator(this); + } + + // Type-safe enumerator + /// Note that the IEnumerator documentation requires an InvalidOperationException to be thrown + /// whenever the collection is modified. This has been done for changes in the size of the + /// collection but not when one of the elements of the collection is modified as it is a bit + /// tricky to detect unmanaged code that modifies the collection under our feet. + public sealed class aiTextureVectorEnumerator : System.Collections.IEnumerator +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IEnumerator +#endif + { + private aiTextureVector collectionRef; + private int currentIndex; + private object currentObject; + private int currentSize; + + public aiTextureVectorEnumerator(aiTextureVector collection) { + collectionRef = collection; + currentIndex = -1; + currentObject = null; + currentSize = collectionRef.Count; + } + + // Type-safe iterator Current + public aiTexture Current { + get { + if (currentIndex == -1) + throw new InvalidOperationException("Enumeration not started."); + if (currentIndex > currentSize - 1) + throw new InvalidOperationException("Enumeration finished."); + if (currentObject == null) + throw new InvalidOperationException("Collection modified."); + return (aiTexture)currentObject; + } + } + + // Type-unsafe IEnumerator.Current + object System.Collections.IEnumerator.Current { + get { + return Current; + } + } + + public bool MoveNext() { + int size = collectionRef.Count; + bool moveOkay = (currentIndex+1 < size) && (size == currentSize); + if (moveOkay) { + currentIndex++; + currentObject = collectionRef[currentIndex]; + } else { + currentObject = null; + } + return moveOkay; + } + + public void Reset() { + currentIndex = -1; + currentObject = null; + if (collectionRef.Count != currentSize) { + throw new InvalidOperationException("Collection modified."); + } + } + +#if !SWIG_DOTNET_1 + public void Dispose() { + currentIndex = -1; + currentObject = null; + } +#endif + } + + public void Clear() { + Assimp_NETPINVOKE.aiTextureVector_Clear(swigCPtr); + } + + public void Add(aiTexture x) { + Assimp_NETPINVOKE.aiTextureVector_Add(swigCPtr, aiTexture.getCPtr(x)); + } + + private uint size() { + uint ret = Assimp_NETPINVOKE.aiTextureVector_size(swigCPtr); + return ret; + } + + private uint capacity() { + uint ret = Assimp_NETPINVOKE.aiTextureVector_capacity(swigCPtr); + return ret; + } + + private void reserve(uint n) { + Assimp_NETPINVOKE.aiTextureVector_reserve(swigCPtr, n); + } + + public aiTextureVector() : this(Assimp_NETPINVOKE.new_aiTextureVector__SWIG_0(), true) { + } + + public aiTextureVector(aiTextureVector other) : this(Assimp_NETPINVOKE.new_aiTextureVector__SWIG_1(aiTextureVector.getCPtr(other)), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public aiTextureVector(int capacity) : this(Assimp_NETPINVOKE.new_aiTextureVector__SWIG_2(capacity), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + private aiTexture getitemcopy(int index) { + IntPtr cPtr = Assimp_NETPINVOKE.aiTextureVector_getitemcopy(swigCPtr, index); + aiTexture ret = (cPtr == IntPtr.Zero) ? null : new aiTexture(cPtr, false); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private aiTexture getitem(int index) { + IntPtr cPtr = Assimp_NETPINVOKE.aiTextureVector_getitem(swigCPtr, index); + aiTexture ret = (cPtr == IntPtr.Zero) ? null : new aiTexture(cPtr, false); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private void setitem(int index, aiTexture val) { + Assimp_NETPINVOKE.aiTextureVector_setitem(swigCPtr, index, aiTexture.getCPtr(val)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void AddRange(aiTextureVector values) { + Assimp_NETPINVOKE.aiTextureVector_AddRange(swigCPtr, aiTextureVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public aiTextureVector GetRange(int index, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.aiTextureVector_GetRange(swigCPtr, index, count); + aiTextureVector ret = (cPtr == IntPtr.Zero) ? null : new aiTextureVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Insert(int index, aiTexture x) { + Assimp_NETPINVOKE.aiTextureVector_Insert(swigCPtr, index, aiTexture.getCPtr(x)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void InsertRange(int index, aiTextureVector values) { + Assimp_NETPINVOKE.aiTextureVector_InsertRange(swigCPtr, index, aiTextureVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveAt(int index) { + Assimp_NETPINVOKE.aiTextureVector_RemoveAt(swigCPtr, index); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveRange(int index, int count) { + Assimp_NETPINVOKE.aiTextureVector_RemoveRange(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public static aiTextureVector Repeat(aiTexture value, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.aiTextureVector_Repeat(aiTexture.getCPtr(value), count); + aiTextureVector ret = (cPtr == IntPtr.Zero) ? null : new aiTextureVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Reverse() { + Assimp_NETPINVOKE.aiTextureVector_Reverse__SWIG_0(swigCPtr); + } + + public void Reverse(int index, int count) { + Assimp_NETPINVOKE.aiTextureVector_Reverse__SWIG_1(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void SetRange(int index, aiTextureVector values) { + Assimp_NETPINVOKE.aiTextureVector_SetRange(swigCPtr, index, aiTextureVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public bool Contains(aiTexture value) { + bool ret = Assimp_NETPINVOKE.aiTextureVector_Contains(swigCPtr, aiTexture.getCPtr(value)); + return ret; + } + + public int IndexOf(aiTexture value) { + int ret = Assimp_NETPINVOKE.aiTextureVector_IndexOf(swigCPtr, aiTexture.getCPtr(value)); + return ret; + } + + public int LastIndexOf(aiTexture value) { + int ret = Assimp_NETPINVOKE.aiTextureVector_LastIndexOf(swigCPtr, aiTexture.getCPtr(value)); + return ret; + } + + public bool Remove(aiTexture value) { + bool ret = Assimp_NETPINVOKE.aiTextureVector_Remove(swigCPtr, aiTexture.getCPtr(value)); + return ret; + } + +} diff --git a/port/Assimp.NET/Assimp.NET_CS/aiVector3DVector.cs b/port/Assimp.NET/Assimp.NET_CS/aiVector3DVector.cs new file mode 100644 index 000000000..9b5435af5 --- /dev/null +++ b/port/Assimp.NET/Assimp.NET_CS/aiVector3DVector.cs @@ -0,0 +1,348 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.40 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + + +using System; +using System.Runtime.InteropServices; + +public class aiVector3DVector : IDisposable, System.Collections.IEnumerable +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IList +#endif + { + private HandleRef swigCPtr; + protected bool swigCMemOwn; + + internal aiVector3DVector(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } + + internal static HandleRef getCPtr(aiVector3DVector obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } + + ~aiVector3DVector() { + Dispose(); + } + + public virtual void Dispose() { + lock(this) { + if (swigCPtr.Handle != IntPtr.Zero) { + if (swigCMemOwn) { + swigCMemOwn = false; + Assimp_NETPINVOKE.delete_aiVector3DVector(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + } + GC.SuppressFinalize(this); + } + } + + public aiVector3DVector(System.Collections.ICollection c) : this() { + if (c == null) + throw new ArgumentNullException("c"); + foreach (aiVector3D element in c) { + this.Add(element); + } + } + + public bool IsFixedSize { + get { + return false; + } + } + + public bool IsReadOnly { + get { + return false; + } + } + + public aiVector3D this[int index] { + get { + return getitem(index); + } + set { + setitem(index, value); + } + } + + public int Capacity { + get { + return (int)capacity(); + } + set { + if (value < size()) + throw new ArgumentOutOfRangeException("Capacity"); + reserve((uint)value); + } + } + + public int Count { + get { + return (int)size(); + } + } + + public bool IsSynchronized { + get { + return false; + } + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array) +#else + public void CopyTo(aiVector3D[] array) +#endif + { + CopyTo(0, array, 0, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array, int arrayIndex) +#else + public void CopyTo(aiVector3D[] array, int arrayIndex) +#endif + { + CopyTo(0, array, arrayIndex, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(int index, System.Array array, int arrayIndex, int count) +#else + public void CopyTo(int index, aiVector3D[] array, int arrayIndex, int count) +#endif + { + if (array == null) + throw new ArgumentNullException("array"); + if (index < 0) + throw new ArgumentOutOfRangeException("index", "Value is less than zero"); + if (arrayIndex < 0) + throw new ArgumentOutOfRangeException("arrayIndex", "Value is less than zero"); + if (count < 0) + throw new ArgumentOutOfRangeException("count", "Value is less than zero"); + if (array.Rank > 1) + throw new ArgumentException("Multi dimensional array.", "array"); + if (index+count > this.Count || arrayIndex+count > array.Length) + throw new ArgumentException("Number of elements to copy is too large."); + for (int i=0; i System.Collections.Generic.IEnumerable.GetEnumerator() { + return new aiVector3DVectorEnumerator(this); + } +#endif + + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { + return new aiVector3DVectorEnumerator(this); + } + + public aiVector3DVectorEnumerator GetEnumerator() { + return new aiVector3DVectorEnumerator(this); + } + + // Type-safe enumerator + /// Note that the IEnumerator documentation requires an InvalidOperationException to be thrown + /// whenever the collection is modified. This has been done for changes in the size of the + /// collection but not when one of the elements of the collection is modified as it is a bit + /// tricky to detect unmanaged code that modifies the collection under our feet. + public sealed class aiVector3DVectorEnumerator : System.Collections.IEnumerator +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IEnumerator +#endif + { + private aiVector3DVector collectionRef; + private int currentIndex; + private object currentObject; + private int currentSize; + + public aiVector3DVectorEnumerator(aiVector3DVector collection) { + collectionRef = collection; + currentIndex = -1; + currentObject = null; + currentSize = collectionRef.Count; + } + + // Type-safe iterator Current + public aiVector3D Current { + get { + if (currentIndex == -1) + throw new InvalidOperationException("Enumeration not started."); + if (currentIndex > currentSize - 1) + throw new InvalidOperationException("Enumeration finished."); + if (currentObject == null) + throw new InvalidOperationException("Collection modified."); + return (aiVector3D)currentObject; + } + } + + // Type-unsafe IEnumerator.Current + object System.Collections.IEnumerator.Current { + get { + return Current; + } + } + + public bool MoveNext() { + int size = collectionRef.Count; + bool moveOkay = (currentIndex+1 < size) && (size == currentSize); + if (moveOkay) { + currentIndex++; + currentObject = collectionRef[currentIndex]; + } else { + currentObject = null; + } + return moveOkay; + } + + public void Reset() { + currentIndex = -1; + currentObject = null; + if (collectionRef.Count != currentSize) { + throw new InvalidOperationException("Collection modified."); + } + } + +#if !SWIG_DOTNET_1 + public void Dispose() { + currentIndex = -1; + currentObject = null; + } +#endif + } + + public void Clear() { + Assimp_NETPINVOKE.aiVector3DVector_Clear(swigCPtr); + } + + public void Add(aiVector3D x) { + Assimp_NETPINVOKE.aiVector3DVector_Add(swigCPtr, aiVector3D.getCPtr(x)); + } + + private uint size() { + uint ret = Assimp_NETPINVOKE.aiVector3DVector_size(swigCPtr); + return ret; + } + + private uint capacity() { + uint ret = Assimp_NETPINVOKE.aiVector3DVector_capacity(swigCPtr); + return ret; + } + + private void reserve(uint n) { + Assimp_NETPINVOKE.aiVector3DVector_reserve(swigCPtr, n); + } + + public aiVector3DVector() : this(Assimp_NETPINVOKE.new_aiVector3DVector__SWIG_0(), true) { + } + + public aiVector3DVector(aiVector3DVector other) : this(Assimp_NETPINVOKE.new_aiVector3DVector__SWIG_1(aiVector3DVector.getCPtr(other)), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public aiVector3DVector(int capacity) : this(Assimp_NETPINVOKE.new_aiVector3DVector__SWIG_2(capacity), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + private aiVector3D getitemcopy(int index) { + IntPtr cPtr = Assimp_NETPINVOKE.aiVector3DVector_getitemcopy(swigCPtr, index); + aiVector3D ret = (cPtr == IntPtr.Zero) ? null : new aiVector3D(cPtr, false); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private aiVector3D getitem(int index) { + IntPtr cPtr = Assimp_NETPINVOKE.aiVector3DVector_getitem(swigCPtr, index); + aiVector3D ret = (cPtr == IntPtr.Zero) ? null : new aiVector3D(cPtr, false); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private void setitem(int index, aiVector3D val) { + Assimp_NETPINVOKE.aiVector3DVector_setitem(swigCPtr, index, aiVector3D.getCPtr(val)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void AddRange(aiVector3DVector values) { + Assimp_NETPINVOKE.aiVector3DVector_AddRange(swigCPtr, aiVector3DVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public aiVector3DVector GetRange(int index, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.aiVector3DVector_GetRange(swigCPtr, index, count); + aiVector3DVector ret = (cPtr == IntPtr.Zero) ? null : new aiVector3DVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Insert(int index, aiVector3D x) { + Assimp_NETPINVOKE.aiVector3DVector_Insert(swigCPtr, index, aiVector3D.getCPtr(x)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void InsertRange(int index, aiVector3DVector values) { + Assimp_NETPINVOKE.aiVector3DVector_InsertRange(swigCPtr, index, aiVector3DVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveAt(int index) { + Assimp_NETPINVOKE.aiVector3DVector_RemoveAt(swigCPtr, index); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveRange(int index, int count) { + Assimp_NETPINVOKE.aiVector3DVector_RemoveRange(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public static aiVector3DVector Repeat(aiVector3D value, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.aiVector3DVector_Repeat(aiVector3D.getCPtr(value), count); + aiVector3DVector ret = (cPtr == IntPtr.Zero) ? null : new aiVector3DVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Reverse() { + Assimp_NETPINVOKE.aiVector3DVector_Reverse__SWIG_0(swigCPtr); + } + + public void Reverse(int index, int count) { + Assimp_NETPINVOKE.aiVector3DVector_Reverse__SWIG_1(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void SetRange(int index, aiVector3DVector values) { + Assimp_NETPINVOKE.aiVector3DVector_SetRange(swigCPtr, index, aiVector3DVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public bool Contains(aiVector3D value) { + bool ret = Assimp_NETPINVOKE.aiVector3DVector_Contains(swigCPtr, aiVector3D.getCPtr(value)); + return ret; + } + + public int IndexOf(aiVector3D value) { + int ret = Assimp_NETPINVOKE.aiVector3DVector_IndexOf(swigCPtr, aiVector3D.getCPtr(value)); + return ret; + } + + public int LastIndexOf(aiVector3D value) { + int ret = Assimp_NETPINVOKE.aiVector3DVector_LastIndexOf(swigCPtr, aiVector3D.getCPtr(value)); + return ret; + } + + public bool Remove(aiVector3D value) { + bool ret = Assimp_NETPINVOKE.aiVector3DVector_Remove(swigCPtr, aiVector3D.getCPtr(value)); + return ret; + } + +} diff --git a/port/Assimp.NET/Assimp.NET_CS/aiVector3DVectorVector.cs b/port/Assimp.NET/Assimp.NET_CS/aiVector3DVectorVector.cs new file mode 100644 index 000000000..9765b8be2 --- /dev/null +++ b/port/Assimp.NET/Assimp.NET_CS/aiVector3DVectorVector.cs @@ -0,0 +1,327 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.40 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + + +using System; +using System.Runtime.InteropServices; + +public class aiVector3DVectorVector : IDisposable, System.Collections.IEnumerable +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IEnumerable +#endif + { + private HandleRef swigCPtr; + protected bool swigCMemOwn; + + internal aiVector3DVectorVector(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } + + internal static HandleRef getCPtr(aiVector3DVectorVector obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } + + ~aiVector3DVectorVector() { + Dispose(); + } + + public virtual void Dispose() { + lock(this) { + if (swigCPtr.Handle != IntPtr.Zero) { + if (swigCMemOwn) { + swigCMemOwn = false; + Assimp_NETPINVOKE.delete_aiVector3DVectorVector(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + } + GC.SuppressFinalize(this); + } + } + + public aiVector3DVectorVector(System.Collections.ICollection c) : this() { + if (c == null) + throw new ArgumentNullException("c"); + foreach (aiVector3DVector element in c) { + this.Add(element); + } + } + + public bool IsFixedSize { + get { + return false; + } + } + + public bool IsReadOnly { + get { + return false; + } + } + + public aiVector3DVector this[int index] { + get { + return getitem(index); + } + set { + setitem(index, value); + } + } + + public int Capacity { + get { + return (int)capacity(); + } + set { + if (value < size()) + throw new ArgumentOutOfRangeException("Capacity"); + reserve((uint)value); + } + } + + public int Count { + get { + return (int)size(); + } + } + + public bool IsSynchronized { + get { + return false; + } + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array) +#else + public void CopyTo(aiVector3DVector[] array) +#endif + { + CopyTo(0, array, 0, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(System.Array array, int arrayIndex) +#else + public void CopyTo(aiVector3DVector[] array, int arrayIndex) +#endif + { + CopyTo(0, array, arrayIndex, this.Count); + } + +#if SWIG_DOTNET_1 + public void CopyTo(int index, System.Array array, int arrayIndex, int count) +#else + public void CopyTo(int index, aiVector3DVector[] array, int arrayIndex, int count) +#endif + { + if (array == null) + throw new ArgumentNullException("array"); + if (index < 0) + throw new ArgumentOutOfRangeException("index", "Value is less than zero"); + if (arrayIndex < 0) + throw new ArgumentOutOfRangeException("arrayIndex", "Value is less than zero"); + if (count < 0) + throw new ArgumentOutOfRangeException("count", "Value is less than zero"); + if (array.Rank > 1) + throw new ArgumentException("Multi dimensional array.", "array"); + if (index+count > this.Count || arrayIndex+count > array.Length) + throw new ArgumentException("Number of elements to copy is too large."); + for (int i=0; i System.Collections.Generic.IEnumerable.GetEnumerator() { + return new aiVector3DVectorVectorEnumerator(this); + } +#endif + + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { + return new aiVector3DVectorVectorEnumerator(this); + } + + public aiVector3DVectorVectorEnumerator GetEnumerator() { + return new aiVector3DVectorVectorEnumerator(this); + } + + // Type-safe enumerator + /// Note that the IEnumerator documentation requires an InvalidOperationException to be thrown + /// whenever the collection is modified. This has been done for changes in the size of the + /// collection but not when one of the elements of the collection is modified as it is a bit + /// tricky to detect unmanaged code that modifies the collection under our feet. + public sealed class aiVector3DVectorVectorEnumerator : System.Collections.IEnumerator +#if !SWIG_DOTNET_1 + , System.Collections.Generic.IEnumerator +#endif + { + private aiVector3DVectorVector collectionRef; + private int currentIndex; + private object currentObject; + private int currentSize; + + public aiVector3DVectorVectorEnumerator(aiVector3DVectorVector collection) { + collectionRef = collection; + currentIndex = -1; + currentObject = null; + currentSize = collectionRef.Count; + } + + // Type-safe iterator Current + public aiVector3DVector Current { + get { + if (currentIndex == -1) + throw new InvalidOperationException("Enumeration not started."); + if (currentIndex > currentSize - 1) + throw new InvalidOperationException("Enumeration finished."); + if (currentObject == null) + throw new InvalidOperationException("Collection modified."); + return (aiVector3DVector)currentObject; + } + } + + // Type-unsafe IEnumerator.Current + object System.Collections.IEnumerator.Current { + get { + return Current; + } + } + + public bool MoveNext() { + int size = collectionRef.Count; + bool moveOkay = (currentIndex+1 < size) && (size == currentSize); + if (moveOkay) { + currentIndex++; + currentObject = collectionRef[currentIndex]; + } else { + currentObject = null; + } + return moveOkay; + } + + public void Reset() { + currentIndex = -1; + currentObject = null; + if (collectionRef.Count != currentSize) { + throw new InvalidOperationException("Collection modified."); + } + } + +#if !SWIG_DOTNET_1 + public void Dispose() { + currentIndex = -1; + currentObject = null; + } +#endif + } + + public void Clear() { + Assimp_NETPINVOKE.aiVector3DVectorVector_Clear(swigCPtr); + } + + public void Add(aiVector3DVector x) { + Assimp_NETPINVOKE.aiVector3DVectorVector_Add(swigCPtr, aiVector3DVector.getCPtr(x)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + private uint size() { + uint ret = Assimp_NETPINVOKE.aiVector3DVectorVector_size(swigCPtr); + return ret; + } + + private uint capacity() { + uint ret = Assimp_NETPINVOKE.aiVector3DVectorVector_capacity(swigCPtr); + return ret; + } + + private void reserve(uint n) { + Assimp_NETPINVOKE.aiVector3DVectorVector_reserve(swigCPtr, n); + } + + public aiVector3DVectorVector() : this(Assimp_NETPINVOKE.new_aiVector3DVectorVector__SWIG_0(), true) { + } + + public aiVector3DVectorVector(aiVector3DVectorVector other) : this(Assimp_NETPINVOKE.new_aiVector3DVectorVector__SWIG_1(aiVector3DVectorVector.getCPtr(other)), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public aiVector3DVectorVector(int capacity) : this(Assimp_NETPINVOKE.new_aiVector3DVectorVector__SWIG_2(capacity), true) { + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + private aiVector3DVector getitemcopy(int index) { + aiVector3DVector ret = new aiVector3DVector(Assimp_NETPINVOKE.aiVector3DVectorVector_getitemcopy(swigCPtr, index), true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private aiVector3DVector getitem(int index) { + aiVector3DVector ret = new aiVector3DVector(Assimp_NETPINVOKE.aiVector3DVectorVector_getitem(swigCPtr, index), false); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + private void setitem(int index, aiVector3DVector val) { + Assimp_NETPINVOKE.aiVector3DVectorVector_setitem(swigCPtr, index, aiVector3DVector.getCPtr(val)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void AddRange(aiVector3DVectorVector values) { + Assimp_NETPINVOKE.aiVector3DVectorVector_AddRange(swigCPtr, aiVector3DVectorVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public aiVector3DVectorVector GetRange(int index, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.aiVector3DVectorVector_GetRange(swigCPtr, index, count); + aiVector3DVectorVector ret = (cPtr == IntPtr.Zero) ? null : new aiVector3DVectorVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Insert(int index, aiVector3DVector x) { + Assimp_NETPINVOKE.aiVector3DVectorVector_Insert(swigCPtr, index, aiVector3DVector.getCPtr(x)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void InsertRange(int index, aiVector3DVectorVector values) { + Assimp_NETPINVOKE.aiVector3DVectorVector_InsertRange(swigCPtr, index, aiVector3DVectorVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveAt(int index) { + Assimp_NETPINVOKE.aiVector3DVectorVector_RemoveAt(swigCPtr, index); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void RemoveRange(int index, int count) { + Assimp_NETPINVOKE.aiVector3DVectorVector_RemoveRange(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public static aiVector3DVectorVector Repeat(aiVector3DVector value, int count) { + IntPtr cPtr = Assimp_NETPINVOKE.aiVector3DVectorVector_Repeat(aiVector3DVector.getCPtr(value), count); + aiVector3DVectorVector ret = (cPtr == IntPtr.Zero) ? null : new aiVector3DVectorVector(cPtr, true); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + public void Reverse() { + Assimp_NETPINVOKE.aiVector3DVectorVector_Reverse__SWIG_0(swigCPtr); + } + + public void Reverse(int index, int count) { + Assimp_NETPINVOKE.aiVector3DVectorVector_Reverse__SWIG_1(swigCPtr, index, count); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + + public void SetRange(int index, aiVector3DVectorVector values) { + Assimp_NETPINVOKE.aiVector3DVectorVector_SetRange(swigCPtr, index, aiVector3DVectorVector.getCPtr(values)); + if (Assimp_NETPINVOKE.SWIGPendingException.Pending) throw Assimp_NETPINVOKE.SWIGPendingException.Retrieve(); + } + +}