/// <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);
        }
Example #2
0
        /// <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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }