Пример #1
0
        static void OnDrawRhinoObjectProc(Guid am_id, IntPtr pConstRhinoObject, IntPtr pRhinoDisplayPipeline)
        {
            VisualAnalysisMode mode = FindLocal(am_id);

            if (mode != null)
            {
                var             rhobj = Rhino.DocObjects.RhinoObject.CreateRhinoObjectHelper(pConstRhinoObject);
                DisplayPipeline dp    = new DisplayPipeline(pRhinoDisplayPipeline);
                try
                {
                    Rhino.DocObjects.BrepObject brep = rhobj as Rhino.DocObjects.BrepObject;
                    if (brep != null)
                    {
                        mode.DrawBrepObject(brep, dp);
                        return;
                    }
                    Rhino.DocObjects.CurveObject curve = rhobj as Rhino.DocObjects.CurveObject;
                    if (curve != null)
                    {
                        mode.DrawCurveObject(curve, dp);
                        return;
                    }
                    Rhino.DocObjects.MeshObject mesh = rhobj as Rhino.DocObjects.MeshObject;
                    if (mesh != null)
                    {
                        mode.DrawMeshObject(mesh, dp);
                        return;
                    }
                    Rhino.DocObjects.PointCloudObject pointcloud = rhobj as Rhino.DocObjects.PointCloudObject;
                    if (pointcloud != null)
                    {
                        mode.DrawPointCloudObject(pointcloud, dp);
                        return;
                    }
                    Rhino.DocObjects.PointObject pointobj = rhobj as Rhino.DocObjects.PointObject;
                    if (pointobj != null)
                    {
                        mode.DrawPointObject(pointobj, dp);
                        return;
                    }
                }
                catch (Exception) { }
            }
        }
Пример #2
0
 /// <summary>
 /// Draws one point cloud. Override this method to add your custom behavior.
 /// <para>The default implementation does nothing.</para>
 /// </summary>
 /// <param name="pointCloud">A point cloud object.</param>
 /// <param name="pipeline">The current display pipeline.</param>
 protected virtual void DrawPointCloudObject(Rhino.DocObjects.PointCloudObject pointCloud, DisplayPipeline pipeline)
 {
 }