public VtkToUnity(Kitware.VTK.vtkAlgorithmOutput outputPort, string name) { this.name = name; triangleFilter = Kitware.VTK.vtkTriangleFilter.New(); triangleFilter.SetInputConnection(outputPort); go = new GameObject(name); MeshFilter meshFilter = go.AddComponent<MeshFilter> (); meshFilter.sharedMesh = mesh; go.AddComponent<MeshRenderer> (); }
private static void ErrorEvtHandler(Kitware.VTK.vtkObject sender, Kitware.VTK.vtkObjectEventArgs e) { ++reportCount; reportMessage1 = "ErrorEvtHandler"; System.Console.Error.WriteLine(System.String.Format( "sender: {0}", sender)); System.Console.Error.WriteLine(System.String.Format( "e: {0}", e)); ThrowIfNonZeroReportCount(); }
public VtkToUnity(Kitware.VTK.vtkAlgorithmOutput outputPort, GameObject newGo) { name = newGo.name; triangleFilter = Kitware.VTK.vtkTriangleFilter.New(); triangleFilter.SetInputConnection(outputPort); GameObject.DestroyImmediate(newGo.GetComponent<MeshFilter>()); GameObject.DestroyImmediate(newGo.GetComponent<MeshRenderer>()); go = newGo; MeshFilter meshFilter = go.AddComponent<MeshFilter> (); meshFilter.sharedMesh = mesh; go.AddComponent<MeshRenderer> (); }
/// <summary> /// Handler for any vtkObject event: /// </summary> public static void ObjectModified(Kitware.VTK.vtkObject sender, Kitware.VTK.vtkObjectEventArgs e) { ++ObjectModifiedCallCount; System.Console.Error.WriteLine("//----------------------------------------------------------------------------"); System.Console.Error.WriteLine("ObjectModified"); System.Console.Error.WriteLine("sender:"); System.Console.Error.WriteLine(sender.ToString()); System.Console.Error.WriteLine("e.Caller:"); System.Console.Error.WriteLine(e.Caller.ToString()); System.Console.Error.WriteLine("e.EventId:"); System.Console.Error.WriteLine(e.EventId.ToString()); System.Console.Error.WriteLine("e.CallData:"); System.Console.Error.WriteLine(e.CallData.ToString()); System.Console.Error.WriteLine(""); }
void Interactor_AnyEventHandler(Kitware.VTK.vtkObject sender, Kitware.VTK.vtkObjectEventArgs e) { this.PrintEvent(sender, e); }
void UserStyle_MultipleEventHandler(Kitware.VTK.vtkObject sender, Kitware.VTK.vtkObjectEventArgs e) { string keysym = this.Interactor.GetKeySym(); Kitware.VTK.vtkCommand.EventIds eid = (Kitware.VTK.vtkCommand.EventIds)e.EventId; switch (eid) { case Kitware.VTK.vtkCommand.EventIds.KeyPressEvent: case Kitware.VTK.vtkCommand.EventIds.CharEvent: case Kitware.VTK.vtkCommand.EventIds.KeyReleaseEvent: if (keysym == "f") { // Temporarily disable the interactor, so that the built-in 'f' // handler does not get called: // this.Interactor.Disable(); // Turn on the timer, so we can re-enable the interactor // after the processing of this event is over (one tenth // of a second later...) // this.timer1.Enabled = true; } if (keysym.ToLower() == "j" || keysym.ToLower() == "k" || keysym.ToLower() == "l" || keysym.ToLower() == "i") { WanderCamera(keysym); } break; } this.PrintEvent(sender, e); }
void PrintEvent(Kitware.VTK.vtkObject sender, Kitware.VTK.vtkObjectEventArgs e) { int[] pos = this.Interactor.GetEventPosition(); string keysym = this.Interactor.GetKeySym(); sbyte keycode = this.Interactor.GetKeyCode(); string line = String.Format("{0} ({1},{2}) ('{3}',{4}) {5} data='0x{6:x8}'{7}", Kitware.VTK.vtkCommand.GetStringFromEventId(e.EventId), pos[0], pos[1], keysym, keycode, e.Caller.GetClassName(), e.CallData.ToInt32(), System.Environment.NewLine); System.Diagnostics.Debug.Write(line); this.textEvents.AppendText(line); }
void ErrorWindow_ErrorHandler(Kitware.VTK.vtkObject sender, Kitware.VTK.vtkObjectEventArgs e) { string s = "unknown"; if (e.CallData != IntPtr.Zero) { s = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(e.CallData); } System.Diagnostics.Debug.Write(System.String.Format( "ErrorWindow_ErrorHandler called: sender='{0}' e='{1}' s='{2}'", sender, e, s)); }
/// <summary> /// Recursive function that finds and /// graphs Wikipedia links /// </summary> /// <param name="g">The graph</param> /// <param name="lookupValue">Name of orgin article</param> /// <param name="hops">How many degrees of separation from the original article</param> private void addLinks(Kitware.VTK.vtkMutableDirectedGraph g, string lookupValue, int hops) { vtkStringArray label = (vtkStringArray)g.GetVertexData().GetAbstractArray("label"); long parent = label.LookupValue(lookupValue); //if lookupValue is not in the graph add it if (parent < 0) { rotateLogo(); parent = g.AddVertex(); label.InsertNextValue(lookupValue); arrListSmall.Add(lookupValue); } //Parse Wikipedia for the lookupValue string underscores = lookupValue.Replace(' ', '_'); System.Net.HttpWebRequest webRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create("http://en.wikipedia.org/wiki/Special:Export/" + underscores); webRequest.Credentials = System.Net.CredentialCache.DefaultCredentials; webRequest.Accept = "text/xml"; try { System.Net.HttpWebResponse webResponse = (System.Net.HttpWebResponse)webRequest.GetResponse(); System.IO.Stream responseStream = webResponse.GetResponseStream(); System.Xml.XmlReader reader = new System.Xml.XmlTextReader(responseStream); String NS = "http://www.mediawiki.org/xml/export-0.4/"; System.Xml.XPath.XPathDocument doc = new System.Xml.XPath.XPathDocument(reader); reader.Close(); webResponse.Close(); System.Xml.XPath.XPathNavigator myXPahtNavigator = doc.CreateNavigator(); System.Xml.XPath.XPathNodeIterator nodesText = myXPahtNavigator.SelectDescendants("text", NS, false); String fullText = ""; //Parse the wiki page for links while (nodesText.MoveNext()) fullText += nodesText.Current.InnerXml + " "; System.Text.RegularExpressions.Match m = System.Text.RegularExpressions.Regex.Match(fullText, "\\[\\[.*?\\]\\]"); int max; try { max = System.Convert.ToInt32(toolStripTextBox2.Text); } catch (Exception) { max = -1; } int count = 0; while (m.Success && ((count < max) || (max < 0))) { String s = m.ToString(); int index = s.IndexOf('|'); String substring = ""; if (index > 0) { substring = s.Substring(2, index - 2); } else { substring = s.Substring(2, s.Length - 4); } //if the new substring is not already there add it long v = label.LookupValue(substring); if (v < 0) { rotateLogo(); v = g.AddVertex(); label.InsertNextValue(substring); arrListSmall.Add(substring); if (hops > 1) { addLinks(g, substring, hops - 1); } } else if (arrListSmall.IndexOf(substring) < 0) { arrListSmall.Add(substring); if (hops > 1) { addLinks(g, substring, hops - 1); } } //Make sure nothing is linked to twice by expanding the graph vtkAdjacentVertexIterator avi = vtkAdjacentVertexIterator.New(); g.GetAdjacentVertices((int)parent, avi); m = m.NextMatch(); ++count; while (avi.HasNext()) { long id = avi.Next(); if (id == v) { return; } } rotateLogo(); g.AddGraphEdge((int)parent, (int)v); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
/// <summary> /// 对事件进行响应操作。首先在状态栏显示事件、坐标等信息,然后对LeftButtonPressEvent响应,执行pickcell获取三维坐标及cellId /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void PrintEvent(Kitware.VTK.vtkObject sender, Kitware.VTK.vtkObjectEventArgs e) { vtkRenderWindowInteractor Interactor = renderWindowControl1.RenderWindow.GetInteractor(); int[] pos = Interactor.GetEventPosition(); string keysym = Interactor.GetKeySym(); sbyte keycode = Interactor.GetKeyCode(); string line = String.Format("{0} ({1},{2}) ('{3}',{4}) {5} data='0x{6:x8}'{7}", Kitware.VTK.vtkCommand.GetStringFromEventId(e.EventId), pos[0], pos[1], keysym, keycode, e.Caller.GetClassName(), e.CallData.ToInt32(), System.Environment.NewLine); System.Diagnostics.Debug.Write(line); //this.textEvents.AppendText(line); state.Text = line; if (MousePick||拉伸工具ToolStripMenuItem.Checked) { Kitware.VTK.vtkRenderer CurrentRender = Interactor.FindPokedRenderer(pos[0], pos[1]); Interactor.GetPicker().Pick(pos[0], pos[1], 0.0, this.renderWindowControl1.RenderWindow.GetRenderers().GetFirstRenderer()); //Kitware.VTK.vtkAbstractPropPicker picker=Kitware.VTK.vtkAbstractPropPicker.New(); picker = Kitware.VTK.vtkCellPicker.SafeDownCast(Interactor.GetPicker()); Kitware.VTK.vtkAssemblyPath path = vtkAssemblyPath.New(); path = picker.GetPath(); if (path != null) { pickedId = picker.GetCellId(); posit = picker.GetPickPosition(); picker.Pick(posit[0], posit[1], posit[2], CurrentRender); if ((Kitware.VTK.vtkCommand.EventIds)e.EventId == Kitware.VTK.vtkCommand.EventIds.LeftButtonPressEvent) { label3.Text = posit[0].ToString() + "\r\n" + posit[1].ToString() + "\r\n" + posit[2].ToString() + "\r\ncellId:" + pickedId.ToString(); //this.AddtextActor(pos, posit); //this.Interactor.EndPickCallback(); AddPoint(posit, pickedId); } } } }
private void AddConeSourceToRenderWindow(Kitware.VTK.vtkRenderWindow renWin) { Kitware.VTK.vtkConeSource source = new Kitware.VTK.vtkConeSource(); Kitware.VTK.vtkMapper mapper = new Kitware.VTK.vtkOpenGLPolyDataMapper(); mapper.SetInputConnection(source.GetOutputPort()); Kitware.VTK.vtkActor actor = new Kitware.VTK.vtkActor(); actor.SetMapper(mapper); Kitware.VTK.vtkRenderer ren = null; //new Kitware.VTK.vtkOpenGLRenderer(); ren = renWin.GetRenderers().GetFirstRenderer(); ren.AddActor(actor); Kitware.VTK.vtkTextActor textActor = new Kitware.VTK.vtkTextActor(); textActor.SetInput(Kitware.VTK.vtkVersion.GetVTKSourceVersion()); ren.AddActor(textActor); //int n = renWin.GetRenderers().GetNumberOfItems(); //System.Diagnostics.Debug.WriteLine(n); //System.Diagnostics.Debug.WriteLine( // Kitware.mummy.Runtime.Methods.Print(false) // ); }
static vtkgdcm.vtkImageData ConnectActivizToSWIG(Kitware.VTK.vtkImageData imgin) { HandleRef rawCppThis = imgin.GetCppThis(); vtkgdcm.vtkImageData imgout = new vtkgdcm.vtkImageData( rawCppThis ); return imgout; }
public void SaveRendererViewState(Kitware.VTK.vtkRenderer ren) { Kitware.VTK.vtkCamera cam = ren.GetActiveCamera(); m_saved_focalpoint = cam.GetFocalPoint(); m_saved_position = cam.GetPosition(); m_saved_viewup = cam.GetViewUp(); }
public void RestoreRendererViewState(Kitware.VTK.vtkRenderer ren) { Kitware.VTK.vtkCamera cam = ren.GetActiveCamera(); cam.SetFocalPoint(m_saved_focalpoint[0], m_saved_focalpoint[1], m_saved_focalpoint[2]); cam.SetPosition(m_saved_position[0], m_saved_position[1], m_saved_position[2]); cam.SetViewUp(m_saved_viewup[0], m_saved_viewup[1], m_saved_viewup[2]); ren.ResetCameraClippingRange(); }