14using System.Runtime.InteropServices;
17, System.Collections.Generic.IList<OdRxObject>
19 private Object locker =
new Object();
20 private HandleRef swigCPtr;
22 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
25 swigCPtr =
new HandleRef(
this, cPtr);
27 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
29 return (obj ==
null) ?
new HandleRef(
null, IntPtr.Zero) : obj.swigCPtr;
38 global::System.GC.SuppressFinalize(
this);
41 protected virtual void Dispose(
bool disposing) {
43 if (swigCPtr.Handle != global::System.IntPtr.Zero) {
48 swigCPtr =
new global::System.Runtime.InteropServices.HandleRef(
null, global::System.IntPtr.Zero);
55 throw new ArgumentNullException(
"c");
62 : this(
GlobalsPINVOKE.new_OdRxObjectPtrArray__SWIG_0(), MemoryManager.GetMemoryManager().GetCurrentTransaction() == null)
64 MemoryTransaction mTr = MemoryManager.GetMemoryManager().GetCurrentTransaction();
73 MemoryTransaction mTr = MemoryManager.GetMemoryManager().GetCurrentTransaction();
81 public OdRxObjectPtrArray(
int capacity) : this(
GlobalsPINVOKE.new_OdRxObjectPtrArray__SWIG_2(capacity), MemoryManager.GetMemoryManager().GetCurrentTransaction() == null) {
82 MemoryTransaction mTr = MemoryManager.GetMemoryManager().GetCurrentTransaction();
104 return getitem(index);
107 setitem(index,
value);
113 return (
int)capacity();
117 throw new ArgumentOutOfRangeException(
"Capacity");
118 reserve((uint)
value);
147 throw new ArgumentNullException(
"array");
149 throw new ArgumentOutOfRangeException(
"index",
"Value is less than zero");
151 throw new ArgumentOutOfRangeException(
"arrayIndex",
"Value is less than zero");
153 throw new ArgumentOutOfRangeException(
"count",
"Value is less than zero");
155 throw new ArgumentException(
"Multi dimensional array.",
"array");
156 if (index+count > this.
Count || arrayIndex+count > array.Length)
157 throw new ArgumentException(
"Number of elements to copy is too large.");
158 for (
int i=0; i<count; i++)
159 array.SetValue(getitemcopy(index+i), arrayIndex+i);
162 System.Collections.Generic.IEnumerator<
OdRxObject> System.Collections.Generic.IEnumerable<
OdRxObject>.GetEnumerator() {
163 return new OdRxObjectPtrArrayEnumerator(
this);
166 System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() {
167 return new OdRxObjectPtrArrayEnumerator(
this);
180 , System.Collections.Generic.IEnumerator<OdRxObject>
183 private int currentIndex;
184 private object currentObject;
185 private int currentSize;
188 collectionRef = collection;
190 currentObject =
null;
191 currentSize = collectionRef.
Count;
197 if (currentIndex == -1)
198 throw new InvalidOperationException(
"Enumeration not started.");
199 if (currentIndex > currentSize - 1)
200 throw new InvalidOperationException(
"Enumeration finished.");
201 if (currentObject ==
null)
202 throw new InvalidOperationException(
"Collection modified.");
208 object System.Collections.IEnumerator.Current {
215 int size = collectionRef.
Count;
216 bool moveOkay = (currentIndex+1 < size) && (size == currentSize);
219 currentObject = collectionRef[currentIndex];
221 currentObject =
null;
228 currentObject =
null;
229 if (collectionRef.
Count != currentSize) {
230 throw new InvalidOperationException(
"Collection modified.");
236 currentObject =
null;
250 private uint size() {
256 private uint capacity() {
257 uint ret = GlobalsPINVOKE.OdRxObjectPtrArray_capacity(swigCPtr);
258 if (GlobalsPINVOKE.SWIGPendingException.Pending)
throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
262 private void reserve(uint n) {
263 GlobalsPINVOKE.OdRxObjectPtrArray_reserve(swigCPtr, n);
264 if (GlobalsPINVOKE.SWIGPendingException.Pending)
throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
273 MemoryManager mMan = MemoryManager.GetMemoryManager();
274 MemoryTransaction mTrans = mMan.GetCurrentTransaction();
285 ret = (OdRxObject)
Teigha.
Core.Helpers.odrxCreateObjectInternalUniversal(typeof(OdRxObject),ptr,
true);
288 if (GlobalsPINVOKE.SWIGPendingException.Pending)
throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
292 private OdRxObject getitem(
int index) {
293 MemoryManager mMan = MemoryManager.GetMemoryManager();
294 MemoryTransaction mTrans = mMan.GetCurrentTransaction();
295 IntPtr ptr = GlobalsPINVOKE.OdRxObjectPtrArray_getitem(swigCPtr, index);
297 OdRxObject ret =
null;
300 mTrans.AddObject((OdRxObject)
Teigha.
Core.Helpers.odrxCreateObjectInternalUniversal(typeof(OdRxObject),ptr,
true));
301 ret = (OdRxObject)
Teigha.
Core.Helpers.odrxCreateObjectInternalUniversal(typeof(OdRxObject),ptr,
false);
305 ret = (OdRxObject)
Teigha.
Core.Helpers.odrxCreateObjectInternalUniversal(typeof(OdRxObject),ptr,
true);
308 if (GlobalsPINVOKE.SWIGPendingException.Pending)
throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
312 private void setitem(
int index, OdRxObject val) {
313 GlobalsPINVOKE.OdRxObjectPtrArray_setitem(swigCPtr, index, OdRxObject.getCPtr(val));
314 if (GlobalsPINVOKE.SWIGPendingException.Pending)
throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
static global::System.Exception Retrieve()
static void OdRxObjectPtrArray_Clear(global::System.Runtime.InteropServices.HandleRef jarg1)
static void delete_OdRxObjectPtrArray(global::System.Runtime.InteropServices.HandleRef jarg1)
static int OdRxObjectPtrArray_LastIndexOf(global::System.Runtime.InteropServices.HandleRef jarg1, HandleRef jarg2)
static void OdRxObjectPtrArray_resize(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2)
static global::System.IntPtr OdRxObjectPtrArray_Repeat(HandleRef jarg1, int jarg2)
static void OdRxObjectPtrArray_Add(global::System.Runtime.InteropServices.HandleRef jarg1, HandleRef jarg2)
static void OdRxObjectPtrArray_AddRange(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static void OdRxObjectPtrArray_RemoveAt(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static IntPtr OdRxObjectPtrArray_getitemcopy(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void OdRxObjectPtrArray_Reverse__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1)
static bool OdRxObjectPtrArray_Remove(global::System.Runtime.InteropServices.HandleRef jarg1, HandleRef jarg2)
static void OdRxObjectPtrArray_Insert(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, HandleRef jarg3)
static void OdRxObjectPtrArray_Reverse__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static void OdRxObjectPtrArray_InsertRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
static int OdRxObjectPtrArray_IndexOf(global::System.Runtime.InteropServices.HandleRef jarg1, HandleRef jarg2)
static void OdRxObjectPtrArray_SetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
static void OdRxObjectPtrArray_RemoveRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static uint OdRxObjectPtrArray_size(global::System.Runtime.InteropServices.HandleRef jarg1)
static bool OdRxObjectPtrArray_Contains(global::System.Runtime.InteropServices.HandleRef jarg1, HandleRef jarg2)
static global::System.IntPtr OdRxObjectPtrArray_GetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static HandleRef getCPtr(OdRxObject obj)
OdRxObjectPtrArrayEnumerator(OdRxObjectPtrArray collection)
OdRxObjectPtrArrayEnumerator GetEnumerator()
void CopyTo(OdRxObject[] array)
OdRxObjectPtrArray(int capacity)
static HandleRef getCPtr(OdRxObjectPtrArray obj)
bool Remove(OdRxObject value)
void AddRange(OdRxObjectPtrArray values)
void Insert(int index, OdRxObject x)
int IndexOf(OdRxObject value)
void resize(uint logicalLength)
OdRxObjectPtrArray(System.Collections.ICollection c)
OdRxObjectPtrArray(IntPtr cPtr, bool cMemoryOwn)
void Reverse(int index, int count)
bool Contains(OdRxObject value)
void CopyTo(int index, OdRxObject[] array, int arrayIndex, int count)
static OdRxObjectPtrArray Repeat(OdRxObject value, int count)
void CopyTo(OdRxObject[] array, int arrayIndex)
OdRxObjectPtrArray(OdRxObjectPtrArray other)
OdRxObjectPtrArray GetRange(int index, int count)
void InsertRange(int index, OdRxObjectPtrArray values)
void RemoveRange(int index, int count)
void SetRange(int index, OdRxObjectPtrArray values)
int LastIndexOf(OdRxObject value)
virtual void Dispose(bool disposing)