예제 #1
0
 /// <summary>
 ///  Initializes a new instance by copying values from another instance.
 /// </summary>
 /// <param name="other">The other viewport info.</param>
 public ViewportInfo(ViewportInfo other)
 {
   IntPtr pOther = other.ConstPointer();
   m_pViewportPointer = UnsafeNativeMethods.ON_Viewport_New(pOther);
 }
    /// <summary>
    /// Returns a bounding box for the custom render meshes for the given object.
    /// </summary>
    /// <param name="vp">The viewport being rendered.</param>
    /// <param name="obj">The Rhino object of interest.</param>
    /// <param name="requestingPlugIn">UUID of the RDK plug-in requesting the meshes.</param>
    /// <param name="preview">Type of mesh to build.</param>
    /// <returns>A bounding box value.</returns>
    public virtual BoundingBox BoundingBox(ViewportInfo vp, RhinoObject obj, Guid requestingPlugIn, bool preview)
    {
      var min = new Point3d();
      var max = new Point3d();

      if (UnsafeNativeMethods.Rdk_RMPBoundingBoxImpl(m_runtime_serial_number, vp.ConstPointer(), obj.ConstPointer(), requestingPlugIn, preview ? 1 : 0, ref min, ref max))
        return new BoundingBox(min, max);

      return new BoundingBox();
    }