Vector3 GetPointOnShape(int cx, int cy) { Platform.Vector3 hitPoint = null; Renderer rv = GetRenderer(); PickHelper pickHelper = new PickHelper(); pickHelper.Initialize(rv); if (pickHelper.Pick(cx, cy)) { hitPoint = pickHelper.GetPointOnShape(); } return(hitPoint); }
private void projectionToolStripMenuItem_Click(object sender, EventArgs e) { // construct a wire; var points = new System.Collections.Generic.List<Vector3>(); points.Add(new Platform.Vector3(0, 0, 0)); points.Add(new Platform.Vector3(0, 100, 0)); points.Add(new Platform.Vector3(100, 100, 0)); Platform.TopoShape wire = GlobalInstance.BrepTools.MakePolygon(points); renderView.ShowGeometry(wire, 200); Platform.Vector3 dirPlane1 = new Platform.Vector3(0, 1, 1); dirPlane1.Normalize(); Platform.TopoShape newWire1 = GlobalInstance.BrepTools.ProjectOnPlane(wire, new Platform.Vector3(0, 0, 100), dirPlane1, new Platform.Vector3(0, 0, 1)); Platform.Vector3 dirPlane2 = new Platform.Vector3(0, 1, -1); dirPlane2.Normalize(); Platform.TopoShape newWire2 = GlobalInstance.BrepTools.ProjectOnPlane(wire, new Platform.Vector3(0, 0, 500), dirPlane2, new Platform.Vector3(0, 0, 1)); Platform.TopoShapeGroup tsg = new Platform.TopoShapeGroup(); tsg.Add(newWire1); tsg.Add(newWire2); Platform.TopoShape loft = GlobalInstance.BrepTools.MakeLoft(tsg, false); renderView.ShowGeometry(loft, 202); renderView.RequestDraw(); }