Extended .NET SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
EdgeArray.cs
Go to the documentation of this file.
1//------------------------------------------------------------------------------
2// <auto-generated />
3//
4// This file was automatically generated by SWIG (http://www.swig.org).
5// Version 4.0.2
6//
7// Do not make changes to this file unless you know what you are doing--modify
8// the SWIG interface file instead.
9//------------------------------------------------------------------------------
10
11namespace Teigha.TD {
12
13using System;
14using System.Runtime.InteropServices;
15using Teigha.Core;
16
17public class EdgeArray : IDisposable, System.Collections.IEnumerable
18, System.Collections.Generic.IList<OdGeCurve2d>
19 {
20 private Object locker = new Object();
21 private HandleRef swigCPtr;
22 protected bool swigCMemOwn;
23 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
24 public EdgeArray(IntPtr cPtr, bool cMemoryOwn) {
25 swigCMemOwn = cMemoryOwn;
26 swigCPtr = new HandleRef(this, cPtr);
27 }
28 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
29 public static HandleRef getCPtr(EdgeArray obj) {
30 return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
31 }
32
33 ~EdgeArray() {
34 Dispose(false);
35 }
36
37 public void Dispose() {
38 Dispose(true);
39 global::System.GC.SuppressFinalize(this);
40 }
41
42 protected virtual void Dispose(bool disposing) {
43 lock(this) {
44 if (swigCPtr.Handle != global::System.IntPtr.Zero) {
45 if (swigCMemOwn) {
46 swigCMemOwn = false;
48 }
49 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
50 }
51 }
52 }
53
54 public EdgeArray(System.Collections.ICollection c) : this() {
55 if (c == null)
56 throw new ArgumentNullException("c");
57 foreach (OdGeCurve2d element in c) {
58 this.Add(element);
59 }
60 }
61
62 public EdgeArray()
63 : this(TD_DbPINVOKE.new_EdgeArray__SWIG_0(), MemoryManager.GetMemoryManager().GetCurrentTransaction() == null)
64 {
65 MemoryTransaction mTr = MemoryManager.GetMemoryManager().GetCurrentTransaction(); // MemoryTransaction #9
66 if (null != mTr)
67 {
68 mTr.AddObject(new EdgeArray(swigCPtr.Handle, true));
69 }
71 }
72
73 public EdgeArray(EdgeArray other) : this(TD_DbPINVOKE.new_EdgeArray__SWIG_1(EdgeArray.getCPtr(other)), MemoryManager.GetMemoryManager().GetCurrentTransaction() == null) {
74 MemoryTransaction mTr = MemoryManager.GetMemoryManager().GetCurrentTransaction(); // MemoryTransaction #10
75 if (null != mTr)
76 {
77 mTr.AddObject(new EdgeArray(swigCPtr.Handle, true));
78 }
80 }
81
82 public EdgeArray(int capacity) : this(TD_DbPINVOKE.new_EdgeArray__SWIG_2(capacity), MemoryManager.GetMemoryManager().GetCurrentTransaction() == null) {
83 MemoryTransaction mTr = MemoryManager.GetMemoryManager().GetCurrentTransaction(); // MemoryTransaction #11
84 if (null != mTr)
85 {
86 mTr.AddObject(new EdgeArray(swigCPtr.Handle, true));
87 }
89 }
90
91 public bool IsFixedSize {
92 get {
93 return false;
94 }
95 }
96
97 public bool IsReadOnly {
98 get {
99 return false;
100 }
101 }
102
103 public OdGeCurve2d this[int index] {
104 get {
105 return getitem(index);
106 }
107 set {
108 setitem(index, value);
109 }
110 }
111
112 public int Capacity {
113 get {
114 return (int)capacity();
115 }
116 set {
117 if (value < size())
118 throw new ArgumentOutOfRangeException("Capacity");
119 reserve((uint)value);
120 }
121 }
122
123 public int Count {
124 get {
125 return (int)size();
126 }
127 }
128
129 public bool IsSynchronized {
130 get {
131 return false;
132 }
133 }
134
135 public void CopyTo(OdGeCurve2d[] array)
136 {
137 CopyTo(0, array, 0, this.Count);
138 }
139
140 public void CopyTo(OdGeCurve2d[] array, int arrayIndex)
141 {
142 CopyTo(0, array, arrayIndex, this.Count);
143 }
144
145 public void CopyTo(int index, OdGeCurve2d[] array, int arrayIndex, int count)
146 {
147 if (array == null)
148 throw new ArgumentNullException("array");
149 if (index < 0)
150 throw new ArgumentOutOfRangeException("index", "Value is less than zero");
151 if (arrayIndex < 0)
152 throw new ArgumentOutOfRangeException("arrayIndex", "Value is less than zero");
153 if (count < 0)
154 throw new ArgumentOutOfRangeException("count", "Value is less than zero");
155 if (array.Rank > 1)
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);
161 }
162
163 System.Collections.Generic.IEnumerator<OdGeCurve2d> System.Collections.Generic.IEnumerable<OdGeCurve2d>.GetEnumerator() {
164 return new EdgeArrayEnumerator(this);
165 }
166
167 System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() {
168 return new EdgeArrayEnumerator(this);
169 }
170
172 return new EdgeArrayEnumerator(this);
173 }
174
175 // Type-safe enumerator
180 public class EdgeArrayEnumerator : System.Collections.IEnumerator
181 , System.Collections.Generic.IEnumerator<OdGeCurve2d>
182 {
183 private EdgeArray collectionRef;
184 private int currentIndex;
185 private object currentObject;
186 private int currentSize;
187
188 public EdgeArrayEnumerator(EdgeArray collection) {
189 collectionRef = collection;
190 currentIndex = -1;
191 currentObject = null;
192 currentSize = collectionRef.Count;
193 }
194
195 // Type-safe iterator Current
197 get {
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.");
204 return (OdGeCurve2d)currentObject;
205 }
206 }
207
208 // Type-unsafe IEnumerator.Current
209 object System.Collections.IEnumerator.Current {
210 get {
211 return Current;
212 }
213 }
214
215 public bool MoveNext() {
216 int size = collectionRef.Count;
217 bool moveOkay = (currentIndex+1 < size) && (size == currentSize);
218 if (moveOkay) {
219 currentIndex++;
220 currentObject = collectionRef[currentIndex];
221 } else {
222 currentObject = null;
223 }
224 return moveOkay;
225 }
226
227 public void Reset() {
228 currentIndex = -1;
229 currentObject = null;
230 if (collectionRef.Count != currentSize) {
231 throw new InvalidOperationException("Collection modified.");
232 }
233 }
234
235 public void Dispose() {
236 currentIndex = -1;
237 currentObject = null;
238 }
239 }
240
241 public void Clear() {
244 }
245
246 public void Add(OdGeCurve2d x) {
249 }
250
251 private uint size() {
252 uint ret = TD_DbPINVOKE.EdgeArray_size(swigCPtr);
254 return ret;
255 }
256
257 private uint capacity() {
258 uint ret = TD_DbPINVOKE.EdgeArray_capacity(swigCPtr);
259 if (TD_DbPINVOKE.SWIGPendingException.Pending) throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
260 return ret;
261 }
262
263 private void reserve(uint n) {
264 TD_DbPINVOKE.EdgeArray_reserve(swigCPtr, n);
265 if (TD_DbPINVOKE.SWIGPendingException.Pending) throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
266 }
267
268 public void resize(uint logicalLength) {
269 TD_DbPINVOKE.EdgeArray_resize(swigCPtr, logicalLength);
271 }
272
273 private OdGeCurve2d getitemcopy(int index) {
274 OdGeCurve2d ret = Teigha.Core.Helpers.odCreateObjectInternal<OdGeCurve2d>(typeof(OdGeCurve2d), TD_DbPINVOKE.EdgeArray_getitemcopy(swigCPtr, index), false);
275
277 return ret;
278}
279
280 private OdGeCurve2d getitem(int index) {
281 global::System.IntPtr cPtr = TD_DbPINVOKE.EdgeArray_getitem(swigCPtr, index);
282 OdGeCurve2d ret = (cPtr == global::System.IntPtr.Zero) ? null : new OdGeCurve2d(cPtr, false);
283 if (TD_DbPINVOKE.SWIGPendingException.Pending) throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
284 return ret;
285 }
286
287 private void setitem(int index, OdGeCurve2d val) {
288 TD_DbPINVOKE.EdgeArray_setitem(swigCPtr, index, OdGeCurve2d.getCPtr(val));
289 if (TD_DbPINVOKE.SWIGPendingException.Pending) throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
290 }
291
292 public void AddRange(OdArrayOdGeCurve2dPtr values) {
295 }
296
297 public OdArrayOdGeCurve2dPtr GetRange(int index, int count) {
298 global::System.IntPtr cPtr = TD_DbPINVOKE.EdgeArray_GetRange(swigCPtr, index, count);
299 OdArrayOdGeCurve2dPtr ret = (cPtr == global::System.IntPtr.Zero) ? null : new OdArrayOdGeCurve2dPtr(cPtr, false);
301 return ret;
302 }
303
304 public void Insert(int index, OdGeCurve2d x) {
307 }
308
309 public void InsertRange(int index, OdArrayOdGeCurve2dPtr values) {
312 }
313
314 public void RemoveAt(int index) {
315 TD_DbPINVOKE.EdgeArray_RemoveAt(swigCPtr, index);
317 }
318
319 public void RemoveRange(int index, int count) {
320 TD_DbPINVOKE.EdgeArray_RemoveRange(swigCPtr, index, count);
322 }
323
324 public static OdArrayOdGeCurve2dPtr Repeat(OdGeCurve2d value, int count) {
325 global::System.IntPtr cPtr = TD_DbPINVOKE.EdgeArray_Repeat(OdGeCurve2d.getCPtr(value), count);
326 OdArrayOdGeCurve2dPtr ret = (cPtr == global::System.IntPtr.Zero) ? null : new OdArrayOdGeCurve2dPtr(cPtr, true);
328 return ret;
329 }
330
331 public void Reverse() {
334 }
335
336 public void Reverse(int index, int count) {
337 TD_DbPINVOKE.EdgeArray_Reverse__SWIG_1(swigCPtr, index, count);
339 }
340
341 public void SetRange(int index, OdArrayOdGeCurve2dPtr values) {
344 }
345
349 return ret;
350 }
351
355 return ret;
356 }
357
361 return ret;
362 }
363
364 public bool Remove(OdGeCurve2d value) {
367 return ret;
368 }
369
370}
371
372}
static HandleRef getCPtr(OdArrayOdGeCurve2dPtr obj)
static HandleRef getCPtr(OdGeCurve2d obj)
Definition: OdGeCurve2d.cs:25
EdgeArrayEnumerator(EdgeArray collection)
Definition: EdgeArray.cs:188
EdgeArray(IntPtr cPtr, bool cMemoryOwn)
Definition: EdgeArray.cs:24
static OdArrayOdGeCurve2dPtr Repeat(OdGeCurve2d value, int count)
Definition: EdgeArray.cs:324
void resize(uint logicalLength)
Definition: EdgeArray.cs:268
void Reverse(int index, int count)
Definition: EdgeArray.cs:336
void CopyTo(OdGeCurve2d[] array)
Definition: EdgeArray.cs:135
void SetRange(int index, OdArrayOdGeCurve2dPtr values)
Definition: EdgeArray.cs:341
OdArrayOdGeCurve2dPtr GetRange(int index, int count)
Definition: EdgeArray.cs:297
virtual void Dispose(bool disposing)
Definition: EdgeArray.cs:42
void InsertRange(int index, OdArrayOdGeCurve2dPtr values)
Definition: EdgeArray.cs:309
EdgeArray(int capacity)
Definition: EdgeArray.cs:82
static HandleRef getCPtr(EdgeArray obj)
Definition: EdgeArray.cs:29
void Add(OdGeCurve2d x)
Definition: EdgeArray.cs:246
void CopyTo(int index, OdGeCurve2d[] array, int arrayIndex, int count)
Definition: EdgeArray.cs:145
void Insert(int index, OdGeCurve2d x)
Definition: EdgeArray.cs:304
EdgeArrayEnumerator GetEnumerator()
Definition: EdgeArray.cs:171
EdgeArray(System.Collections.ICollection c)
Definition: EdgeArray.cs:54
int LastIndexOf(OdGeCurve2d value)
Definition: EdgeArray.cs:358
bool Contains(OdGeCurve2d value)
Definition: EdgeArray.cs:346
void RemoveAt(int index)
Definition: EdgeArray.cs:314
int IndexOf(OdGeCurve2d value)
Definition: EdgeArray.cs:352
void AddRange(OdArrayOdGeCurve2dPtr values)
Definition: EdgeArray.cs:292
void CopyTo(OdGeCurve2d[] array, int arrayIndex)
Definition: EdgeArray.cs:140
EdgeArray(EdgeArray other)
Definition: EdgeArray.cs:73
bool Remove(OdGeCurve2d value)
Definition: EdgeArray.cs:364
void RemoveRange(int index, int count)
Definition: EdgeArray.cs:319
static global::System.Exception Retrieve()
static void EdgeArray_RemoveRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static void EdgeArray_Insert(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
static bool EdgeArray_Remove(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static void EdgeArray_RemoveAt(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static uint EdgeArray_size(global::System.Runtime.InteropServices.HandleRef jarg1)
static void EdgeArray_Reverse__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static IntPtr EdgeArray_getitemcopy(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static bool EdgeArray_Contains(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static void EdgeArray_AddRange(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static void EdgeArray_InsertRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
static void EdgeArray_resize(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2)
static void EdgeArray_Reverse__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr EdgeArray_Repeat(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void EdgeArray_SetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
static void delete_EdgeArray(global::System.Runtime.InteropServices.HandleRef jarg1)
static void EdgeArray_Clear(global::System.Runtime.InteropServices.HandleRef jarg1)
static int EdgeArray_LastIndexOf(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static int EdgeArray_IndexOf(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static global::System.IntPtr EdgeArray_GetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static void EdgeArray_Add(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)