14using System.Runtime.InteropServices;
17public class DWGHatch : IDisposable, System.Collections.IEnumerable
18, System.Collections.Generic.IList<DWGHatchLine>
20 private Object locker =
new Object();
21 private HandleRef swigCPtr;
23 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
24 public DWGHatch(IntPtr cPtr,
bool cMemoryOwn) {
26 swigCPtr =
new HandleRef(
this, cPtr);
28 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
30 return (obj ==
null) ?
new HandleRef(
null, IntPtr.Zero) : obj.swigCPtr;
39 global::System.GC.SuppressFinalize(
this);
42 protected virtual void Dispose(
bool disposing) {
44 if (swigCPtr.Handle != global::System.IntPtr.Zero) {
49 swigCPtr =
new global::System.Runtime.InteropServices.HandleRef(
null, global::System.IntPtr.Zero);
54 public DWGHatch(System.Collections.ICollection c) : this() {
56 throw new ArgumentNullException(
"c");
63 : this(
TG_DbPINVOKE.new_DWGHatch__SWIG_0(), MemoryManager.GetMemoryManager().GetCurrentTransaction() == null)
65 MemoryTransaction mTr = MemoryManager.GetMemoryManager().GetCurrentTransaction();
68 mTr.AddObject(
new DWGHatch(swigCPtr.Handle,
true));
74 MemoryTransaction mTr = MemoryManager.GetMemoryManager().GetCurrentTransaction();
77 mTr.AddObject(
new DWGHatch(swigCPtr.Handle,
true));
82 public DWGHatch(
int capacity) : this(
TG_DbPINVOKE.new_DWGHatch__SWIG_2(capacity), MemoryManager.GetMemoryManager().GetCurrentTransaction() == null) {
83 MemoryTransaction mTr = MemoryManager.GetMemoryManager().GetCurrentTransaction();
86 mTr.AddObject(
new DWGHatch(swigCPtr.Handle,
true));
105 return getitem(index);
108 setitem(index,
value);
114 return (
int)capacity();
118 throw new ArgumentOutOfRangeException(
"Capacity");
119 reserve((uint)
value);
148 throw new ArgumentNullException(
"array");
150 throw new ArgumentOutOfRangeException(
"index",
"Value is less than zero");
152 throw new ArgumentOutOfRangeException(
"arrayIndex",
"Value is less than zero");
154 throw new ArgumentOutOfRangeException(
"count",
"Value is less than zero");
156 throw new ArgumentException(
"Multi dimensional array.",
"array");
157 if (index+count > this.
Count || arrayIndex+count > array.Length)
158 throw new ArgumentException(
"Number of elements to copy is too large.");
159 for (
int i=0; i<count; i++)
160 array.SetValue(getitemcopy(index+i), arrayIndex+i);
163 System.Collections.Generic.IEnumerator<
DWGHatchLine> System.Collections.Generic.IEnumerable<
DWGHatchLine>.GetEnumerator() {
164 return new DWGHatchEnumerator(
this);
167 System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() {
168 return new DWGHatchEnumerator(
this);
181 , System.Collections.Generic.IEnumerator<DWGHatchLine>
184 private int currentIndex;
185 private object currentObject;
186 private int currentSize;
189 collectionRef = collection;
191 currentObject =
null;
192 currentSize = collectionRef.
Count;
198 if (currentIndex == -1)
199 throw new InvalidOperationException(
"Enumeration not started.");
200 if (currentIndex > currentSize - 1)
201 throw new InvalidOperationException(
"Enumeration finished.");
202 if (currentObject ==
null)
203 throw new InvalidOperationException(
"Collection modified.");
209 object System.Collections.IEnumerator.Current {
216 int size = collectionRef.
Count;
217 bool moveOkay = (currentIndex+1 < size) && (size == currentSize);
220 currentObject = collectionRef[currentIndex];
222 currentObject =
null;
229 currentObject =
null;
230 if (collectionRef.
Count != currentSize) {
231 throw new InvalidOperationException(
"Collection modified.");
237 currentObject =
null;
251 private uint size() {
257 private uint capacity() {
258 uint ret = TG_DbPINVOKE.DWGHatch_capacity(swigCPtr);
259 if (TG_DbPINVOKE.SWIGPendingException.Pending)
throw TG_DbPINVOKE.SWIGPendingException.Retrieve();
263 private void reserve(uint n) {
264 TG_DbPINVOKE.DWGHatch_reserve(swigCPtr, n);
265 if (TG_DbPINVOKE.SWIGPendingException.Pending)
throw TG_DbPINVOKE.SWIGPendingException.Retrieve();
279 private DWGHatchLine getitem(
int index) {
280 DWGHatchLine ret =
new DWGHatchLine(TG_DbPINVOKE.DWGHatch_getitem(swigCPtr, index),
false);
281 if (TG_DbPINVOKE.SWIGPendingException.Pending)
throw TG_DbPINVOKE.SWIGPendingException.Retrieve();
285 private void setitem(
int index, DWGHatchLine val) {
286 TG_DbPINVOKE.DWGHatch_setitem(swigCPtr, index, DWGHatchLine.getCPtr(val));
287 if (TG_DbPINVOKE.SWIGPendingException.Pending)
throw TG_DbPINVOKE.SWIGPendingException.Retrieve();
297 DWGHatch ret = (cPtr == global::System.IntPtr.Zero) ?
null :
new DWGHatch(cPtr,
false);
324 DWGHatch ret = (cPtr == global::System.IntPtr.Zero) ?
null :
new DWGHatch(cPtr,
true);
DWGHatchEnumerator(DWGHatch collection)
DWGHatch(IntPtr cPtr, bool cMemoryOwn)
void CopyTo(DWGHatchLine[] array)
virtual void Dispose(bool disposing)
void SetRange(int index, DWGHatch values)
void resize(uint logicalLength)
static HandleRef getCPtr(DWGHatch obj)
void Reverse(int index, int count)
void RemoveRange(int index, int count)
DWGHatch(System.Collections.ICollection c)
static DWGHatch Repeat(DWGHatchLine value, int count)
void AddRange(DWGHatch values)
DWGHatchEnumerator GetEnumerator()
bool Remove(DWGHatchLine value)
void InsertRange(int index, DWGHatch values)
int LastIndexOf(DWGHatchLine value)
void Insert(int index, DWGHatchLine x)
bool Contains(DWGHatchLine value)
int IndexOf(DWGHatchLine value)
void CopyTo(DWGHatchLine[] array, int arrayIndex)
DWGHatch GetRange(int index, int count)
void CopyTo(int index, DWGHatchLine[] array, int arrayIndex, int count)
static HandleRef getCPtr(DWGHatchLine obj)
static global::System.Exception Retrieve()
static void DWGHatch_Reverse__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static void DWGHatch_resize(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2)
static global::System.IntPtr DWGHatch_getitemcopy(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static bool DWGHatch_Contains(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static void DWGHatch_Insert(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
static void DWGHatch_RemoveRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static void DWGHatch_SetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
static void DWGHatch_InsertRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
static void delete_DWGHatch(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr DWGHatch_Repeat(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static uint DWGHatch_size(global::System.Runtime.InteropServices.HandleRef jarg1)
static void DWGHatch_Clear(global::System.Runtime.InteropServices.HandleRef jarg1)
static int DWGHatch_IndexOf(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static void DWGHatch_Reverse__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1)
static void DWGHatch_Add(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static int DWGHatch_LastIndexOf(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static bool DWGHatch_Remove(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static void DWGHatch_AddRange(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static void DWGHatch_RemoveAt(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static global::System.IntPtr DWGHatch_GetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)