Exemplo n.º 1
0
        /// <summary>
        /// Get view dependent dimension scale
        /// </summary>
        /// <param name="doc"></param>
        /// <param name="dimstyle"></param>
        /// <param name="vport"></param>
        /// <returns></returns>
        /// <since>6.0</since>
        public static double GetDimensionScale(RhinoDoc doc, DimensionStyle dimstyle, Pixel.Rhino.Display.RhinoViewport vport)
        {
            uint   docsn     = doc.RuntimeSerialNumber;
            IntPtr pvport    = vport.ConstPointer();
            IntPtr pdimstyle = dimstyle.ConstPointer();
            double scale     = UnsafeNativeMethods.ON_V6_Annotation_GetDimScale(docsn, pdimstyle, pvport);

            GC.KeepAlive(vport);    // GC_KeepAlive: Nov. 1, 2018
            GC.KeepAlive(dimstyle); // GC_KeepAlive: Nov. 1, 2018
            return(scale);
        }
        /// <since>5.0</since>
        public bool CommitViewportChanges()
        {
            bool rc = false;

            if (m_viewport != null)
            {
                IntPtr pThis         = ConstPointer();
                IntPtr pViewport     = m_viewport.ConstPointer();
                uint   serial_number = UnsafeNativeMethods.CRhinoDetailViewObject_CommitViewportChanges(pThis, pViewport);
                if (serial_number > 0)
                {
                    rc = true;
                    m_rhinoobject_serial_number = serial_number;
                    m_viewport.OnDetailCommit();
                }
            }
            return(rc);
        }