/// <summary> /// Releases the unmanaged resources used by the ActivizWPF.UserControls.VtkRenderWindowControl /// and optionally releases the managed resources. /// </summary> /// /// <param name="disposing">Set to true if called from an explicit disposer and false otherwise.</param> /// /// <seealso cref="M:ActivizWPF.Framework.Native.HwndWrapper.Dispose(bool)"/> protected override void Dispose(bool disposing) { if (_renderer != null) { _renderer.SetRenderWindow(null); } if (_renderWindowInteractor != null) { _renderWindowInteractor.Dispose(); _renderWindowInteractor = null; } if (_renderWindow != null) { _renderWindow.Dispose(); _renderWindow = null; } if (_renderer != null) { _renderer.Dispose(); _renderer = null; } base.Dispose(disposing); }
/// <summary> /// Executes the initialize action. /// </summary> /// /// <param name="hWnd">The HWND we present to when rendering.</param> /// /// <seealso cref="M:ActivizWPF.Framework.Native.HwndWrapper.OnInitialize(IntPtr)"/> protected override void OnInitialize(IntPtr hWnd) { try { vtkLogoWidget vtkLogoWidget = new vtkLogoWidget(); _renderer = vtkRenderer.New(); _renderWindow = vtkRenderWindow.New(); _renderWindowInteractor = vtkRenderWindowInteractor.New(); vtkInteractorStyleSwitch interactorStyleSwitch = _renderWindowInteractor.GetInteractorStyle() as vtkInteractorStyleSwitch; if (null != interactorStyleSwitch) { interactorStyleSwitch.SetCurrentStyleToTrackballCamera(); } _renderWindow.SetParentId(hWnd); _renderWindow.AddRenderer(_renderer); AttachInteractor(); vtkLogoWidget.Dispose(); } catch (Exception ex) { log.ErrorException("OnInitialize()", ex); } }
public static int Main(string[] args) { string filename = args[0]; vtkGDCMImageReader reader = vtkGDCMImageReader.New(); vtkStringArray array = vtkStringArray.New(); array.InsertNextValue(filename); reader.SetFileNames(array); reader.Update(); //System.Console.Write(reader.GetOutput()); vtkRenderWindowInteractor iren = vtkRenderWindowInteractor.New(); vtkImageViewer2 viewer = vtkImageViewer2.New(); viewer.SetInput(reader.GetOutput()); viewer.SetupInteractor(iren); viewer.SetSize(600, 600); viewer.Render(); iren.Initialize(); iren.Start(); return(0); }
/// <summary> /// Called on the graph document loading /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected virtual void OnGraphWindowLoaded(object sender, System.Windows.RoutedEventArgs e) { //Setup the variables and the background _graphLayerRenderer = _graphWindow.RenderWindow.GetRenderers().GetFirstRenderer(); _graphLayerRenderer.SetBackground(1.0, 1.0, 1.0); _graphWindow.RenderWindow.SetMultiSamples(0); _graphWindow.RenderWindow.SetNumberOfLayers(2); _graphWindow.RenderWindow.AddRenderer(_markerLayerRenderer); if (_chartItem != null) { _graphWindow.ContextView.GetScene().AddItem(_chartItem); } //AddMarkerLine(new[] { 10.0, 10.0 }, new[] { 200.0, 0.0 }, Color.Red); //AddMarkerLine(new[] { 10.0, 10.0 }, new[] { 200.0, 200.0 }, Color.Blue); //AddMarkerLine(new[] { 10.0, 10.0 }, new[] { 0.0, 200.0 }, Color.Yellow); _interactor = _graphWindow.Interactor; vtkRenderWindowInteractor iren = _graphWindow.RenderWindow.GetInteractor(); iren.LeftButtonPressEvt += OnMouseLeftClick; this.RenderInternal(); }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVEnSightOfficeBin(String [] argv) { //Prefix Content is: "" ren1 = vtkRenderer.New(); renWin = vtkRenderWindow.New(); renWin.AddRenderer((vtkRenderer)ren1); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); // read data[] //[] reader = new vtkGenericEnSightReader(); // Make sure all algorithms use the composite data pipeline[] cdp = new vtkCompositeDataPipeline(); vtkGenericEnSightReader.SetDefaultExecutivePrototype((vtkExecutive)cdp); reader.SetCaseFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/EnSight/office_bin.case"); reader.Update(); // to add coverage for vtkOnePieceExtentTranslator[] translator = new vtkOnePieceExtentTranslator(); vtkStreamingDemandDrivenPipeline.SetExtentTranslator(reader.GetOutputInformation(0), (vtkExtentTranslator)translator); outline = new vtkStructuredGridOutlineFilter(); // outline SetInputConnection [reader GetOutputPort][] outline.SetInputData((vtkDataObject)reader.GetOutput().GetBlock((uint)0)); mapOutline = vtkPolyDataMapper.New(); mapOutline.SetInputConnection((vtkAlgorithmOutput)outline.GetOutputPort()); outlineActor = new vtkActor(); outlineActor.SetMapper((vtkMapper)mapOutline); outlineActor.GetProperty().SetColor((double)0,(double)0,(double)0); // Create source for streamtubes[] streamer = new vtkStreamPoints(); // streamer SetInputConnection [reader GetOutputPort][] streamer.SetInputData((vtkDataObject)reader.GetOutput().GetBlock((uint)0)); streamer.SetStartPosition((double)0.1,(double)2.1,(double)0.5); streamer.SetMaximumPropagationTime((double)500); streamer.SetTimeIncrement((double)0.5); streamer.SetIntegrationDirectionToForward(); cone = new vtkConeSource(); cone.SetResolution((int)8); cones = new vtkGlyph3D(); cones.SetInputConnection((vtkAlgorithmOutput)streamer.GetOutputPort()); cones.SetSourceConnection(cone.GetOutputPort()); cones.SetScaleFactor((double)0.9); cones.SetScaleModeToScaleByVector(); mapCones = vtkPolyDataMapper.New(); mapCones.SetInputConnection((vtkAlgorithmOutput)cones.GetOutputPort()); // eval mapCones SetScalarRange [[reader GetOutput] GetScalarRange][] mapCones.SetScalarRange((double)((vtkDataSet)reader.GetOutput().GetBlock((uint)0)).GetScalarRange()[0], (double)((vtkDataSet)reader.GetOutput().GetBlock((uint)0)).GetScalarRange()[1]); conesActor = new vtkActor(); conesActor.SetMapper((vtkMapper)mapCones); ren1.AddActor((vtkProp)outlineActor); ren1.AddActor((vtkProp)conesActor); ren1.SetBackground((double)0.4,(double)0.4,(double)0.5); renWin.SetSize((int)300,(int)300); iren.Initialize(); // interact with data[] vtkGenericEnSightReader.SetDefaultExecutivePrototype(null); //deleteAllVTKObjects(); }
/// <summary> /// Highlights pieces /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void MotionCallback(vtkObject sender, vtkObjectEventArgs e) { //Make sure the piece isn't in an animation //durring a click or bad things happen if (!in_piece_rotation) { vtkRenderWindowInteractor iren = renderWindowControl1.RenderWindow.GetInteractor(); vtkInteractorStyleSwitch istyle = (vtkInteractorStyleSwitch)iren.GetInteractorStyle(); //return if the user is performing interaction if (istyle.GetState() != 0) { return; } int[] pos = iren.GetEventPosition(); int x = pos[0]; int y = pos[1]; vtkRenderer ren1 = renderWindowControl1.RenderWindow.GetRenderers().GetFirstRenderer(); ren1.SetDisplayPoint(x, y, ren1.GetZ(x, y)); ren1.DisplayToWorld(); double [] pt = ren1.GetWorldPoint(); double val = puzzle.SetPoint(pt[0], pt[1], pt[2]); if (!LastValExists || val != LastVal) { renderWindowControl1.RenderWindow.Render(); LastVal = val; LastValExists = true; } } }
/// <summary> /// Set up the dialog /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void renderWindowControl1_Load(object sender, EventArgs e) { //Setup the variables and the background vtkRenderer ren1 = renderWindowControl1.RenderWindow.GetRenderers().GetFirstRenderer(); mapper.SetInputConnection(puzzle.GetOutputPort()); mapper2.SetInputConnection(arrows.GetOutputPort()); actor.SetMapper(mapper); actor2.SetMapper(mapper2); ren1.AddActor(actor); ren1.AddActor(actor2); ren1.SetBackground(0.1, 0.2, 0.4); //Set up the camera ren1.ResetCamera(); vtkCamera cam = ren1.GetActiveCamera(); cam.Elevation(-40); renderWindowControl1.RenderWindow.Render(); //Change the style to a trackball style //Equivalent of pressing 't' vtkRenderWindowInteractor iren = renderWindowControl1.RenderWindow.GetInteractor(); vtkInteractorStyleSwitch istyle = vtkInteractorStyleSwitch.New(); iren.SetInteractorStyle(istyle); (istyle).SetCurrentStyleToTrackballCamera(); //Add events to the iren instead of Observers iren.MouseMoveEvt += new vtkObject.vtkObjectEventHandler(MotionCallback); iren.CharEvt += new vtkObject.vtkObjectEventHandler(CharCallback); }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVEnSightOfficeBin(String [] argv) { //Prefix Content is: "" ren1 = vtkRenderer.New(); renWin = vtkRenderWindow.New(); renWin.AddRenderer((vtkRenderer)ren1); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); // read data[] //[] reader = new vtkGenericEnSightReader(); // Make sure all algorithms use the composite data pipeline[] cdp = new vtkCompositeDataPipeline(); vtkGenericEnSightReader.SetDefaultExecutivePrototype((vtkExecutive)cdp); reader.SetCaseFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/EnSight/office_bin.case"); reader.Update(); // to add coverage for vtkOnePieceExtentTranslator[] translator = new vtkOnePieceExtentTranslator(); vtkStreamingDemandDrivenPipeline.SetExtentTranslator(reader.GetOutputInformation(0), (vtkExtentTranslator)translator); outline = new vtkStructuredGridOutlineFilter(); // outline SetInputConnection [reader GetOutputPort][] outline.SetInputData((vtkDataObject)reader.GetOutput().GetBlock((uint)0)); mapOutline = vtkPolyDataMapper.New(); mapOutline.SetInputConnection((vtkAlgorithmOutput)outline.GetOutputPort()); outlineActor = new vtkActor(); outlineActor.SetMapper((vtkMapper)mapOutline); outlineActor.GetProperty().SetColor((double)0, (double)0, (double)0); // Create source for streamtubes[] streamer = new vtkStreamPoints(); // streamer SetInputConnection [reader GetOutputPort][] streamer.SetInputData((vtkDataObject)reader.GetOutput().GetBlock((uint)0)); streamer.SetStartPosition((double)0.1, (double)2.1, (double)0.5); streamer.SetMaximumPropagationTime((double)500); streamer.SetTimeIncrement((double)0.5); streamer.SetIntegrationDirectionToForward(); cone = new vtkConeSource(); cone.SetResolution((int)8); cones = new vtkGlyph3D(); cones.SetInputConnection((vtkAlgorithmOutput)streamer.GetOutputPort()); cones.SetSourceConnection(cone.GetOutputPort()); cones.SetScaleFactor((double)0.9); cones.SetScaleModeToScaleByVector(); mapCones = vtkPolyDataMapper.New(); mapCones.SetInputConnection((vtkAlgorithmOutput)cones.GetOutputPort()); // eval mapCones SetScalarRange [[reader GetOutput] GetScalarRange][] mapCones.SetScalarRange((double)((vtkDataSet)reader.GetOutput().GetBlock((uint)0)).GetScalarRange()[0], (double)((vtkDataSet)reader.GetOutput().GetBlock((uint)0)).GetScalarRange()[1]); conesActor = new vtkActor(); conesActor.SetMapper((vtkMapper)mapCones); ren1.AddActor((vtkProp)outlineActor); ren1.AddActor((vtkProp)conesActor); ren1.SetBackground((double)0.4, (double)0.4, (double)0.5); renWin.SetSize((int)300, (int)300); iren.Initialize(); // interact with data[] vtkGenericEnSightReader.SetDefaultExecutivePrototype(null); //deleteAllVTKObjects(); }
private void m_renderWinCtrl_Load(object sender, EventArgs e) { m_renWindow = m_renderWinCtrl.RenderWindow; m_render = m_renWindow.GetRenderers().GetFirstRenderer(); m_iren = m_renWindow.GetInteractor(); InitRenderWindow(); }
static private void init() { vtkSTLReader rdr = vtkSTLReader.New(); rdr.SetFileName("BODY-EXTRUDEUR-WADE.stl"); // Créer une géométrie sphérique /*vtkSphereSource sphere = vtkSphereSource.New(); * sphere.SetRadius(1.0); * sphere.SetThetaResolution(18); * sphere.SetPhiResolution(18);*/ // Transforme la géométrie en primitives graphiques (OpenGL dans notre cas) vtkPolyDataMapper map = vtkPolyDataMapper.New(); map.SetInput(rdr.GetOutput()); // L'acteur représente l'entitée géométrique. // Il permet de définir sa position, son orientation, sa couleur, etc. vtkActor aSphere = new vtkActor(); aSphere.SetMapper(map); aSphere.GetProperty().SetColor(0.8, 0.8, 0.8); // color blue // Nous créons un renderer qui va faire le rendu de notre entitée. vtkRenderer ren1 = vtkRenderer.New(); ren1.AddActor(aSphere); ren1.SetBackground(1, 1, 1); // background color white // Nous créons une fenêtre de rendu vtkRenderWindow renWin = vtkRenderWindow.New(); renWin.AddRenderer(ren1); renWin.SetSize(300, 300); // Nous créons un interactor qui permet de bouger la caméra. vtkRenderWindowInteractor iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow(renWin); // Nous lançons le rendu et l'interaction renWin.Render(); iren.Start(); ////// CLEANUP /////// rdr.Dispose(); map.Dispose(); aSphere.Dispose(); ren1.Dispose(); renWin.Dispose(); iren.Dispose(); }
//绘制坐标轴 private void DrawAxes() { m_RenderWindowInteractor = this.renderWindowControl1.RenderWindow.GetInteractor(); m_AxesActor = new vtkAxesActor(); m_OrientationMarkerWidget = new vtkOrientationMarkerWidget(); m_OrientationMarkerWidget.SetOrientationMarker(m_AxesActor); m_OrientationMarkerWidget.SetInteractor(m_RenderWindowInteractor); m_OrientationMarkerWidget.On(); m_OrientationMarkerWidget.SetInteractive(0); }
/// <summary> /// Crée les objets de base : renderer, axes, interactor. /// </summary> private void initBaseObjects() { // Nous créons un renderer qui va faire le rendu de notre entitée. _renderer = vtkRenderer.New(); _stlLoader = new STLLoader(this._renderer); _stlLoader.VolumeColor = Properties.Settings.Default.VolumeColor; _stlLoader.EdgeColor = Properties.Settings.Default.EdgeColor; _stlLoader.ShowVolume = Properties.Settings.Default.ShowVolume; _stlLoader.ShowEdges = Properties.Settings.Default.ShowEdges; this.aretesToolStripMenuItem.Checked = (bool)loadSetting("ShowEdges"); this.volumeToolStripMenuItem.Checked = (bool)loadSetting("ShowVolume"); _renderer.SetBackground(1, 1, 1); // background color white vtkRenderCtl.RenderWindow.AddRenderer(_renderer); // Nous créons un interactor qui permet de bouger la caméra. _interactor = vtkRenderWindowInteractor.New(); _interactor.SetRenderWindow(vtkRenderCtl.RenderWindow); //axes vtkAxes axes = vtkAxes.New(); axes.SetScaleFactor(10); addActor(axes.GetOutput()); /* * //outil de mesure * vtkDistanceWidget wdgDistance = vtkDistanceWidget.New(); * wdgDistance.SetInteractor(_interactor); * wdgDistance.CreateDefaultRepresentation(); * ((vtkDistanceRepresentation)wdgDistance.GetRepresentation()).SetLabelFormat("%-#6.3g mm"); * wdgDistance.On(); */ Camera.SetPosition(0, 0, -300); vtkRenderCtl.RenderWindow.Render(); _interactor.RenderEvt += _interactor_RenderEvt; vtkInteractorStyleSwitch style = vtkInteractorStyleSwitch.New(); style.SetCurrentStyleToTrackballCamera(); _interactor.SetInteractorStyle(style); _interactor.Start(); }
public MyInteractorStyle(RenderWindowControl ctrl) { m_RWCtrl = ctrl; m_rendWin = ctrl.RenderWindow; m_renderer = m_rendWin.GetRenderers().GetFirstRenderer(); m_iren = m_rendWin.GetInteractor(); m_iren.LeftButtonReleaseEvt += new vtkObjectEventHandler(m_interactor_LeftButtonReleaseEvt); m_iren.LeftButtonPressEvt += new vtkObjectEventHandler(m_iren_RightButtonPressEvt); }
// Static void method with same signature as "Main" is always // file base name: // /// <summary> /// VTK test Main method /// </summary> public static void vtkConeSourceTest(string[] args) { bool interactive = false; foreach (string s in args) { // -I means "interactive" test -- do not automatically quit: // if (s == "-I") { interactive = true; } } vtkConeSource source = new vtkConeSource(); vtkMapper mapper = vtkPolyDataMapper.New(); mapper.SetInputConnection(source.GetOutputPort()); vtkActor actor = new vtkActor(); actor.SetMapper(mapper); vtkRenderer ren1 = vtkRenderer.New(); ren1.AddActor(actor); ren1.SetBackground(0.1, 0.2, 0.4); vtkRenderWindow renWin = vtkRenderWindow.New(); renWin.AddRenderer(ren1); renWin.SetSize(400, 300); vtkRenderWindowInteractor iren = vtkRenderWindowInteractor.New(); iren.SetRenderWindow(renWin); iren.Initialize(); Kitware.mummy.Runtime.Methods.Print(false); Kitware.mummy.Runtime.Methods.PrintWrappedObjectsTable(); if (interactive) { iren.Start(); } ren1.SetRenderWindow(null); iren.SetRenderWindow(null); renWin.Dispose(); }
/// <summary> /// Called when a key is pressed /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void CharCallback(vtkObject sender, vtkObjectEventArgs e) { vtkRenderWindowInteractor iren = renderWindowControl1.RenderWindow.GetInteractor(); sbyte keycode = iren.GetKeyCode(); //if the keycode is not M if (keycode != 109 && keycode != 77) { return; } int[] pos = iren.GetEventPosition(); ButtonCallback(pos[0], pos[1]); }
public void UnhookEvents() { this.UserStyle.KeyPressEvt -= this.UserHandler; this.UserStyle.CharEvt -= this.UserHandler; this.UserStyle.KeyReleaseEvt -= this.UserHandler; this.Interactor.AnyEvt -= this.InteractorHandler; this.UserHandler = null; this.UserStyle = null; this.InteractorHandler = null; this.Interactor = null; }
public Visualization2D(RenderWindowControl window, vtkDICOMImageReader dicomReader) { this.window = window; this.dicomReader = dicomReader; vtkRenderer renderer = window.RenderWindow.GetRenderers().GetFirstRenderer(); vtkRenderWindowInteractor renderWindowInteractor = window.RenderWindow.GetInteractor(); viewer = vtkImageViewer2.New(); viewer.OffScreenRenderingOn(); viewer.SetupInteractor(renderWindowInteractor); viewer.SetRenderer(renderer); }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVTestExtrudePiece(String [] argv) { //Prefix Content is: "" disk = new vtkDiskSource(); disk.SetRadialResolution((int)2); disk.SetCircumferentialResolution((int)9); clean = new vtkCleanPolyData(); clean.SetInputConnection((vtkAlgorithmOutput)disk.GetOutputPort()); clean.SetTolerance((double)0.01); piece = new vtkExtractPolyDataPiece(); piece.SetInputConnection((vtkAlgorithmOutput)clean.GetOutputPort()); extrude = new vtkPLinearExtrusionFilter(); extrude.SetInputConnection((vtkAlgorithmOutput)piece.GetOutputPort()); extrude.PieceInvariantOn(); // Create the RenderWindow, Renderer and both Actors[] //[] ren1 = vtkRenderer.New(); renWin = vtkRenderWindow.New(); renWin.AddRenderer((vtkRenderer)ren1); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); mapper = vtkPolyDataMapper.New(); mapper.SetInputConnection((vtkAlgorithmOutput)extrude.GetOutputPort()); mapper.SetNumberOfPieces((int)2); mapper.SetPiece((int)1); bf = new vtkProperty(); bf.SetColor((double)1,(double)0,(double)0); actor = new vtkActor(); actor.SetMapper((vtkMapper)mapper); actor.GetProperty().SetColor((double)1,(double)1,(double)0.8); actor.SetBackfaceProperty((vtkProperty)bf); // Add the actors to the renderer, set the background and size[] //[] ren1.AddActor((vtkProp)actor); ren1.SetBackground((double)0.1,(double)0.2,(double)0.4); renWin.SetSize((int)300,(int)300); // render the image[] //[] cam1 = ren1.GetActiveCamera(); cam1.Azimuth((double)20); cam1.Elevation((double)40); ren1.ResetCamera(); cam1.Zoom((double)1.2); iren.Initialize(); // prevent the tk window from showing up then start the event loop[] //deleteAllVTKObjects(); }
public vtkRenderWindowInteractor coordinate_interactor() { //Declare new interactor style vtkInteractorStyle interactorSyle = vtkInteractorStyle.New(); //Set new mouse events interactorSyle.LeftButtonPressEvt += null; interactorSyle.LeftButtonReleaseEvt += new vtkObject.vtkObjectEventHandler(get_coordinates); //Create new interactor vtkRenderWindowInteractor interactor = vtkRenderWindowInteractor.New(); interactor.SetInteractorStyle(interactorSyle); return(interactor); }
//wizualizacja 3d ----------------------------------------------------------------- public Visualization3D(RenderWindowControl window, DicomLoader dicomLoader, Chart chart) { _chart = chart; _window = window; _dicomLoader = dicomLoader; PresetReader = new XmlPresetReader(); // Create a mapper and actor _mapper = vtkSmartVolumeMapper.New(); _mapper.SetInput(_dicomLoader.GetOutput()); _volume = vtkVolume.New(); SetOpacityFunction(); SetGradientOpacity(); _volume.SetMapper(_mapper); renderer = vtkRenderer.New(); renderer.AddVolume(_volume); _window.RenderWindow.GetRenderers().RemoveAllItems(); _window.RenderWindow.AddRenderer(renderer); _window.RenderWindow.GetRenderers().GetFirstRenderer().AddVolume(_volume); // An interactor _renderWindowInteractor = vtkRenderWindowInteractor.New(); _renderWindowInteractor.SetRenderWindow(_window.RenderWindow); //Camera style vtkInteractorStyleTrackballCamera style = vtkInteractorStyleTrackballCamera.New(); style.AutoAdjustCameraClippingRangeOff(); _renderWindowInteractor.SetInteractorStyle(style); //Create and setup planes PlaneWidgetX = new PlaneWidget(Axis.X); SetupPlane(PlaneWidgetX); PlaneWidgetY = new PlaneWidget(Axis.Y); SetupPlane(PlaneWidgetY); PlaneWidgetZ = new PlaneWidget(Axis.Z); SetupPlane(PlaneWidgetZ); // Render _window.RenderWindow.Render(); //ClipingModule _clipingModule = new ClipingModule(GetObjectSize()); }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVRectOutline(String [] argv) { //Prefix Content is: "" // create pipeline[] //[] reader = new vtkDataSetReader(); reader.SetFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/RectGrid2.vtk"); reader.Update(); // here to force exact extent[] elev = new vtkElevationFilter(); elev.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); outline = new vtkRectilinearGridOutlineFilter(); outline.SetInput((vtkDataObject)elev.GetRectilinearGridOutput()); outlineMapper = vtkPolyDataMapper.New(); outlineMapper.SetInputConnection((vtkAlgorithmOutput)outline.GetOutputPort()); outlineMapper.SetNumberOfPieces((int)2); outlineMapper.SetPiece((int)1); outlineActor = new vtkActor(); outlineActor.SetMapper((vtkMapper)outlineMapper); outlineActor.GetProperty().SetColor((double) 0.0000, 0.0000, 0.0000 ); // Graphics stuff[] // Create the RenderWindow, Renderer and both Actors[] //[] ren1 = vtkRenderer.New(); renWin = vtkRenderWindow.New(); renWin.AddRenderer((vtkRenderer)ren1); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); // Add the actors to the renderer, set the background and size[] //[] ren1.AddActor((vtkProp)outlineActor); ren1.SetBackground((double)1,(double)1,(double)1); renWin.SetSize((int)400,(int)400); cam1 = ren1.GetActiveCamera(); cam1.SetClippingRange((double)3.76213,(double)10.712); cam1.SetFocalPoint((double)-0.0842503,(double)-0.136905,(double)0.610234); cam1.SetPosition((double)2.53813,(double)2.2678,(double)-5.22172); cam1.SetViewUp((double)-0.241047,(double)0.930635,(double)0.275343); iren.Initialize(); // render the image[] //[] // prevent the tk window from showing up then start the event loop[] //deleteAllVTKObjects(); }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVRectOutline(String [] argv) { //Prefix Content is: "" // create pipeline[] //[] reader = new vtkDataSetReader(); reader.SetFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/RectGrid2.vtk"); reader.Update(); // here to force exact extent[] elev = new vtkElevationFilter(); elev.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); outline = new vtkRectilinearGridOutlineFilter(); outline.SetInput((vtkDataObject)elev.GetRectilinearGridOutput()); outlineMapper = vtkPolyDataMapper.New(); outlineMapper.SetInputConnection((vtkAlgorithmOutput)outline.GetOutputPort()); outlineMapper.SetNumberOfPieces((int)2); outlineMapper.SetPiece((int)1); outlineActor = new vtkActor(); outlineActor.SetMapper((vtkMapper)outlineMapper); outlineActor.GetProperty().SetColor((double)0.0000, 0.0000, 0.0000); // Graphics stuff[] // Create the RenderWindow, Renderer and both Actors[] //[] ren1 = vtkRenderer.New(); renWin = vtkRenderWindow.New(); renWin.AddRenderer((vtkRenderer)ren1); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); // Add the actors to the renderer, set the background and size[] //[] ren1.AddActor((vtkProp)outlineActor); ren1.SetBackground((double)1, (double)1, (double)1); renWin.SetSize((int)400, (int)400); cam1 = ren1.GetActiveCamera(); cam1.SetClippingRange((double)3.76213, (double)10.712); cam1.SetFocalPoint((double)-0.0842503, (double)-0.136905, (double)0.610234); cam1.SetPosition((double)2.53813, (double)2.2678, (double)-5.22172); cam1.SetViewUp((double)-0.241047, (double)0.930635, (double)0.275343); iren.Initialize(); // render the image[] //[] // prevent the tk window from showing up then start the event loop[] //deleteAllVTKObjects(); }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVTestExtractVOI(String [] argv) { //Prefix Content is: "" // to mark the origin[] sphere = new vtkSphereSource(); sphere.SetRadius((double)2.0); sphereMapper = vtkPolyDataMapper.New(); sphereMapper.SetInputConnection((vtkAlgorithmOutput)sphere.GetOutputPort()); sphereMapper.ImmediateModeRenderingOn(); sphereActor = new vtkActor(); sphereActor.SetMapper((vtkMapper)sphereMapper); rt = new vtkRTAnalyticSource(); rt.SetWholeExtent((int)-50, (int)50, (int)-50, (int)50, (int)0, (int)0); voi = new vtkExtractVOI(); voi.SetInputConnection((vtkAlgorithmOutput)rt.GetOutputPort()); voi.SetVOI((int)-11, (int)39, (int)5, (int)45, (int)0, (int)0); voi.SetSampleRate((int)5, (int)5, (int)1); // Get rid ambiguous triagulation issues.[] surf = new vtkDataSetSurfaceFilter(); surf.SetInputConnection((vtkAlgorithmOutput)voi.GetOutputPort()); tris = new vtkTriangleFilter(); tris.SetInputConnection((vtkAlgorithmOutput)surf.GetOutputPort()); mapper = vtkPolyDataMapper.New(); mapper.SetInputConnection((vtkAlgorithmOutput)tris.GetOutputPort()); mapper.ImmediateModeRenderingOn(); mapper.SetScalarRange((double)130, (double)280); actor = new vtkActor(); actor.SetMapper((vtkMapper)mapper); ren = vtkRenderer.New(); ren.AddActor((vtkProp)actor); ren.AddActor((vtkProp)sphereActor); ren.ResetCamera(); camera = ren.GetActiveCamera(); //$camera SetPosition 68.1939 -23.4323 12.6465[] //$camera SetViewUp 0.46563 0.882375 0.0678508 [] //$camera SetFocalPoint 3.65707 11.4552 1.83509 [] //$camera SetClippingRange 59.2626 101.825 [] renWin = vtkRenderWindow.New(); renWin.AddRenderer((vtkRenderer)ren); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); iren.Initialize(); //deleteAllVTKObjects(); }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVTestExtractVOI(String [] argv) { //Prefix Content is: "" // to mark the origin[] sphere = new vtkSphereSource(); sphere.SetRadius((double)2.0); sphereMapper = vtkPolyDataMapper.New(); sphereMapper.SetInputConnection((vtkAlgorithmOutput)sphere.GetOutputPort()); sphereMapper.ImmediateModeRenderingOn(); sphereActor = new vtkActor(); sphereActor.SetMapper((vtkMapper)sphereMapper); rt = new vtkRTAnalyticSource(); rt.SetWholeExtent((int)-50,(int)50,(int)-50,(int)50,(int)0,(int)0); voi = new vtkExtractVOI(); voi.SetInputConnection((vtkAlgorithmOutput)rt.GetOutputPort()); voi.SetVOI((int)-11,(int)39,(int)5,(int)45,(int)0,(int)0); voi.SetSampleRate((int)5,(int)5,(int)1); // Get rid ambiguous triagulation issues.[] surf = new vtkDataSetSurfaceFilter(); surf.SetInputConnection((vtkAlgorithmOutput)voi.GetOutputPort()); tris = new vtkTriangleFilter(); tris.SetInputConnection((vtkAlgorithmOutput)surf.GetOutputPort()); mapper = vtkPolyDataMapper.New(); mapper.SetInputConnection((vtkAlgorithmOutput)tris.GetOutputPort()); mapper.ImmediateModeRenderingOn(); mapper.SetScalarRange((double)130,(double)280); actor = new vtkActor(); actor.SetMapper((vtkMapper)mapper); ren = vtkRenderer.New(); ren.AddActor((vtkProp)actor); ren.AddActor((vtkProp)sphereActor); ren.ResetCamera(); camera = ren.GetActiveCamera(); //$camera SetPosition 68.1939 -23.4323 12.6465[] //$camera SetViewUp 0.46563 0.882375 0.0678508 [] //$camera SetFocalPoint 3.65707 11.4552 1.83509 [] //$camera SetClippingRange 59.2626 101.825 [] renWin = vtkRenderWindow.New(); renWin.AddRenderer((vtkRenderer)ren); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); iren.Initialize(); //deleteAllVTKObjects(); }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVTestUnstructuredPieces(String [] argv) { //Prefix Content is: "" math = new vtkMath(); vtkMath.RandomSeed((int)22); pf = new vtkParallelFactory(); vtkParallelFactory.RegisterFactory((vtkObjectFactory)pf); pl3d = new vtkMultiBlockPLOT3DReader(); pl3d.SetXYZFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/combxyz.bin"); pl3d.SetQFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/combq.bin"); pl3d.SetScalarFunctionNumber((int)100); dst = new vtkDataSetTriangleFilter(); dst.SetInputData((vtkDataSet)pl3d.GetOutput().GetBlock(0)); extract = new vtkExtractUnstructuredGridPiece(); extract.SetInputConnection((vtkAlgorithmOutput)dst.GetOutputPort()); cf = new vtkContourFilter(); cf.SetInputConnection((vtkAlgorithmOutput)extract.GetOutputPort()); cf.SetValue((int)0, (double)0.24); pdn = new vtkPolyDataNormals(); pdn.SetInputConnection((vtkAlgorithmOutput)cf.GetOutputPort()); ps = new vtkPieceScalars(); ps.SetInputConnection((vtkAlgorithmOutput)pdn.GetOutputPort()); mapper = vtkPolyDataMapper.New(); mapper.SetInputConnection((vtkAlgorithmOutput)ps.GetOutputPort()); mapper.SetNumberOfPieces((int)3); actor = new vtkActor(); actor.SetMapper((vtkMapper)mapper); ren = vtkRenderer.New(); ren.AddActor((vtkProp)actor); ren.ResetCamera(); camera = ren.GetActiveCamera(); //$camera SetPosition 68.1939 -23.4323 12.6465[] //$camera SetViewUp 0.46563 0.882375 0.0678508 [] //$camera SetFocalPoint 3.65707 11.4552 1.83509 [] //$camera SetClippingRange 59.2626 101.825 [] renWin = vtkRenderWindow.New(); renWin.AddRenderer((vtkRenderer)ren); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); iren.Initialize(); //deleteAllVTKObjects(); }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVTestUnstructuredPieces(String [] argv) { //Prefix Content is: "" math = new vtkMath(); vtkMath.RandomSeed((int)22); pf = new vtkParallelFactory(); vtkParallelFactory.RegisterFactory((vtkObjectFactory)pf); pl3d = new vtkMultiBlockPLOT3DReader(); pl3d.SetXYZFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/combxyz.bin"); pl3d.SetQFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/combq.bin"); pl3d.SetScalarFunctionNumber((int)100); dst = new vtkDataSetTriangleFilter(); dst.SetInputData((vtkDataSet)pl3d.GetOutput().GetBlock(0)); extract = new vtkExtractUnstructuredGridPiece(); extract.SetInputConnection((vtkAlgorithmOutput)dst.GetOutputPort()); cf = new vtkContourFilter(); cf.SetInputConnection((vtkAlgorithmOutput)extract.GetOutputPort()); cf.SetValue((int)0,(double)0.24); pdn = new vtkPolyDataNormals(); pdn.SetInputConnection((vtkAlgorithmOutput)cf.GetOutputPort()); ps = new vtkPieceScalars(); ps.SetInputConnection((vtkAlgorithmOutput)pdn.GetOutputPort()); mapper = vtkPolyDataMapper.New(); mapper.SetInputConnection((vtkAlgorithmOutput)ps.GetOutputPort()); mapper.SetNumberOfPieces((int)3); actor = new vtkActor(); actor.SetMapper((vtkMapper)mapper); ren = vtkRenderer.New(); ren.AddActor((vtkProp)actor); ren.ResetCamera(); camera = ren.GetActiveCamera(); //$camera SetPosition 68.1939 -23.4323 12.6465[] //$camera SetViewUp 0.46563 0.882375 0.0678508 [] //$camera SetFocalPoint 3.65707 11.4552 1.83509 [] //$camera SetClippingRange 59.2626 101.825 [] renWin = vtkRenderWindow.New(); renWin.AddRenderer((vtkRenderer)ren); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); iren.Initialize(); //deleteAllVTKObjects(); }
///<summary>Entry Point</summary> static void Main(string[] args) { // Create a simple sphere. A pipeline is created. sphere = vtkSphereSource.New(); sphere.SetThetaResolution(8); sphere.SetPhiResolution(16); shrink = vtkShrinkPolyData.New(); shrink.SetInputConnection(sphere.GetOutputPort()); shrink.SetShrinkFactor(0.9); mapper = vtkPolyDataMapper.New(); mapper.SetInputConnection(shrink.GetOutputPort()); // The actor links the data pipeline to the rendering subsystem actor = vtkActor.New(); actor.SetMapper(mapper); actor.GetProperty().SetColor(1, 0, 0); // Create components of the rendering subsystem // ren1 = vtkRenderer.New(); renWin = vtkRenderWindow.New(); renWin.AddRenderer(ren1); iren = vtkRenderWindowInteractor.New(); iren.SetRenderWindow(renWin); // Add the actors to the renderer, set the window size // ren1.AddViewProp(actor); renWin.SetSize(250, 250); renWin.Render(); camera = ren1.GetActiveCamera(); camera.Zoom(1.5); // render the image and start the event loop // renWin.Render(); iren.Initialize(); iren.Start(); deleteAllVTKObjects(); }
public virtual vtkRenderWindowInteractor GetInteractor() { vtkRenderWindowInteractor vtkRenderWindowInteractor = null; uint mteStatus = 0u; uint mteIndex = 4294967295u; uint rawRefCount = 0u; IntPtr intPtr = vtkObserverMediator.vtkObserverMediator_GetInteractor_01(base.GetCppThis(), ref mteStatus, ref mteIndex, ref rawRefCount); if (IntPtr.Zero != intPtr) { bool flag; vtkRenderWindowInteractor = (vtkRenderWindowInteractor)Methods.CreateWrappedObject(mteStatus, mteIndex, rawRefCount, intPtr, true, out flag); if (flag) { vtkRenderWindowInteractor.Register(null); } } return(vtkRenderWindowInteractor); }
public static void ShowPolydata(string airwayPath) { if (!File.Exists(airwayPath)) { MessageBox.Show("文件不存在!"); return; } vtkRenderWindow renWin = vtkRenderWindow.New(); renWin.SetSize(600, 600); vtkRenderWindowInteractor iren = new vtkRenderWindowInteractor(); renWin.SetInteractor(iren); vtkInteractorStyleTrackballCamera interactorStyle = new vtkInteractorStyleTrackballCamera(); iren.SetInteractorStyle(interactorStyle); vtkRenderer renderer = vtkRenderer.New(); renderer.GradientBackgroundOn(); renderer.SetBackground(0, 0, 0); renderer.SetBackground2(0, 0, 1); renWin.AddRenderer(renderer); vtkXMLPolyDataReader reader = new vtkXMLPolyDataReader(); reader.SetFileName(airwayPath); reader.Update(); vtkPolyDataMapper mapper = vtkPolyDataMapper.New(); mapper.ScalarVisibilityOff(); mapper.SetInput(reader.GetOutput()); reader.Dispose(); vtkActor actor = new vtkActor(); actor.SetMapper(mapper); renderer.AddActor(actor); renWin.Render(); }
protected override void OnHandleDestroyed(EventArgs e) { if (this.m_Renderer != null) { this.m_Renderer.SetRenderWindow(null); } if (this.m_RenderWindowInteractor != null) { this.m_RenderWindowInteractor.Dispose(); this.m_RenderWindowInteractor = null; } if (this.m_RenderWindow != null) { this.m_RenderWindow.Dispose(); this.m_RenderWindow = null; } if (this.m_Renderer != null) { this.m_Renderer.Dispose(); this.m_Renderer = null; } base.OnHandleDestroyed(e); }
protected override void OnHandleCreated(EventArgs e) { if (!base.DesignMode) { vtkLogoWidget vtkLogoWidget = new vtkLogoWidget(); this.m_Renderer = vtkRenderer.New(); this.m_RenderWindow = vtkRenderWindow.New(); IntPtr xDisplay = this.GetXDisplay(); bool flag = false; if (IntPtr.Zero != xDisplay) { flag = true; } if (flag) { this.m_RenderWindowInteractor = vtkGenericRenderWindowInteractor.New(); this.m_RenderWindow.SetDisplayId(xDisplay); } else { this.m_RenderWindowInteractor = vtkRenderWindowInteractor.New(); } vtkInteractorStyleSwitch vtkInteractorStyleSwitch = this.m_RenderWindowInteractor.GetInteractorStyle() as vtkInteractorStyleSwitch; if (null != vtkInteractorStyleSwitch) { vtkInteractorStyleSwitch.SetCurrentStyleToTrackballCamera(); } this.m_RenderWindow.SetParentId(base.Handle); this.m_RenderWindow.AddRenderer(this.m_Renderer); if (!flag) { this.AttachInteractor(); } vtkLogoWidget.Dispose(); } base.OnHandleCreated(e); }
public void HookEvents() { this.HookErrorWindowEvents(); this.Interactor = this.renderWindowControl1.RenderWindow.GetInteractor(); this.InteractorHandler = new Kitware.VTK.vtkObject.vtkObjectEventHandler(Interactor_AnyEventHandler); this.Interactor.AnyEvt += this.InteractorHandler; // Give our own style a higher priority than the built-in one // so that we see the events first: // float builtInPriority = this.Interactor.GetInteractorStyle().GetPriority(); this.UserStyle = Kitware.VTK.vtkInteractorStyleUser.New(); this.UserStyle.SetPriority(0.5f); this.UserStyle.SetInteractor(this.Interactor); this.UserHandler = new Kitware.VTK.vtkObject.vtkObjectEventHandler(UserStyle_MultipleEventHandler); // Keyboard events: this.UserStyle.KeyPressEvt += this.UserHandler; this.UserStyle.CharEvt += this.UserHandler; this.UserStyle.KeyReleaseEvt += this.UserHandler; }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVpickCells(String [] argv) { //Prefix Content is: "" ren1 = vtkRenderer.New(); renWin = vtkRenderWindow.New(); renWin.AddRenderer((vtkRenderer)ren1); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); // create a scene with one of each cell type[] // Voxel[] voxelPoints = new vtkPoints(); voxelPoints.SetNumberOfPoints((int)8); voxelPoints.InsertPoint((int)0,(double)0,(double)0,(double)0); voxelPoints.InsertPoint((int)1,(double)1,(double)0,(double)0); voxelPoints.InsertPoint((int)2,(double)0,(double)1,(double)0); voxelPoints.InsertPoint((int)3,(double)1,(double)1,(double)0); voxelPoints.InsertPoint((int)4,(double)0,(double)0,(double)1); voxelPoints.InsertPoint((int)5,(double)1,(double)0,(double)1); voxelPoints.InsertPoint((int)6,(double)0,(double)1,(double)1); voxelPoints.InsertPoint((int)7,(double)1,(double)1,(double)1); aVoxel = new vtkVoxel(); aVoxel.GetPointIds().SetId((int)0,(int)0); aVoxel.GetPointIds().SetId((int)1,(int)1); aVoxel.GetPointIds().SetId((int)2,(int)2); aVoxel.GetPointIds().SetId((int)3,(int)3); aVoxel.GetPointIds().SetId((int)4,(int)4); aVoxel.GetPointIds().SetId((int)5,(int)5); aVoxel.GetPointIds().SetId((int)6,(int)6); aVoxel.GetPointIds().SetId((int)7,(int)7); aVoxelGrid = new vtkUnstructuredGrid(); aVoxelGrid.Allocate((int)1,(int)1); aVoxelGrid.InsertNextCell((int)aVoxel.GetCellType(),(vtkIdList)aVoxel.GetPointIds()); aVoxelGrid.SetPoints((vtkPoints)voxelPoints); aVoxelMapper = new vtkDataSetMapper(); aVoxelMapper.SetInput((vtkDataSet)aVoxelGrid); aVoxelActor = new vtkActor(); aVoxelActor.SetMapper((vtkMapper)aVoxelMapper); aVoxelActor.GetProperty().BackfaceCullingOn(); // Hexahedron[] hexahedronPoints = new vtkPoints(); hexahedronPoints.SetNumberOfPoints((int)8); hexahedronPoints.InsertPoint((int)0,(double)0,(double)0,(double)0); hexahedronPoints.InsertPoint((int)1,(double)1,(double)0,(double)0); hexahedronPoints.InsertPoint((int)2,(double)1,(double)1,(double)0); hexahedronPoints.InsertPoint((int)3,(double)0,(double)1,(double)0); hexahedronPoints.InsertPoint((int)4,(double)0,(double)0,(double)1); hexahedronPoints.InsertPoint((int)5,(double)1,(double)0,(double)1); hexahedronPoints.InsertPoint((int)6,(double)1,(double)1,(double)1); hexahedronPoints.InsertPoint((int)7,(double)0,(double)1,(double)1); aHexahedron = new vtkHexahedron(); aHexahedron.GetPointIds().SetId((int)0,(int)0); aHexahedron.GetPointIds().SetId((int)1,(int)1); aHexahedron.GetPointIds().SetId((int)2,(int)2); aHexahedron.GetPointIds().SetId((int)3,(int)3); aHexahedron.GetPointIds().SetId((int)4,(int)4); aHexahedron.GetPointIds().SetId((int)5,(int)5); aHexahedron.GetPointIds().SetId((int)6,(int)6); aHexahedron.GetPointIds().SetId((int)7,(int)7); aHexahedronGrid = new vtkUnstructuredGrid(); aHexahedronGrid.Allocate((int)1,(int)1); aHexahedronGrid.InsertNextCell((int)aHexahedron.GetCellType(),(vtkIdList)aHexahedron.GetPointIds()); aHexahedronGrid.SetPoints((vtkPoints)hexahedronPoints); aHexahedronMapper = new vtkDataSetMapper(); aHexahedronMapper.SetInput((vtkDataSet)aHexahedronGrid); aHexahedronActor = new vtkActor(); aHexahedronActor.SetMapper((vtkMapper)aHexahedronMapper); aHexahedronActor.AddPosition((double)2,(double)0,(double)0); aHexahedronActor.GetProperty().BackfaceCullingOn(); // Tetra[] tetraPoints = new vtkPoints(); tetraPoints.SetNumberOfPoints((int)4); tetraPoints.InsertPoint((int)0,(double)0,(double)0,(double)0); tetraPoints.InsertPoint((int)1,(double)1,(double)0,(double)0); tetraPoints.InsertPoint((int)2,(double).5,(double)1,(double)0); tetraPoints.InsertPoint((int)3,(double).5,(double).5,(double)1); aTetra = new vtkTetra(); aTetra.GetPointIds().SetId((int)0,(int)0); aTetra.GetPointIds().SetId((int)1,(int)1); aTetra.GetPointIds().SetId((int)2,(int)2); aTetra.GetPointIds().SetId((int)3,(int)3); aTetraGrid = new vtkUnstructuredGrid(); aTetraGrid.Allocate((int)1,(int)1); aTetraGrid.InsertNextCell((int)aTetra.GetCellType(),(vtkIdList)aTetra.GetPointIds()); aTetraGrid.SetPoints((vtkPoints)tetraPoints); aTetraMapper = new vtkDataSetMapper(); aTetraMapper.SetInput((vtkDataSet)aTetraGrid); aTetraActor = new vtkActor(); aTetraActor.SetMapper((vtkMapper)aTetraMapper); aTetraActor.AddPosition((double)4,(double)0,(double)0); aTetraActor.GetProperty().BackfaceCullingOn(); // Wedge[] wedgePoints = new vtkPoints(); wedgePoints.SetNumberOfPoints((int)6); wedgePoints.InsertPoint((int)0,(double)0,(double)1,(double)0); wedgePoints.InsertPoint((int)1,(double)0,(double)0,(double)0); wedgePoints.InsertPoint((int)2,(double)0,(double).5,(double).5); wedgePoints.InsertPoint((int)3,(double)1,(double)1,(double)0); wedgePoints.InsertPoint((int)4,(double)1,(double)0,(double)0); wedgePoints.InsertPoint((int)5,(double)1,(double).5,(double).5); aWedge = new vtkWedge(); aWedge.GetPointIds().SetId((int)0,(int)0); aWedge.GetPointIds().SetId((int)1,(int)1); aWedge.GetPointIds().SetId((int)2,(int)2); aWedge.GetPointIds().SetId((int)3,(int)3); aWedge.GetPointIds().SetId((int)4,(int)4); aWedge.GetPointIds().SetId((int)5,(int)5); aWedgeGrid = new vtkUnstructuredGrid(); aWedgeGrid.Allocate((int)1,(int)1); aWedgeGrid.InsertNextCell((int)aWedge.GetCellType(),(vtkIdList)aWedge.GetPointIds()); aWedgeGrid.SetPoints((vtkPoints)wedgePoints); aWedgeMapper = new vtkDataSetMapper(); aWedgeMapper.SetInput((vtkDataSet)aWedgeGrid); aWedgeActor = new vtkActor(); aWedgeActor.SetMapper((vtkMapper)aWedgeMapper); aWedgeActor.AddPosition((double)6,(double)0,(double)0); aWedgeActor.GetProperty().BackfaceCullingOn(); // Pyramid[] pyramidPoints = new vtkPoints(); pyramidPoints.SetNumberOfPoints((int)5); pyramidPoints.InsertPoint((int)0,(double)0,(double)0,(double)0); pyramidPoints.InsertPoint((int)1,(double)1,(double)0,(double)0); pyramidPoints.InsertPoint((int)2,(double)1,(double)1,(double)0); pyramidPoints.InsertPoint((int)3,(double)0,(double)1,(double)0); pyramidPoints.InsertPoint((int)4,(double).5,(double).5,(double)1); aPyramid = new vtkPyramid(); aPyramid.GetPointIds().SetId((int)0,(int)0); aPyramid.GetPointIds().SetId((int)1,(int)1); aPyramid.GetPointIds().SetId((int)2,(int)2); aPyramid.GetPointIds().SetId((int)3,(int)3); aPyramid.GetPointIds().SetId((int)4,(int)4); aPyramidGrid = new vtkUnstructuredGrid(); aPyramidGrid.Allocate((int)1,(int)1); aPyramidGrid.InsertNextCell((int)aPyramid.GetCellType(),(vtkIdList)aPyramid.GetPointIds()); aPyramidGrid.SetPoints((vtkPoints)pyramidPoints); aPyramidMapper = new vtkDataSetMapper(); aPyramidMapper.SetInput((vtkDataSet)aPyramidGrid); aPyramidActor = new vtkActor(); aPyramidActor.SetMapper((vtkMapper)aPyramidMapper); aPyramidActor.AddPosition((double)8,(double)0,(double)0); aPyramidActor.GetProperty().BackfaceCullingOn(); // Pixel[] pixelPoints = new vtkPoints(); pixelPoints.SetNumberOfPoints((int)4); pixelPoints.InsertPoint((int)0,(double)0,(double)0,(double)0); pixelPoints.InsertPoint((int)1,(double)1,(double)0,(double)0); pixelPoints.InsertPoint((int)2,(double)0,(double)1,(double)0); pixelPoints.InsertPoint((int)3,(double)1,(double)1,(double)0); aPixel = new vtkPixel(); aPixel.GetPointIds().SetId((int)0,(int)0); aPixel.GetPointIds().SetId((int)1,(int)1); aPixel.GetPointIds().SetId((int)2,(int)2); aPixel.GetPointIds().SetId((int)3,(int)3); aPixelGrid = new vtkUnstructuredGrid(); aPixelGrid.Allocate((int)1,(int)1); aPixelGrid.InsertNextCell((int)aPixel.GetCellType(),(vtkIdList)aPixel.GetPointIds()); aPixelGrid.SetPoints((vtkPoints)pixelPoints); aPixelMapper = new vtkDataSetMapper(); aPixelMapper.SetInput((vtkDataSet)aPixelGrid); aPixelActor = new vtkActor(); aPixelActor.SetMapper((vtkMapper)aPixelMapper); aPixelActor.AddPosition((double)0,(double)0,(double)2); aPixelActor.GetProperty().BackfaceCullingOn(); // Quad[] quadPoints = new vtkPoints(); quadPoints.SetNumberOfPoints((int)4); quadPoints.InsertPoint((int)0,(double)0,(double)0,(double)0); quadPoints.InsertPoint((int)1,(double)1,(double)0,(double)0); quadPoints.InsertPoint((int)2,(double)1,(double)1,(double)0); quadPoints.InsertPoint((int)3,(double)0,(double)1,(double)0); aQuad = new vtkQuad(); aQuad.GetPointIds().SetId((int)0,(int)0); aQuad.GetPointIds().SetId((int)1,(int)1); aQuad.GetPointIds().SetId((int)2,(int)2); aQuad.GetPointIds().SetId((int)3,(int)3); aQuadGrid = new vtkUnstructuredGrid(); aQuadGrid.Allocate((int)1,(int)1); aQuadGrid.InsertNextCell((int)aQuad.GetCellType(),(vtkIdList)aQuad.GetPointIds()); aQuadGrid.SetPoints((vtkPoints)quadPoints); aQuadMapper = new vtkDataSetMapper(); aQuadMapper.SetInput((vtkDataSet)aQuadGrid); aQuadActor = new vtkActor(); aQuadActor.SetMapper((vtkMapper)aQuadMapper); aQuadActor.AddPosition((double)2,(double)0,(double)2); aQuadActor.GetProperty().BackfaceCullingOn(); // Triangle[] trianglePoints = new vtkPoints(); trianglePoints.SetNumberOfPoints((int)3); trianglePoints.InsertPoint((int)0,(double)0,(double)0,(double)0); trianglePoints.InsertPoint((int)1,(double)1,(double)0,(double)0); trianglePoints.InsertPoint((int)2,(double).5,(double).5,(double)0); aTriangle = new vtkTriangle(); aTriangle.GetPointIds().SetId((int)0,(int)0); aTriangle.GetPointIds().SetId((int)1,(int)1); aTriangle.GetPointIds().SetId((int)2,(int)2); aTriangleGrid = new vtkUnstructuredGrid(); aTriangleGrid.Allocate((int)1,(int)1); aTriangleGrid.InsertNextCell((int)aTriangle.GetCellType(),(vtkIdList)aTriangle.GetPointIds()); aTriangleGrid.SetPoints((vtkPoints)trianglePoints); aTriangleMapper = new vtkDataSetMapper(); aTriangleMapper.SetInput((vtkDataSet)aTriangleGrid); aTriangleActor = new vtkActor(); aTriangleActor.SetMapper((vtkMapper)aTriangleMapper); aTriangleActor.AddPosition((double)4,(double)0,(double)2); aTriangleActor.GetProperty().BackfaceCullingOn(); // Polygon[] polygonPoints = new vtkPoints(); polygonPoints.SetNumberOfPoints((int)4); polygonPoints.InsertPoint((int)0,(double)0,(double)0,(double)0); polygonPoints.InsertPoint((int)1,(double)1,(double)0,(double)0); polygonPoints.InsertPoint((int)2,(double)1,(double)1,(double)0); polygonPoints.InsertPoint((int)3,(double)0,(double)1,(double)0); aPolygon = new vtkPolygon(); aPolygon.GetPointIds().SetNumberOfIds((int)4); aPolygon.GetPointIds().SetId((int)0,(int)0); aPolygon.GetPointIds().SetId((int)1,(int)1); aPolygon.GetPointIds().SetId((int)2,(int)2); aPolygon.GetPointIds().SetId((int)3,(int)3); aPolygonGrid = new vtkUnstructuredGrid(); aPolygonGrid.Allocate((int)1,(int)1); aPolygonGrid.InsertNextCell((int)aPolygon.GetCellType(),(vtkIdList)aPolygon.GetPointIds()); aPolygonGrid.SetPoints((vtkPoints)polygonPoints); aPolygonMapper = new vtkDataSetMapper(); aPolygonMapper.SetInput((vtkDataSet)aPolygonGrid); aPolygonActor = new vtkActor(); aPolygonActor.SetMapper((vtkMapper)aPolygonMapper); aPolygonActor.AddPosition((double)6,(double)0,(double)2); aPolygonActor.GetProperty().BackfaceCullingOn(); // Triangle Strip[] triangleStripPoints = new vtkPoints(); triangleStripPoints.SetNumberOfPoints((int)5); triangleStripPoints.InsertPoint((int)0,(double)0,(double)1,(double)0); triangleStripPoints.InsertPoint((int)1,(double)0,(double)0,(double)0); triangleStripPoints.InsertPoint((int)2,(double)1,(double)1,(double)0); triangleStripPoints.InsertPoint((int)3,(double)1,(double)0,(double)0); triangleStripPoints.InsertPoint((int)4,(double)2,(double)1,(double)0); aTriangleStrip = new vtkTriangleStrip(); aTriangleStrip.GetPointIds().SetNumberOfIds((int)5); aTriangleStrip.GetPointIds().SetId((int)0,(int)0); aTriangleStrip.GetPointIds().SetId((int)1,(int)1); aTriangleStrip.GetPointIds().SetId((int)2,(int)2); aTriangleStrip.GetPointIds().SetId((int)3,(int)3); aTriangleStrip.GetPointIds().SetId((int)4,(int)4); aTriangleStripGrid = new vtkUnstructuredGrid(); aTriangleStripGrid.Allocate((int)1,(int)1); aTriangleStripGrid.InsertNextCell((int)aTriangleStrip.GetCellType(),(vtkIdList)aTriangleStrip.GetPointIds()); aTriangleStripGrid.SetPoints((vtkPoints)triangleStripPoints); aTriangleStripMapper = new vtkDataSetMapper(); aTriangleStripMapper.SetInput((vtkDataSet)aTriangleStripGrid); aTriangleStripActor = new vtkActor(); aTriangleStripActor.SetMapper((vtkMapper)aTriangleStripMapper); aTriangleStripActor.AddPosition((double)8,(double)0,(double)2); aTriangleStripActor.GetProperty().BackfaceCullingOn(); // Line[] linePoints = new vtkPoints(); linePoints.SetNumberOfPoints((int)2); linePoints.InsertPoint((int)0,(double)0,(double)0,(double)0); linePoints.InsertPoint((int)1,(double)1,(double)1,(double)0); aLine = new vtkLine(); aLine.GetPointIds().SetId((int)0,(int)0); aLine.GetPointIds().SetId((int)1,(int)1); aLineGrid = new vtkUnstructuredGrid(); aLineGrid.Allocate((int)1,(int)1); aLineGrid.InsertNextCell((int)aLine.GetCellType(),(vtkIdList)aLine.GetPointIds()); aLineGrid.SetPoints((vtkPoints)linePoints); aLineMapper = new vtkDataSetMapper(); aLineMapper.SetInput((vtkDataSet)aLineGrid); aLineActor = new vtkActor(); aLineActor.SetMapper((vtkMapper)aLineMapper); aLineActor.AddPosition((double)0,(double)0,(double)4); aLineActor.GetProperty().BackfaceCullingOn(); // Poly line[] polyLinePoints = new vtkPoints(); polyLinePoints.SetNumberOfPoints((int)3); polyLinePoints.InsertPoint((int)0,(double)0,(double)0,(double)0); polyLinePoints.InsertPoint((int)1,(double)1,(double)1,(double)0); polyLinePoints.InsertPoint((int)2,(double)1,(double)0,(double)0); aPolyLine = new vtkPolyLine(); aPolyLine.GetPointIds().SetNumberOfIds((int)3); aPolyLine.GetPointIds().SetId((int)0,(int)0); aPolyLine.GetPointIds().SetId((int)1,(int)1); aPolyLine.GetPointIds().SetId((int)2,(int)2); aPolyLineGrid = new vtkUnstructuredGrid(); aPolyLineGrid.Allocate((int)1,(int)1); aPolyLineGrid.InsertNextCell((int)aPolyLine.GetCellType(),(vtkIdList)aPolyLine.GetPointIds()); aPolyLineGrid.SetPoints((vtkPoints)polyLinePoints); aPolyLineMapper = new vtkDataSetMapper(); aPolyLineMapper.SetInput((vtkDataSet)aPolyLineGrid); aPolyLineActor = new vtkActor(); aPolyLineActor.SetMapper((vtkMapper)aPolyLineMapper); aPolyLineActor.AddPosition((double)2,(double)0,(double)4); aPolyLineActor.GetProperty().BackfaceCullingOn(); // Vertex[] vertexPoints = new vtkPoints(); vertexPoints.SetNumberOfPoints((int)1); vertexPoints.InsertPoint((int)0,(double)0,(double)0,(double)0); aVertex = new vtkVertex(); aVertex.GetPointIds().SetId((int)0,(int)0); aVertexGrid = new vtkUnstructuredGrid(); aVertexGrid.Allocate((int)1,(int)1); aVertexGrid.InsertNextCell((int)aVertex.GetCellType(),(vtkIdList)aVertex.GetPointIds()); aVertexGrid.SetPoints((vtkPoints)vertexPoints); aVertexMapper = new vtkDataSetMapper(); aVertexMapper.SetInput((vtkDataSet)aVertexGrid); aVertexActor = new vtkActor(); aVertexActor.SetMapper((vtkMapper)aVertexMapper); aVertexActor.AddPosition((double)0,(double)0,(double)6); aVertexActor.GetProperty().BackfaceCullingOn(); // Poly Vertex[] polyVertexPoints = new vtkPoints(); polyVertexPoints.SetNumberOfPoints((int)3); polyVertexPoints.InsertPoint((int)0,(double)0,(double)0,(double)0); polyVertexPoints.InsertPoint((int)1,(double)1,(double)0,(double)0); polyVertexPoints.InsertPoint((int)2,(double)1,(double)1,(double)0); aPolyVertex = new vtkPolyVertex(); aPolyVertex.GetPointIds().SetNumberOfIds((int)3); aPolyVertex.GetPointIds().SetId((int)0,(int)0); aPolyVertex.GetPointIds().SetId((int)1,(int)1); aPolyVertex.GetPointIds().SetId((int)2,(int)2); aPolyVertexGrid = new vtkUnstructuredGrid(); aPolyVertexGrid.Allocate((int)1,(int)1); aPolyVertexGrid.InsertNextCell((int)aPolyVertex.GetCellType(),(vtkIdList)aPolyVertex.GetPointIds()); aPolyVertexGrid.SetPoints((vtkPoints)polyVertexPoints); aPolyVertexMapper = new vtkDataSetMapper(); aPolyVertexMapper.SetInput((vtkDataSet)aPolyVertexGrid); aPolyVertexActor = new vtkActor(); aPolyVertexActor.SetMapper((vtkMapper)aPolyVertexMapper); aPolyVertexActor.AddPosition((double)2,(double)0,(double)6); aPolyVertexActor.GetProperty().BackfaceCullingOn(); // Pentagonal prism[] pentaPoints = new vtkPoints(); pentaPoints.SetNumberOfPoints((int)10); pentaPoints.InsertPoint((int)0,(double)0.25,(double)0.0,(double)0.0); pentaPoints.InsertPoint((int)1,(double)0.75,(double)0.0,(double)0.0); pentaPoints.InsertPoint((int)2,(double)1.0,(double)0.5,(double)0.0); pentaPoints.InsertPoint((int)3,(double)0.5,(double)1.0,(double)0.0); pentaPoints.InsertPoint((int)4,(double)0.0,(double)0.5,(double)0.0); pentaPoints.InsertPoint((int)5,(double)0.25,(double)0.0,(double)1.0); pentaPoints.InsertPoint((int)6,(double)0.75,(double)0.0,(double)1.0); pentaPoints.InsertPoint((int)7,(double)1.0,(double)0.5,(double)1.0); pentaPoints.InsertPoint((int)8,(double)0.5,(double)1.0,(double)1.0); pentaPoints.InsertPoint((int)9,(double)0.0,(double)0.5,(double)1.0); aPenta = new vtkPentagonalPrism(); aPenta.GetPointIds().SetId((int)0,(int)0); aPenta.GetPointIds().SetId((int)1,(int)1); aPenta.GetPointIds().SetId((int)2,(int)2); aPenta.GetPointIds().SetId((int)3,(int)3); aPenta.GetPointIds().SetId((int)4,(int)4); aPenta.GetPointIds().SetId((int)5,(int)5); aPenta.GetPointIds().SetId((int)6,(int)6); aPenta.GetPointIds().SetId((int)7,(int)7); aPenta.GetPointIds().SetId((int)8,(int)8); aPenta.GetPointIds().SetId((int)9,(int)9); aPentaGrid = new vtkUnstructuredGrid(); aPentaGrid.Allocate((int)1,(int)1); aPentaGrid.InsertNextCell((int)aPenta.GetCellType(),(vtkIdList)aPenta.GetPointIds()); aPentaGrid.SetPoints((vtkPoints)pentaPoints); aPentaMapper = new vtkDataSetMapper(); aPentaMapper.SetInput((vtkDataSet)aPentaGrid); aPentaActor = new vtkActor(); aPentaActor.SetMapper((vtkMapper)aPentaMapper); aPentaActor.AddPosition((double)10,(double)0,(double)0); aPentaActor.GetProperty().BackfaceCullingOn(); // Hexagonal prism[] hexaPoints = new vtkPoints(); hexaPoints.SetNumberOfPoints((int)12); hexaPoints.InsertPoint((int)0,(double)0.0,(double)0.0,(double)0.0); hexaPoints.InsertPoint((int)1,(double)0.5,(double)0.0,(double)0.0); hexaPoints.InsertPoint((int)2,(double)1.0,(double)0.5,(double)0.0); hexaPoints.InsertPoint((int)3,(double)1.0,(double)1.0,(double)0.0); hexaPoints.InsertPoint((int)4,(double)0.5,(double)1.0,(double)0.0); hexaPoints.InsertPoint((int)5,(double)0.0,(double)0.5,(double)0.0); hexaPoints.InsertPoint((int)6,(double)0.0,(double)0.0,(double)1.0); hexaPoints.InsertPoint((int)7,(double)0.5,(double)0.0,(double)1.0); hexaPoints.InsertPoint((int)8,(double)1.0,(double)0.5,(double)1.0); hexaPoints.InsertPoint((int)9,(double)1.0,(double)1.0,(double)1.0); hexaPoints.InsertPoint((int)10,(double)0.5,(double)1.0,(double)1.0); hexaPoints.InsertPoint((int)11,(double)0.0,(double)0.5,(double)1.0); aHexa = new vtkHexagonalPrism(); aHexa.GetPointIds().SetId((int)0,(int)0); aHexa.GetPointIds().SetId((int)1,(int)1); aHexa.GetPointIds().SetId((int)2,(int)2); aHexa.GetPointIds().SetId((int)3,(int)3); aHexa.GetPointIds().SetId((int)4,(int)4); aHexa.GetPointIds().SetId((int)5,(int)5); aHexa.GetPointIds().SetId((int)6,(int)6); aHexa.GetPointIds().SetId((int)7,(int)7); aHexa.GetPointIds().SetId((int)8,(int)8); aHexa.GetPointIds().SetId((int)9,(int)9); aHexa.GetPointIds().SetId((int)10,(int)10); aHexa.GetPointIds().SetId((int)11,(int)11); aHexaGrid = new vtkUnstructuredGrid(); aHexaGrid.Allocate((int)1,(int)1); aHexaGrid.InsertNextCell((int)aHexa.GetCellType(),(vtkIdList)aHexa.GetPointIds()); aHexaGrid.SetPoints((vtkPoints)hexaPoints); aHexaMapper = new vtkDataSetMapper(); aHexaMapper.SetInput((vtkDataSet)aHexaGrid); aHexaActor = new vtkActor(); aHexaActor.SetMapper((vtkMapper)aHexaMapper); aHexaActor.AddPosition((double)12,(double)0,(double)0); aHexaActor.GetProperty().BackfaceCullingOn(); ren1.SetBackground((double).1,(double).2,(double).4); ren1.AddActor((vtkProp)aVoxelActor); aVoxelActor.GetProperty().SetDiffuseColor((double)1,(double)0,(double)0); ren1.AddActor((vtkProp)aHexahedronActor); aHexahedronActor.GetProperty().SetDiffuseColor((double)1,(double)1,(double)0); ren1.AddActor((vtkProp)aTetraActor); aTetraActor.GetProperty().SetDiffuseColor((double)0,(double)1,(double)0); ren1.AddActor((vtkProp)aWedgeActor); aWedgeActor.GetProperty().SetDiffuseColor((double)0,(double)1,(double)1); ren1.AddActor((vtkProp)aPyramidActor); aPyramidActor.GetProperty().SetDiffuseColor((double)1,(double)0,(double)1); ren1.AddActor((vtkProp)aPixelActor); aPixelActor.GetProperty().SetDiffuseColor((double)0,(double)1,(double)1); ren1.AddActor((vtkProp)aQuadActor); aQuadActor.GetProperty().SetDiffuseColor((double)1,(double)0,(double)1); ren1.AddActor((vtkProp)aTriangleActor); aTriangleActor.GetProperty().SetDiffuseColor((double).3,(double)1,(double).5); ren1.AddActor((vtkProp)aPolygonActor); aPolygonActor.GetProperty().SetDiffuseColor((double)1,(double).4,(double).5); ren1.AddActor((vtkProp)aTriangleStripActor); aTriangleStripActor.GetProperty().SetDiffuseColor((double).3,(double).7,(double)1); ren1.AddActor((vtkProp)aLineActor); aLineActor.GetProperty().SetDiffuseColor((double).2,(double)1,(double)1); ren1.AddActor((vtkProp)aPolyLineActor); aPolyLineActor.GetProperty().SetDiffuseColor((double)1,(double)1,(double)1); ren1.AddActor((vtkProp)aVertexActor); aVertexActor.GetProperty().SetDiffuseColor((double)1,(double)1,(double)1); ren1.AddActor((vtkProp)aPolyVertexActor); aPolyVertexActor.GetProperty().SetDiffuseColor((double)1,(double)1,(double)1); ren1.AddActor((vtkProp)aPentaActor); aPentaActor.GetProperty().SetDiffuseColor((double).2,(double).4,(double).7); ren1.AddActor((vtkProp)aHexaActor); aHexaActor.GetProperty().SetDiffuseColor((double).7,(double).5,(double)1); ren1.ResetCamera(); ren1.GetActiveCamera().Azimuth((double)30); ren1.GetActiveCamera().Elevation((double)20); ren1.GetActiveCamera().Dolly((double)1.25); ren1.ResetCameraClippingRange(); renWin.Render(); cellPicker = new vtkCellPicker(); pointPicker = new vtkPointPicker(); worldPicker = new vtkWorldPointPicker(); cellCount = 0; pointCount = 0; ren1.IsInViewport((int)0,(int)0); x = 0; while((x) <= 265) { y = 100; while((y) <= 200) { cellPicker.Pick((double)x,(double)y,(double)0,(vtkRenderer)ren1); pointPicker.Pick((double)x,(double)y,(double)0,(vtkRenderer)ren1); worldPicker.Pick((double)x,(double)y,(double)0,(vtkRenderer)ren1); if ((cellPicker.GetCellId()) != -1) { cellCount = cellCount + 1; } if ((pointPicker.GetPointId()) != -1) { pointCount = pointCount + 1; } y = y + 6; } x = x + 6; } // render the image[] //[] iren.Initialize(); //deleteAllVTKObjects(); }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVcombStreamers2(String [] argv) { //Prefix Content is: "" // Create the RenderWindow, Renderer and both Actors[] //[] ren1 = vtkRenderer.New(); renWin = vtkRenderWindow.New(); renWin.AddRenderer((vtkRenderer)ren1); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); // create pipeline[] //[] pl3d = new vtkPLOT3DReader(); pl3d.SetXYZFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/combxyz.bin"); pl3d.SetQFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/combq.bin"); pl3d.SetScalarFunctionNumber((int)100); pl3d.SetVectorFunctionNumber((int)202); pl3d.Update(); ps = new vtkPlaneSource(); ps.SetXResolution((int)4); ps.SetYResolution((int)4); ps.SetOrigin((double)2,(double)-2,(double)26); ps.SetPoint1((double)2,(double)2,(double)26); ps.SetPoint2((double)2,(double)-2,(double)32); psMapper = vtkPolyDataMapper.New(); psMapper.SetInputConnection((vtkAlgorithmOutput)ps.GetOutputPort()); psActor = new vtkActor(); psActor.SetMapper((vtkMapper)psMapper); psActor.GetProperty().SetRepresentationToWireframe(); streamer = new vtkDashedStreamLine(); streamer.SetInputConnection((vtkAlgorithmOutput)pl3d.GetOutputPort()); streamer.SetSource((vtkDataSet)ps.GetOutput()); streamer.SetMaximumPropagationTime((double)100); streamer.SetIntegrationStepLength((double).2); streamer.SetStepLength((double).001); streamer.SetNumberOfThreads((int)1); streamer.SetIntegrationDirectionToForward(); streamMapper = vtkPolyDataMapper.New(); streamMapper.SetInputConnection((vtkAlgorithmOutput)streamer.GetOutputPort()); streamMapper.SetScalarRange( (double)((vtkDataSet)pl3d.GetOutput()).GetScalarRange()[0], (double)((vtkDataSet)pl3d.GetOutput()).GetScalarRange()[1]); streamline = new vtkActor(); streamline.SetMapper((vtkMapper)streamMapper); outline = new vtkStructuredGridOutlineFilter(); outline.SetInputConnection((vtkAlgorithmOutput)pl3d.GetOutputPort()); outlineMapper = vtkPolyDataMapper.New(); outlineMapper.SetInputConnection((vtkAlgorithmOutput)outline.GetOutputPort()); outlineActor = new vtkActor(); outlineActor.SetMapper((vtkMapper)outlineMapper); // Add the actors to the renderer, set the background and size[] //[] ren1.AddActor((vtkProp)psActor); ren1.AddActor((vtkProp)outlineActor); ren1.AddActor((vtkProp)streamline); ren1.SetBackground((double)1,(double)1,(double)1); renWin.SetSize((int)300,(int)300); ren1.SetBackground((double)0.1,(double)0.2,(double)0.4); cam1 = ren1.GetActiveCamera(); cam1.SetClippingRange((double)3.95297,(double)50); cam1.SetFocalPoint((double)9.71821,(double)0.458166,(double)29.3999); cam1.SetPosition((double)2.7439,(double)-37.3196,(double)38.7167); cam1.SetViewUp((double)-0.16123,(double)0.264271,(double)0.950876); // render the image[] //[] renWin.Render(); // prevent the tk window from showing up then start the event loop[] //deleteAllVTKObjects(); }
//public c3DWorld(Kitware.VTK.RenderWindowControl CurrentrenderWindowControl, Sequence Seq) //{ // this.ren1 = CurrentrenderWindowControl.RenderWindow.GetRenderers().GetFirstRenderer(); // this.renWin = CurrentrenderWindowControl.RenderWindow; // if (Seq == null) // { // Xres = Yres = Zres = 0; // } // else // { // Xres = Seq.XResolution; // Yres = Seq.YResolution; // Zres = Seq.ZResolution; // } // ListPolyDataMapper = new List<vtkPolyDataMapper>(); // ListObject = new List<cObject3D>(); // ListVolume = new List<cVolume3D>(); //} /// <summary> /// Create a 3D world /// </summary> /// <param name="CurrentrenderWindowControl">vtk Control</param> /// <param name="Dimensions">in pixels</param> /// <param name="Resolution">spatial resolutions</param> public c3DWorld(cPoint3D Dimensions, cPoint3D Resolution, RenderWindowControl CurrentrenderWindowControl, int[] WinPos) { // int[] Pos = renWin.GetPosition(); //, if (CurrentrenderWindowControl == null) { renWin = vtkRenderWindow.New(); renWin.LineSmoothingOn(); renWin.PointSmoothingOn(); renWin.SetWindowName("3D World"); renWin.BordersOn(); renWin.DoubleBufferOn(); renWin.SetSize(750, 500); // if(WinPos!=null) renWin.SetPosition(WinPos[0], WinPos[1]); // this.ren1 = CurrentrenderWindowControl.RenderWindow.GetRenderers().GetFirstRenderer(); //CurrentrenderWindowControl.RenderWindow; } //// Menu Strip Construction //this.contextMenuStripActorPicker = new ContextMenuStrip(); //ToolStripMenuItem StripMenuItemDisplay = new ToolStripMenuItem("Display"); //contextMenuStripActorPicker.Items.Add(StripMenuItemDisplay); this.ren1 = vtkRenderer.New(); //renWin = CurrentrenderWindowControl.RenderWindow;//vtkRenderWindow.New(); renWin.AddRenderer(ren1); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow(renWin); //iren.SetInteractorStyle(vtkInteractorStyleJoystickCamera.New()); iren.SetInteractorStyle(vtkInteractorStyleTrackballCamera.New()); // iren.SetInteractorStyle(vtkInteractorStyleTerrain.New()); // iren.LeftButtonPressEvt += new vtkObject.vtkObjectEventHandler(RenderWindow_LeftButtonPressEvt); iren.KeyPressEvt += new vtkObject.vtkObjectEventHandler(RenderWindow_KeyPressEvt); iren.RightButtonPressEvt += new vtkObject.vtkObjectEventHandler(RenderWindow_RightButtonPressEvt); //Render(); //this.ren1 = Xres = Resolution.X; Yres = Resolution.Y; Zres = Resolution.Z; SizeX = (int)Dimensions.X; SizeY = (int)Dimensions.Y; SizeZ = (int)Dimensions.Z; // double[] fp = ren1.GetActiveCamera().GetFocalPoint(); // double[] p = ren1.GetActiveCamera().GetPosition(); // ren1.GetActiveCamera().ParallelProjectionOn(); // double dist = Math.Sqrt((p[0] - fp[0]) * (p[0] - fp[0]) + (p[1] - fp[1]) * (p[1] - fp[1]) + (p[2] - fp[2]) * (p[2] - fp[2])); // ren1.GetActiveCamera().SetPosition(fp[0], fp[1], fp[2] + dist*1000); // ren1.GetActiveCamera().Zoom(2); //ren1.Render(); // this.Render(); ListPolyDataMapper = new List<vtkPolyDataMapper>(); ListObject = new List<cObject3D>(); // Vtk_CameraViewOrientation = ren1.GetActiveCamera(); }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVfieldToUGrid(String [] argv) { //Prefix Content is: "" // Read a field representing unstructured grid and display it (similar to blow.tcl)[] // create a reader and write out field daya[] reader = new vtkUnstructuredGridReader(); reader.SetFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/blow.vtk"); reader.SetScalarsName((string)"thickness9"); reader.SetVectorsName((string)"displacement9"); ds2do = new vtkDataSetToDataObjectFilter(); ds2do.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); // we must be able to write here[] try { channel = new StreamWriter("UGridField.vtk"); tryCatchError = "NOERROR"; } catch(Exception) {tryCatchError = "ERROR";} if (tryCatchError.Equals("NOERROR")) { channel.Close(); write = new vtkDataObjectWriter(); write.SetInputConnection((vtkAlgorithmOutput)ds2do.GetOutputPort()); write.SetFileName((string)"UGridField.vtk"); write.Write(); // Read the field and convert to unstructured grid.[] dor = new vtkDataObjectReader(); dor.SetFileName((string)"UGridField.vtk"); do2ds = new vtkDataObjectToDataSetFilter(); do2ds.SetInputConnection((vtkAlgorithmOutput)dor.GetOutputPort()); do2ds.SetDataSetTypeToUnstructuredGrid(); do2ds.SetPointComponent((int)0,(string)"Points",(int)0); do2ds.SetPointComponent((int)1,(string)"Points",(int)1); do2ds.SetPointComponent((int)2,(string)"Points",(int)2); do2ds.SetCellTypeComponent((string)"CellTypes",(int)0); do2ds.SetCellConnectivityComponent((string)"Cells",(int)0); fd2ad = new vtkFieldDataToAttributeDataFilter(); fd2ad.SetInput((vtkDataObject)do2ds.GetUnstructuredGridOutput()); fd2ad.SetInputFieldToDataObjectField(); fd2ad.SetOutputAttributeDataToPointData(); fd2ad.SetVectorComponent((int)0,(string)"displacement9",(int)0); fd2ad.SetVectorComponent((int)1,(string)"displacement9",(int)1); fd2ad.SetVectorComponent((int)2,(string)"displacement9",(int)2); fd2ad.SetScalarComponent((int)0,(string)"thickness9",(int)0); // Now start visualizing[] warp = new vtkWarpVector(); warp.SetInput((vtkDataObject)fd2ad.GetUnstructuredGridOutput()); // extract mold from mesh using connectivity[] connect = new vtkConnectivityFilter(); connect.SetInputConnection((vtkAlgorithmOutput)warp.GetOutputPort()); connect.SetExtractionModeToSpecifiedRegions(); connect.AddSpecifiedRegion((int)0); connect.AddSpecifiedRegion((int)1); moldMapper = new vtkDataSetMapper(); moldMapper.SetInputConnection((vtkAlgorithmOutput)connect.GetOutputPort()); moldMapper.ScalarVisibilityOff(); moldActor = new vtkActor(); moldActor.SetMapper((vtkMapper)moldMapper); moldActor.GetProperty().SetColor((double).2,(double).2,(double).2); moldActor.GetProperty().SetRepresentationToWireframe(); // extract parison from mesh using connectivity[] connect2 = new vtkConnectivityFilter(); connect2.SetInputConnection((vtkAlgorithmOutput)warp.GetOutputPort()); connect2.SetExtractionModeToSpecifiedRegions(); connect2.AddSpecifiedRegion((int)2); parison = new vtkGeometryFilter(); parison.SetInputConnection((vtkAlgorithmOutput)connect2.GetOutputPort()); normals2 = new vtkPolyDataNormals(); normals2.SetInputConnection((vtkAlgorithmOutput)parison.GetOutputPort()); normals2.SetFeatureAngle((double)60); lut = new vtkLookupTable(); lut.SetHueRange((double)0.0,(double)0.66667); parisonMapper = vtkPolyDataMapper.New(); parisonMapper.SetInputConnection((vtkAlgorithmOutput)normals2.GetOutputPort()); parisonMapper.SetLookupTable((vtkScalarsToColors)lut); parisonMapper.SetScalarRange((double)0.12,(double)1.0); parisonActor = new vtkActor(); parisonActor.SetMapper((vtkMapper)parisonMapper); cf = new vtkContourFilter(); cf.SetInputConnection((vtkAlgorithmOutput)connect2.GetOutputPort()); cf.SetValue((int)0,(double).5); contourMapper = vtkPolyDataMapper.New(); contourMapper.SetInputConnection((vtkAlgorithmOutput)cf.GetOutputPort()); contours = new vtkActor(); contours.SetMapper((vtkMapper)contourMapper); // Create graphics stuff[] ren1 = vtkRenderer.New(); renWin = vtkRenderWindow.New(); renWin.AddRenderer((vtkRenderer)ren1); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); // Add the actors to the renderer, set the background and size[] ren1.AddActor((vtkProp)moldActor); ren1.AddActor((vtkProp)parisonActor); ren1.AddActor((vtkProp)contours); ren1.ResetCamera(); ren1.GetActiveCamera().Azimuth((double)60); ren1.GetActiveCamera().Roll((double)-90); ren1.GetActiveCamera().Dolly((double)2); ren1.ResetCameraClippingRange(); ren1.SetBackground((double)1,(double)1,(double)1); renWin.SetSize((int)375,(int)200); iren.Initialize(); } // prevent the tk window from showing up then start the event loop[] //deleteAllVTKObjects(); }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVTenEllip(String [] argv) { //Prefix Content is: "" // create tensor ellipsoids[] // Create the RenderWindow, Renderer and interactive renderer[] //[] ren1 = vtkRenderer.New(); renWin = vtkRenderWindow.New(); renWin.SetMultiSamples(0); renWin.AddRenderer((vtkRenderer)ren1); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); //[] // Create tensor ellipsoids[] //[] // generate tensors[] ptLoad = new vtkPointLoad(); ptLoad.SetLoadValue((double)100.0); ptLoad.SetSampleDimensions((int)6,(int)6,(int)6); ptLoad.ComputeEffectiveStressOn(); ptLoad.SetModelBounds((double)-10,(double)10,(double)-10,(double)10,(double)-10,(double)10); // extract plane of data[] plane = new vtkImageDataGeometryFilter(); plane.SetInputConnection((vtkAlgorithmOutput)ptLoad.GetOutputPort()); plane.SetExtent((int)2,(int)2,(int)0,(int)99,(int)0,(int)99); // Generate ellipsoids[] sphere = new vtkSphereSource(); sphere.SetThetaResolution((int)8); sphere.SetPhiResolution((int)8); ellipsoids = new vtkTensorGlyph(); ellipsoids.SetInputConnection((vtkAlgorithmOutput)ptLoad.GetOutputPort()); ellipsoids.SetSourceConnection((vtkAlgorithmOutput)sphere.GetOutputPort()); ellipsoids.SetScaleFactor((double)10); ellipsoids.ClampScalingOn(); ellipNormals = new vtkPolyDataNormals(); ellipNormals.SetInputConnection((vtkAlgorithmOutput)ellipsoids.GetOutputPort()); // Map contour[] lut = new vtkLogLookupTable(); lut.SetHueRange((double).6667,(double)0.0); ellipMapper = vtkPolyDataMapper.New(); ellipMapper.SetInputConnection((vtkAlgorithmOutput)ellipNormals.GetOutputPort()); ellipMapper.SetLookupTable((vtkScalarsToColors)lut); plane.Update(); //force update for scalar range[] ellipMapper.SetScalarRange((double)((vtkDataSet)plane.GetOutput()).GetScalarRange()[0],(double)((vtkDataSet)plane.GetOutput()).GetScalarRange()[1]); ellipActor = new vtkActor(); ellipActor.SetMapper((vtkMapper)ellipMapper); //[] // Create outline around data[] //[] outline = new vtkOutlineFilter(); outline.SetInputConnection((vtkAlgorithmOutput)ptLoad.GetOutputPort()); outlineMapper = vtkPolyDataMapper.New(); outlineMapper.SetInputConnection((vtkAlgorithmOutput)outline.GetOutputPort()); outlineActor = new vtkActor(); outlineActor.SetMapper((vtkMapper)outlineMapper); outlineActor.GetProperty().SetColor((double)0,(double)0,(double)0); //[] // Create cone indicating application of load[] //[] coneSrc = new vtkConeSource(); coneSrc.SetRadius((double).5); coneSrc.SetHeight((double)2); coneMap = vtkPolyDataMapper.New(); coneMap.SetInputConnection((vtkAlgorithmOutput)coneSrc.GetOutputPort()); coneActor = new vtkActor(); coneActor.SetMapper((vtkMapper)coneMap); coneActor.SetPosition((double)0,(double)0,(double)11); coneActor.RotateY((double)90); coneActor.GetProperty().SetColor((double)1,(double)0,(double)0); camera = new vtkCamera(); camera.SetFocalPoint((double)0.113766,(double)-1.13665,(double)-1.01919); camera.SetPosition((double)-29.4886,(double)-63.1488,(double)26.5807); camera.SetViewAngle((double)24.4617); camera.SetViewUp((double)0.17138,(double)0.331163,(double)0.927879); camera.SetClippingRange((double)1,(double)100); ren1.AddActor((vtkProp)ellipActor); ren1.AddActor((vtkProp)outlineActor); ren1.AddActor((vtkProp)coneActor); ren1.SetBackground((double)1.0,(double)1.0,(double)1.0); ren1.SetActiveCamera((vtkCamera)camera); renWin.SetSize((int)400,(int)400); renWin.Render(); // prevent the tk window from showing up then start the event loop[] //deleteAllVTKObjects(); }
static void Main(string[] args) { // create a sphere source, mapper, and actor vtkSphereSource sphere = new vtkSphereSource(); vtkPolyDataMapper sphereMapper = new vtkPolyDataMapper(); sphereMapper.SetInputConnection(sphere.GetOutputPort()); vtkPolyDataMapper.GlobalImmediateModeRenderingOn(); vtkLODActor sphereActor = new vtkLODActor(); sphereActor.SetMapper(sphereMapper); // create the spikes by glyphing the sphere with a cone. Create the // mapper and actor for the glyphs. vtkConeSource cone = new vtkConeSource(); vtkGlyph3D glyph = new vtkGlyph3D(); glyph.SetInputConnection(sphere.GetOutputPort()); glyph.SetSource(cone.GetOutput()); glyph.SetVectorModeToUseNormal(); glyph.SetScaleModeToScaleByVector(); glyph.SetScaleFactor(0.25); vtkPolyDataMapper spikeMapper = new vtkPolyDataMapper(); spikeMapper.SetInputConnection(glyph.GetOutputPort()); vtkLODActor spikeActor = new vtkLODActor(); spikeActor.SetMapper(spikeMapper); // Create a text mapper and actor to display the results of picking. vtkTextMapper textMapper = new vtkTextMapper(); vtkTextProperty tprop = textMapper.GetTextProperty(); tprop.SetFontFamilyToArial(); tprop.SetFontSize(10); tprop.BoldOn(); tprop.ShadowOn(); tprop.SetColor(1, 0, 0); vtkActor2D textActor = new vtkActor2D(); textActor.VisibilityOff(); textActor.SetMapper(textMapper); // Create a cell picker. vtkCellPicker picker = new vtkCellPicker(); PickData pd = new PickData(); pd.textActor = textActor; pd.textMapper = textMapper; vtkDotNetCallback cb = new vtkDotNetCallback(pd.annotatePickCallback); // Now at the end of the pick event call the above function. picker.AddObserver((uint) EventIds.EndPickEvent, cb); // Create the Renderer, RenderWindow, etc. and set the Picker. vtkRenderer ren = new vtkRenderer(); vtkRenderWindow renWin = new vtkRenderWindow(); renWin.AddRenderer(ren); vtkRenderWindowInteractor iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow(renWin); iren.SetPicker(picker); // Add the actors to the renderer, set the background and size ren.AddActor2D(textActor); ren.AddActor(sphereActor); ren.AddActor(spikeActor); ren.SetBackground(1, 1, 1); renWin.SetSize(300, 300); // Get the camera and zoom in closer to the image. ren.ResetCamera(); vtkCamera cam1 = ren.GetActiveCamera(); cam1.Zoom(1.4); iren.Initialize(); // Initially pick the cell at this location. picker.Pick(85, 126, 0, ren); renWin.Render(); iren.Start(); vtkWin32OpenGLRenderWindow win32win = vtkWin32OpenGLRenderWindow.SafeDownCast(renWin); if (null != win32win) win32win.Clean(); }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVmergeFilter(String [] argv) { //Prefix Content is: "" // Create the RenderWindow, Renderer and both Actors[] //[] ren1 = vtkRenderer.New(); ren2 = vtkRenderer.New(); renWin = vtkRenderWindow.New(); renWin.AddRenderer((vtkRenderer)ren1); renWin.AddRenderer((vtkRenderer)ren2); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); // create pipeline[] //[] pl3d = new vtkPLOT3DReader(); pl3d.SetXYZFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/combxyz.bin"); pl3d.SetQFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/combq.bin"); pl3d.SetScalarFunctionNumber((int)110); pl3d.SetVectorFunctionNumber((int)202); pl3d.Update(); probeLine = new vtkLineSource(); probeLine.SetPoint1((double)1,(double)1,(double)29); probeLine.SetPoint2((double)16.5,(double)5,(double)31.7693); probeLine.SetResolution((int)500); probe = new vtkProbeFilter(); probe.SetInputConnection((vtkAlgorithmOutput)probeLine.GetOutputPort()); probe.SetSource((vtkDataObject)pl3d.GetOutput()); probeTube = new vtkTubeFilter(); probeTube.SetInput((vtkDataObject)probe.GetPolyDataOutput()); probeTube.SetNumberOfSides((int)5); probeTube.SetRadius((double).05); probeMapper = vtkPolyDataMapper.New(); probeMapper.SetInputConnection((vtkAlgorithmOutput)probeTube.GetOutputPort()); probeMapper.SetScalarRange((double)((vtkDataSet)pl3d.GetOutput()).GetScalarRange()[0], (double)((vtkDataSet)pl3d.GetOutput()).GetScalarRange()[1]); probeActor = new vtkActor(); probeActor.SetMapper((vtkMapper)probeMapper); displayLine = new vtkLineSource(); displayLine.SetPoint1((double)0,(double)0,(double)0); displayLine.SetPoint2((double)1,(double)0,(double)0); displayLine.SetResolution((int)probeLine.GetResolution()); displayMerge = new vtkMergeFilter(); displayMerge.SetGeometry((vtkDataSet)displayLine.GetOutput()); displayMerge.SetScalars((vtkDataSet)probe.GetPolyDataOutput()); displayWarp = new vtkWarpScalar(); displayWarp.SetInput((vtkDataObject)displayMerge.GetPolyDataOutput()); displayWarp.SetNormal((double)0,(double)1,(double)0); displayWarp.SetScaleFactor((double).000001); displayMapper = vtkPolyDataMapper.New(); displayMapper.SetInput((vtkPolyData)displayWarp.GetPolyDataOutput()); displayMapper.SetScalarRange((double)((vtkDataSet)pl3d.GetOutput()).GetScalarRange()[0], (double)((vtkDataSet)pl3d.GetOutput()).GetScalarRange()[1]); displayActor = new vtkActor(); displayActor.SetMapper((vtkMapper)displayMapper); outline = new vtkStructuredGridOutlineFilter(); outline.SetInputConnection((vtkAlgorithmOutput)pl3d.GetOutputPort()); outlineMapper = vtkPolyDataMapper.New(); outlineMapper.SetInputConnection((vtkAlgorithmOutput)outline.GetOutputPort()); outlineActor = new vtkActor(); outlineActor.SetMapper((vtkMapper)outlineMapper); outlineActor.GetProperty().SetColor((double)0,(double)0,(double)0); ren1.AddActor((vtkProp)outlineActor); ren1.AddActor((vtkProp)probeActor); ren1.SetBackground((double)1,(double)1,(double)1); ren1.SetViewport((double)0,(double).25,(double)1,(double)1); ren2.AddActor((vtkProp)displayActor); ren2.SetBackground((double)0,(double)0,(double)0); ren2.SetViewport((double)0,(double)0,(double)1,(double).25); renWin.SetSize((int)300,(int)300); ren1.ResetCamera(); cam1 = ren1.GetActiveCamera(); cam1.SetClippingRange((double)3.95297,(double)50); cam1.SetFocalPoint((double)8.88908,(double)0.595038,(double)29.3342); cam1.SetPosition((double)9.9,(double)-26,(double)41); cam1.SetViewUp((double)0.060772,(double)-0.319905,(double)0.945498); ren2.ResetCamera(); cam2 = ren2.GetActiveCamera(); cam2.ParallelProjectionOn(); cam2.SetParallelScale((double).15); iren.Initialize(); // render the image[] //[] // prevent the tk window from showing up then start the event loop[] //deleteAllVTKObjects(); }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVofficeStreamPoints(String [] argv) { //Prefix Content is: "" ren1 = vtkRenderer.New(); renWin = vtkRenderWindow.New(); renWin.AddRenderer((vtkRenderer)ren1); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); // read data[] //[] reader = new vtkStructuredGridReader(); reader.SetFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/office.binary.vtk"); reader.Update(); //force a read to occur[] // to add coverage for vtkOnePieceExtentTranslator[] translator = new vtkOnePieceExtentTranslator(); vtkStreamingDemandDrivenPipeline.SetExtentTranslator(reader.GetOutputInformation(0), (vtkExtentTranslator)translator); length = reader.GetOutput().GetLength(); maxVelocity = reader.GetOutput().GetPointData().GetVectors().GetMaxNorm(); maxTime = 35.0*length/maxVelocity; table1 = new vtkStructuredGridGeometryFilter(); table1.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); table1.SetExtent((int)11,(int)15,(int)7,(int)9,(int)8,(int)8); mapTable1 = vtkPolyDataMapper.New(); mapTable1.SetInputConnection((vtkAlgorithmOutput)table1.GetOutputPort()); mapTable1.ScalarVisibilityOff(); table1Actor = new vtkActor(); table1Actor.SetMapper((vtkMapper)mapTable1); table1Actor.GetProperty().SetColor((double).59,(double).427,(double).392); table2 = new vtkStructuredGridGeometryFilter(); table2.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); table2.SetExtent((int)11,(int)15,(int)10,(int)12,(int)8,(int)8); mapTable2 = vtkPolyDataMapper.New(); mapTable2.SetInputConnection((vtkAlgorithmOutput)table2.GetOutputPort()); mapTable2.ScalarVisibilityOff(); table2Actor = new vtkActor(); table2Actor.SetMapper((vtkMapper)mapTable2); table2Actor.GetProperty().SetColor((double).59,(double).427,(double).392); FilingCabinet1 = new vtkStructuredGridGeometryFilter(); FilingCabinet1.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); FilingCabinet1.SetExtent((int)15,(int)15,(int)7,(int)9,(int)0,(int)8); mapFilingCabinet1 = vtkPolyDataMapper.New(); mapFilingCabinet1.SetInputConnection((vtkAlgorithmOutput)FilingCabinet1.GetOutputPort()); mapFilingCabinet1.ScalarVisibilityOff(); FilingCabinet1Actor = new vtkActor(); FilingCabinet1Actor.SetMapper((vtkMapper)mapFilingCabinet1); FilingCabinet1Actor.GetProperty().SetColor((double).8,(double).8,(double).6); FilingCabinet2 = new vtkStructuredGridGeometryFilter(); FilingCabinet2.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); FilingCabinet2.SetExtent((int)15,(int)15,(int)10,(int)12,(int)0,(int)8); mapFilingCabinet2 = vtkPolyDataMapper.New(); mapFilingCabinet2.SetInputConnection((vtkAlgorithmOutput)FilingCabinet2.GetOutputPort()); mapFilingCabinet2.ScalarVisibilityOff(); FilingCabinet2Actor = new vtkActor(); FilingCabinet2Actor.SetMapper((vtkMapper)mapFilingCabinet2); FilingCabinet2Actor.GetProperty().SetColor((double).8,(double).8,(double).6); bookshelf1Top = new vtkStructuredGridGeometryFilter(); bookshelf1Top.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); bookshelf1Top.SetExtent((int)13,(int)13,(int)0,(int)4,(int)0,(int)11); mapBookshelf1Top = vtkPolyDataMapper.New(); mapBookshelf1Top.SetInputConnection((vtkAlgorithmOutput)bookshelf1Top.GetOutputPort()); mapBookshelf1Top.ScalarVisibilityOff(); bookshelf1TopActor = new vtkActor(); bookshelf1TopActor.SetMapper((vtkMapper)mapBookshelf1Top); bookshelf1TopActor.GetProperty().SetColor((double).8,(double).8,(double).6); bookshelf1Bottom = new vtkStructuredGridGeometryFilter(); bookshelf1Bottom.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); bookshelf1Bottom.SetExtent((int)20,(int)20,(int)0,(int)4,(int)0,(int)11); mapBookshelf1Bottom = vtkPolyDataMapper.New(); mapBookshelf1Bottom.SetInputConnection((vtkAlgorithmOutput)bookshelf1Bottom.GetOutputPort()); mapBookshelf1Bottom.ScalarVisibilityOff(); bookshelf1BottomActor = new vtkActor(); bookshelf1BottomActor.SetMapper((vtkMapper)mapBookshelf1Bottom); bookshelf1BottomActor.GetProperty().SetColor((double).8,(double).8,(double).6); bookshelf1Front = new vtkStructuredGridGeometryFilter(); bookshelf1Front.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); bookshelf1Front.SetExtent((int)13,(int)20,(int)0,(int)0,(int)0,(int)11); mapBookshelf1Front = vtkPolyDataMapper.New(); mapBookshelf1Front.SetInputConnection((vtkAlgorithmOutput)bookshelf1Front.GetOutputPort()); mapBookshelf1Front.ScalarVisibilityOff(); bookshelf1FrontActor = new vtkActor(); bookshelf1FrontActor.SetMapper((vtkMapper)mapBookshelf1Front); bookshelf1FrontActor.GetProperty().SetColor((double).8,(double).8,(double).6); bookshelf1Back = new vtkStructuredGridGeometryFilter(); bookshelf1Back.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); bookshelf1Back.SetExtent((int)13,(int)20,(int)4,(int)4,(int)0,(int)11); mapBookshelf1Back = vtkPolyDataMapper.New(); mapBookshelf1Back.SetInputConnection((vtkAlgorithmOutput)bookshelf1Back.GetOutputPort()); mapBookshelf1Back.ScalarVisibilityOff(); bookshelf1BackActor = new vtkActor(); bookshelf1BackActor.SetMapper((vtkMapper)mapBookshelf1Back); bookshelf1BackActor.GetProperty().SetColor((double).8,(double).8,(double).6); bookshelf1LHS = new vtkStructuredGridGeometryFilter(); bookshelf1LHS.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); bookshelf1LHS.SetExtent((int)13,(int)20,(int)0,(int)4,(int)0,(int)0); mapBookshelf1LHS = vtkPolyDataMapper.New(); mapBookshelf1LHS.SetInputConnection((vtkAlgorithmOutput)bookshelf1LHS.GetOutputPort()); mapBookshelf1LHS.ScalarVisibilityOff(); bookshelf1LHSActor = new vtkActor(); bookshelf1LHSActor.SetMapper((vtkMapper)mapBookshelf1LHS); bookshelf1LHSActor.GetProperty().SetColor((double).8,(double).8,(double).6); bookshelf1RHS = new vtkStructuredGridGeometryFilter(); bookshelf1RHS.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); bookshelf1RHS.SetExtent((int)13,(int)20,(int)0,(int)4,(int)11,(int)11); mapBookshelf1RHS = vtkPolyDataMapper.New(); mapBookshelf1RHS.SetInputConnection((vtkAlgorithmOutput)bookshelf1RHS.GetOutputPort()); mapBookshelf1RHS.ScalarVisibilityOff(); bookshelf1RHSActor = new vtkActor(); bookshelf1RHSActor.SetMapper((vtkMapper)mapBookshelf1RHS); bookshelf1RHSActor.GetProperty().SetColor((double).8,(double).8,(double).6); bookshelf2Top = new vtkStructuredGridGeometryFilter(); bookshelf2Top.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); bookshelf2Top.SetExtent((int)13,(int)13,(int)15,(int)19,(int)0,(int)11); mapBookshelf2Top = vtkPolyDataMapper.New(); mapBookshelf2Top.SetInputConnection((vtkAlgorithmOutput)bookshelf2Top.GetOutputPort()); mapBookshelf2Top.ScalarVisibilityOff(); bookshelf2TopActor = new vtkActor(); bookshelf2TopActor.SetMapper((vtkMapper)mapBookshelf2Top); bookshelf2TopActor.GetProperty().SetColor((double).8,(double).8,(double).6); bookshelf2Bottom = new vtkStructuredGridGeometryFilter(); bookshelf2Bottom.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); bookshelf2Bottom.SetExtent((int)20,(int)20,(int)15,(int)19,(int)0,(int)11); mapBookshelf2Bottom = vtkPolyDataMapper.New(); mapBookshelf2Bottom.SetInputConnection((vtkAlgorithmOutput)bookshelf2Bottom.GetOutputPort()); mapBookshelf2Bottom.ScalarVisibilityOff(); bookshelf2BottomActor = new vtkActor(); bookshelf2BottomActor.SetMapper((vtkMapper)mapBookshelf2Bottom); bookshelf2BottomActor.GetProperty().SetColor((double).8,(double).8,(double).6); bookshelf2Front = new vtkStructuredGridGeometryFilter(); bookshelf2Front.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); bookshelf2Front.SetExtent((int)13,(int)20,(int)15,(int)15,(int)0,(int)11); mapBookshelf2Front = vtkPolyDataMapper.New(); mapBookshelf2Front.SetInputConnection((vtkAlgorithmOutput)bookshelf2Front.GetOutputPort()); mapBookshelf2Front.ScalarVisibilityOff(); bookshelf2FrontActor = new vtkActor(); bookshelf2FrontActor.SetMapper((vtkMapper)mapBookshelf2Front); bookshelf2FrontActor.GetProperty().SetColor((double).8,(double).8,(double).6); bookshelf2Back = new vtkStructuredGridGeometryFilter(); bookshelf2Back.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); bookshelf2Back.SetExtent((int)13,(int)20,(int)19,(int)19,(int)0,(int)11); mapBookshelf2Back = vtkPolyDataMapper.New(); mapBookshelf2Back.SetInputConnection((vtkAlgorithmOutput)bookshelf2Back.GetOutputPort()); mapBookshelf2Back.ScalarVisibilityOff(); bookshelf2BackActor = new vtkActor(); bookshelf2BackActor.SetMapper((vtkMapper)mapBookshelf2Back); bookshelf2BackActor.GetProperty().SetColor((double).8,(double).8,(double).6); bookshelf2LHS = new vtkStructuredGridGeometryFilter(); bookshelf2LHS.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); bookshelf2LHS.SetExtent((int)13,(int)20,(int)15,(int)19,(int)0,(int)0); mapBookshelf2LHS = vtkPolyDataMapper.New(); mapBookshelf2LHS.SetInputConnection((vtkAlgorithmOutput)bookshelf2LHS.GetOutputPort()); mapBookshelf2LHS.ScalarVisibilityOff(); bookshelf2LHSActor = new vtkActor(); bookshelf2LHSActor.SetMapper((vtkMapper)mapBookshelf2LHS); bookshelf2LHSActor.GetProperty().SetColor((double).8,(double).8,(double).6); bookshelf2RHS = new vtkStructuredGridGeometryFilter(); bookshelf2RHS.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); bookshelf2RHS.SetExtent((int)13,(int)20,(int)15,(int)19,(int)11,(int)11); mapBookshelf2RHS = vtkPolyDataMapper.New(); mapBookshelf2RHS.SetInputConnection((vtkAlgorithmOutput)bookshelf2RHS.GetOutputPort()); mapBookshelf2RHS.ScalarVisibilityOff(); bookshelf2RHSActor = new vtkActor(); bookshelf2RHSActor.SetMapper((vtkMapper)mapBookshelf2RHS); bookshelf2RHSActor.GetProperty().SetColor((double).8,(double).8,(double).6); window = new vtkStructuredGridGeometryFilter(); window.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); window.SetExtent((int)20,(int)20,(int)6,(int)13,(int)10,(int)13); mapWindow = vtkPolyDataMapper.New(); mapWindow.SetInputConnection((vtkAlgorithmOutput)window.GetOutputPort()); mapWindow.ScalarVisibilityOff(); windowActor = new vtkActor(); windowActor.SetMapper((vtkMapper)mapWindow); windowActor.GetProperty().SetColor((double).3,(double).3,(double).5); outlet = new vtkStructuredGridGeometryFilter(); outlet.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); outlet.SetExtent((int)0,(int)0,(int)9,(int)10,(int)14,(int)16); mapOutlet = vtkPolyDataMapper.New(); mapOutlet.SetInputConnection((vtkAlgorithmOutput)outlet.GetOutputPort()); mapOutlet.ScalarVisibilityOff(); outletActor = new vtkActor(); outletActor.SetMapper((vtkMapper)mapOutlet); outletActor.GetProperty().SetColor((double)0,(double)0,(double)0); inlet = new vtkStructuredGridGeometryFilter(); inlet.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); inlet.SetExtent((int)0,(int)0,(int)9,(int)10,(int)0,(int)6); mapInlet = vtkPolyDataMapper.New(); mapInlet.SetInputConnection((vtkAlgorithmOutput)inlet.GetOutputPort()); mapInlet.ScalarVisibilityOff(); inletActor = new vtkActor(); inletActor.SetMapper((vtkMapper)mapInlet); inletActor.GetProperty().SetColor((double)0,(double)0,(double)0); outline = new vtkStructuredGridOutlineFilter(); outline.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); mapOutline = vtkPolyDataMapper.New(); mapOutline.SetInputConnection((vtkAlgorithmOutput)outline.GetOutputPort()); outlineActor = new vtkActor(); outlineActor.SetMapper((vtkMapper)mapOutline); outlineActor.GetProperty().SetColor((double)0,(double)0,(double)0); // Create source for streamtubes[] streamer = new vtkStreamPoints(); streamer.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); streamer.SetStartPosition((double)0.1,(double)2.1,(double)0.5); streamer.SetMaximumPropagationTime((double)500); streamer.SetTimeIncrement((double)0.5); streamer.SetIntegrationDirectionToForward(); cone = new vtkConeSource(); cone.SetResolution((int)8); cones = new vtkGlyph3D(); cones.SetInputConnection((vtkAlgorithmOutput)streamer.GetOutputPort()); cones.SetSourceConnection(cone.GetOutputPort()); cones.SetScaleFactor((double)0.5); cones.SetScaleModeToScaleByVector(); mapCones = vtkPolyDataMapper.New(); mapCones.SetInputConnection((vtkAlgorithmOutput)cones.GetOutputPort()); mapCones.SetScalarRange((double)((vtkDataSet)reader.GetOutput()).GetScalarRange()[0],(double)((vtkDataSet)reader.GetOutput()).GetScalarRange()[1]); conesActor = new vtkActor(); conesActor.SetMapper((vtkMapper)mapCones); ren1.AddActor((vtkProp)table1Actor); ren1.AddActor((vtkProp)table2Actor); ren1.AddActor((vtkProp)FilingCabinet1Actor); ren1.AddActor((vtkProp)FilingCabinet2Actor); ren1.AddActor((vtkProp)bookshelf1TopActor); ren1.AddActor((vtkProp)bookshelf1BottomActor); ren1.AddActor((vtkProp)bookshelf1FrontActor); ren1.AddActor((vtkProp)bookshelf1BackActor); ren1.AddActor((vtkProp)bookshelf1LHSActor); ren1.AddActor((vtkProp)bookshelf1RHSActor); ren1.AddActor((vtkProp)bookshelf2TopActor); ren1.AddActor((vtkProp)bookshelf2BottomActor); ren1.AddActor((vtkProp)bookshelf2FrontActor); ren1.AddActor((vtkProp)bookshelf2BackActor); ren1.AddActor((vtkProp)bookshelf2LHSActor); ren1.AddActor((vtkProp)bookshelf2RHSActor); ren1.AddActor((vtkProp)windowActor); ren1.AddActor((vtkProp)outletActor); ren1.AddActor((vtkProp)inletActor); ren1.AddActor((vtkProp)outlineActor); ren1.AddActor((vtkProp)conesActor); ren1.SetBackground((double)0.4,(double)0.4,(double)0.5); aCamera = new vtkCamera(); aCamera.SetClippingRange((double)0.7724,(double)39); aCamera.SetFocalPoint((double)1.14798,(double)3.08416,(double)2.47187); aCamera.SetPosition((double)-2.64683,(double)-3.55525,(double)3.55848); aCamera.SetViewUp((double)0.0511273,(double)0.132773,(double)0.989827); aCamera.SetViewAngle((double)15.5033); ren1.SetActiveCamera((vtkCamera)aCamera); renWin.SetSize((int)500,(int)300); iren.Initialize(); // interact with data[] //deleteAllVTKObjects(); }
///<summary> A Set Method for Static Variables </summary> public static void Setiren(vtkRenderWindowInteractor toSet) { iren = toSet; }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVTestPolyDataPieces(String [] argv) { //Prefix Content is: "" math = new vtkMath(); vtkMath.RandomSeed((int)22); pf = new vtkParallelFactory(); vtkParallelFactory.RegisterFactory((vtkObjectFactory)pf); sphere = new vtkSphereSource(); sphere.SetPhiResolution((int)32); sphere.SetThetaResolution((int)32); extract = new vtkExtractPolyDataPiece(); extract.SetInputConnection((vtkAlgorithmOutput)sphere.GetOutputPort()); normals = new vtkPolyDataNormals(); normals.SetInputConnection((vtkAlgorithmOutput)extract.GetOutputPort()); ps = new vtkPieceScalars(); ps.SetInputConnection((vtkAlgorithmOutput)normals.GetOutputPort()); mapper = vtkPolyDataMapper.New(); mapper.SetInputConnection((vtkAlgorithmOutput)ps.GetOutputPort()); mapper.SetNumberOfPieces((int)2); actor = new vtkActor(); actor.SetMapper((vtkMapper)mapper); sphere2 = new vtkSphereSource(); sphere2.SetPhiResolution((int)32); sphere2.SetThetaResolution((int)32); extract2 = new vtkExtractPolyDataPiece(); extract2.SetInputConnection((vtkAlgorithmOutput)sphere2.GetOutputPort()); mapper2 = vtkPolyDataMapper.New(); mapper2.SetInputConnection((vtkAlgorithmOutput)extract2.GetOutputPort()); mapper2.SetNumberOfPieces((int)2); mapper2.SetPiece((int)1); mapper2.SetScalarRange((double)0,(double)4); mapper2.SetScalarModeToUseCellFieldData(); mapper2.SetColorModeToMapScalars(); mapper2.ColorByArrayComponent((string)"vtkGhostLevels",(int)0); mapper2.SetGhostLevel((int)4); // check the pipeline size[] extract2.UpdateInformation(); psize = new vtkPipelineSize(); if ((psize.GetEstimatedSize((vtkAlgorithm)extract2,(int)0,(int)0)) > 100) { //puts skipedputs ['stderr', '"ERROR: Pipeline Size increased"'] } if ((psize.GetNumberOfSubPieces((uint)10,(vtkPolyDataMapper)mapper2)) != 2) { //puts skipedputs ['stderr', '"ERROR: Number of sub pieces changed"'] } actor2 = new vtkActor(); actor2.SetMapper((vtkMapper)mapper2); actor2.SetPosition((double)1.5,(double)0,(double)0); sphere3 = new vtkSphereSource(); sphere3.SetPhiResolution((int)32); sphere3.SetThetaResolution((int)32); extract3 = new vtkExtractPolyDataPiece(); extract3.SetInputConnection((vtkAlgorithmOutput)sphere3.GetOutputPort()); ps3 = new vtkPieceScalars(); ps3.SetInputConnection((vtkAlgorithmOutput)extract3.GetOutputPort()); mapper3 = vtkPolyDataMapper.New(); mapper3.SetInputConnection((vtkAlgorithmOutput)ps3.GetOutputPort()); mapper3.SetNumberOfSubPieces((int)8); mapper3.SetScalarRange((double)0,(double)8); actor3 = new vtkActor(); actor3.SetMapper((vtkMapper)mapper3); actor3.SetPosition((double)0,(double)-1.5,(double)0); sphere4 = new vtkSphereSource(); sphere4.SetPhiResolution((int)32); sphere4.SetThetaResolution((int)32); extract4 = new vtkExtractPolyDataPiece(); extract4.SetInputConnection((vtkAlgorithmOutput)sphere4.GetOutputPort()); ps4 = new vtkPieceScalars(); ps4.RandomModeOn(); ps4.SetScalarModeToCellData(); ps4.SetInputConnection((vtkAlgorithmOutput)extract4.GetOutputPort()); mapper4 = vtkPolyDataMapper.New(); mapper4.SetInputConnection((vtkAlgorithmOutput)ps4.GetOutputPort()); mapper4.SetNumberOfSubPieces((int)8); mapper4.SetScalarRange((double)0,(double)8); actor4 = new vtkActor(); actor4.SetMapper((vtkMapper)mapper4); actor4.SetPosition((double)1.5,(double)-1.5,(double)0); ren = vtkRenderer.New(); ren.AddActor((vtkProp)actor); ren.AddActor((vtkProp)actor2); ren.AddActor((vtkProp)actor3); ren.AddActor((vtkProp)actor4); renWin = vtkRenderWindow.New(); renWin.AddRenderer((vtkRenderer)ren); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); iren.Initialize(); //deleteAllVTKObjects(); }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVtextureThreshold(String [] argv) { //Prefix Content is: "" // Create the RenderWindow, Renderer and both Actors[] //[] ren1 = vtkRenderer.New(); renWin = vtkRenderWindow.New(); renWin.AddRenderer((vtkRenderer)ren1); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); // read data[] //[] pl3d = new vtkMultiBlockPLOT3DReader(); pl3d.SetXYZFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/bluntfinxyz.bin"); pl3d.SetQFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/bluntfinq.bin"); pl3d.SetScalarFunctionNumber((int)100); pl3d.SetVectorFunctionNumber((int)202); pl3d.Update(); // wall[] //[] wall = new vtkStructuredGridGeometryFilter(); wall.SetInputData(pl3d.GetOutput().GetBlock(0)); wall.SetExtent((int)0,(int)100,(int)0,(int)0,(int)0,(int)100); wallMap = vtkPolyDataMapper.New(); wallMap.SetInputConnection((vtkAlgorithmOutput)wall.GetOutputPort()); wallMap.ScalarVisibilityOff(); wallActor = new vtkActor(); wallActor.SetMapper((vtkMapper)wallMap); wallActor.GetProperty().SetColor((double)0.8,(double)0.8,(double)0.8); // fin[] // [] fin = new vtkStructuredGridGeometryFilter(); fin.SetInputData(pl3d.GetOutput().GetBlock(0)); fin.SetExtent((int)0,(int)100,(int)0,(int)100,(int)0,(int)0); finMap = vtkPolyDataMapper.New(); finMap.SetInputConnection((vtkAlgorithmOutput)fin.GetOutputPort()); finMap.ScalarVisibilityOff(); finActor = new vtkActor(); finActor.SetMapper((vtkMapper)finMap); finActor.GetProperty().SetColor((double)0.8,(double)0.8,(double)0.8); // planes to threshold[] tmap = new vtkStructuredPointsReader(); tmap.SetFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/texThres2.vtk"); texture = new vtkTexture(); texture.SetInputConnection((vtkAlgorithmOutput)tmap.GetOutputPort()); texture.InterpolateOff(); texture.RepeatOff(); plane1 = new vtkStructuredGridGeometryFilter(); plane1.SetInputData(pl3d.GetOutput().GetBlock(0)); plane1.SetExtent((int)10,(int)10,(int)0,(int)100,(int)0,(int)100); thresh1 = new vtkThresholdTextureCoords(); thresh1.SetInputConnection((vtkAlgorithmOutput)plane1.GetOutputPort()); thresh1.ThresholdByUpper((double)1.5); plane1Map = new vtkDataSetMapper(); plane1Map.SetInputConnection((vtkAlgorithmOutput)thresh1.GetOutputPort()); plane1Map.SetScalarRange((double)((vtkDataSet)pl3d.GetOutput().GetBlock(0)).GetScalarRange()[0], (double)((vtkDataSet)pl3d.GetOutput().GetBlock(0)).GetScalarRange()[1]); plane1Actor = new vtkActor(); plane1Actor.SetMapper((vtkMapper)plane1Map); plane1Actor.SetTexture((vtkTexture)texture); plane1Actor.GetProperty().SetOpacity((double)0.999); plane2 = new vtkStructuredGridGeometryFilter(); plane2.SetInputData(pl3d.GetOutput().GetBlock(0)); plane2.SetExtent((int)30,(int)30,(int)0,(int)100,(int)0,(int)100); thresh2 = new vtkThresholdTextureCoords(); thresh2.SetInputConnection((vtkAlgorithmOutput)plane2.GetOutputPort()); thresh2.ThresholdByLower((double)1.5); plane2Map = new vtkDataSetMapper(); plane2Map.SetInputConnection((vtkAlgorithmOutput)thresh2.GetOutputPort()); plane2Map.SetScalarRange((double)((vtkDataSet)pl3d.GetOutput().GetBlock(0)).GetScalarRange()[0], (double)((vtkDataSet)pl3d.GetOutput().GetBlock(0)).GetScalarRange()[1]); plane2Actor = new vtkActor(); plane2Actor.SetMapper((vtkMapper)plane2Map); plane2Actor.SetTexture((vtkTexture)texture); plane2Actor.GetProperty().SetOpacity((double)0.999); plane3 = new vtkStructuredGridGeometryFilter(); plane3.SetInputData(pl3d.GetOutput().GetBlock(0)); plane3.SetExtent((int)35,(int)35,(int)0,(int)100,(int)0,(int)100); thresh3 = new vtkThresholdTextureCoords(); thresh3.SetInputConnection((vtkAlgorithmOutput)plane3.GetOutputPort()); thresh3.ThresholdBetween((double)1.5,(double)1.8); plane3Map = new vtkDataSetMapper(); plane3Map.SetInputConnection((vtkAlgorithmOutput)thresh3.GetOutputPort()); plane3Map.SetScalarRange((double)((vtkDataSet)pl3d.GetOutput().GetBlock(0)).GetScalarRange()[0], (double)((vtkDataSet)pl3d.GetOutput().GetBlock(0)).GetScalarRange()[1]); plane3Actor = new vtkActor(); plane3Actor.SetMapper((vtkMapper)plane3Map); plane3Actor.SetTexture((vtkTexture)texture); plane3Actor.GetProperty().SetOpacity((double)0.999); // outline[] outline = new vtkStructuredGridOutlineFilter(); outline.SetInputData(pl3d.GetOutput().GetBlock(0)); outlineMapper = vtkPolyDataMapper.New(); outlineMapper.SetInputConnection((vtkAlgorithmOutput)outline.GetOutputPort()); outlineActor = new vtkActor(); outlineActor.SetMapper((vtkMapper)outlineMapper); outlineProp = outlineActor.GetProperty(); outlineProp.SetColor((double)0,(double)0,(double)0); // Add the actors to the renderer, set the background and size[] //[] ren1.AddActor((vtkProp)outlineActor); ren1.AddActor((vtkProp)wallActor); ren1.AddActor((vtkProp)finActor); ren1.AddActor((vtkProp)plane1Actor); ren1.AddActor((vtkProp)plane2Actor); ren1.AddActor((vtkProp)plane3Actor); ren1.SetBackground((double)1,(double)1,(double)1); renWin.SetSize((int)256,(int)256); cam1 = new vtkCamera(); cam1.SetClippingRange((double)1.51176,(double)75.5879); cam1.SetFocalPoint((double)2.33749,(double)2.96739,(double)3.61023); cam1.SetPosition((double)10.8787,(double)5.27346,(double)15.8687); cam1.SetViewAngle((double)30); cam1.SetViewUp((double)-0.0610856,(double)0.987798,(double)-0.143262); ren1.SetActiveCamera((vtkCamera)cam1); iren.Initialize(); // render the image[] //[] // prevent the tk window from showing up then start the event loop[] //deleteAllVTKObjects(); }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVstreamTracer(String [] argv) { //Prefix Content is: "" ren1 = vtkRenderer.New(); renWin = vtkRenderWindow.New(); // this test has some wireframe geometry // Make sure multisampling is disabled to avoid generating multiple // regression images // renWin SetMultiSamples 0 renWin.AddRenderer((vtkRenderer)ren1); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); // read data[] //[] reader = new vtkStructuredGridReader(); reader.SetFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/office.binary.vtk"); reader.Update(); //force a read to occur[] outline = new vtkStructuredGridOutlineFilter(); outline.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); mapOutline = vtkPolyDataMapper.New(); mapOutline.SetInputConnection((vtkAlgorithmOutput)outline.GetOutputPort()); outlineActor = new vtkActor(); outlineActor.SetMapper((vtkMapper)mapOutline); outlineActor.GetProperty().SetColor((double)0,(double)0,(double)0); rk = new vtkRungeKutta45(); // Create source for streamtubes[] streamer = new vtkStreamTracer(); streamer.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); streamer.SetStartPosition((double)0.1,(double)2.1,(double)0.5); streamer.SetMaximumPropagation((double)500); streamer.SetIntegrationStepUnit(2); streamer.SetMinimumIntegrationStep((double)0.1); streamer.SetMaximumIntegrationStep((double)1.0); streamer.SetInitialIntegrationStep((double)0.2); streamer.SetIntegrationDirection((int)0); streamer.SetIntegrator((vtkInitialValueProblemSolver)rk); streamer.SetRotationScale((double)0.5); streamer.SetMaximumError((double)1.0e-8); aa = new vtkAssignAttribute(); aa.SetInputConnection((vtkAlgorithmOutput)streamer.GetOutputPort()); aa.Assign((string)"Normals",(string)"NORMALS",(string)"POINT_DATA"); rf1 = new vtkRibbonFilter(); rf1.SetInputConnection((vtkAlgorithmOutput)aa.GetOutputPort()); rf1.SetWidth((double)0.1); rf1.VaryWidthOff(); mapStream = vtkPolyDataMapper.New(); mapStream.SetInputConnection((vtkAlgorithmOutput)rf1.GetOutputPort()); mapStream.SetScalarRange((double)((vtkDataSet)reader.GetOutput()).GetScalarRange()[0],(double)((vtkDataSet)reader.GetOutput()).GetScalarRange()[1]); streamActor = new vtkActor(); streamActor.SetMapper((vtkMapper)mapStream); ren1.AddActor((vtkProp)outlineActor); ren1.AddActor((vtkProp)streamActor); ren1.SetBackground((double)0.4,(double)0.4,(double)0.5); cam = ren1.GetActiveCamera(); cam.SetPosition((double)-2.35599,(double)-3.35001,(double)4.59236); cam.SetFocalPoint((double)2.255,(double)2.255,(double)1.28413); cam.SetViewUp((double)0.311311,(double)0.279912,(double)0.908149); cam.SetClippingRange((double)1.12294,(double)16.6226); renWin.SetSize((int)300,(int)200); iren.Initialize(); // interact with data[] //deleteAllVTKObjects(); }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVfieldToRGrid(String [] argv) { //Prefix Content is: "" //# Generate a rectilinear grid from a field.[] //#[] // get the interactor ui[] // Create a reader and write out the field[] reader = new vtkDataSetReader(); reader.SetFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/RectGrid2.vtk"); ds2do = new vtkDataSetToDataObjectFilter(); ds2do.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); try { channel = new StreamWriter("RGridField.vtk"); tryCatchError = "NOERROR"; } catch(Exception) {tryCatchError = "ERROR";} if(tryCatchError.Equals("NOERROR")) { channel.Close(); writer = new vtkDataObjectWriter(); writer.SetInputConnection((vtkAlgorithmOutput)ds2do.GetOutputPort()); writer.SetFileName((string)"RGridField.vtk"); writer.Write(); // Read the field[] //[] dor = new vtkDataObjectReader(); dor.SetFileName((string)"RGridField.vtk"); do2ds = new vtkDataObjectToDataSetFilter(); do2ds.SetInputConnection((vtkAlgorithmOutput)dor.GetOutputPort()); do2ds.SetDataSetTypeToRectilinearGrid(); do2ds.SetDimensionsComponent((string)"Dimensions",(int)0); do2ds.SetPointComponent((int)0,(string)"XCoordinates",(int)0); do2ds.SetPointComponent((int)1,(string)"YCoordinates",(int)0); do2ds.SetPointComponent((int)2,(string)"ZCoordinates",(int)0); fd2ad = new vtkFieldDataToAttributeDataFilter(); fd2ad.SetInput((vtkDataObject)do2ds.GetRectilinearGridOutput()); fd2ad.SetInputFieldToDataObjectField(); fd2ad.SetOutputAttributeDataToPointData(); fd2ad.SetVectorComponent((int)0,(string)"vectors",(int)0); fd2ad.SetVectorComponent((int)1,(string)"vectors",(int)1); fd2ad.SetVectorComponent((int)2,(string)"vectors",(int)2); fd2ad.SetScalarComponent((int)0,(string)"scalars",(int)0); fd2ad.Update(); // create pipeline[] //[] plane = new vtkRectilinearGridGeometryFilter(); plane.SetInput((vtkDataObject)fd2ad.GetRectilinearGridOutput()); plane.SetExtent((int)0,(int)100,(int)0,(int)100,(int)15,(int)15); warper = new vtkWarpVector(); warper.SetInputConnection((vtkAlgorithmOutput)plane.GetOutputPort()); warper.SetScaleFactor((double)0.05); planeMapper = new vtkDataSetMapper(); planeMapper.SetInputConnection((vtkAlgorithmOutput)warper.GetOutputPort()); planeMapper.SetScalarRange((double)0.197813,(double)0.710419); planeActor = new vtkActor(); planeActor.SetMapper((vtkMapper)planeMapper); cutPlane = new vtkPlane(); cutPlane.SetOrigin(fd2ad.GetOutput().GetCenter()[0],fd2ad.GetOutput().GetCenter()[1],fd2ad.GetOutput().GetCenter()[2]); cutPlane.SetNormal((double)1,(double)0,(double)0); planeCut = new vtkCutter(); planeCut.SetInput((vtkDataObject)fd2ad.GetRectilinearGridOutput()); planeCut.SetCutFunction((vtkImplicitFunction)cutPlane); cutMapper = new vtkDataSetMapper(); cutMapper.SetInputConnection((vtkAlgorithmOutput)planeCut.GetOutputPort()); cutMapper.SetScalarRange( (double)((vtkDataSet)fd2ad.GetOutput()).GetPointData().GetScalars().GetRange()[0], (double)((vtkDataSet)fd2ad.GetOutput()).GetPointData().GetScalars().GetRange()[1]); cutActor = new vtkActor(); cutActor.SetMapper((vtkMapper)cutMapper); iso = new vtkContourFilter(); iso.SetInput((vtkDataObject)fd2ad.GetRectilinearGridOutput()); iso.SetValue((int)0,(double)0.7); normals = new vtkPolyDataNormals(); normals.SetInputConnection((vtkAlgorithmOutput)iso.GetOutputPort()); normals.SetFeatureAngle((double)45); isoMapper = vtkPolyDataMapper.New(); isoMapper.SetInputConnection((vtkAlgorithmOutput)normals.GetOutputPort()); isoMapper.ScalarVisibilityOff(); isoActor = new vtkActor(); isoActor.SetMapper((vtkMapper)isoMapper); isoActor.GetProperty().SetColor((double) 1.0000, 0.8941, 0.7686 ); isoActor.GetProperty().SetRepresentationToWireframe(); streamer = new vtkStreamLine(); streamer.SetInputConnection((vtkAlgorithmOutput)fd2ad.GetOutputPort()); streamer.SetStartPosition((double)-1.2,(double)-0.1,(double)1.3); streamer.SetMaximumPropagationTime((double)500); streamer.SetStepLength((double)0.05); streamer.SetIntegrationStepLength((double)0.05); streamer.SetIntegrationDirectionToIntegrateBothDirections(); streamTube = new vtkTubeFilter(); streamTube.SetInputConnection((vtkAlgorithmOutput)streamer.GetOutputPort()); streamTube.SetRadius((double)0.025); streamTube.SetNumberOfSides((int)6); streamTube.SetVaryRadiusToVaryRadiusByVector(); mapStreamTube = vtkPolyDataMapper.New(); mapStreamTube.SetInputConnection((vtkAlgorithmOutput)streamTube.GetOutputPort()); mapStreamTube.SetScalarRange( (double)((vtkDataSet)fd2ad.GetOutput()).GetPointData().GetScalars().GetRange()[0], (double)((vtkDataSet)fd2ad.GetOutput()).GetPointData().GetScalars().GetRange()[1]); streamTubeActor = new vtkActor(); streamTubeActor.SetMapper((vtkMapper)mapStreamTube); streamTubeActor.GetProperty().BackfaceCullingOn(); outline = new vtkOutlineFilter(); outline.SetInput((vtkDataObject)fd2ad.GetRectilinearGridOutput()); outlineMapper = vtkPolyDataMapper.New(); outlineMapper.SetInputConnection((vtkAlgorithmOutput)outline.GetOutputPort()); outlineActor = new vtkActor(); outlineActor.SetMapper((vtkMapper)outlineMapper); outlineActor.GetProperty().SetColor((double) 0.0000, 0.0000, 0.0000 ); // Graphics stuff[] // Create the RenderWindow, Renderer and both Actors[] //[] ren1 = vtkRenderer.New(); renWin = vtkRenderWindow.New(); renWin.AddRenderer((vtkRenderer)ren1); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); // Add the actors to the renderer, set the background and size[] //[] ren1.AddActor((vtkProp)outlineActor); ren1.AddActor((vtkProp)planeActor); ren1.AddActor((vtkProp)cutActor); ren1.AddActor((vtkProp)isoActor); ren1.AddActor((vtkProp)streamTubeActor); ren1.SetBackground((double)1,(double)1,(double)1); renWin.SetSize((int)300,(int)300); ren1.GetActiveCamera().SetPosition((double)0.0390893,(double)0.184813,(double)-3.94026); ren1.GetActiveCamera().SetFocalPoint((double)-0.00578326,(double)0,(double)0.701967); ren1.GetActiveCamera().SetViewAngle((double)30); ren1.GetActiveCamera().SetViewUp((double)0.00850257,(double)0.999169,(double)0.0398605); ren1.GetActiveCamera().SetClippingRange((double)3.08127,(double)6.62716); iren.Initialize(); // render the image[] //[] File.Delete("RGridField.vtk"); } // prevent the tk window from showing up then start the event loop[] //deleteAllVTKObjects(); }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVExtractTensors(String [] argv) { //Prefix Content is: "" // create tensor ellipsoids[] // Create the RenderWindow, Renderer and interactive renderer[] //[] ren1 = vtkRenderer.New(); renWin = vtkRenderWindow.New(); renWin.AddRenderer((vtkRenderer)ren1); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); ptLoad = new vtkPointLoad(); ptLoad.SetLoadValue((double)100.0); ptLoad.SetSampleDimensions((int)30,(int)30,(int)30); ptLoad.ComputeEffectiveStressOn(); ptLoad.SetModelBounds((double)-10,(double)10,(double)-10,(double)10,(double)-10,(double)10); extractTensor = new vtkExtractTensorComponents(); extractTensor.SetInputConnection((vtkAlgorithmOutput)ptLoad.GetOutputPort()); extractTensor.ScalarIsEffectiveStress(); extractTensor.ScalarIsComponent(); extractTensor.ExtractScalarsOn(); extractTensor.ExtractVectorsOn(); extractTensor.ExtractNormalsOff(); extractTensor.ExtractTCoordsOn(); contour = new vtkContourFilter(); contour.SetInputConnection((vtkAlgorithmOutput)extractTensor.GetOutputPort()); contour.SetValue((int)0,(double)0); probe = new vtkProbeFilter(); probe.SetInputConnection((vtkAlgorithmOutput)contour.GetOutputPort()); probe.SetSource((vtkDataObject)ptLoad.GetOutput()); su = new vtkLoopSubdivisionFilter(); su.SetInputConnection((vtkAlgorithmOutput)probe.GetOutputPort()); su.SetNumberOfSubdivisions((int)1); s1Mapper = vtkPolyDataMapper.New(); s1Mapper.SetInputConnection((vtkAlgorithmOutput)probe.GetOutputPort()); // s1Mapper SetInputConnection [su GetOutputPort][] s1Actor = new vtkActor(); s1Actor.SetMapper((vtkMapper)s1Mapper); //[] // plane for context[] //[] g = new vtkImageDataGeometryFilter(); g.SetInputConnection((vtkAlgorithmOutput)ptLoad.GetOutputPort()); g.SetExtent((int)0,(int)100,(int)0,(int)100,(int)0,(int)0); g.Update(); //for scalar range[] gm = vtkPolyDataMapper.New(); gm.SetInputConnection((vtkAlgorithmOutput)g.GetOutputPort()); gm.SetScalarRange((double)((vtkDataSet)g.GetOutput()).GetScalarRange()[0],(double)((vtkDataSet)g.GetOutput()).GetScalarRange()[1]); ga = new vtkActor(); ga.SetMapper((vtkMapper)gm); s1Mapper.SetScalarRange((double)((vtkDataSet)g.GetOutput()).GetScalarRange()[0],(double)((vtkDataSet)g.GetOutput()).GetScalarRange()[1]); //[] // Create outline around data[] //[] outline = new vtkOutlineFilter(); outline.SetInputConnection((vtkAlgorithmOutput)ptLoad.GetOutputPort()); outlineMapper = vtkPolyDataMapper.New(); outlineMapper.SetInputConnection((vtkAlgorithmOutput)outline.GetOutputPort()); outlineActor = new vtkActor(); outlineActor.SetMapper((vtkMapper)outlineMapper); outlineActor.GetProperty().SetColor((double)0,(double)0,(double)0); //[] // Create cone indicating application of load[] //[] coneSrc = new vtkConeSource(); coneSrc.SetRadius((double).5); coneSrc.SetHeight((double)2); coneMap = vtkPolyDataMapper.New(); coneMap.SetInputConnection((vtkAlgorithmOutput)coneSrc.GetOutputPort()); coneActor = new vtkActor(); coneActor.SetMapper((vtkMapper)coneMap); coneActor.SetPosition((double)0,(double)0,(double)11); coneActor.RotateY((double)90); coneActor.GetProperty().SetColor((double)1,(double)0,(double)0); camera = new vtkCamera(); camera.SetFocalPoint((double)0.113766,(double)-1.13665,(double)-1.01919); camera.SetPosition((double)-29.4886,(double)-63.1488,(double)26.5807); camera.SetViewAngle((double)24.4617); camera.SetViewUp((double)0.17138,(double)0.331163,(double)0.927879); camera.SetClippingRange((double)1,(double)100); ren1.AddActor((vtkProp)s1Actor); ren1.AddActor((vtkProp)outlineActor); ren1.AddActor((vtkProp)coneActor); ren1.AddActor((vtkProp)ga); ren1.SetBackground((double)1.0,(double)1.0,(double)1.0); ren1.SetActiveCamera((vtkCamera)camera); renWin.SetSize((int)300,(int)300); renWin.Render(); // prevent the tk window from showing up then start the event loop[] //deleteAllVTKObjects(); }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVEnSightRectGridASCII(String [] argv) { //Prefix Content is: "" VTK_VARY_RADIUS_BY_VECTOR = 2; // create pipeline[] //[] reader = new vtkGenericEnSightReader(); // Make sure all algorithms use the composite data pipeline[] cdp = new vtkCompositeDataPipeline(); vtkGenericEnSightReader.SetDefaultExecutivePrototype((vtkExecutive)cdp); reader.SetCaseFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/EnSight/RectGrid_ascii.case"); reader.Update(); toRectilinearGrid = new vtkCastToConcrete(); // toRectilinearGrid SetInputConnection [reader GetOutputPort] [] toRectilinearGrid.SetInput((vtkDataObject)reader.GetOutput().GetBlock((uint)0)); plane = new vtkRectilinearGridGeometryFilter(); plane.SetInput((vtkDataObject)toRectilinearGrid.GetRectilinearGridOutput()); plane.SetExtent((int)0,(int)100,(int)0,(int)100,(int)15,(int)15); tri = new vtkTriangleFilter(); tri.SetInputConnection((vtkAlgorithmOutput)plane.GetOutputPort()); warper = new vtkWarpVector(); warper.SetInputConnection((vtkAlgorithmOutput)tri.GetOutputPort()); warper.SetScaleFactor((double)0.05); planeMapper = new vtkDataSetMapper(); planeMapper.SetInputConnection((vtkAlgorithmOutput)warper.GetOutputPort()); planeMapper.SetScalarRange((double)0.197813,(double)0.710419); planeActor = new vtkActor(); planeActor.SetMapper((vtkMapper)planeMapper); cutPlane = new vtkPlane(); // eval cutPlane SetOrigin [[reader GetOutput] GetCenter][] cutPlane.SetOrigin((double)((vtkDataSet)reader.GetOutput().GetBlock((uint)0)).GetCenter()[0], (double)((vtkDataSet)reader.GetOutput().GetBlock((uint)0)).GetCenter()[1], (double)((vtkDataSet)reader.GetOutput().GetBlock((uint)0)).GetCenter()[2]); cutPlane.SetNormal((double)1,(double)0,(double)0); planeCut = new vtkCutter(); planeCut.SetInput((vtkDataObject)toRectilinearGrid.GetRectilinearGridOutput()); planeCut.SetCutFunction((vtkImplicitFunction)cutPlane); cutMapper = new vtkDataSetMapper(); cutMapper.SetInputConnection((vtkAlgorithmOutput)planeCut.GetOutputPort()); cutMapper.SetScalarRange((double)((vtkDataSet)((vtkMultiBlockDataSet)reader.GetOutput()).GetBlock((uint)0)).GetPointData().GetScalars().GetRange()[0], (double)((vtkDataSet)((vtkMultiBlockDataSet)reader.GetOutput()).GetBlock((uint)0)).GetPointData().GetScalars().GetRange()[1]); cutActor = new vtkActor(); cutActor.SetMapper((vtkMapper)cutMapper); iso = new vtkContourFilter(); iso.SetInput((vtkDataObject)toRectilinearGrid.GetRectilinearGridOutput()); iso.SetValue((int)0,(double)0.7); normals = new vtkPolyDataNormals(); normals.SetInputConnection((vtkAlgorithmOutput)iso.GetOutputPort()); normals.SetFeatureAngle((double)45); isoMapper = vtkPolyDataMapper.New(); isoMapper.SetInputConnection((vtkAlgorithmOutput)normals.GetOutputPort()); isoMapper.ScalarVisibilityOff(); isoActor = new vtkActor(); isoActor.SetMapper((vtkMapper)isoMapper); isoActor.GetProperty().SetColor((double) 1.0000, 0.8941, 0.7686 ); isoActor.GetProperty().SetRepresentationToWireframe(); streamer = new vtkStreamLine(); // streamer SetInputConnection [reader GetOutputPort][] streamer.SetInput((vtkDataObject)reader.GetOutput().GetBlock((uint)0)); streamer.SetStartPosition((double)-1.2,(double)-0.1,(double)1.3); streamer.SetMaximumPropagationTime((double)500); streamer.SetStepLength((double)0.05); streamer.SetIntegrationStepLength((double)0.05); streamer.SetIntegrationDirectionToIntegrateBothDirections(); streamTube = new vtkTubeFilter(); streamTube.SetInputConnection((vtkAlgorithmOutput)streamer.GetOutputPort()); streamTube.SetRadius((double)0.025); streamTube.SetNumberOfSides((int)6); streamTube.SetVaryRadius((int)VTK_VARY_RADIUS_BY_VECTOR); mapStreamTube = vtkPolyDataMapper.New(); mapStreamTube.SetInputConnection((vtkAlgorithmOutput)streamTube.GetOutputPort()); mapStreamTube.SetScalarRange((double)((vtkDataSet)reader.GetOutput().GetBlock((uint)0)).GetPointData().GetScalars().GetRange()[0], (double)((vtkDataSet)reader.GetOutput().GetBlock((uint)0)).GetPointData().GetScalars().GetRange()[1]); // [[[[reader GetOutput] GetPointData] GetScalars] GetRange][] streamTubeActor = new vtkActor(); streamTubeActor.SetMapper((vtkMapper)mapStreamTube); streamTubeActor.GetProperty().BackfaceCullingOn(); outline = new vtkOutlineFilter(); outline.SetInput((vtkDataObject)toRectilinearGrid.GetRectilinearGridOutput()); outlineMapper = vtkPolyDataMapper.New(); outlineMapper.SetInputConnection((vtkAlgorithmOutput)outline.GetOutputPort()); outlineActor = new vtkActor(); outlineActor.SetMapper((vtkMapper)outlineMapper); outlineActor.GetProperty().SetColor((double) 0.0000, 0.0000, 0.0000 ); // Graphics stuff[] // Create the RenderWindow, Renderer and both Actors[] //[] ren1 = vtkRenderer.New(); renWin = vtkRenderWindow.New(); renWin.AddRenderer((vtkRenderer)ren1); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); // Add the actors to the renderer, set the background and size[] //[] ren1.AddActor((vtkProp)outlineActor); ren1.AddActor((vtkProp)planeActor); ren1.AddActor((vtkProp)cutActor); ren1.AddActor((vtkProp)isoActor); ren1.AddActor((vtkProp)streamTubeActor); ren1.SetBackground((double)1,(double)1,(double)1); renWin.SetSize((int)400,(int)400); cam1 = ren1.GetActiveCamera(); cam1.SetClippingRange((double)3.76213,(double)10.712); cam1.SetFocalPoint((double)-0.0842503,(double)-0.136905,(double)0.610234); cam1.SetPosition((double)2.53813,(double)2.2678,(double)-5.22172); cam1.SetViewUp((double)-0.241047,(double)0.930635,(double)0.275343); iren.Initialize(); // render the image[] //[] // prevent the tk window from showing up then start the event loop[] vtkGenericEnSightReader.SetDefaultExecutivePrototype(null); //deleteAllVTKObjects(); }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVpolyConn(String [] argv) { //Prefix Content is: "" // Create the RenderWindow, Renderer and both Actors[] //[] ren1 = vtkRenderer.New(); renWin = vtkRenderWindow.New(); renWin.AddRenderer((vtkRenderer)ren1); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); // read data[] //[] pl3d = new vtkMultiBlockPLOT3DReader(); pl3d.SetXYZFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/combxyz.bin"); pl3d.SetQFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/combq.bin"); pl3d.SetScalarFunctionNumber((int)100); pl3d.SetVectorFunctionNumber((int)202); pl3d.Update(); // planes to connect[] plane1 = new vtkStructuredGridGeometryFilter(); plane1.SetInputData((vtkDataSet)pl3d.GetOutput().GetBlock(0)); plane1.SetExtent((int)20,(int)20,(int)0,(int)100,(int)0,(int)100); conn = new vtkPolyDataConnectivityFilter(); conn.SetInputConnection((vtkAlgorithmOutput)plane1.GetOutputPort()); conn.ScalarConnectivityOn(); conn.SetScalarRange((double)0.19,(double)0.25); plane1Map = vtkPolyDataMapper.New(); plane1Map.SetInputConnection((vtkAlgorithmOutput)conn.GetOutputPort()); plane1Map.SetScalarRange((double)((vtkDataSet)pl3d.GetOutput().GetBlock(0)).GetScalarRange()[0], (double)((vtkDataSet)pl3d.GetOutput().GetBlock(0)).GetScalarRange()[1]); plane1Actor = new vtkActor(); plane1Actor.SetMapper((vtkMapper)plane1Map); plane1Actor.GetProperty().SetOpacity((double)0.999); // outline[] outline = new vtkStructuredGridOutlineFilter(); outline.SetInputData((vtkDataSet)pl3d.GetOutput().GetBlock(0)); outlineMapper = vtkPolyDataMapper.New(); outlineMapper.SetInputConnection((vtkAlgorithmOutput)outline.GetOutputPort()); outlineActor = new vtkActor(); outlineActor.SetMapper((vtkMapper)outlineMapper); outlineProp = outlineActor.GetProperty(); outlineProp.SetColor((double)0,(double)0,(double)0); // Add the actors to the renderer, set the background and size[] //[] ren1.AddActor((vtkProp)outlineActor); ren1.AddActor((vtkProp)plane1Actor); ren1.SetBackground((double)1,(double)1,(double)1); renWin.SetSize((int)300,(int)300); cam1 = new vtkCamera(); cam1.SetClippingRange((double)14.29,(double)63.53); cam1.SetFocalPoint((double)8.58522,(double)1.58266,(double)30.6486); cam1.SetPosition((double)37.6808,(double)-20.1298,(double)35.4016); cam1.SetViewAngle((double)30); cam1.SetViewUp((double)-0.0566235,(double)0.140504,(double)0.98846); ren1.SetActiveCamera((vtkCamera)cam1); iren.Initialize(); // render the image[] //[] // prevent the tk window from showing up then start the event loop[] //deleteAllVTKObjects(); }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVfieldToPolyData(String [] argv) { //Prefix Content is: "" // This example demonstrates the reading of a field and conversion to PolyData[] // The output should be the same as polyEx.tcl.[] // get the interactor ui[] // Create a reader and write out the field[] reader = new vtkPolyDataReader(); reader.SetFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/polyEx.vtk"); ds2do = new vtkDataSetToDataObjectFilter(); ds2do.SetInputConnection((vtkAlgorithmOutput)reader.GetOutputPort()); try { channel = new StreamWriter("PolyField.vtk"); tryCatchError = "NOERROR"; } catch(Exception) {tryCatchError = "ERROR";} if(tryCatchError.Equals("NOERROR")) { channel.Close(); writer = new vtkDataObjectWriter(); writer.SetInputConnection((vtkAlgorithmOutput)ds2do.GetOutputPort()); writer.SetFileName((string)"PolyField.vtk"); writer.Write(); // create pipeline[] //[] dor = new vtkDataObjectReader(); dor.SetFileName((string)"PolyField.vtk"); do2ds = new vtkDataObjectToDataSetFilter(); do2ds.SetInputConnection((vtkAlgorithmOutput)dor.GetOutputPort()); do2ds.SetDataSetTypeToPolyData(); do2ds.SetPointComponent((int)0,(string)"Points",(int)0); do2ds.SetPointComponent((int)1,(string)"Points",(int)1); do2ds.SetPointComponent((int)2,(string)"Points",(int)2); do2ds.SetPolysComponent((string)"Polys",(int)0); fd2ad = new vtkFieldDataToAttributeDataFilter(); fd2ad.SetInput((vtkDataObject)do2ds.GetPolyDataOutput()); fd2ad.SetInputFieldToDataObjectField(); fd2ad.SetOutputAttributeDataToPointData(); fd2ad.SetScalarComponent((int)0,(string)"my_scalars",(int)0); mapper = vtkPolyDataMapper.New(); mapper.SetInput((vtkPolyData)fd2ad.GetPolyDataOutput()); mapper.SetScalarRange((double)((vtkDataSet)fd2ad.GetOutput()).GetScalarRange()[0],(double)((vtkDataSet)fd2ad.GetOutput()).GetScalarRange()[1]); actor = new vtkActor(); actor.SetMapper((vtkMapper)mapper); // Create the RenderWindow, Renderer and both Actors[] ren1 = vtkRenderer.New(); renWin = vtkRenderWindow.New(); renWin.AddRenderer((vtkRenderer)ren1); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); ren1.AddActor((vtkProp)actor); ren1.SetBackground((double)1,(double)1,(double)1); renWin.SetSize((int)300,(int)300); ren1.ResetCamera(); cam1 = ren1.GetActiveCamera(); cam1.SetClippingRange((double).348,(double)17.43); cam1.SetPosition((double)2.92,(double)2.62,(double)-0.836); cam1.SetViewUp((double)-0.436,(double)-0.067,(double)-0.897); cam1.Azimuth((double)90); // render the image[] //[] renWin.Render(); File.Delete("PolyField.vtk"); } // prevent the tk window from showing up then start the event loop[] //deleteAllVTKObjects(); }
/// <summary> /// Entry Point /// </summary> /// <param name="argv"></param> public static void Main(String[] argv) { // This example demonstrates how to use 2D Delaunay triangulation. // We create a fancy image of a 2D Delaunay triangulation. Points are // randomly generated. // first we load in the standard vtk packages into tcl // Generate some random points math = vtkMath.New(); points = vtkPoints.New(); for(int i = 0; i < 50; i++) { points.InsertPoint(i, vtkMath.Random(0, 1), vtkMath.Random(0, 1), 0.0); } // Create a polydata with the points we just created. profile = vtkPolyData.New(); profile.SetPoints(points); // Perform a 2D Delaunay triangulation on them. del = vtkDelaunay2D.New(); del.SetInput(profile); del.SetTolerance(0.001); mapMesh = vtkPolyDataMapper.New(); mapMesh.SetInputConnection(del.GetOutputPort()); meshActor = vtkActor.New(); meshActor.SetMapper(mapMesh); meshActor.GetProperty().SetColor(.1, .2, .4); // We will now create a nice looking mesh by wrapping the edges in tubes, // and putting fat spheres at the points. extract = vtkExtractEdges.New(); extract.SetInputConnection(del.GetOutputPort()); tubes = vtkTubeFilter.New(); tubes.SetInputConnection(extract.GetOutputPort()); tubes.SetRadius(0.01); tubes.SetNumberOfSides(6); mapEdges = vtkPolyDataMapper.New(); mapEdges.SetInputConnection(tubes.GetOutputPort()); edgeActor = vtkActor.New(); edgeActor.SetMapper(mapEdges); edgeActor.GetProperty().SetColor(0.2000, 0.6300, 0.7900); edgeActor.GetProperty().SetSpecularColor(1, 1, 1); edgeActor.GetProperty().SetSpecular(0.3); edgeActor.GetProperty().SetSpecularPower(20); edgeActor.GetProperty().SetAmbient(0.2); edgeActor.GetProperty().SetDiffuse(0.8); ball = vtkSphereSource.New(); ball.SetRadius(0.025); ball.SetThetaResolution(12); ball.SetPhiResolution(12); balls = vtkGlyph3D.New(); balls.SetInputConnection(del.GetOutputPort()); balls.SetSourceConnection(ball.GetOutputPort()); mapBalls = vtkPolyDataMapper.New(); mapBalls.SetInputConnection(balls.GetOutputPort()); ballActor = vtkActor.New(); ballActor.SetMapper(mapBalls); ballActor.GetProperty().SetColor(1.0000, 0.4118, 0.7059); ballActor.GetProperty().SetSpecularColor(1, 1, 1); ballActor.GetProperty().SetSpecular(0.3); ballActor.GetProperty().SetSpecularPower(20); ballActor.GetProperty().SetAmbient(0.2); ballActor.GetProperty().SetDiffuse(0.8); // Create graphics objects // Create the rendering window, renderer, and interactive renderer ren1 = vtkRenderer.New(); renWin = vtkRenderWindow.New(); renWin.AddRenderer(ren1); iren = vtkRenderWindowInteractor.New(); iren.SetRenderWindow(renWin); // Add the actors to the renderer, set the background and size ren1.AddActor(ballActor); ren1.AddActor(edgeActor); ren1.SetBackground(1, 1, 1); renWin.SetSize(150, 150); // render the image ren1.ResetCamera(); ren1.GetActiveCamera().Zoom(1.5); iren.Initialize(); iren.Start(); // Clean Up deleteAllVTKObjects(); }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVdataSetSurfaceFilter(String [] argv) { //Prefix Content is: "" // create pipeline - structured grid[] //[] pl3d = new vtkMultiBlockPLOT3DReader(); pl3d.SetXYZFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/combxyz.bin"); pl3d.SetQFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/combq.bin"); pl3d.SetScalarFunctionNumber((int)100); pl3d.SetVectorFunctionNumber((int)202); pl3d.Update(); gf = new vtkDataSetSurfaceFilter(); gf.SetInputData((vtkDataSet)pl3d.GetOutput().GetBlock(0)); gMapper = vtkPolyDataMapper.New(); gMapper.SetInputConnection((vtkAlgorithmOutput)gf.GetOutputPort()); gMapper.SetScalarRange( (double)((vtkDataSet)pl3d.GetOutput().GetBlock(0)).GetScalarRange()[0], (double)((vtkDataSet)pl3d.GetOutput().GetBlock(0)).GetScalarRange()[1]); gActor = new vtkActor(); gActor.SetMapper((vtkMapper)gMapper); gf2 = new vtkDataSetSurfaceFilter(); gf2.SetInputData((vtkDataSet)pl3d.GetOutput().GetBlock(0)); gf2.UseStripsOn(); g2Mapper = vtkPolyDataMapper.New(); g2Mapper.SetInputConnection((vtkAlgorithmOutput)gf2.GetOutputPort()); g2Mapper.SetScalarRange((double)((vtkDataSet)pl3d.GetOutput().GetBlock(0)).GetScalarRange()[0], (double)((vtkDataSet)pl3d.GetOutput().GetBlock(0)).GetScalarRange()[1]); g2Actor = new vtkActor(); g2Actor.SetMapper((vtkMapper)g2Mapper); g2Actor.AddPosition((double)0, (double)15, (double)0); // create pipeline - poly data[] //[] gf3 = new vtkDataSetSurfaceFilter(); gf3.SetInputConnection((vtkAlgorithmOutput)gf.GetOutputPort()); g3Mapper = vtkPolyDataMapper.New(); g3Mapper.SetInputConnection((vtkAlgorithmOutput)gf3.GetOutputPort()); g3Mapper.SetScalarRange((double)((vtkDataSet)pl3d.GetOutput().GetBlock(0)).GetScalarRange()[0], (double)((vtkDataSet)pl3d.GetOutput().GetBlock(0)).GetScalarRange()[1]); g3Actor = new vtkActor(); g3Actor.SetMapper((vtkMapper)g3Mapper); g3Actor.AddPosition((double)0, (double)0, (double)15); gf4 = new vtkDataSetSurfaceFilter(); gf4.SetInputConnection((vtkAlgorithmOutput)gf2.GetOutputPort()); gf4.UseStripsOn(); g4Mapper = vtkPolyDataMapper.New(); g4Mapper.SetInputConnection((vtkAlgorithmOutput)gf4.GetOutputPort()); g4Mapper.SetScalarRange((double)((vtkDataSet)pl3d.GetOutput().GetBlock(0)).GetScalarRange()[0], (double)((vtkDataSet)pl3d.GetOutput().GetBlock(0)).GetScalarRange()[1]); g4Actor = new vtkActor(); g4Actor.SetMapper((vtkMapper)g4Mapper); g4Actor.AddPosition((double)0, (double)15, (double)15); // create pipeline - unstructured grid[] //[] s = new vtkSphere(); s.SetCenter(((vtkDataSet)pl3d.GetOutput().GetBlock(0)).GetCenter()[0], ((vtkDataSet)pl3d.GetOutput().GetBlock(0)).GetCenter()[1], ((vtkDataSet)pl3d.GetOutput().GetBlock(0)).GetCenter()[2]); s.SetRadius((double)100.0); //everything[] eg = new vtkExtractGeometry(); eg.SetInputData((vtkDataSet)pl3d.GetOutput().GetBlock(0)); eg.SetImplicitFunction((vtkImplicitFunction)s); gf5 = new vtkDataSetSurfaceFilter(); gf5.SetInputConnection((vtkAlgorithmOutput)eg.GetOutputPort()); g5Mapper = vtkPolyDataMapper.New(); g5Mapper.SetInputConnection((vtkAlgorithmOutput)gf5.GetOutputPort()); g5Mapper.SetScalarRange((double)((vtkDataSet)pl3d.GetOutput().GetBlock(0)).GetScalarRange()[0], (double)((vtkDataSet)pl3d.GetOutput().GetBlock(0)).GetScalarRange()[1]); g5Actor = new vtkActor(); g5Actor.SetMapper((vtkMapper)g5Mapper); g5Actor.AddPosition((double)0, (double)0, (double)30); gf6 = new vtkDataSetSurfaceFilter(); gf6.SetInputConnection((vtkAlgorithmOutput)eg.GetOutputPort()); gf6.UseStripsOn(); g6Mapper = vtkPolyDataMapper.New(); g6Mapper.SetInputConnection((vtkAlgorithmOutput)gf6.GetOutputPort()); g6Mapper.SetScalarRange((double)((vtkDataSet)pl3d.GetOutput().GetBlock(0)).GetScalarRange()[0], (double)((vtkDataSet)pl3d.GetOutput().GetBlock(0)).GetScalarRange()[1]); g6Actor = new vtkActor(); g6Actor.SetMapper((vtkMapper)g6Mapper); g6Actor.AddPosition((double)0, (double)15, (double)30); // create pipeline - rectilinear grid[] //[] rgridReader = new vtkRectilinearGridReader(); rgridReader.SetFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/RectGrid2.vtk"); rgridReader.Update(); gf7 = new vtkDataSetSurfaceFilter(); gf7.SetInputConnection((vtkAlgorithmOutput)rgridReader.GetOutputPort()); g7Mapper = vtkPolyDataMapper.New(); g7Mapper.SetInputConnection((vtkAlgorithmOutput)gf7.GetOutputPort()); g7Mapper.SetScalarRange((double)((vtkDataSet)rgridReader.GetOutput()).GetScalarRange()[0], (double)((vtkDataSet)rgridReader.GetOutput()).GetScalarRange()[1]); g7Actor = new vtkActor(); g7Actor.SetMapper((vtkMapper)g7Mapper); g7Actor.SetScale((double)3, (double)3, (double)3); gf8 = new vtkDataSetSurfaceFilter(); gf8.SetInputConnection((vtkAlgorithmOutput)rgridReader.GetOutputPort()); gf8.UseStripsOn(); g8Mapper = vtkPolyDataMapper.New(); g8Mapper.SetInputConnection((vtkAlgorithmOutput)gf8.GetOutputPort()); g8Mapper.SetScalarRange((double)((vtkDataSet)rgridReader.GetOutput()).GetScalarRange()[0], (double)((vtkDataSet)rgridReader.GetOutput()).GetScalarRange()[1]); g8Actor = new vtkActor(); g8Actor.SetMapper((vtkMapper)g8Mapper); g8Actor.SetScale((double)3, (double)3, (double)3); g8Actor.AddPosition((double)0, (double)15, (double)0); // Create the RenderWindow, Renderer and both Actors[] //[] ren1 = vtkRenderer.New(); renWin = vtkRenderWindow.New(); renWin.AddRenderer((vtkRenderer)ren1); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); ren1.AddActor((vtkProp)gActor); ren1.AddActor((vtkProp)g2Actor); ren1.AddActor((vtkProp)g3Actor); ren1.AddActor((vtkProp)g4Actor); ren1.AddActor((vtkProp)g5Actor); ren1.AddActor((vtkProp)g6Actor); ren1.AddActor((vtkProp)g7Actor); ren1.AddActor((vtkProp)g8Actor); renWin.SetSize((int)340, (int)550); cam1 = ren1.GetActiveCamera(); cam1.SetClippingRange((double)84, (double)174); cam1.SetFocalPoint((double)5.22824, (double)6.09412, (double)35.9813); cam1.SetPosition((double)100.052, (double)62.875, (double)102.818); cam1.SetViewUp((double)-0.307455, (double)-0.464269, (double)0.830617); iren.Initialize(); // render the image[] //[] // prevent the tk window from showing up then start the event loop[] //deleteAllVTKObjects(); }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVlabeledContours(String [] argv) { //Prefix Content is: "" // demonstrate labeling of contour with scalar value[] // Create the RenderWindow, Renderer and both Actors[] //[] ren1 = vtkRenderer.New(); renWin = vtkRenderWindow.New(); renWin.SetMultiSamples(0); renWin.AddRenderer((vtkRenderer)ren1); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); // Read a slice and contour it[] v16 = new vtkVolume16Reader(); v16.SetDataDimensions((int)64,(int)64); v16.GetOutput().SetOrigin((double)0.0,(double)0.0,(double)0.0); v16.SetDataByteOrderToLittleEndian(); v16.SetFilePrefix((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/headsq/quarter"); v16.SetImageRange((int)45,(int)45); v16.SetDataSpacing((double)3.2,(double)3.2,(double)1.5); iso = new vtkContourFilter(); iso.SetInputConnection((vtkAlgorithmOutput)v16.GetOutputPort()); iso.GenerateValues((int)6,(double)500,(double)1150); iso.Update(); numPts = iso.GetOutput().GetNumberOfPoints(); isoMapper = vtkPolyDataMapper.New(); isoMapper.SetInputConnection((vtkAlgorithmOutput)iso.GetOutputPort()); isoMapper.ScalarVisibilityOn(); isoMapper.SetScalarRange((double)((vtkDataSet)iso.GetOutput()).GetScalarRange()[0],(double)((vtkDataSet)iso.GetOutput()).GetScalarRange()[1]); isoActor = new vtkActor(); isoActor.SetMapper((vtkMapper)isoMapper); // Subsample the points and label them[] mask = new vtkMaskPoints(); mask.SetInputConnection((vtkAlgorithmOutput)iso.GetOutputPort()); mask.SetOnRatio((int)(numPts/50)); mask.SetMaximumNumberOfPoints((int)50); mask.RandomModeOn(); // Create labels for points - only show visible points[] visPts = new vtkSelectVisiblePoints(); visPts.SetInputConnection((vtkAlgorithmOutput)mask.GetOutputPort()); visPts.SetRenderer((vtkRenderer)ren1); ldm = new vtkLabeledDataMapper(); ldm.SetInputConnection((vtkAlgorithmOutput)mask.GetOutputPort()); // ldm SetLabelFormat "%g"[] ldm.SetLabelModeToLabelScalars(); tprop = ldm.GetLabelTextProperty(); tprop.SetFontFamilyToArial(); tprop.SetFontSize((int)10); tprop.SetColor((double)1,(double)0,(double)0); contourLabels = new vtkActor2D(); contourLabels.SetMapper((vtkMapper2D)ldm); // Add the actors to the renderer, set the background and size[] //[] ren1.AddActor2D((vtkProp)isoActor); ren1.AddActor2D((vtkProp)contourLabels); ren1.SetBackground((double)1,(double)1,(double)1); renWin.SetSize((int)500,(int)500); renWin.Render(); ren1.GetActiveCamera().Zoom((double)1.5); // render the image[] //[] // prevent the tk window from showing up then start the event loop[] //deleteAllVTKObjects(); }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVLineIntersectQuadraticCells(String [] argv) { //Prefix Content is: "" // Contour every quadratic cell type[] // Create a scene with one of each cell type.[] // QuadraticEdge[] edgePoints = new vtkPoints(); edgePoints.SetNumberOfPoints((int)3); edgePoints.InsertPoint((int)0,(double)0,(double)0,(double)0); edgePoints.InsertPoint((int)1,(double)1.0,(double)0,(double)0); edgePoints.InsertPoint((int)2,(double)0.5,(double)0.25,(double)0); edgeScalars = new vtkFloatArray(); edgeScalars.SetNumberOfTuples((int)3); edgeScalars.InsertValue((int)0,(float)0.0); edgeScalars.InsertValue((int)1,(float)0.0); edgeScalars.InsertValue((int)2,(float)0.9); aEdge = new vtkQuadraticEdge(); aEdge.GetPointIds().SetId((int)0,(int)0); aEdge.GetPointIds().SetId((int)1,(int)1); aEdge.GetPointIds().SetId((int)2,(int)2); aEdgeGrid = new vtkUnstructuredGrid(); aEdgeGrid.Allocate((int)1,(int)1); aEdgeGrid.InsertNextCell((int)aEdge.GetCellType(),(vtkIdList)aEdge.GetPointIds()); aEdgeGrid.SetPoints((vtkPoints)edgePoints); aEdgeGrid.GetPointData().SetScalars((vtkDataArray)edgeScalars); aEdgeMapper = new vtkDataSetMapper(); aEdgeMapper.SetInputData((vtkDataSet)aEdgeGrid); aEdgeMapper.ScalarVisibilityOff(); aEdgeActor = new vtkActor(); aEdgeActor.SetMapper((vtkMapper)aEdgeMapper); aEdgeActor.GetProperty().SetRepresentationToWireframe(); aEdgeActor.GetProperty().SetAmbient((double)1.0); // Quadratic triangle[] triPoints = new vtkPoints(); triPoints.SetNumberOfPoints((int)6); triPoints.InsertPoint((int)0,(double)0.0,(double)0.0,(double)0.0); triPoints.InsertPoint((int)1,(double)1.0,(double)0.0,(double)0.0); triPoints.InsertPoint((int)2,(double)0.5,(double)0.8,(double)0.0); triPoints.InsertPoint((int)3,(double)0.5,(double)0.0,(double)0.0); triPoints.InsertPoint((int)4,(double)0.75,(double)0.4,(double)0.0); triPoints.InsertPoint((int)5,(double)0.25,(double)0.4,(double)0.0); triScalars = new vtkFloatArray(); triScalars.SetNumberOfTuples((int)6); triScalars.InsertValue((int)0,(float)0.0); triScalars.InsertValue((int)1,(float)0.0); triScalars.InsertValue((int)2,(float)0.0); triScalars.InsertValue((int)3,(float)1.0); triScalars.InsertValue((int)4,(float)0.0); triScalars.InsertValue((int)5,(float)0.0); aTri = new vtkQuadraticTriangle(); aTri.GetPointIds().SetId((int)0,(int)0); aTri.GetPointIds().SetId((int)1,(int)1); aTri.GetPointIds().SetId((int)2,(int)2); aTri.GetPointIds().SetId((int)3,(int)3); aTri.GetPointIds().SetId((int)4,(int)4); aTri.GetPointIds().SetId((int)5,(int)5); aTriGrid = new vtkUnstructuredGrid(); aTriGrid.Allocate((int)1,(int)1); aTriGrid.InsertNextCell((int)aTri.GetCellType(),(vtkIdList)aTri.GetPointIds()); aTriGrid.SetPoints((vtkPoints)triPoints); aTriGrid.GetPointData().SetScalars((vtkDataArray)triScalars); aTriMapper = new vtkDataSetMapper(); aTriMapper.SetInputData((vtkDataSet)aTriGrid); aTriMapper.ScalarVisibilityOff(); aTriActor = new vtkActor(); aTriActor.SetMapper((vtkMapper)aTriMapper); aTriActor.GetProperty().SetRepresentationToWireframe(); aTriActor.GetProperty().SetAmbient((double)1.0); // Quadratic quadrilateral[] quadPoints = new vtkPoints(); quadPoints.SetNumberOfPoints((int)8); quadPoints.InsertPoint((int)0,(double)0.0,(double)0.0,(double)0.0); quadPoints.InsertPoint((int)1,(double)1.0,(double)0.0,(double)0.0); quadPoints.InsertPoint((int)2,(double)1.0,(double)1.0,(double)0.0); quadPoints.InsertPoint((int)3,(double)0.0,(double)1.0,(double)0.0); quadPoints.InsertPoint((int)4,(double)0.5,(double)0.0,(double)0.0); quadPoints.InsertPoint((int)5,(double)1.0,(double)0.5,(double)0.0); quadPoints.InsertPoint((int)6,(double)0.5,(double)1.0,(double)0.0); quadPoints.InsertPoint((int)7,(double)0.0,(double)0.5,(double)0.0); quadScalars = new vtkFloatArray(); quadScalars.SetNumberOfTuples((int)8); quadScalars.InsertValue((int)0,(float)0.0); quadScalars.InsertValue((int)1,(float)0.0); quadScalars.InsertValue((int)2,(float)1.0); quadScalars.InsertValue((int)3,(float)1.0); quadScalars.InsertValue((int)4,(float)1.0); quadScalars.InsertValue((int)5,(float)0.0); quadScalars.InsertValue((int)6,(float)0.0); quadScalars.InsertValue((int)7,(float)0.0); aQuad = new vtkQuadraticQuad(); aQuad.GetPointIds().SetId((int)0,(int)0); aQuad.GetPointIds().SetId((int)1,(int)1); aQuad.GetPointIds().SetId((int)2,(int)2); aQuad.GetPointIds().SetId((int)3,(int)3); aQuad.GetPointIds().SetId((int)4,(int)4); aQuad.GetPointIds().SetId((int)5,(int)5); aQuad.GetPointIds().SetId((int)6,(int)6); aQuad.GetPointIds().SetId((int)7,(int)7); aQuadGrid = new vtkUnstructuredGrid(); aQuadGrid.Allocate((int)1,(int)1); aQuadGrid.InsertNextCell((int)aQuad.GetCellType(),(vtkIdList)aQuad.GetPointIds()); aQuadGrid.SetPoints((vtkPoints)quadPoints); aQuadGrid.GetPointData().SetScalars((vtkDataArray)quadScalars); aQuadMapper = new vtkDataSetMapper(); aQuadMapper.SetInputData((vtkDataSet)aQuadGrid); aQuadMapper.ScalarVisibilityOff(); aQuadActor = new vtkActor(); aQuadActor.SetMapper((vtkMapper)aQuadMapper); aQuadActor.GetProperty().SetRepresentationToWireframe(); aQuadActor.GetProperty().SetAmbient((double)1.0); // Quadratic tetrahedron[] tetPoints = new vtkPoints(); tetPoints.SetNumberOfPoints((int)10); tetPoints.InsertPoint((int)0,(double)0.0,(double)0.0,(double)0.0); tetPoints.InsertPoint((int)1,(double)1.0,(double)0.0,(double)0.0); tetPoints.InsertPoint((int)2,(double)0.5,(double)0.8,(double)0.0); tetPoints.InsertPoint((int)3,(double)0.5,(double)0.4,(double)1.0); tetPoints.InsertPoint((int)4,(double)0.5,(double)0.0,(double)0.0); tetPoints.InsertPoint((int)5,(double)0.75,(double)0.4,(double)0.0); tetPoints.InsertPoint((int)6,(double)0.25,(double)0.4,(double)0.0); tetPoints.InsertPoint((int)7,(double)0.25,(double)0.2,(double)0.5); tetPoints.InsertPoint((int)8,(double)0.75,(double)0.2,(double)0.5); tetPoints.InsertPoint((int)9,(double)0.50,(double)0.6,(double)0.5); tetScalars = new vtkFloatArray(); tetScalars.SetNumberOfTuples((int)10); tetScalars.InsertValue((int)0,(float)1.0); tetScalars.InsertValue((int)1,(float)1.0); tetScalars.InsertValue((int)2,(float)1.0); tetScalars.InsertValue((int)3,(float)1.0); tetScalars.InsertValue((int)4,(float)0.0); tetScalars.InsertValue((int)5,(float)0.0); tetScalars.InsertValue((int)6,(float)0.0); tetScalars.InsertValue((int)7,(float)0.0); tetScalars.InsertValue((int)8,(float)0.0); tetScalars.InsertValue((int)9,(float)0.0); aTet = new vtkQuadraticTetra(); aTet.GetPointIds().SetId((int)0,(int)0); aTet.GetPointIds().SetId((int)1,(int)1); aTet.GetPointIds().SetId((int)2,(int)2); aTet.GetPointIds().SetId((int)3,(int)3); aTet.GetPointIds().SetId((int)4,(int)4); aTet.GetPointIds().SetId((int)5,(int)5); aTet.GetPointIds().SetId((int)6,(int)6); aTet.GetPointIds().SetId((int)7,(int)7); aTet.GetPointIds().SetId((int)8,(int)8); aTet.GetPointIds().SetId((int)9,(int)9); aTetGrid = new vtkUnstructuredGrid(); aTetGrid.Allocate((int)1,(int)1); aTetGrid.InsertNextCell((int)aTet.GetCellType(),(vtkIdList)aTet.GetPointIds()); aTetGrid.SetPoints((vtkPoints)tetPoints); aTetGrid.GetPointData().SetScalars((vtkDataArray)tetScalars); aTetMapper = new vtkDataSetMapper(); aTetMapper.SetInputData((vtkDataSet)aTetGrid); aTetMapper.ScalarVisibilityOff(); aTetActor = new vtkActor(); aTetActor.SetMapper((vtkMapper)aTetMapper); aTetActor.GetProperty().SetRepresentationToWireframe(); aTetActor.GetProperty().SetAmbient((double)1.0); // Quadratic hexahedron[] hexPoints = new vtkPoints(); hexPoints.SetNumberOfPoints((int)20); hexPoints.InsertPoint((int)0,(double)0,(double)0,(double)0); hexPoints.InsertPoint((int)1,(double)1,(double)0,(double)0); hexPoints.InsertPoint((int)2,(double)1,(double)1,(double)0); hexPoints.InsertPoint((int)3,(double)0,(double)1,(double)0); hexPoints.InsertPoint((int)4,(double)0,(double)0,(double)1); hexPoints.InsertPoint((int)5,(double)1,(double)0,(double)1); hexPoints.InsertPoint((int)6,(double)1,(double)1,(double)1); hexPoints.InsertPoint((int)7,(double)0,(double)1,(double)1); hexPoints.InsertPoint((int)8,(double)0.5,(double)0,(double)0); hexPoints.InsertPoint((int)9,(double)1,(double)0.5,(double)0); hexPoints.InsertPoint((int)10,(double)0.5,(double)1,(double)0); hexPoints.InsertPoint((int)11,(double)0,(double)0.5,(double)0); hexPoints.InsertPoint((int)12,(double)0.5,(double)0,(double)1); hexPoints.InsertPoint((int)13,(double)1,(double)0.5,(double)1); hexPoints.InsertPoint((int)14,(double)0.5,(double)1,(double)1); hexPoints.InsertPoint((int)15,(double)0,(double)0.5,(double)1); hexPoints.InsertPoint((int)16,(double)0,(double)0,(double)0.5); hexPoints.InsertPoint((int)17,(double)1,(double)0,(double)0.5); hexPoints.InsertPoint((int)18,(double)1,(double)1,(double)0.5); hexPoints.InsertPoint((int)19,(double)0,(double)1,(double)0.5); hexScalars = new vtkFloatArray(); hexScalars.SetNumberOfTuples((int)20); hexScalars.InsertValue((int)0,(float)1.0); hexScalars.InsertValue((int)1,(float)1.0); hexScalars.InsertValue((int)2,(float)1.0); hexScalars.InsertValue((int)3,(float)1.0); hexScalars.InsertValue((int)4,(float)1.0); hexScalars.InsertValue((int)5,(float)1.0); hexScalars.InsertValue((int)6,(float)1.0); hexScalars.InsertValue((int)7,(float)1.0); hexScalars.InsertValue((int)8,(float)0.0); hexScalars.InsertValue((int)9,(float)0.0); hexScalars.InsertValue((int)10,(float)0.0); hexScalars.InsertValue((int)11,(float)0.0); hexScalars.InsertValue((int)12,(float)0.0); hexScalars.InsertValue((int)13,(float)0.0); hexScalars.InsertValue((int)14,(float)0.0); hexScalars.InsertValue((int)15,(float)0.0); hexScalars.InsertValue((int)16,(float)0.0); hexScalars.InsertValue((int)17,(float)0.0); hexScalars.InsertValue((int)18,(float)0.0); hexScalars.InsertValue((int)19,(float)0.0); aHex = new vtkQuadraticHexahedron(); aHex.GetPointIds().SetId((int)0,(int)0); aHex.GetPointIds().SetId((int)1,(int)1); aHex.GetPointIds().SetId((int)2,(int)2); aHex.GetPointIds().SetId((int)3,(int)3); aHex.GetPointIds().SetId((int)4,(int)4); aHex.GetPointIds().SetId((int)5,(int)5); aHex.GetPointIds().SetId((int)6,(int)6); aHex.GetPointIds().SetId((int)7,(int)7); aHex.GetPointIds().SetId((int)8,(int)8); aHex.GetPointIds().SetId((int)9,(int)9); aHex.GetPointIds().SetId((int)10,(int)10); aHex.GetPointIds().SetId((int)11,(int)11); aHex.GetPointIds().SetId((int)12,(int)12); aHex.GetPointIds().SetId((int)13,(int)13); aHex.GetPointIds().SetId((int)14,(int)14); aHex.GetPointIds().SetId((int)15,(int)15); aHex.GetPointIds().SetId((int)16,(int)16); aHex.GetPointIds().SetId((int)17,(int)17); aHex.GetPointIds().SetId((int)18,(int)18); aHex.GetPointIds().SetId((int)19,(int)19); aHexGrid = new vtkUnstructuredGrid(); aHexGrid.Allocate((int)1,(int)1); aHexGrid.InsertNextCell((int)aHex.GetCellType(),(vtkIdList)aHex.GetPointIds()); aHexGrid.SetPoints((vtkPoints)hexPoints); aHexGrid.GetPointData().SetScalars((vtkDataArray)hexScalars); aHexMapper = new vtkDataSetMapper(); aHexMapper.SetInputData((vtkDataSet)aHexGrid); aHexMapper.ScalarVisibilityOff(); aHexActor = new vtkActor(); aHexActor.SetMapper((vtkMapper)aHexMapper); aHexActor.GetProperty().SetRepresentationToWireframe(); aHexActor.GetProperty().SetAmbient((double)1.0); // Quadratic wedge[] wedgePoints = new vtkPoints(); wedgePoints.SetNumberOfPoints((int)15); wedgePoints.InsertPoint((int)0,(double)0,(double)0,(double)0); wedgePoints.InsertPoint((int)1,(double)1,(double)0,(double)0); wedgePoints.InsertPoint((int)2,(double)0,(double)1,(double)0); wedgePoints.InsertPoint((int)3,(double)0,(double)0,(double)1); wedgePoints.InsertPoint((int)4,(double)1,(double)0,(double)1); wedgePoints.InsertPoint((int)5,(double)0,(double)1,(double)1); wedgePoints.InsertPoint((int)6,(double)0.5,(double)0,(double)0); wedgePoints.InsertPoint((int)7,(double)0.5,(double)0.5,(double)0); wedgePoints.InsertPoint((int)8,(double)0,(double)0.5,(double)0); wedgePoints.InsertPoint((int)9,(double)0.5,(double)0,(double)1); wedgePoints.InsertPoint((int)10,(double)0.5,(double)0.5,(double)1); wedgePoints.InsertPoint((int)11,(double)0,(double)0.5,(double)1); wedgePoints.InsertPoint((int)12,(double)0,(double)0,(double)0.5); wedgePoints.InsertPoint((int)13,(double)1,(double)0,(double)0.5); wedgePoints.InsertPoint((int)14,(double)0,(double)1,(double)0.5); wedgeScalars = new vtkFloatArray(); wedgeScalars.SetNumberOfTuples((int)15); wedgeScalars.InsertValue((int)0,(float)1.0); wedgeScalars.InsertValue((int)1,(float)1.0); wedgeScalars.InsertValue((int)2,(float)1.0); wedgeScalars.InsertValue((int)3,(float)1.0); wedgeScalars.InsertValue((int)4,(float)1.0); wedgeScalars.InsertValue((int)5,(float)1.0); wedgeScalars.InsertValue((int)6,(float)1.0); wedgeScalars.InsertValue((int)7,(float)1.0); wedgeScalars.InsertValue((int)8,(float)0.0); wedgeScalars.InsertValue((int)9,(float)0.0); wedgeScalars.InsertValue((int)10,(float)0.0); wedgeScalars.InsertValue((int)11,(float)0.0); wedgeScalars.InsertValue((int)12,(float)0.0); wedgeScalars.InsertValue((int)13,(float)0.0); wedgeScalars.InsertValue((int)14,(float)0.0); aWedge = new vtkQuadraticWedge(); aWedge.GetPointIds().SetId((int)0,(int)0); aWedge.GetPointIds().SetId((int)1,(int)1); aWedge.GetPointIds().SetId((int)2,(int)2); aWedge.GetPointIds().SetId((int)3,(int)3); aWedge.GetPointIds().SetId((int)4,(int)4); aWedge.GetPointIds().SetId((int)5,(int)5); aWedge.GetPointIds().SetId((int)6,(int)6); aWedge.GetPointIds().SetId((int)7,(int)7); aWedge.GetPointIds().SetId((int)8,(int)8); aWedge.GetPointIds().SetId((int)9,(int)9); aWedge.GetPointIds().SetId((int)10,(int)10); aWedge.GetPointIds().SetId((int)11,(int)11); aWedge.GetPointIds().SetId((int)12,(int)12); aWedge.GetPointIds().SetId((int)13,(int)13); aWedge.GetPointIds().SetId((int)14,(int)14); aWedgeGrid = new vtkUnstructuredGrid(); aWedgeGrid.Allocate((int)1,(int)1); aWedgeGrid.InsertNextCell((int)aWedge.GetCellType(),(vtkIdList)aWedge.GetPointIds()); aWedgeGrid.SetPoints((vtkPoints)wedgePoints); aWedgeGrid.GetPointData().SetScalars((vtkDataArray)wedgeScalars); wedgeContours = new vtkClipDataSet(); wedgeContours.SetInputData((vtkDataObject)aWedgeGrid); wedgeContours.SetValue((double)0.5); aWedgeContourMapper = new vtkDataSetMapper(); aWedgeContourMapper.SetInputConnection((vtkAlgorithmOutput)wedgeContours.GetOutputPort()); aWedgeContourMapper.ScalarVisibilityOff(); aWedgeMapper = new vtkDataSetMapper(); aWedgeMapper.SetInputData((vtkDataSet)aWedgeGrid); aWedgeMapper.ScalarVisibilityOff(); aWedgeActor = new vtkActor(); aWedgeActor.SetMapper((vtkMapper)aWedgeMapper); aWedgeActor.GetProperty().SetRepresentationToWireframe(); aWedgeActor.GetProperty().SetAmbient((double)1.0); aWedgeContourActor = new vtkActor(); aWedgeContourActor.SetMapper((vtkMapper)aWedgeContourMapper); aWedgeContourActor.GetProperty().SetAmbient((double)1.0); // Quadratic pyramid[] pyraPoints = new vtkPoints(); pyraPoints.SetNumberOfPoints((int)13); pyraPoints.InsertPoint((int)0,(double)0,(double)0,(double)0); pyraPoints.InsertPoint((int)1,(double)1,(double)0,(double)0); pyraPoints.InsertPoint((int)2,(double)1,(double)1,(double)0); pyraPoints.InsertPoint((int)3,(double)0,(double)1,(double)0); pyraPoints.InsertPoint((int)4,(double)0,(double)0,(double)1); pyraPoints.InsertPoint((int)5,(double)0.5,(double)0,(double)0); pyraPoints.InsertPoint((int)6,(double)1,(double)0.5,(double)0); pyraPoints.InsertPoint((int)7,(double)0.5,(double)1,(double)0); pyraPoints.InsertPoint((int)8,(double)0,(double)0.5,(double)0); pyraPoints.InsertPoint((int)9,(double)0,(double)0,(double)0.5); pyraPoints.InsertPoint((int)10,(double)0.5,(double)0,(double)0.5); pyraPoints.InsertPoint((int)11,(double)0.5,(double)0.5,(double)0.5); pyraPoints.InsertPoint((int)12,(double)0,(double)0.5,(double)0.5); pyraScalars = new vtkFloatArray(); pyraScalars.SetNumberOfTuples((int)13); pyraScalars.InsertValue((int)0,(float)1.0); pyraScalars.InsertValue((int)1,(float)1.0); pyraScalars.InsertValue((int)2,(float)1.0); pyraScalars.InsertValue((int)3,(float)1.0); pyraScalars.InsertValue((int)4,(float)1.0); pyraScalars.InsertValue((int)5,(float)1.0); pyraScalars.InsertValue((int)6,(float)1.0); pyraScalars.InsertValue((int)7,(float)1.0); pyraScalars.InsertValue((int)8,(float)0.0); pyraScalars.InsertValue((int)9,(float)0.0); pyraScalars.InsertValue((int)10,(float)0.0); pyraScalars.InsertValue((int)11,(float)0.0); pyraScalars.InsertValue((int)12,(float)0.0); aPyramid = new vtkQuadraticPyramid(); aPyramid.GetPointIds().SetId((int)0,(int)0); aPyramid.GetPointIds().SetId((int)1,(int)1); aPyramid.GetPointIds().SetId((int)2,(int)2); aPyramid.GetPointIds().SetId((int)3,(int)3); aPyramid.GetPointIds().SetId((int)4,(int)4); aPyramid.GetPointIds().SetId((int)5,(int)5); aPyramid.GetPointIds().SetId((int)6,(int)6); aPyramid.GetPointIds().SetId((int)7,(int)7); aPyramid.GetPointIds().SetId((int)8,(int)8); aPyramid.GetPointIds().SetId((int)9,(int)9); aPyramid.GetPointIds().SetId((int)10,(int)10); aPyramid.GetPointIds().SetId((int)11,(int)11); aPyramid.GetPointIds().SetId((int)12,(int)12); aPyramidGrid = new vtkUnstructuredGrid(); aPyramidGrid.Allocate((int)1,(int)1); aPyramidGrid.InsertNextCell((int)aPyramid.GetCellType(),(vtkIdList)aPyramid.GetPointIds()); aPyramidGrid.SetPoints((vtkPoints)pyraPoints); aPyramidGrid.GetPointData().SetScalars((vtkDataArray)pyraScalars); pyraContours = new vtkClipDataSet(); pyraContours.SetInputData((vtkDataObject)aPyramidGrid); pyraContours.SetValue((double)0.5); aPyramidContourMapper = new vtkDataSetMapper(); aPyramidContourMapper.SetInputConnection((vtkAlgorithmOutput)pyraContours.GetOutputPort()); aPyramidContourMapper.ScalarVisibilityOff(); aPyramidMapper = new vtkDataSetMapper(); aPyramidMapper.SetInputData((vtkDataSet)aPyramidGrid); aPyramidMapper.ScalarVisibilityOff(); aPyramidActor = new vtkActor(); aPyramidActor.SetMapper((vtkMapper)aPyramidMapper); aPyramidActor.GetProperty().SetRepresentationToWireframe(); aPyramidActor.GetProperty().SetAmbient((double)1.0); aPyramidContourActor = new vtkActor(); aPyramidContourActor.SetMapper((vtkMapper)aPyramidContourMapper); aPyramidContourActor.GetProperty().SetAmbient((double)1.0); // Create the rendering related stuff.[] // Since some of our actors are a single vertex, we need to remove all[] // cullers so the single vertex actors will render[] ren1 = vtkRenderer.New(); ren1.GetCullers().RemoveAllItems(); renWin = vtkRenderWindow.New(); renWin.SetMultiSamples(0); renWin.AddRenderer((vtkRenderer)ren1); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); ren1.SetBackground((double).1,(double).2,(double).3); renWin.SetSize((int)400,(int)200); // specify properties[] ren1.AddActor((vtkProp)aEdgeActor); ren1.AddActor((vtkProp)aTriActor); ren1.AddActor((vtkProp)aQuadActor); ren1.AddActor((vtkProp)aTetActor); ren1.AddActor((vtkProp)aHexActor); ren1.AddActor((vtkProp)aWedgeActor); ren1.AddActor((vtkProp)aPyramidActor); // places everyone!![] aTriActor.AddPosition((double)2,(double)0,(double)0); aQuadActor.AddPosition((double)4,(double)0,(double)0); aTetActor.AddPosition((double)6,(double)0,(double)0); aHexActor.AddPosition((double)8,(double)0,(double)0); aWedgeActor.AddPosition((double)10,(double)0,(double)0); aPyramidActor.AddPosition((double)12,(double)0,(double)0); BuildBackdrop(-1, 15, -1, 4, -1, 2, .1); ren1.AddActor((vtkProp)base1); base1.GetProperty().SetDiffuseColor((double).2,(double).2,(double).2); ren1.AddActor((vtkProp)left); left.GetProperty().SetDiffuseColor((double).2,(double).2,(double).2); ren1.AddActor((vtkProp)back); back.GetProperty().SetDiffuseColor((double).2,(double).2,(double).2); ren1.ResetCamera(); ren1.GetActiveCamera().Dolly((double)2.5); ren1.ResetCameraClippingRange(); renWin.Render(); // create a little scorecard above each of the cells. These are displayed[] // if a ray cast hits the cell, otherwise they are not shown.[] pm = new vtkPlaneSource(); pm.SetXResolution((int)1); pm.SetYResolution((int)1); pmapper = vtkPolyDataMapper.New(); pmapper.SetInputConnection((vtkAlgorithmOutput)pm.GetOutputPort()); // now try intersecting rays with the cell[] cellPicker = new vtkCellPicker(); edgeCheck = new vtkActor(); edgeCheck.SetMapper((vtkMapper)pmapper); edgeCheck.AddPosition((double)0.5,(double)2.5,(double)0); cellPicker.Pick((double)87,(double)71,(double)0,(vtkRenderer)ren1); if ((cellPicker.GetCellId()) != -1) { ren1.AddActor((vtkProp)edgeCheck); } triCheck = new vtkActor(); triCheck.SetMapper((vtkMapper)pmapper); triCheck.AddPosition((double)2.5,(double)2.5,(double)0); cellPicker.Pick((double)139,(double)72,(double)0,(vtkRenderer)ren1); if ((cellPicker.GetCellId()) != -1) { ren1.AddActor((vtkProp)triCheck); } quadCheck = new vtkActor(); quadCheck.SetMapper((vtkMapper)pmapper); quadCheck.AddPosition((double)4.5,(double)2.5,(double)0); cellPicker.Pick((double)192,(double)78,(double)0,(vtkRenderer)ren1); if ((cellPicker.GetCellId()) != -1) { ren1.AddActor((vtkProp)quadCheck); } tetCheck = new vtkActor(); tetCheck.SetMapper((vtkMapper)pmapper); tetCheck.AddPosition((double)6.5,(double)2.5,(double)0); cellPicker.Pick((double)233,(double)70,(double)0,(vtkRenderer)ren1); if ((cellPicker.GetCellId()) != -1) { ren1.AddActor((vtkProp)tetCheck); } hexCheck = new vtkActor(); hexCheck.SetMapper((vtkMapper)pmapper); hexCheck.AddPosition((double)8.5,(double)2.5,(double)0); cellPicker.Pick((double)287,(double)80,(double)0,(vtkRenderer)ren1); if ((cellPicker.GetCellId()) != -1) { ren1.AddActor((vtkProp)hexCheck); } wedgeCheck = new vtkActor(); wedgeCheck.SetMapper((vtkMapper)pmapper); wedgeCheck.AddPosition((double)10.5,(double)2.5,(double)0); cellPicker.Pick((double)287,(double)80,(double)0,(vtkRenderer)ren1); if ((cellPicker.GetCellId()) != -1) { ren1.AddActor((vtkProp)wedgeCheck); } pyraCheck = new vtkActor(); pyraCheck.SetMapper((vtkMapper)pmapper); pyraCheck.AddPosition((double)12.5,(double)2.5,(double)0); cellPicker.Pick((double)287,(double)80,(double)0,(vtkRenderer)ren1); if ((cellPicker.GetCellId()) != -1) { ren1.AddActor((vtkProp)pyraCheck); } // render the image[] //[] iren.Initialize(); //deleteAllVTKObjects(); }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVStreamPolyData(String [] argv) { //Prefix Content is: "" NUMBER_OF_PIECES = 5; // Generate implicit model of a sphere[] //[] // Create renderer stuff[] //[] ren1 = vtkRenderer.New(); renWin = vtkRenderWindow.New(); renWin.AddRenderer((vtkRenderer)ren1); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); // create pipeline that handles ghost cells[] sphere = new vtkSphereSource(); sphere.SetRadius((double)3); sphere.SetPhiResolution((int)100); sphere.SetThetaResolution((int)150); // sphere AddObserver StartEvent {tk_messageBox -message "Executing with piece [[sphere GetOutput] GetUpdatePiece]"}[] // Just playing with an alternative that is not currently used.[] //method moved // Just playing with an alternative that is not currently used.[] deci = new vtkDecimatePro(); deci.SetInputConnection((vtkAlgorithmOutput)sphere.GetOutputPort()); // this did not remove seams as I thought it would[] deci.BoundaryVertexDeletionOff(); //deci PreserveTopologyOn[] // Since quadric Clustering does not handle borders properly yet,[] // the pieces will have dramatic "eams"[] q = new vtkQuadricClustering(); q.SetInputConnection((vtkAlgorithmOutput)sphere.GetOutputPort()); q.SetNumberOfXDivisions((int)5); q.SetNumberOfYDivisions((int)5); q.SetNumberOfZDivisions((int)10); q.UseInputPointsOn(); streamer = new vtkPolyDataStreamer(); //streamer SetInputConnection [deci GetOutputPort][] streamer.SetInputConnection((vtkAlgorithmOutput)q.GetOutputPort()); //streamer SetInputConnection [pdn GetOutputPort][] streamer.SetNumberOfStreamDivisions((int)NUMBER_OF_PIECES); mapper = vtkPolyDataMapper.New(); mapper.SetInputConnection((vtkAlgorithmOutput)streamer.GetOutputPort()); mapper.ScalarVisibilityOff(); mapper.SetPiece((int)0); mapper.SetNumberOfPieces((int)2); mapper.ImmediateModeRenderingOn(); actor = new vtkActor(); actor.SetMapper((vtkMapper)mapper); actor.GetProperty().SetColor((double)0.8300, 0.2400, 0.1000); // Add the actors to the renderer, set the background and size[] //[] ren1.GetActiveCamera().SetPosition((double)5, (double)5, (double)10); ren1.GetActiveCamera().SetFocalPoint((double)0, (double)0, (double)0); ren1.AddActor((vtkProp)actor); ren1.SetBackground((double)1, (double)1, (double)1); renWin.SetSize((int)300, (int)300); iren.Initialize(); // render the image[] //[] // prevent the tk window from showing up then start the event loop[] //deleteAllVTKObjects(); }
static void Main(string[] args) { // // Next we create an instance of vtkConeSource and set some of its // properties. The instance of vtkConeSource "cone" is part of a visualization // pipeline (it is a source process object); it produces data (output type is // vtkPolyData) which other filters may process. // vtkConeSource cone = new vtkConeSource(); cone.SetHeight( 3.0f ); cone.SetRadius( 1.0f ); cone.SetResolution( 10 ); // // In this example we terminate the pipeline with a mapper process object. // (Intermediate filters such as vtkShrinkPolyData could be inserted in // between the source and the mapper.) We create an instance of // vtkPolyDataMapper to map the polygonal data into graphics primitives. We // connect the output of the cone souece to the input of this mapper. // vtkPolyDataMapper coneMapper = new vtkPolyDataMapper(); coneMapper.SetInput( cone.GetOutput() ); // // Create an actor to represent the cone. The actor orchestrates rendering of // the mapper's graphics primitives. An actor also refers to properties via a // vtkProperty instance, and includes an internal transformation matrix. We // set this actor's mapper to be coneMapper which we created above. // vtkActor coneActor = new vtkActor(); coneActor.SetMapper( coneMapper ); // // Create the Renderer and assign actors to it. A renderer is like a // viewport. It is part or all of a window on the screen and it is // responsible for drawing the actors it has. We also set the background // color here // vtkRenderer ren1 = new vtkRenderer(); ren1.AddActor( coneActor ); ren1.SetBackground( 0.1f, 0.2f, 0.4f ); // // Finally we create the render window which will show up on the screen // We put our renderer into the render window using AddRenderer. We also // set the size to be 300 pixels by 300 // vtkRenderWindow renWin = new vtkRenderWindow(); renWin.AddRenderer( ren1 ); renWin.SetSize( 300, 300 ); vtkRenderWindowInteractor iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow(renWin); vtkInteractorStyleTrackballCamera style = new vtkInteractorStyleTrackballCamera(); iren.SetInteractorStyle(style); vtkBoxWidget boxWidget = new vtkBoxWidget(); boxWidget.SetInteractor(iren); boxWidget.SetPlaceFactor(1.25f); boxWidget.SetProp3D(coneActor); boxWidget.PlaceWidget(); boxWidget.AddObserver((uint) EventIds.InteractionEvent, new vtkDotNetCallback(myCallback)); boxWidget.On(); iren.Initialize(); iren.Start(); vtkWin32OpenGLRenderWindow win32win = vtkWin32OpenGLRenderWindow.SafeDownCast(renWin); if ( null != win32win ) win32win.Clean(); }
// void SetInteractor(vtkRenderWindowInteractor * iren) // "void SetInteractor(vtkRenderWindowInteractor* iren)" public void SetInteractor(vtkRenderWindowInteractor /*(vtkRenderWindowInteractor*)*/ iren) { VTK_API.API_vtkObserverMediator.SetInteractor_0(this, iren); }
/// <summary> /// The main entry method called by the CSharp driver /// </summary> /// <param name="argv"></param> public static void AVTestCellDerivs(String [] argv) { //Prefix Content is: "" // Demonstrates vtkCellDerivatives for all cell types[] //[] // get the interactor ui[] ren1 = vtkRenderer.New(); renWin = vtkRenderWindow.New(); renWin.AddRenderer((vtkRenderer)ren1); iren = new vtkRenderWindowInteractor(); iren.SetRenderWindow((vtkRenderWindow)renWin); // create a scene with one of each cell type[] // Voxel[] voxelPoints = new vtkPoints(); voxelPoints.SetNumberOfPoints((int)8); voxelPoints.InsertPoint((int)0,(double)0,(double)0,(double)0); voxelPoints.InsertPoint((int)1,(double)1,(double)0,(double)0); voxelPoints.InsertPoint((int)2,(double)0,(double)1,(double)0); voxelPoints.InsertPoint((int)3,(double)1,(double)1,(double)0); voxelPoints.InsertPoint((int)4,(double)0,(double)0,(double)1); voxelPoints.InsertPoint((int)5,(double)1,(double)0,(double)1); voxelPoints.InsertPoint((int)6,(double)0,(double)1,(double)1); voxelPoints.InsertPoint((int)7,(double)1,(double)1,(double)1); aVoxel = new vtkVoxel(); aVoxel.GetPointIds().SetId((int)0,(int)0); aVoxel.GetPointIds().SetId((int)1,(int)1); aVoxel.GetPointIds().SetId((int)2,(int)2); aVoxel.GetPointIds().SetId((int)3,(int)3); aVoxel.GetPointIds().SetId((int)4,(int)4); aVoxel.GetPointIds().SetId((int)5,(int)5); aVoxel.GetPointIds().SetId((int)6,(int)6); aVoxel.GetPointIds().SetId((int)7,(int)7); aVoxelGrid = new vtkUnstructuredGrid(); aVoxelGrid.Allocate((int)1,(int)1); aVoxelGrid.InsertNextCell((int)aVoxel.GetCellType(),(vtkIdList)aVoxel.GetPointIds()); aVoxelGrid.SetPoints((vtkPoints)voxelPoints); aVoxelMapper = new vtkDataSetMapper(); aVoxelMapper.SetInput((vtkDataSet)aVoxelGrid); aVoxelActor = new vtkActor(); aVoxelActor.SetMapper((vtkMapper)aVoxelMapper); aVoxelActor.GetProperty().BackfaceCullingOn(); // Hexahedron[] hexahedronPoints = new vtkPoints(); hexahedronPoints.SetNumberOfPoints((int)8); hexahedronPoints.InsertPoint((int)0,(double)0,(double)0,(double)0); hexahedronPoints.InsertPoint((int)1,(double)1,(double)0,(double)0); hexahedronPoints.InsertPoint((int)2,(double)1,(double)1,(double)0); hexahedronPoints.InsertPoint((int)3,(double)0,(double)1,(double)0); hexahedronPoints.InsertPoint((int)4,(double)0,(double)0,(double)1); hexahedronPoints.InsertPoint((int)5,(double)1,(double)0,(double)1); hexahedronPoints.InsertPoint((int)6,(double)1,(double)1,(double)1); hexahedronPoints.InsertPoint((int)7,(double)0,(double)1,(double)1); aHexahedron = new vtkHexahedron(); aHexahedron.GetPointIds().SetId((int)0,(int)0); aHexahedron.GetPointIds().SetId((int)1,(int)1); aHexahedron.GetPointIds().SetId((int)2,(int)2); aHexahedron.GetPointIds().SetId((int)3,(int)3); aHexahedron.GetPointIds().SetId((int)4,(int)4); aHexahedron.GetPointIds().SetId((int)5,(int)5); aHexahedron.GetPointIds().SetId((int)6,(int)6); aHexahedron.GetPointIds().SetId((int)7,(int)7); aHexahedronGrid = new vtkUnstructuredGrid(); aHexahedronGrid.Allocate((int)1,(int)1); aHexahedronGrid.InsertNextCell((int)aHexahedron.GetCellType(),(vtkIdList)aHexahedron.GetPointIds()); aHexahedronGrid.SetPoints((vtkPoints)hexahedronPoints); aHexahedronMapper = new vtkDataSetMapper(); aHexahedronMapper.SetInput((vtkDataSet)aHexahedronGrid); aHexahedronActor = new vtkActor(); aHexahedronActor.SetMapper((vtkMapper)aHexahedronMapper); aHexahedronActor.AddPosition((double)2,(double)0,(double)0); aHexahedronActor.GetProperty().BackfaceCullingOn(); // Tetra[] tetraPoints = new vtkPoints(); tetraPoints.SetNumberOfPoints((int)4); tetraPoints.InsertPoint((int)0,(double)0,(double)0,(double)0); tetraPoints.InsertPoint((int)1,(double)1,(double)0,(double)0); tetraPoints.InsertPoint((int)2,(double)0,(double)1,(double)0); tetraPoints.InsertPoint((int)3,(double)1,(double)1,(double)1); aTetra = new vtkTetra(); aTetra.GetPointIds().SetId((int)0,(int)0); aTetra.GetPointIds().SetId((int)1,(int)1); aTetra.GetPointIds().SetId((int)2,(int)2); aTetra.GetPointIds().SetId((int)3,(int)3); aTetraGrid = new vtkUnstructuredGrid(); aTetraGrid.Allocate((int)1,(int)1); aTetraGrid.InsertNextCell((int)aTetra.GetCellType(),(vtkIdList)aTetra.GetPointIds()); aTetraGrid.SetPoints((vtkPoints)tetraPoints); aTetraMapper = new vtkDataSetMapper(); aTetraMapper.SetInput((vtkDataSet)aTetraGrid); aTetraActor = new vtkActor(); aTetraActor.SetMapper((vtkMapper)aTetraMapper); aTetraActor.AddPosition((double)4,(double)0,(double)0); aTetraActor.GetProperty().BackfaceCullingOn(); // Wedge[] wedgePoints = new vtkPoints(); wedgePoints.SetNumberOfPoints((int)6); wedgePoints.InsertPoint((int)0,(double)0,(double)1,(double)0); wedgePoints.InsertPoint((int)1,(double)0,(double)0,(double)0); wedgePoints.InsertPoint((int)2,(double)0,(double).5,(double).5); wedgePoints.InsertPoint((int)3,(double)1,(double)1,(double)0); wedgePoints.InsertPoint((int)4,(double)1,(double)0,(double)0); wedgePoints.InsertPoint((int)5,(double)1,(double).5,(double).5); aWedge = new vtkWedge(); aWedge.GetPointIds().SetId((int)0,(int)0); aWedge.GetPointIds().SetId((int)1,(int)1); aWedge.GetPointIds().SetId((int)2,(int)2); aWedge.GetPointIds().SetId((int)3,(int)3); aWedge.GetPointIds().SetId((int)4,(int)4); aWedge.GetPointIds().SetId((int)5,(int)5); aWedgeGrid = new vtkUnstructuredGrid(); aWedgeGrid.Allocate((int)1,(int)1); aWedgeGrid.InsertNextCell((int)aWedge.GetCellType(),(vtkIdList)aWedge.GetPointIds()); aWedgeGrid.SetPoints((vtkPoints)wedgePoints); aWedgeMapper = new vtkDataSetMapper(); aWedgeMapper.SetInput((vtkDataSet)aWedgeGrid); aWedgeActor = new vtkActor(); aWedgeActor.SetMapper((vtkMapper)aWedgeMapper); aWedgeActor.AddPosition((double)6,(double)0,(double)0); aWedgeActor.GetProperty().BackfaceCullingOn(); // Pyramid[] pyramidPoints = new vtkPoints(); pyramidPoints.SetNumberOfPoints((int)5); pyramidPoints.InsertPoint((int)0,(double)0,(double)0,(double)0); pyramidPoints.InsertPoint((int)1,(double)1,(double)0,(double)0); pyramidPoints.InsertPoint((int)2,(double)1,(double)1,(double)0); pyramidPoints.InsertPoint((int)3,(double)0,(double)1,(double)0); pyramidPoints.InsertPoint((int)4,(double).5,(double).5,(double)1); aPyramid = new vtkPyramid(); aPyramid.GetPointIds().SetId((int)0,(int)0); aPyramid.GetPointIds().SetId((int)1,(int)1); aPyramid.GetPointIds().SetId((int)2,(int)2); aPyramid.GetPointIds().SetId((int)3,(int)3); aPyramid.GetPointIds().SetId((int)4,(int)4); aPyramidGrid = new vtkUnstructuredGrid(); aPyramidGrid.Allocate((int)1,(int)1); aPyramidGrid.InsertNextCell((int)aPyramid.GetCellType(),(vtkIdList)aPyramid.GetPointIds()); aPyramidGrid.SetPoints((vtkPoints)pyramidPoints); aPyramidMapper = new vtkDataSetMapper(); aPyramidMapper.SetInput((vtkDataSet)aPyramidGrid); aPyramidActor = new vtkActor(); aPyramidActor.SetMapper((vtkMapper)aPyramidMapper); aPyramidActor.AddPosition((double)8,(double)0,(double)0); aPyramidActor.GetProperty().BackfaceCullingOn(); // Pixel[] pixelPoints = new vtkPoints(); pixelPoints.SetNumberOfPoints((int)4); pixelPoints.InsertPoint((int)0,(double)0,(double)0,(double)0); pixelPoints.InsertPoint((int)1,(double)1,(double)0,(double)0); pixelPoints.InsertPoint((int)2,(double)0,(double)1,(double)0); pixelPoints.InsertPoint((int)3,(double)1,(double)1,(double)0); aPixel = new vtkPixel(); aPixel.GetPointIds().SetId((int)0,(int)0); aPixel.GetPointIds().SetId((int)1,(int)1); aPixel.GetPointIds().SetId((int)2,(int)2); aPixel.GetPointIds().SetId((int)3,(int)3); aPixelGrid = new vtkUnstructuredGrid(); aPixelGrid.Allocate((int)1,(int)1); aPixelGrid.InsertNextCell((int)aPixel.GetCellType(),(vtkIdList)aPixel.GetPointIds()); aPixelGrid.SetPoints((vtkPoints)pixelPoints); aPixelMapper = new vtkDataSetMapper(); aPixelMapper.SetInput((vtkDataSet)aPixelGrid); aPixelActor = new vtkActor(); aPixelActor.SetMapper((vtkMapper)aPixelMapper); aPixelActor.AddPosition((double)0,(double)0,(double)2); aPixelActor.GetProperty().BackfaceCullingOn(); // Quad[] quadPoints = new vtkPoints(); quadPoints.SetNumberOfPoints((int)4); quadPoints.InsertPoint((int)0,(double)0,(double)0,(double)0); quadPoints.InsertPoint((int)1,(double)1,(double)0,(double)0); quadPoints.InsertPoint((int)2,(double)1,(double)1,(double)0); quadPoints.InsertPoint((int)3,(double)0,(double)1,(double)0); aQuad = new vtkQuad(); aQuad.GetPointIds().SetId((int)0,(int)0); aQuad.GetPointIds().SetId((int)1,(int)1); aQuad.GetPointIds().SetId((int)2,(int)2); aQuad.GetPointIds().SetId((int)3,(int)3); aQuadGrid = new vtkUnstructuredGrid(); aQuadGrid.Allocate((int)1,(int)1); aQuadGrid.InsertNextCell((int)aQuad.GetCellType(),(vtkIdList)aQuad.GetPointIds()); aQuadGrid.SetPoints((vtkPoints)quadPoints); aQuadMapper = new vtkDataSetMapper(); aQuadMapper.SetInput((vtkDataSet)aQuadGrid); aQuadActor = new vtkActor(); aQuadActor.SetMapper((vtkMapper)aQuadMapper); aQuadActor.AddPosition((double)2,(double)0,(double)2); aQuadActor.GetProperty().BackfaceCullingOn(); // Triangle[] trianglePoints = new vtkPoints(); trianglePoints.SetNumberOfPoints((int)3); trianglePoints.InsertPoint((int)0,(double)0,(double)0,(double)0); trianglePoints.InsertPoint((int)1,(double)1,(double)0,(double)0); trianglePoints.InsertPoint((int)2,(double).5,(double).5,(double)0); triangleTCoords = new vtkFloatArray(); triangleTCoords.SetNumberOfComponents((int)2); triangleTCoords.SetNumberOfTuples((int)3); triangleTCoords.InsertTuple2((int)0,(double)1,(double)1); triangleTCoords.InsertTuple2((int)1,(double)2,(double)2); triangleTCoords.InsertTuple2((int)2,(double)3,(double)3); aTriangle = new vtkTriangle(); aTriangle.GetPointIds().SetId((int)0,(int)0); aTriangle.GetPointIds().SetId((int)1,(int)1); aTriangle.GetPointIds().SetId((int)2,(int)2); aTriangleGrid = new vtkUnstructuredGrid(); aTriangleGrid.Allocate((int)1,(int)1); aTriangleGrid.InsertNextCell((int)aTriangle.GetCellType(),(vtkIdList)aTriangle.GetPointIds()); aTriangleGrid.SetPoints((vtkPoints)trianglePoints); aTriangleGrid.GetPointData().SetTCoords((vtkDataArray)triangleTCoords); aTriangleMapper = new vtkDataSetMapper(); aTriangleMapper.SetInput((vtkDataSet)aTriangleGrid); aTriangleActor = new vtkActor(); aTriangleActor.SetMapper((vtkMapper)aTriangleMapper); aTriangleActor.AddPosition((double)4,(double)0,(double)2); aTriangleActor.GetProperty().BackfaceCullingOn(); // Polygon[] polygonPoints = new vtkPoints(); polygonPoints.SetNumberOfPoints((int)4); polygonPoints.InsertPoint((int)0,(double)0,(double)0,(double)0); polygonPoints.InsertPoint((int)1,(double)1,(double)0,(double)0); polygonPoints.InsertPoint((int)2,(double)1,(double)1,(double)0); polygonPoints.InsertPoint((int)3,(double)0,(double)1,(double)0); aPolygon = new vtkPolygon(); aPolygon.GetPointIds().SetNumberOfIds((int)4); aPolygon.GetPointIds().SetId((int)0,(int)0); aPolygon.GetPointIds().SetId((int)1,(int)1); aPolygon.GetPointIds().SetId((int)2,(int)2); aPolygon.GetPointIds().SetId((int)3,(int)3); aPolygonGrid = new vtkUnstructuredGrid(); aPolygonGrid.Allocate((int)1,(int)1); aPolygonGrid.InsertNextCell((int)aPolygon.GetCellType(),(vtkIdList)aPolygon.GetPointIds()); aPolygonGrid.SetPoints((vtkPoints)polygonPoints); aPolygonMapper = new vtkDataSetMapper(); aPolygonMapper.SetInput((vtkDataSet)aPolygonGrid); aPolygonActor = new vtkActor(); aPolygonActor.SetMapper((vtkMapper)aPolygonMapper); aPolygonActor.AddPosition((double)6,(double)0,(double)2); aPolygonActor.GetProperty().BackfaceCullingOn(); // Triangle strip[] triangleStripPoints = new vtkPoints(); triangleStripPoints.SetNumberOfPoints((int)5); triangleStripPoints.InsertPoint((int)0,(double)0,(double)1,(double)0); triangleStripPoints.InsertPoint((int)1,(double)0,(double)0,(double)0); triangleStripPoints.InsertPoint((int)2,(double)1,(double)1,(double)0); triangleStripPoints.InsertPoint((int)3,(double)1,(double)0,(double)0); triangleStripPoints.InsertPoint((int)4,(double)2,(double)1,(double)0); triangleStripTCoords = new vtkFloatArray(); triangleStripTCoords.SetNumberOfComponents((int)2); triangleStripTCoords.SetNumberOfTuples((int)3); triangleStripTCoords.InsertTuple2((int)0,(double)1,(double)1); triangleStripTCoords.InsertTuple2((int)1,(double)2,(double)2); triangleStripTCoords.InsertTuple2((int)2,(double)3,(double)3); triangleStripTCoords.InsertTuple2((int)3,(double)4,(double)4); triangleStripTCoords.InsertTuple2((int)4,(double)5,(double)5); aTriangleStrip = new vtkTriangleStrip(); aTriangleStrip.GetPointIds().SetNumberOfIds((int)5); aTriangleStrip.GetPointIds().SetId((int)0,(int)0); aTriangleStrip.GetPointIds().SetId((int)1,(int)1); aTriangleStrip.GetPointIds().SetId((int)2,(int)2); aTriangleStrip.GetPointIds().SetId((int)3,(int)3); aTriangleStrip.GetPointIds().SetId((int)4,(int)4); aTriangleStripGrid = new vtkUnstructuredGrid(); aTriangleStripGrid.Allocate((int)1,(int)1); aTriangleStripGrid.InsertNextCell((int)aTriangleStrip.GetCellType(),(vtkIdList)aTriangleStrip.GetPointIds()); aTriangleStripGrid.SetPoints((vtkPoints)triangleStripPoints); aTriangleStripGrid.GetPointData().SetTCoords((vtkDataArray)triangleStripTCoords); aTriangleStripMapper = new vtkDataSetMapper(); aTriangleStripMapper.SetInput((vtkDataSet)aTriangleStripGrid); aTriangleStripActor = new vtkActor(); aTriangleStripActor.SetMapper((vtkMapper)aTriangleStripMapper); aTriangleStripActor.AddPosition((double)8,(double)0,(double)2); aTriangleStripActor.GetProperty().BackfaceCullingOn(); // Line[] linePoints = new vtkPoints(); linePoints.SetNumberOfPoints((int)2); linePoints.InsertPoint((int)0,(double)0,(double)0,(double)0); linePoints.InsertPoint((int)1,(double)1,(double)1,(double)0); aLine = new vtkLine(); aLine.GetPointIds().SetId((int)0,(int)0); aLine.GetPointIds().SetId((int)1,(int)1); aLineGrid = new vtkUnstructuredGrid(); aLineGrid.Allocate((int)1,(int)1); aLineGrid.InsertNextCell((int)aLine.GetCellType(),(vtkIdList)aLine.GetPointIds()); aLineGrid.SetPoints((vtkPoints)linePoints); aLineMapper = new vtkDataSetMapper(); aLineMapper.SetInput((vtkDataSet)aLineGrid); aLineActor = new vtkActor(); aLineActor.SetMapper((vtkMapper)aLineMapper); aLineActor.AddPosition((double)0,(double)0,(double)4); aLineActor.GetProperty().BackfaceCullingOn(); // Polyline[] polyLinePoints = new vtkPoints(); polyLinePoints.SetNumberOfPoints((int)3); polyLinePoints.InsertPoint((int)0,(double)0,(double)0,(double)0); polyLinePoints.InsertPoint((int)1,(double)1,(double)1,(double)0); polyLinePoints.InsertPoint((int)2,(double)1,(double)0,(double)0); aPolyLine = new vtkPolyLine(); aPolyLine.GetPointIds().SetNumberOfIds((int)3); aPolyLine.GetPointIds().SetId((int)0,(int)0); aPolyLine.GetPointIds().SetId((int)1,(int)1); aPolyLine.GetPointIds().SetId((int)2,(int)2); aPolyLineGrid = new vtkUnstructuredGrid(); aPolyLineGrid.Allocate((int)1,(int)1); aPolyLineGrid.InsertNextCell((int)aPolyLine.GetCellType(),(vtkIdList)aPolyLine.GetPointIds()); aPolyLineGrid.SetPoints((vtkPoints)polyLinePoints); aPolyLineMapper = new vtkDataSetMapper(); aPolyLineMapper.SetInput((vtkDataSet)aPolyLineGrid); aPolyLineActor = new vtkActor(); aPolyLineActor.SetMapper((vtkMapper)aPolyLineMapper); aPolyLineActor.AddPosition((double)2,(double)0,(double)4); aPolyLineActor.GetProperty().BackfaceCullingOn(); // Vertex[] vertexPoints = new vtkPoints(); vertexPoints.SetNumberOfPoints((int)1); vertexPoints.InsertPoint((int)0,(double)0,(double)0,(double)0); aVertex = new vtkVertex(); aVertex.GetPointIds().SetId((int)0,(int)0); aVertexGrid = new vtkUnstructuredGrid(); aVertexGrid.Allocate((int)1,(int)1); aVertexGrid.InsertNextCell((int)aVertex.GetCellType(),(vtkIdList)aVertex.GetPointIds()); aVertexGrid.SetPoints((vtkPoints)vertexPoints); aVertexMapper = new vtkDataSetMapper(); aVertexMapper.SetInput((vtkDataSet)aVertexGrid); aVertexActor = new vtkActor(); aVertexActor.SetMapper((vtkMapper)aVertexMapper); aVertexActor.AddPosition((double)0,(double)0,(double)6); aVertexActor.GetProperty().BackfaceCullingOn(); // Polyvertex[] polyVertexPoints = new vtkPoints(); polyVertexPoints.SetNumberOfPoints((int)3); polyVertexPoints.InsertPoint((int)0,(double)0,(double)0,(double)0); polyVertexPoints.InsertPoint((int)1,(double)1,(double)0,(double)0); polyVertexPoints.InsertPoint((int)2,(double)1,(double)1,(double)0); aPolyVertex = new vtkPolyVertex(); aPolyVertex.GetPointIds().SetNumberOfIds((int)3); aPolyVertex.GetPointIds().SetId((int)0,(int)0); aPolyVertex.GetPointIds().SetId((int)1,(int)1); aPolyVertex.GetPointIds().SetId((int)2,(int)2); aPolyVertexGrid = new vtkUnstructuredGrid(); aPolyVertexGrid.Allocate((int)1,(int)1); aPolyVertexGrid.InsertNextCell((int)aPolyVertex.GetCellType(),(vtkIdList)aPolyVertex.GetPointIds()); aPolyVertexGrid.SetPoints((vtkPoints)polyVertexPoints); aPolyVertexMapper = new vtkDataSetMapper(); aPolyVertexMapper.SetInput((vtkDataSet)aPolyVertexGrid); aPolyVertexActor = new vtkActor(); aPolyVertexActor.SetMapper((vtkMapper)aPolyVertexMapper); aPolyVertexActor.AddPosition((double)2,(double)0,(double)6); aPolyVertexActor.GetProperty().BackfaceCullingOn(); // Pentagonal prism[] pentaPoints = new vtkPoints(); pentaPoints.SetNumberOfPoints((int)10); pentaPoints.InsertPoint((int)0,(double)0.25,(double)0.0,(double)0.0); pentaPoints.InsertPoint((int)1,(double)0.75,(double)0.0,(double)0.0); pentaPoints.InsertPoint((int)2,(double)1.0,(double)0.5,(double)0.0); pentaPoints.InsertPoint((int)3,(double)0.5,(double)1.0,(double)0.0); pentaPoints.InsertPoint((int)4,(double)0.0,(double)0.5,(double)0.0); pentaPoints.InsertPoint((int)5,(double)0.25,(double)0.0,(double)1.0); pentaPoints.InsertPoint((int)6,(double)0.75,(double)0.0,(double)1.0); pentaPoints.InsertPoint((int)7,(double)1.0,(double)0.5,(double)1.0); pentaPoints.InsertPoint((int)8,(double)0.5,(double)1.0,(double)1.0); pentaPoints.InsertPoint((int)9,(double)0.0,(double)0.5,(double)1.0); aPenta = new vtkPentagonalPrism(); aPenta.GetPointIds().SetId((int)0,(int)0); aPenta.GetPointIds().SetId((int)1,(int)1); aPenta.GetPointIds().SetId((int)2,(int)2); aPenta.GetPointIds().SetId((int)3,(int)3); aPenta.GetPointIds().SetId((int)4,(int)4); aPenta.GetPointIds().SetId((int)5,(int)5); aPenta.GetPointIds().SetId((int)6,(int)6); aPenta.GetPointIds().SetId((int)7,(int)7); aPenta.GetPointIds().SetId((int)8,(int)8); aPenta.GetPointIds().SetId((int)9,(int)9); aPentaGrid = new vtkUnstructuredGrid(); aPentaGrid.Allocate((int)1,(int)1); aPentaGrid.InsertNextCell((int)aPenta.GetCellType(),(vtkIdList)aPenta.GetPointIds()); aPentaGrid.SetPoints((vtkPoints)pentaPoints); aPentaMapper = new vtkDataSetMapper(); aPentaMapper.SetInput((vtkDataSet)aPentaGrid); aPentaActor = new vtkActor(); aPentaActor.SetMapper((vtkMapper)aPentaMapper); aPentaActor.AddPosition((double)10,(double)0,(double)0); aPentaActor.GetProperty().BackfaceCullingOn(); // Hexagonal prism[] hexaPoints = new vtkPoints(); hexaPoints.SetNumberOfPoints((int)12); hexaPoints.InsertPoint((int)0,(double)0.0,(double)0.0,(double)0.0); hexaPoints.InsertPoint((int)1,(double)0.5,(double)0.0,(double)0.0); hexaPoints.InsertPoint((int)2,(double)1.0,(double)0.5,(double)0.0); hexaPoints.InsertPoint((int)3,(double)1.0,(double)1.0,(double)0.0); hexaPoints.InsertPoint((int)4,(double)0.5,(double)1.0,(double)0.0); hexaPoints.InsertPoint((int)5,(double)0.0,(double)0.5,(double)0.0); hexaPoints.InsertPoint((int)6,(double)0.0,(double)0.0,(double)1.0); hexaPoints.InsertPoint((int)7,(double)0.5,(double)0.0,(double)1.0); hexaPoints.InsertPoint((int)8,(double)1.0,(double)0.5,(double)1.0); hexaPoints.InsertPoint((int)9,(double)1.0,(double)1.0,(double)1.0); hexaPoints.InsertPoint((int)10,(double)0.5,(double)1.0,(double)1.0); hexaPoints.InsertPoint((int)11,(double)0.0,(double)0.5,(double)1.0); aHexa = new vtkHexagonalPrism(); aHexa.GetPointIds().SetId((int)0,(int)0); aHexa.GetPointIds().SetId((int)1,(int)1); aHexa.GetPointIds().SetId((int)2,(int)2); aHexa.GetPointIds().SetId((int)3,(int)3); aHexa.GetPointIds().SetId((int)4,(int)4); aHexa.GetPointIds().SetId((int)5,(int)5); aHexa.GetPointIds().SetId((int)6,(int)6); aHexa.GetPointIds().SetId((int)7,(int)7); aHexa.GetPointIds().SetId((int)8,(int)8); aHexa.GetPointIds().SetId((int)9,(int)9); aHexa.GetPointIds().SetId((int)10,(int)10); aHexa.GetPointIds().SetId((int)11,(int)11); aHexaGrid = new vtkUnstructuredGrid(); aHexaGrid.Allocate((int)1,(int)1); aHexaGrid.InsertNextCell((int)aHexa.GetCellType(),(vtkIdList)aHexa.GetPointIds()); aHexaGrid.SetPoints((vtkPoints)hexaPoints); aHexaMapper = new vtkDataSetMapper(); aHexaMapper.SetInput((vtkDataSet)aHexaGrid); aHexaActor = new vtkActor(); aHexaActor.SetMapper((vtkMapper)aHexaMapper); aHexaActor.AddPosition((double)12,(double)0,(double)0); aHexaActor.GetProperty().BackfaceCullingOn(); ren1.SetBackground((double)1,(double)1,(double)1); ren1.AddActor((vtkProp)aVoxelActor); aVoxelActor.GetProperty().SetDiffuseColor((double)1,(double)0,(double)0); ren1.AddActor((vtkProp)aHexahedronActor); aHexahedronActor.GetProperty().SetDiffuseColor((double)1,(double)1,(double)0); ren1.AddActor((vtkProp)aTetraActor); aTetraActor.GetProperty().SetDiffuseColor((double)0,(double)1,(double)0); ren1.AddActor((vtkProp)aWedgeActor); aWedgeActor.GetProperty().SetDiffuseColor((double)0,(double)1,(double)1); ren1.AddActor((vtkProp)aPyramidActor); aPyramidActor.GetProperty().SetDiffuseColor((double)1,(double)0,(double)1); ren1.AddActor((vtkProp)aPixelActor); aPixelActor.GetProperty().SetDiffuseColor((double)0,(double)1,(double)1); ren1.AddActor((vtkProp)aQuadActor); aQuadActor.GetProperty().SetDiffuseColor((double)1,(double)0,(double)1); ren1.AddActor((vtkProp)aTriangleActor); aTriangleActor.GetProperty().SetDiffuseColor((double).3,(double)1,(double).5); ren1.AddActor((vtkProp)aPolygonActor); aPolygonActor.GetProperty().SetDiffuseColor((double)1,(double).4,(double).5); ren1.AddActor((vtkProp)aTriangleStripActor); aTriangleStripActor.GetProperty().SetDiffuseColor((double).3,(double).7,(double)1); ren1.AddActor((vtkProp)aLineActor); aLineActor.GetProperty().SetDiffuseColor((double).2,(double)1,(double)1); ren1.AddActor((vtkProp)aPolyLineActor); aPolyLineActor.GetProperty().SetDiffuseColor((double)1,(double)1,(double)1); ren1.AddActor((vtkProp)aVertexActor); aVertexActor.GetProperty().SetDiffuseColor((double)1,(double)1,(double)1); ren1.AddActor((vtkProp)aPolyVertexActor); aPolyVertexActor.GetProperty().SetDiffuseColor((double)1,(double)1,(double)1); ren1.AddActor((vtkProp)aPentaActor); aPentaActor.GetProperty().SetDiffuseColor((double)1,(double)1,(double)0); ren1.AddActor((vtkProp)aHexaActor); aHexaActor.GetProperty().SetDiffuseColor((double)1,(double)1,(double)0); //[] // get the cell center of each type and put a glyph there[] //[] ball = new vtkSphereSource(); ball.SetRadius((double).2); bool tryWorked = false; aVoxelScalars = new vtkFloatArray(); N = aVoxelGrid.GetNumberOfPoints(); aVoxelScalar = new vtkFloatArray(); aVoxelScalar.SetNumberOfTuples((int)N); aVoxelScalar.SetNumberOfComponents(1); i = 0; while((i) < N) { aVoxelScalar.SetValue(i,0); i = i + 1; } aVoxelScalar.SetValue(0,4); aVoxelGrid.GetPointData().SetScalars(aVoxelScalar); aHexahedronScalars = new vtkFloatArray(); N = aHexahedronGrid.GetNumberOfPoints(); aHexahedronScalar = new vtkFloatArray(); aHexahedronScalar.SetNumberOfTuples((int)N); aHexahedronScalar.SetNumberOfComponents(1); i = 0; while((i) < N) { aHexahedronScalar.SetValue(i,0); i = i + 1; } aHexahedronScalar.SetValue(0,4); aHexahedronGrid.GetPointData().SetScalars(aHexahedronScalar); aWedgeScalars = new vtkFloatArray(); N = aWedgeGrid.GetNumberOfPoints(); aWedgeScalar = new vtkFloatArray(); aWedgeScalar.SetNumberOfTuples((int)N); aWedgeScalar.SetNumberOfComponents(1); i = 0; while((i) < N) { aWedgeScalar.SetValue(i,0); i = i + 1; } aWedgeScalar.SetValue(0,4); aWedgeGrid.GetPointData().SetScalars(aWedgeScalar); aPyramidScalars = new vtkFloatArray(); N = aPyramidGrid.GetNumberOfPoints(); aPyramidScalar = new vtkFloatArray(); aPyramidScalar.SetNumberOfTuples((int)N); aPyramidScalar.SetNumberOfComponents(1); i = 0; while((i) < N) { aPyramidScalar.SetValue(i,0); i = i + 1; } aPyramidScalar.SetValue(0,4); aPyramidGrid.GetPointData().SetScalars(aPyramidScalar); aTetraScalars = new vtkFloatArray(); N = aTetraGrid.GetNumberOfPoints(); aTetraScalar = new vtkFloatArray(); aTetraScalar.SetNumberOfTuples((int)N); aTetraScalar.SetNumberOfComponents(1); i = 0; while((i) < N) { aTetraScalar.SetValue(i,0); i = i + 1; } aTetraScalar.SetValue(0,4); aTetraGrid.GetPointData().SetScalars(aTetraScalar); aQuadScalars = new vtkFloatArray(); N = aQuadGrid.GetNumberOfPoints(); aQuadScalar = new vtkFloatArray(); aQuadScalar.SetNumberOfTuples((int)N); aQuadScalar.SetNumberOfComponents(1); i = 0; while((i) < N) { aQuadScalar.SetValue(i,0); i = i + 1; } aQuadScalar.SetValue(0,4); aQuadGrid.GetPointData().SetScalars(aQuadScalar); aTriangleScalars = new vtkFloatArray(); N = aTriangleGrid.GetNumberOfPoints(); aTriangleScalar = new vtkFloatArray(); aTriangleScalar.SetNumberOfTuples((int)N); aTriangleScalar.SetNumberOfComponents(1); i = 0; while((i) < N) { aTriangleScalar.SetValue(i,0); i = i + 1; } aTriangleScalar.SetValue(0,4); aTriangleGrid.GetPointData().SetScalars(aTriangleScalar); aTriangleStripScalars = new vtkFloatArray(); N = aTriangleStripGrid.GetNumberOfPoints(); aTriangleStripScalar = new vtkFloatArray(); aTriangleStripScalar.SetNumberOfTuples((int)N); aTriangleStripScalar.SetNumberOfComponents(1); i = 0; while((i) < N) { aTriangleStripScalar.SetValue(i,0); i = i + 1; } aTriangleStripScalar.SetValue(0,4); aTriangleStripGrid.GetPointData().SetScalars(aTriangleStripScalar); aLineScalars = new vtkFloatArray(); N = aLineGrid.GetNumberOfPoints(); aLineScalar = new vtkFloatArray(); aLineScalar.SetNumberOfTuples((int)N); aLineScalar.SetNumberOfComponents(1); i = 0; while((i) < N) { aLineScalar.SetValue(i,0); i = i + 1; } aLineScalar.SetValue(0,4); aLineGrid.GetPointData().SetScalars(aLineScalar); aPolyLineScalars = new vtkFloatArray(); N = aPolyLineGrid.GetNumberOfPoints(); aPolyLineScalar = new vtkFloatArray(); aPolyLineScalar.SetNumberOfTuples((int)N); aPolyLineScalar.SetNumberOfComponents(1); i = 0; while((i) < N) { aPolyLineScalar.SetValue(i,0); i = i + 1; } aPolyLineScalar.SetValue(0,4); aPolyLineGrid.GetPointData().SetScalars(aPolyLineScalar); aVertexScalars = new vtkFloatArray(); N = aVertexGrid.GetNumberOfPoints(); aVertexScalar = new vtkFloatArray(); aVertexScalar.SetNumberOfTuples((int)N); aVertexScalar.SetNumberOfComponents(1); i = 0; while((i) < N) { aVertexScalar.SetValue(i,0); i = i + 1; } aVertexScalar.SetValue(0,4); aVertexGrid.GetPointData().SetScalars(aVertexScalar); aPolyVertexScalars = new vtkFloatArray(); N = aPolyVertexGrid.GetNumberOfPoints(); aPolyVertexScalar = new vtkFloatArray(); aPolyVertexScalar.SetNumberOfTuples((int)N); aPolyVertexScalar.SetNumberOfComponents(1); i = 0; while((i) < N) { aPolyVertexScalar.SetValue(i,0); i = i + 1; } aPolyVertexScalar.SetValue(0,4); aPolyVertexGrid.GetPointData().SetScalars(aPolyVertexScalar); aPixelScalars = new vtkFloatArray(); N = aPixelGrid.GetNumberOfPoints(); aPixelScalar = new vtkFloatArray(); aPixelScalar.SetNumberOfTuples((int)N); aPixelScalar.SetNumberOfComponents(1); i = 0; while((i) < N) { aPixelScalar.SetValue(i,0); i = i + 1; } aPixelScalar.SetValue(0,4); aPixelGrid.GetPointData().SetScalars(aPixelScalar); aPolygonScalars = new vtkFloatArray(); N = aPolygonGrid.GetNumberOfPoints(); aPolygonScalar = new vtkFloatArray(); aPolygonScalar.SetNumberOfTuples((int)N); aPolygonScalar.SetNumberOfComponents(1); i = 0; while((i) < N) { aPolygonScalar.SetValue(i,0); i = i + 1; } aPolygonScalar.SetValue(0,4); aPolygonGrid.GetPointData().SetScalars(aPolygonScalar); aPentaScalars = new vtkFloatArray(); N = aPentaGrid.GetNumberOfPoints(); aPentaScalar = new vtkFloatArray(); aPentaScalar.SetNumberOfTuples((int)N); aPentaScalar.SetNumberOfComponents(1); i = 0; while((i) < N) { aPentaScalar.SetValue(i,0); i = i + 1; } aPentaScalar.SetValue(0,4); aPentaGrid.GetPointData().SetScalars(aPentaScalar); aHexaScalars = new vtkFloatArray(); N = aHexaGrid.GetNumberOfPoints(); aHexaScalar = new vtkFloatArray(); aHexaScalar.SetNumberOfTuples((int)N); aHexaScalar.SetNumberOfComponents(1); i = 0; while((i) < N) { aHexaScalar.SetValue(i,0); i = i + 1; } aHexaScalar.SetValue(0,4); aHexaGrid.GetPointData().SetScalars(aHexaScalar); // write to the temp directory if possible, otherwise use .[] dir = "."; dir = TclToCsScriptTestDriver.GetTempDirectory(); aVoxelderivs = new vtkCellDerivatives(); aVoxelderivs.SetInput(aVoxelGrid); aVoxelderivs.SetVectorModeToComputeGradient(); FileName = dir; FileName += "/aVoxel"; FileName += ".vtk"; // make sure the directory is writeable first[] tryWorked = false; try { channel = new StreamWriter("" + (dir.ToString()) + "/test.tmp"); tryWorked = true; } catch(Exception) { tryWorked = false; } if(tryWorked) { channel.Close(); File.Delete("" + (dir.ToString()) + "/test.tmp"); aVoxelWriter = new vtkUnstructuredGridWriter(); aVoxelWriter.SetInputConnection(aVoxelderivs.GetOutputPort()); aVoxelWriter.SetFileName(FileName); aVoxelWriter.Write(); // delete the file[] File.Delete("FileName"); } aVoxelCenters = new vtkCellCenters(); aVoxelCenters.SetInputConnection(aVoxelderivs.GetOutputPort()); aVoxelCenters.VertexCellsOn(); aVoxelhog = new vtkHedgeHog(); aVoxelhog.SetInputConnection(aVoxelCenters.GetOutputPort()); aVoxelmapHog = vtkPolyDataMapper.New(); aVoxelmapHog.SetInputConnection(aVoxelhog.GetOutputPort()); aVoxelmapHog.SetScalarModeToUseCellData(); aVoxelmapHog.ScalarVisibilityOff(); aVoxelhogActor = new vtkActor(); aVoxelhogActor.SetMapper(aVoxelmapHog); aVoxelhogActor.GetProperty().SetColor(0,1,0); aVoxelGlyph3D = new vtkGlyph3D(); aVoxelGlyph3D.SetInputConnection(aVoxelCenters.GetOutputPort()); aVoxelGlyph3D.SetSource(ball.GetOutput()); aVoxelCentersMapper = vtkPolyDataMapper.New(); aVoxelCentersMapper.SetInputConnection(aVoxelGlyph3D.GetOutputPort()); aVoxelCentersActor = new vtkActor(); aVoxelCentersActor.SetMapper(aVoxelCentersMapper); aVoxelhogActor.SetPosition(aVoxelActor.GetPosition()[0],aVoxelActor.GetPosition()[1],aVoxelActor.GetPosition()[2]); ren1.AddActor((vtkProp)aVoxelhogActor); aVoxelhogActor.GetProperty().SetRepresentationToWireframe(); aHexahedronderivs = new vtkCellDerivatives(); aHexahedronderivs.SetInput(aHexahedronGrid); aHexahedronderivs.SetVectorModeToComputeGradient(); FileName = dir; FileName += "/aHexahedron"; FileName += ".vtk"; // make sure the directory is writeable first[] tryWorked = false; try { channel = new StreamWriter("" + (dir.ToString()) + "/test.tmp"); tryWorked = true; } catch(Exception) { tryWorked = false; } if(tryWorked) { channel.Close(); File.Delete("" + (dir.ToString()) + "/test.tmp"); aHexahedronWriter = new vtkUnstructuredGridWriter(); aHexahedronWriter.SetInputConnection(aHexahedronderivs.GetOutputPort()); aHexahedronWriter.SetFileName(FileName); aHexahedronWriter.Write(); // delete the file[] File.Delete("FileName"); } aHexahedronCenters = new vtkCellCenters(); aHexahedronCenters.SetInputConnection(aHexahedronderivs.GetOutputPort()); aHexahedronCenters.VertexCellsOn(); aHexahedronhog = new vtkHedgeHog(); aHexahedronhog.SetInputConnection(aHexahedronCenters.GetOutputPort()); aHexahedronmapHog = vtkPolyDataMapper.New(); aHexahedronmapHog.SetInputConnection(aHexahedronhog.GetOutputPort()); aHexahedronmapHog.SetScalarModeToUseCellData(); aHexahedronmapHog.ScalarVisibilityOff(); aHexahedronhogActor = new vtkActor(); aHexahedronhogActor.SetMapper(aHexahedronmapHog); aHexahedronhogActor.GetProperty().SetColor(0,1,0); aHexahedronGlyph3D = new vtkGlyph3D(); aHexahedronGlyph3D.SetInputConnection(aHexahedronCenters.GetOutputPort()); aHexahedronGlyph3D.SetSource(ball.GetOutput()); aHexahedronCentersMapper = vtkPolyDataMapper.New(); aHexahedronCentersMapper.SetInputConnection(aHexahedronGlyph3D.GetOutputPort()); aHexahedronCentersActor = new vtkActor(); aHexahedronCentersActor.SetMapper(aHexahedronCentersMapper); aHexahedronhogActor.SetPosition(aHexahedronActor.GetPosition()[0],aHexahedronActor.GetPosition()[1],aHexahedronActor.GetPosition()[2]); ren1.AddActor((vtkProp)aHexahedronhogActor); aHexahedronhogActor.GetProperty().SetRepresentationToWireframe(); aWedgederivs = new vtkCellDerivatives(); aWedgederivs.SetInput(aWedgeGrid); aWedgederivs.SetVectorModeToComputeGradient(); FileName = dir; FileName += "/aWedge"; FileName += ".vtk"; // make sure the directory is writeable first[] tryWorked = false; try { channel = new StreamWriter("" + (dir.ToString()) + "/test.tmp"); tryWorked = true; } catch(Exception) { tryWorked = false; } if(tryWorked) { channel.Close(); File.Delete("" + (dir.ToString()) + "/test.tmp"); aWedgeWriter = new vtkUnstructuredGridWriter(); aWedgeWriter.SetInputConnection(aWedgederivs.GetOutputPort()); aWedgeWriter.SetFileName(FileName); aWedgeWriter.Write(); // delete the file[] File.Delete("FileName"); } aWedgeCenters = new vtkCellCenters(); aWedgeCenters.SetInputConnection(aWedgederivs.GetOutputPort()); aWedgeCenters.VertexCellsOn(); aWedgehog = new vtkHedgeHog(); aWedgehog.SetInputConnection(aWedgeCenters.GetOutputPort()); aWedgemapHog = vtkPolyDataMapper.New(); aWedgemapHog.SetInputConnection(aWedgehog.GetOutputPort()); aWedgemapHog.SetScalarModeToUseCellData(); aWedgemapHog.ScalarVisibilityOff(); aWedgehogActor = new vtkActor(); aWedgehogActor.SetMapper(aWedgemapHog); aWedgehogActor.GetProperty().SetColor(0,1,0); aWedgeGlyph3D = new vtkGlyph3D(); aWedgeGlyph3D.SetInputConnection(aWedgeCenters.GetOutputPort()); aWedgeGlyph3D.SetSource(ball.GetOutput()); aWedgeCentersMapper = vtkPolyDataMapper.New(); aWedgeCentersMapper.SetInputConnection(aWedgeGlyph3D.GetOutputPort()); aWedgeCentersActor = new vtkActor(); aWedgeCentersActor.SetMapper(aWedgeCentersMapper); aWedgehogActor.SetPosition(aWedgeActor.GetPosition()[0],aWedgeActor.GetPosition()[1],aWedgeActor.GetPosition()[2]); ren1.AddActor((vtkProp)aWedgehogActor); aWedgehogActor.GetProperty().SetRepresentationToWireframe(); aPyramidderivs = new vtkCellDerivatives(); aPyramidderivs.SetInput(aPyramidGrid); aPyramidderivs.SetVectorModeToComputeGradient(); FileName = dir; FileName += "/aPyramid"; FileName += ".vtk"; // make sure the directory is writeable first[] tryWorked = false; try { channel = new StreamWriter("" + (dir.ToString()) + "/test.tmp"); tryWorked = true; } catch(Exception) { tryWorked = false; } if(tryWorked) { channel.Close(); File.Delete("" + (dir.ToString()) + "/test.tmp"); aPyramidWriter = new vtkUnstructuredGridWriter(); aPyramidWriter.SetInputConnection(aPyramidderivs.GetOutputPort()); aPyramidWriter.SetFileName(FileName); aPyramidWriter.Write(); // delete the file[] File.Delete("FileName"); } aPyramidCenters = new vtkCellCenters(); aPyramidCenters.SetInputConnection(aPyramidderivs.GetOutputPort()); aPyramidCenters.VertexCellsOn(); aPyramidhog = new vtkHedgeHog(); aPyramidhog.SetInputConnection(aPyramidCenters.GetOutputPort()); aPyramidmapHog = vtkPolyDataMapper.New(); aPyramidmapHog.SetInputConnection(aPyramidhog.GetOutputPort()); aPyramidmapHog.SetScalarModeToUseCellData(); aPyramidmapHog.ScalarVisibilityOff(); aPyramidhogActor = new vtkActor(); aPyramidhogActor.SetMapper(aPyramidmapHog); aPyramidhogActor.GetProperty().SetColor(0,1,0); aPyramidGlyph3D = new vtkGlyph3D(); aPyramidGlyph3D.SetInputConnection(aPyramidCenters.GetOutputPort()); aPyramidGlyph3D.SetSource(ball.GetOutput()); aPyramidCentersMapper = vtkPolyDataMapper.New(); aPyramidCentersMapper.SetInputConnection(aPyramidGlyph3D.GetOutputPort()); aPyramidCentersActor = new vtkActor(); aPyramidCentersActor.SetMapper(aPyramidCentersMapper); aPyramidhogActor.SetPosition(aPyramidActor.GetPosition()[0],aPyramidActor.GetPosition()[1],aPyramidActor.GetPosition()[2]); ren1.AddActor((vtkProp)aPyramidhogActor); aPyramidhogActor.GetProperty().SetRepresentationToWireframe(); aTetraderivs = new vtkCellDerivatives(); aTetraderivs.SetInput(aTetraGrid); aTetraderivs.SetVectorModeToComputeGradient(); FileName = dir; FileName += "/aTetra"; FileName += ".vtk"; // make sure the directory is writeable first[] tryWorked = false; try { channel = new StreamWriter("" + (dir.ToString()) + "/test.tmp"); tryWorked = true; } catch(Exception) { tryWorked = false; } if(tryWorked) { channel.Close(); File.Delete("" + (dir.ToString()) + "/test.tmp"); aTetraWriter = new vtkUnstructuredGridWriter(); aTetraWriter.SetInputConnection(aTetraderivs.GetOutputPort()); aTetraWriter.SetFileName(FileName); aTetraWriter.Write(); // delete the file[] File.Delete("FileName"); } aTetraCenters = new vtkCellCenters(); aTetraCenters.SetInputConnection(aTetraderivs.GetOutputPort()); aTetraCenters.VertexCellsOn(); aTetrahog = new vtkHedgeHog(); aTetrahog.SetInputConnection(aTetraCenters.GetOutputPort()); aTetramapHog = vtkPolyDataMapper.New(); aTetramapHog.SetInputConnection(aTetrahog.GetOutputPort()); aTetramapHog.SetScalarModeToUseCellData(); aTetramapHog.ScalarVisibilityOff(); aTetrahogActor = new vtkActor(); aTetrahogActor.SetMapper(aTetramapHog); aTetrahogActor.GetProperty().SetColor(0,1,0); aTetraGlyph3D = new vtkGlyph3D(); aTetraGlyph3D.SetInputConnection(aTetraCenters.GetOutputPort()); aTetraGlyph3D.SetSource(ball.GetOutput()); aTetraCentersMapper = vtkPolyDataMapper.New(); aTetraCentersMapper.SetInputConnection(aTetraGlyph3D.GetOutputPort()); aTetraCentersActor = new vtkActor(); aTetraCentersActor.SetMapper(aTetraCentersMapper); aTetrahogActor.SetPosition(aTetraActor.GetPosition()[0],aTetraActor.GetPosition()[1],aTetraActor.GetPosition()[2]); ren1.AddActor((vtkProp)aTetrahogActor); aTetrahogActor.GetProperty().SetRepresentationToWireframe(); aQuadderivs = new vtkCellDerivatives(); aQuadderivs.SetInput(aQuadGrid); aQuadderivs.SetVectorModeToComputeGradient(); FileName = dir; FileName += "/aQuad"; FileName += ".vtk"; // make sure the directory is writeable first[] tryWorked = false; try { channel = new StreamWriter("" + (dir.ToString()) + "/test.tmp"); tryWorked = true; } catch(Exception) { tryWorked = false; } if(tryWorked) { channel.Close(); File.Delete("" + (dir.ToString()) + "/test.tmp"); aQuadWriter = new vtkUnstructuredGridWriter(); aQuadWriter.SetInputConnection(aQuadderivs.GetOutputPort()); aQuadWriter.SetFileName(FileName); aQuadWriter.Write(); // delete the file[] File.Delete("FileName"); } aQuadCenters = new vtkCellCenters(); aQuadCenters.SetInputConnection(aQuadderivs.GetOutputPort()); aQuadCenters.VertexCellsOn(); aQuadhog = new vtkHedgeHog(); aQuadhog.SetInputConnection(aQuadCenters.GetOutputPort()); aQuadmapHog = vtkPolyDataMapper.New(); aQuadmapHog.SetInputConnection(aQuadhog.GetOutputPort()); aQuadmapHog.SetScalarModeToUseCellData(); aQuadmapHog.ScalarVisibilityOff(); aQuadhogActor = new vtkActor(); aQuadhogActor.SetMapper(aQuadmapHog); aQuadhogActor.GetProperty().SetColor(0,1,0); aQuadGlyph3D = new vtkGlyph3D(); aQuadGlyph3D.SetInputConnection(aQuadCenters.GetOutputPort()); aQuadGlyph3D.SetSource(ball.GetOutput()); aQuadCentersMapper = vtkPolyDataMapper.New(); aQuadCentersMapper.SetInputConnection(aQuadGlyph3D.GetOutputPort()); aQuadCentersActor = new vtkActor(); aQuadCentersActor.SetMapper(aQuadCentersMapper); aQuadhogActor.SetPosition(aQuadActor.GetPosition()[0],aQuadActor.GetPosition()[1],aQuadActor.GetPosition()[2]); ren1.AddActor((vtkProp)aQuadhogActor); aQuadhogActor.GetProperty().SetRepresentationToWireframe(); aTrianglederivs = new vtkCellDerivatives(); aTrianglederivs.SetInput(aTriangleGrid); aTrianglederivs.SetVectorModeToComputeGradient(); FileName = dir; FileName += "/aTriangle"; FileName += ".vtk"; // make sure the directory is writeable first[] tryWorked = false; try { channel = new StreamWriter("" + (dir.ToString()) + "/test.tmp"); tryWorked = true; } catch(Exception) { tryWorked = false; } if(tryWorked) { channel.Close(); File.Delete("" + (dir.ToString()) + "/test.tmp"); aTriangleWriter = new vtkUnstructuredGridWriter(); aTriangleWriter.SetInputConnection(aTrianglederivs.GetOutputPort()); aTriangleWriter.SetFileName(FileName); aTriangleWriter.Write(); // delete the file[] File.Delete("FileName"); } aTriangleCenters = new vtkCellCenters(); aTriangleCenters.SetInputConnection(aTrianglederivs.GetOutputPort()); aTriangleCenters.VertexCellsOn(); aTrianglehog = new vtkHedgeHog(); aTrianglehog.SetInputConnection(aTriangleCenters.GetOutputPort()); aTrianglemapHog = vtkPolyDataMapper.New(); aTrianglemapHog.SetInputConnection(aTrianglehog.GetOutputPort()); aTrianglemapHog.SetScalarModeToUseCellData(); aTrianglemapHog.ScalarVisibilityOff(); aTrianglehogActor = new vtkActor(); aTrianglehogActor.SetMapper(aTrianglemapHog); aTrianglehogActor.GetProperty().SetColor(0,1,0); aTriangleGlyph3D = new vtkGlyph3D(); aTriangleGlyph3D.SetInputConnection(aTriangleCenters.GetOutputPort()); aTriangleGlyph3D.SetSource(ball.GetOutput()); aTriangleCentersMapper = vtkPolyDataMapper.New(); aTriangleCentersMapper.SetInputConnection(aTriangleGlyph3D.GetOutputPort()); aTriangleCentersActor = new vtkActor(); aTriangleCentersActor.SetMapper(aTriangleCentersMapper); aTrianglehogActor.SetPosition(aTriangleActor.GetPosition()[0],aTriangleActor.GetPosition()[1],aTriangleActor.GetPosition()[2]); ren1.AddActor((vtkProp)aTrianglehogActor); aTrianglehogActor.GetProperty().SetRepresentationToWireframe(); aTriangleStripderivs = new vtkCellDerivatives(); aTriangleStripderivs.SetInput(aTriangleStripGrid); aTriangleStripderivs.SetVectorModeToComputeGradient(); FileName = dir; FileName += "/aTriangleStrip"; FileName += ".vtk"; // make sure the directory is writeable first[] tryWorked = false; try { channel = new StreamWriter("" + (dir.ToString()) + "/test.tmp"); tryWorked = true; } catch(Exception) { tryWorked = false; } if(tryWorked) { channel.Close(); File.Delete("" + (dir.ToString()) + "/test.tmp"); aTriangleStripWriter = new vtkUnstructuredGridWriter(); aTriangleStripWriter.SetInputConnection(aTriangleStripderivs.GetOutputPort()); aTriangleStripWriter.SetFileName(FileName); aTriangleStripWriter.Write(); // delete the file[] File.Delete("FileName"); } aTriangleStripCenters = new vtkCellCenters(); aTriangleStripCenters.SetInputConnection(aTriangleStripderivs.GetOutputPort()); aTriangleStripCenters.VertexCellsOn(); aTriangleStriphog = new vtkHedgeHog(); aTriangleStriphog.SetInputConnection(aTriangleStripCenters.GetOutputPort()); aTriangleStripmapHog = vtkPolyDataMapper.New(); aTriangleStripmapHog.SetInputConnection(aTriangleStriphog.GetOutputPort()); aTriangleStripmapHog.SetScalarModeToUseCellData(); aTriangleStripmapHog.ScalarVisibilityOff(); aTriangleStriphogActor = new vtkActor(); aTriangleStriphogActor.SetMapper(aTriangleStripmapHog); aTriangleStriphogActor.GetProperty().SetColor(0,1,0); aTriangleStripGlyph3D = new vtkGlyph3D(); aTriangleStripGlyph3D.SetInputConnection(aTriangleStripCenters.GetOutputPort()); aTriangleStripGlyph3D.SetSource(ball.GetOutput()); aTriangleStripCentersMapper = vtkPolyDataMapper.New(); aTriangleStripCentersMapper.SetInputConnection(aTriangleStripGlyph3D.GetOutputPort()); aTriangleStripCentersActor = new vtkActor(); aTriangleStripCentersActor.SetMapper(aTriangleStripCentersMapper); aTriangleStriphogActor.SetPosition(aTriangleStripActor.GetPosition()[0],aTriangleStripActor.GetPosition()[1],aTriangleStripActor.GetPosition()[2]); ren1.AddActor((vtkProp)aTriangleStriphogActor); aTriangleStriphogActor.GetProperty().SetRepresentationToWireframe(); aLinederivs = new vtkCellDerivatives(); aLinederivs.SetInput(aLineGrid); aLinederivs.SetVectorModeToComputeGradient(); FileName = dir; FileName += "/aLine"; FileName += ".vtk"; // make sure the directory is writeable first[] tryWorked = false; try { channel = new StreamWriter("" + (dir.ToString()) + "/test.tmp"); tryWorked = true; } catch(Exception) { tryWorked = false; } if(tryWorked) { channel.Close(); File.Delete("" + (dir.ToString()) + "/test.tmp"); aLineWriter = new vtkUnstructuredGridWriter(); aLineWriter.SetInputConnection(aLinederivs.GetOutputPort()); aLineWriter.SetFileName(FileName); aLineWriter.Write(); // delete the file[] File.Delete("FileName"); } aLineCenters = new vtkCellCenters(); aLineCenters.SetInputConnection(aLinederivs.GetOutputPort()); aLineCenters.VertexCellsOn(); aLinehog = new vtkHedgeHog(); aLinehog.SetInputConnection(aLineCenters.GetOutputPort()); aLinemapHog = vtkPolyDataMapper.New(); aLinemapHog.SetInputConnection(aLinehog.GetOutputPort()); aLinemapHog.SetScalarModeToUseCellData(); aLinemapHog.ScalarVisibilityOff(); aLinehogActor = new vtkActor(); aLinehogActor.SetMapper(aLinemapHog); aLinehogActor.GetProperty().SetColor(0,1,0); aLineGlyph3D = new vtkGlyph3D(); aLineGlyph3D.SetInputConnection(aLineCenters.GetOutputPort()); aLineGlyph3D.SetSource(ball.GetOutput()); aLineCentersMapper = vtkPolyDataMapper.New(); aLineCentersMapper.SetInputConnection(aLineGlyph3D.GetOutputPort()); aLineCentersActor = new vtkActor(); aLineCentersActor.SetMapper(aLineCentersMapper); aLinehogActor.SetPosition(aLineActor.GetPosition()[0],aLineActor.GetPosition()[1],aLineActor.GetPosition()[2]); ren1.AddActor((vtkProp)aLinehogActor); aLinehogActor.GetProperty().SetRepresentationToWireframe(); aPolyLinederivs = new vtkCellDerivatives(); aPolyLinederivs.SetInput(aPolyLineGrid); aPolyLinederivs.SetVectorModeToComputeGradient(); FileName = dir; FileName += "/aPolyLine"; FileName += ".vtk"; // make sure the directory is writeable first[] tryWorked = false; try { channel = new StreamWriter("" + (dir.ToString()) + "/test.tmp"); tryWorked = true; } catch(Exception) { tryWorked = false; } if(tryWorked) { channel.Close(); File.Delete("" + (dir.ToString()) + "/test.tmp"); aPolyLineWriter = new vtkUnstructuredGridWriter(); aPolyLineWriter.SetInputConnection(aPolyLinederivs.GetOutputPort()); aPolyLineWriter.SetFileName(FileName); aPolyLineWriter.Write(); // delete the file[] File.Delete("FileName"); } aPolyLineCenters = new vtkCellCenters(); aPolyLineCenters.SetInputConnection(aPolyLinederivs.GetOutputPort()); aPolyLineCenters.VertexCellsOn(); aPolyLinehog = new vtkHedgeHog(); aPolyLinehog.SetInputConnection(aPolyLineCenters.GetOutputPort()); aPolyLinemapHog = vtkPolyDataMapper.New(); aPolyLinemapHog.SetInputConnection(aPolyLinehog.GetOutputPort()); aPolyLinemapHog.SetScalarModeToUseCellData(); aPolyLinemapHog.ScalarVisibilityOff(); aPolyLinehogActor = new vtkActor(); aPolyLinehogActor.SetMapper(aPolyLinemapHog); aPolyLinehogActor.GetProperty().SetColor(0,1,0); aPolyLineGlyph3D = new vtkGlyph3D(); aPolyLineGlyph3D.SetInputConnection(aPolyLineCenters.GetOutputPort()); aPolyLineGlyph3D.SetSource(ball.GetOutput()); aPolyLineCentersMapper = vtkPolyDataMapper.New(); aPolyLineCentersMapper.SetInputConnection(aPolyLineGlyph3D.GetOutputPort()); aPolyLineCentersActor = new vtkActor(); aPolyLineCentersActor.SetMapper(aPolyLineCentersMapper); aPolyLinehogActor.SetPosition(aPolyLineActor.GetPosition()[0],aPolyLineActor.GetPosition()[1],aPolyLineActor.GetPosition()[2]); ren1.AddActor((vtkProp)aPolyLinehogActor); aPolyLinehogActor.GetProperty().SetRepresentationToWireframe(); aVertexderivs = new vtkCellDerivatives(); aVertexderivs.SetInput(aVertexGrid); aVertexderivs.SetVectorModeToComputeGradient(); FileName = dir; FileName += "/aVertex"; FileName += ".vtk"; // make sure the directory is writeable first[] tryWorked = false; try { channel = new StreamWriter("" + (dir.ToString()) + "/test.tmp"); tryWorked = true; } catch(Exception) { tryWorked = false; } if(tryWorked) { channel.Close(); File.Delete("" + (dir.ToString()) + "/test.tmp"); aVertexWriter = new vtkUnstructuredGridWriter(); aVertexWriter.SetInputConnection(aVertexderivs.GetOutputPort()); aVertexWriter.SetFileName(FileName); aVertexWriter.Write(); // delete the file[] File.Delete("FileName"); } aVertexCenters = new vtkCellCenters(); aVertexCenters.SetInputConnection(aVertexderivs.GetOutputPort()); aVertexCenters.VertexCellsOn(); aVertexhog = new vtkHedgeHog(); aVertexhog.SetInputConnection(aVertexCenters.GetOutputPort()); aVertexmapHog = vtkPolyDataMapper.New(); aVertexmapHog.SetInputConnection(aVertexhog.GetOutputPort()); aVertexmapHog.SetScalarModeToUseCellData(); aVertexmapHog.ScalarVisibilityOff(); aVertexhogActor = new vtkActor(); aVertexhogActor.SetMapper(aVertexmapHog); aVertexhogActor.GetProperty().SetColor(0,1,0); aVertexGlyph3D = new vtkGlyph3D(); aVertexGlyph3D.SetInputConnection(aVertexCenters.GetOutputPort()); aVertexGlyph3D.SetSource(ball.GetOutput()); aVertexCentersMapper = vtkPolyDataMapper.New(); aVertexCentersMapper.SetInputConnection(aVertexGlyph3D.GetOutputPort()); aVertexCentersActor = new vtkActor(); aVertexCentersActor.SetMapper(aVertexCentersMapper); aVertexhogActor.SetPosition(aVertexActor.GetPosition()[0],aVertexActor.GetPosition()[1],aVertexActor.GetPosition()[2]); ren1.AddActor((vtkProp)aVertexhogActor); aVertexhogActor.GetProperty().SetRepresentationToWireframe(); aPolyVertexderivs = new vtkCellDerivatives(); aPolyVertexderivs.SetInput(aPolyVertexGrid); aPolyVertexderivs.SetVectorModeToComputeGradient(); FileName = dir; FileName += "/aPolyVertex"; FileName += ".vtk"; // make sure the directory is writeable first[] tryWorked = false; try { channel = new StreamWriter("" + (dir.ToString()) + "/test.tmp"); tryWorked = true; } catch(Exception) { tryWorked = false; } if(tryWorked) { channel.Close(); File.Delete("" + (dir.ToString()) + "/test.tmp"); aPolyVertexWriter = new vtkUnstructuredGridWriter(); aPolyVertexWriter.SetInputConnection(aPolyVertexderivs.GetOutputPort()); aPolyVertexWriter.SetFileName(FileName); aPolyVertexWriter.Write(); // delete the file[] File.Delete("FileName"); } aPolyVertexCenters = new vtkCellCenters(); aPolyVertexCenters.SetInputConnection(aPolyVertexderivs.GetOutputPort()); aPolyVertexCenters.VertexCellsOn(); aPolyVertexhog = new vtkHedgeHog(); aPolyVertexhog.SetInputConnection(aPolyVertexCenters.GetOutputPort()); aPolyVertexmapHog = vtkPolyDataMapper.New(); aPolyVertexmapHog.SetInputConnection(aPolyVertexhog.GetOutputPort()); aPolyVertexmapHog.SetScalarModeToUseCellData(); aPolyVertexmapHog.ScalarVisibilityOff(); aPolyVertexhogActor = new vtkActor(); aPolyVertexhogActor.SetMapper(aPolyVertexmapHog); aPolyVertexhogActor.GetProperty().SetColor(0,1,0); aPolyVertexGlyph3D = new vtkGlyph3D(); aPolyVertexGlyph3D.SetInputConnection(aPolyVertexCenters.GetOutputPort()); aPolyVertexGlyph3D.SetSource(ball.GetOutput()); aPolyVertexCentersMapper = vtkPolyDataMapper.New(); aPolyVertexCentersMapper.SetInputConnection(aPolyVertexGlyph3D.GetOutputPort()); aPolyVertexCentersActor = new vtkActor(); aPolyVertexCentersActor.SetMapper(aPolyVertexCentersMapper); aPolyVertexhogActor.SetPosition(aPolyVertexActor.GetPosition()[0],aPolyVertexActor.GetPosition()[1],aPolyVertexActor.GetPosition()[2]); ren1.AddActor((vtkProp)aPolyVertexhogActor); aPolyVertexhogActor.GetProperty().SetRepresentationToWireframe(); aPixelderivs = new vtkCellDerivatives(); aPixelderivs.SetInput(aPixelGrid); aPixelderivs.SetVectorModeToComputeGradient(); FileName = dir; FileName += "/aPixel"; FileName += ".vtk"; // make sure the directory is writeable first[] tryWorked = false; try { channel = new StreamWriter("" + (dir.ToString()) + "/test.tmp"); tryWorked = true; } catch(Exception) { tryWorked = false; } if(tryWorked) { channel.Close(); File.Delete("" + (dir.ToString()) + "/test.tmp"); aPixelWriter = new vtkUnstructuredGridWriter(); aPixelWriter.SetInputConnection(aPixelderivs.GetOutputPort()); aPixelWriter.SetFileName(FileName); aPixelWriter.Write(); // delete the file[] File.Delete("FileName"); } aPixelCenters = new vtkCellCenters(); aPixelCenters.SetInputConnection(aPixelderivs.GetOutputPort()); aPixelCenters.VertexCellsOn(); aPixelhog = new vtkHedgeHog(); aPixelhog.SetInputConnection(aPixelCenters.GetOutputPort()); aPixelmapHog = vtkPolyDataMapper.New(); aPixelmapHog.SetInputConnection(aPixelhog.GetOutputPort()); aPixelmapHog.SetScalarModeToUseCellData(); aPixelmapHog.ScalarVisibilityOff(); aPixelhogActor = new vtkActor(); aPixelhogActor.SetMapper(aPixelmapHog); aPixelhogActor.GetProperty().SetColor(0,1,0); aPixelGlyph3D = new vtkGlyph3D(); aPixelGlyph3D.SetInputConnection(aPixelCenters.GetOutputPort()); aPixelGlyph3D.SetSource(ball.GetOutput()); aPixelCentersMapper = vtkPolyDataMapper.New(); aPixelCentersMapper.SetInputConnection(aPixelGlyph3D.GetOutputPort()); aPixelCentersActor = new vtkActor(); aPixelCentersActor.SetMapper(aPixelCentersMapper); aPixelhogActor.SetPosition(aPixelActor.GetPosition()[0],aPixelActor.GetPosition()[1],aPixelActor.GetPosition()[2]); ren1.AddActor((vtkProp)aPixelhogActor); aPixelhogActor.GetProperty().SetRepresentationToWireframe(); aPolygonderivs = new vtkCellDerivatives(); aPolygonderivs.SetInput(aPolygonGrid); aPolygonderivs.SetVectorModeToComputeGradient(); FileName = dir; FileName += "/aPolygon"; FileName += ".vtk"; // make sure the directory is writeable first[] tryWorked = false; try { channel = new StreamWriter("" + (dir.ToString()) + "/test.tmp"); tryWorked = true; } catch(Exception) { tryWorked = false; } if(tryWorked) { channel.Close(); File.Delete("" + (dir.ToString()) + "/test.tmp"); aPolygonWriter = new vtkUnstructuredGridWriter(); aPolygonWriter.SetInputConnection(aPolygonderivs.GetOutputPort()); aPolygonWriter.SetFileName(FileName); aPolygonWriter.Write(); // delete the file[] File.Delete("FileName"); } aPolygonCenters = new vtkCellCenters(); aPolygonCenters.SetInputConnection(aPolygonderivs.GetOutputPort()); aPolygonCenters.VertexCellsOn(); aPolygonhog = new vtkHedgeHog(); aPolygonhog.SetInputConnection(aPolygonCenters.GetOutputPort()); aPolygonmapHog = vtkPolyDataMapper.New(); aPolygonmapHog.SetInputConnection(aPolygonhog.GetOutputPort()); aPolygonmapHog.SetScalarModeToUseCellData(); aPolygonmapHog.ScalarVisibilityOff(); aPolygonhogActor = new vtkActor(); aPolygonhogActor.SetMapper(aPolygonmapHog); aPolygonhogActor.GetProperty().SetColor(0,1,0); aPolygonGlyph3D = new vtkGlyph3D(); aPolygonGlyph3D.SetInputConnection(aPolygonCenters.GetOutputPort()); aPolygonGlyph3D.SetSource(ball.GetOutput()); aPolygonCentersMapper = vtkPolyDataMapper.New(); aPolygonCentersMapper.SetInputConnection(aPolygonGlyph3D.GetOutputPort()); aPolygonCentersActor = new vtkActor(); aPolygonCentersActor.SetMapper(aPolygonCentersMapper); aPolygonhogActor.SetPosition(aPolygonActor.GetPosition()[0],aPolygonActor.GetPosition()[1],aPolygonActor.GetPosition()[2]); ren1.AddActor((vtkProp)aPolygonhogActor); aPolygonhogActor.GetProperty().SetRepresentationToWireframe(); aPentaderivs = new vtkCellDerivatives(); aPentaderivs.SetInput(aPentaGrid); aPentaderivs.SetVectorModeToComputeGradient(); FileName = dir; FileName += "/aPenta"; FileName += ".vtk"; // make sure the directory is writeable first[] tryWorked = false; try { channel = new StreamWriter("" + (dir.ToString()) + "/test.tmp"); tryWorked = true; } catch(Exception) { tryWorked = false; } if(tryWorked) { channel.Close(); File.Delete("" + (dir.ToString()) + "/test.tmp"); aPentaWriter = new vtkUnstructuredGridWriter(); aPentaWriter.SetInputConnection(aPentaderivs.GetOutputPort()); aPentaWriter.SetFileName(FileName); aPentaWriter.Write(); // delete the file[] File.Delete("FileName"); } aPentaCenters = new vtkCellCenters(); aPentaCenters.SetInputConnection(aPentaderivs.GetOutputPort()); aPentaCenters.VertexCellsOn(); aPentahog = new vtkHedgeHog(); aPentahog.SetInputConnection(aPentaCenters.GetOutputPort()); aPentamapHog = vtkPolyDataMapper.New(); aPentamapHog.SetInputConnection(aPentahog.GetOutputPort()); aPentamapHog.SetScalarModeToUseCellData(); aPentamapHog.ScalarVisibilityOff(); aPentahogActor = new vtkActor(); aPentahogActor.SetMapper(aPentamapHog); aPentahogActor.GetProperty().SetColor(0,1,0); aPentaGlyph3D = new vtkGlyph3D(); aPentaGlyph3D.SetInputConnection(aPentaCenters.GetOutputPort()); aPentaGlyph3D.SetSource(ball.GetOutput()); aPentaCentersMapper = vtkPolyDataMapper.New(); aPentaCentersMapper.SetInputConnection(aPentaGlyph3D.GetOutputPort()); aPentaCentersActor = new vtkActor(); aPentaCentersActor.SetMapper(aPentaCentersMapper); aPentahogActor.SetPosition(aPentaActor.GetPosition()[0],aPentaActor.GetPosition()[1],aPentaActor.GetPosition()[2]); ren1.AddActor((vtkProp)aPentahogActor); aPentahogActor.GetProperty().SetRepresentationToWireframe(); aHexaderivs = new vtkCellDerivatives(); aHexaderivs.SetInput(aHexaGrid); aHexaderivs.SetVectorModeToComputeGradient(); FileName = dir; FileName += "/aHexa"; FileName += ".vtk"; // make sure the directory is writeable first[] tryWorked = false; try { channel = new StreamWriter("" + (dir.ToString()) + "/test.tmp"); tryWorked = true; } catch(Exception) { tryWorked = false; } if(tryWorked) { channel.Close(); File.Delete("" + (dir.ToString()) + "/test.tmp"); aHexaWriter = new vtkUnstructuredGridWriter(); aHexaWriter.SetInputConnection(aHexaderivs.GetOutputPort()); aHexaWriter.SetFileName(FileName); aHexaWriter.Write(); // delete the file[] File.Delete("FileName"); } aHexaCenters = new vtkCellCenters(); aHexaCenters.SetInputConnection(aHexaderivs.GetOutputPort()); aHexaCenters.VertexCellsOn(); aHexahog = new vtkHedgeHog(); aHexahog.SetInputConnection(aHexaCenters.GetOutputPort()); aHexamapHog = vtkPolyDataMapper.New(); aHexamapHog.SetInputConnection(aHexahog.GetOutputPort()); aHexamapHog.SetScalarModeToUseCellData(); aHexamapHog.ScalarVisibilityOff(); aHexahogActor = new vtkActor(); aHexahogActor.SetMapper(aHexamapHog); aHexahogActor.GetProperty().SetColor(0,1,0); aHexaGlyph3D = new vtkGlyph3D(); aHexaGlyph3D.SetInputConnection(aHexaCenters.GetOutputPort()); aHexaGlyph3D.SetSource(ball.GetOutput()); aHexaCentersMapper = vtkPolyDataMapper.New(); aHexaCentersMapper.SetInputConnection(aHexaGlyph3D.GetOutputPort()); aHexaCentersActor = new vtkActor(); aHexaCentersActor.SetMapper(aHexaCentersMapper); aHexahogActor.SetPosition(aHexaActor.GetPosition()[0],aHexaActor.GetPosition()[1],aHexaActor.GetPosition()[2]); ren1.AddActor((vtkProp)aHexahogActor); aHexahogActor.GetProperty().SetRepresentationToWireframe(); ren1.ResetCamera(); ren1.GetActiveCamera().Azimuth((double)30); ren1.GetActiveCamera().Elevation((double)20); ren1.GetActiveCamera().Dolly((double)3.0); ren1.ResetCameraClippingRange(); renWin.SetSize((int)300,(int)150); renWin.Render(); // render the image[] //[] iren.Initialize(); //deleteAllVTKObjects(); }