/// <summary> /// Gets an array of all of the objects in a group. /// </summary> /// <param name="groupIndex">The index of the group in this table.</param> /// <returns>An array with all the objects in the specified group.</returns> public RhinoObject[] GroupMembers(int groupIndex) { using (Rhino.Runtime.INTERNAL_RhinoObjectArray rhobjs = new Runtime.INTERNAL_RhinoObjectArray()) { IntPtr pRhinoObjects = rhobjs.NonConstPointer(); UnsafeNativeMethods.CRhinoGroupTable_GroupMembers(m_doc.m_docId, groupIndex, pRhinoObjects); return(rhobjs.ToArray()); } }
/// <summary> /// Gets an array of all of the objects in a group. /// </summary> /// <param name="groupIndex">The index of the group in this table.</param> /// <returns>An array with all the objects in the specified group.</returns> public RhinoObject[] GroupMembers(int groupIndex) { using (Rhino.Runtime.INTERNAL_RhinoObjectArray rhobjs = new Runtime.INTERNAL_RhinoObjectArray()) { IntPtr pRhinoObjects = rhobjs.NonConstPointer(); UnsafeNativeMethods.CRhinoGroupTable_GroupMembers(m_doc.m_docId, groupIndex, pRhinoObjects); return rhobjs.ToArray(); } }
/// <summary> /// Gets an array of subobjects. /// </summary> /// <returns>An array of subobjects, or null if there are none.</returns> public DocObjects.RhinoObject[] GetSubObjects() { Runtime.INTERNAL_RhinoObjectArray arr = new Runtime.INTERNAL_RhinoObjectArray(); IntPtr ptr = ConstPointer(); IntPtr pArray = arr.NonConstPointer(); int count = UnsafeNativeMethods.CRhinoObject_GetSubObjects(ptr, pArray); DocObjects.RhinoObject[] rc = null; if (count > 0) rc = arr.ToArray(); arr.Dispose(); return rc; }