/// <summary> /// Add an ObjRef to this list. Use this to add polyedges so the references are properly counted /// </summary> /// <param name="objref"></param> /// <since>5.10</since> public void Add(DocObjects.ObjRef objref) { IntPtr const_ptr_objref = objref.ConstPointer(); IntPtr ptr_this = NonConstPointer(); UnsafeNativeMethods.CRhinoXformObjectList_AddObject(ptr_this, const_ptr_objref); }
public DocObjects.ObjRef[] Objects() { int count = ObjectCount; if (count < 1) { return(null); } Rhino.Collections.RhinoList <DocObjects.ObjRef> objrefs = new Rhino.Collections.RhinoList <Rhino.DocObjects.ObjRef>(count); for (int i = 0; i < count; i++) { DocObjects.ObjRef objref = Object(i); objrefs.Add(objref); } return(objrefs.ToArray()); }
internal Geometry.Mesh[] ToConstArray(Rhino.DocObjects.RhinoObject parent) { int count = Count; if (count < 1) { return(new Geometry.Mesh[0]); } IntPtr ptr = ConstPointer(); Mesh[] rc = new Mesh[count]; for (int i = 0; i < rc.Length; i++) { IntPtr pMesh = UnsafeNativeMethods.ON_MeshArray_Get(ptr, i); Rhino.DocObjects.ObjRef objref = new DocObjects.ObjRef(parent, pMesh); rc[i] = objref.Mesh(); } return(rc); }
/// <summary> /// Copies the unmanaged array to a managed counterpart. /// </summary> /// <returns>The managed array.</returns> public Rhino.DocObjects.ObjRef[] ToNonConstArray() { int count = Count; if (count < 1) { return(new DocObjects.ObjRef[0]); } IntPtr ptr = ConstPointer(); Rhino.DocObjects.ObjRef[] rc = new DocObjects.ObjRef[count]; for (int i = 0; i < count; i++) { IntPtr pObjRef = UnsafeNativeMethods.ON_ClassArrayCRhinoObjRef_Get(ptr, i); if (IntPtr.Zero != pObjRef) { rc[i] = new DocObjects.ObjRef(pObjRef); } } return(rc); }
/// <summary> /// Copies the unmanaged array to a managed counterpart. /// </summary> /// <returns>The managed array.</returns> public Rhino.DocObjects.ObjRef[] ToNonConstArray() { int count = Count; if (count < 1) return new DocObjects.ObjRef[0]; IntPtr ptr = ConstPointer(); Rhino.DocObjects.ObjRef[] rc = new DocObjects.ObjRef[count]; for (int i = 0; i < count; i++) { IntPtr pObjRef = UnsafeNativeMethods.ON_ClassArrayCRhinoObjRef_Get(ptr, i); if (IntPtr.Zero != pObjRef) rc[i] = new DocObjects.ObjRef(pObjRef); } return rc; }
internal Geometry.Mesh[] ToConstArray(Rhino.DocObjects.RhinoObject parent) { int count = Count; if (count < 1) return new Geometry.Mesh[0]; IntPtr ptr = ConstPointer(); Mesh[] rc = new Mesh[count]; for (int i = 0; i < rc.Length; i++) { IntPtr pMesh = UnsafeNativeMethods.ON_MeshArray_Get(ptr, i); Rhino.DocObjects.ObjRef objref = new DocObjects.ObjRef(parent, pMesh); rc[i] = objref.Mesh(); } return rc; }
/// <summary> /// Copies the unmanaged array to a managed counterpart. /// </summary> /// <returns>The managed array.</returns> public DocObjects.ObjRef[] ToNonConstArray() { int count = Count; if (count < 1) return new DocObjects.ObjRef[0]; IntPtr ptr_const_this = ConstPointer(); DocObjects.ObjRef[] rc = new DocObjects.ObjRef[count]; for (int i = 0; i < count; i++) { IntPtr ptr_const_objref = UnsafeNativeMethods.ON_ClassArrayON_ObjRef_Get(ptr_const_this, i); if (IntPtr.Zero != ptr_const_objref) rc[i] = new DocObjects.ObjRef(ptr_const_objref, false); } return rc; }