/// <summary> /// Adds grip objects /// </summary> public bool AddGripObject(GripObject gripObject) { if (null == gripObject) { return(false); } var rh_object = m_doc.Objects.Find(gripObject.OwnerId); if (null == rh_object) { return(false); } m_grips.Add(gripObject); var index = m_grip_owners.FindIndex(x => x.Id == rh_object.Id); if (index < 0) { m_grip_owners.Add(rh_object); } return(true); }
/// <summary> /// Gets access to the internal GripObject array of the TransformObjectList object. /// </summary> /// <returns>An array of grip objects, or an empty array if there were no grip objects.</returns> /// <since>6.0</since> public GripObject[] GripArray() { int count = GripCount; if (count < 1) { return(new GripObject[0]); } GripObject[] rc = new GripObject[count]; IntPtr const_ptr_this = ConstPointer(); for (var i = 0; i < count; i++) { var ptr_grip = UnsafeNativeMethods.CRhinoXformObjectList_GetGrip(const_ptr_this, i); rc[i] = RhinoObject.CreateRhinoObjectHelper(ptr_grip) as GripObject; } return(rc); }
private static IntPtr CRhinoObjectGrips_NurbsSurfaceGrip(int serial_number, int i, int j) { IntPtr rc = IntPtr.Zero; CustomObjectGrips grips = FromSerialNumber(serial_number); if (grips != null) { try { GripObject grip = grips.NurbsSurfaceGrip(i, j); if (grip != null) { rc = grip.NonConstPointer(); } } catch (Exception ex) { Rhino.Runtime.HostUtils.ExceptionReport(ex); } } return(rc); }
private static IntPtr CRhinoObjectGrips_NeighborGrip(int serial_number, int gripIndex, int dr, int ds, int dt, int wrap) { IntPtr rc = IntPtr.Zero; CustomObjectGrips grips = FromSerialNumber(serial_number); if (grips != null) { try { GripObject grip = grips.NeighborGrip(gripIndex, dr, ds, dt, wrap != 0); if (grip != null) { rc = grip.NonConstPointer(); } } catch (Exception ex) { Rhino.Runtime.HostUtils.ExceptionReport(ex); } } return(rc); }