public VtkRenderingSurface(IntPtr windowID) { _windowID = windowID; vtkWin32OpenGLRenderWindow window = new vtkWin32OpenGLRenderWindow(); SetRenderWindow(window); }
/// <summary> /// Implementation of the <see cref="IDisposable"/> pattern /// </summary> /// <param name="disposing">True if this object is being disposed, false if it is being finalized</param> private void Dispose(bool disposing) { if (disposing) { if (_vtkWin32OpenGLRW != null) { _vtkWin32OpenGLRW.Dispose(); _vtkWin32OpenGLRW = null; } } }
protected virtual void Dispose(bool disposing) { if (disposing) { if (_dynamicRenderEventPublisher != null) { _dynamicRenderEventPublisher.Cancel(); _dynamicRenderEventPublisher.Dispose(); _dynamicRenderEventPublisher = null; } if (_vtkRenderWindow != null) { _vtkRenderWindow.Dispose(); _vtkRenderWindow = null; } if (_vtkRenderer != null) { _vtkRenderer.Dispose(); _vtkRenderer = null; } if (_sceneGraphRoot != null) { _sceneGraphRoot.Dispose(); _sceneGraphRoot = null; } if (_imageBuffer != null) { _imageBuffer.Dispose(); _imageBuffer = null; } if (_overlayBuffer != null) { _overlayBuffer.Dispose(); _overlayBuffer = null; } if (_finalBuffer != null) { _finalBuffer.Dispose(); _finalBuffer = null; } } }
private void SetRenderWindow(vtkWin32OpenGLRenderWindow win) { _vtkWin32OpenGLRW = vtkWin32OpenGLRenderWindow.SafeDownCast(win); if (_vtkWin32OpenGLRW != null) { vtkGenericRenderWindowInteractor iren = new vtkGenericRenderWindowInteractor(); iren.SetRenderWindow(_vtkWin32OpenGLRW); vtkInteractorStyleTrackballCamera style = new vtkInteractorStyleTrackballCamera(); iren.SetInteractorStyle(style); style.Dispose(); // The control must wait to initialize the interactor until it has // been given a parent window. Until then, initializing the interactor // will always fail. // release our hold on interactor iren.Dispose(); } }
public Win32VtkRenderingSurface(IntPtr windowId, bool offscreen) { _imageBuffer = new BitmapBuffer(PixelFormat.Format32bppRgb); _overlayBuffer = new BitmapBuffer(PixelFormat.Format32bppArgb); _finalBuffer = new BackBuffer(); _vtkRenderer = new vtkRenderer(); _vtkRenderer.SetBackground(0.0f, 0.0f, 0.0f); _vtkRenderWindow = new vtkWin32OpenGLRenderWindow(); _vtkRenderWindow.OffScreenRenderingOn(); _vtkRenderWindow.DoubleBufferOff(); _vtkRenderWindow.EraseOn(); _vtkRenderWindow.SwapBuffersOff(); _vtkRenderWindow.SetDesiredUpdateRate(_dynamicFrameRate); _vtkRenderWindow.AddRenderer(_vtkRenderer); _dynamicRenderEventPublisher = !offscreen ? new DelayedEventPublisher((s, e) => Render(true, null)) : null; WindowID = windowId; }
private void SetRenderWindow(vtkWin32OpenGLRenderWindow win) { _vtkWin32OpenGLRW = vtkWin32OpenGLRenderWindow.SafeDownCast(win); if(_vtkWin32OpenGLRW != null) { vtkGenericRenderWindowInteractor iren = new vtkGenericRenderWindowInteractor(); iren.SetRenderWindow(_vtkWin32OpenGLRW); vtkInteractorStyleTrackballCamera style = new vtkInteractorStyleTrackballCamera(); iren.SetInteractorStyle(style); style.Dispose(); // The control must wait to initialize the interactor until it has // been given a parent window. Until then, initializing the interactor // will always fail. // release our hold on interactor iren.Dispose(); } }
public Win32VtkRenderingSurface(IntPtr windowId, bool offscreen) { _imageBuffer = new BitmapBuffer(PixelFormat.Format32bppRgb); _overlayBuffer = new BitmapBuffer(PixelFormat.Format32bppArgb); _finalBuffer = new BackBuffer(); _vtkRenderer = new vtkRenderer(); _vtkRenderer.SetBackground(0.0f, 0.0f, 0.0f); _vtkRenderWindow = new vtkWin32OpenGLRenderWindow(); _vtkRenderWindow.OffScreenRenderingOn(); _vtkRenderWindow.DoubleBufferOff(); _vtkRenderWindow.EraseOn(); _vtkRenderWindow.SwapBuffersOff(); _vtkRenderWindow.SetDesiredUpdateRate(_dynamicFrameRate); _vtkRenderWindow.AddRenderer(_vtkRenderer); var delayTime = Math.Min(10000, Math.Max(100, Settings.Default.RendererRefinementDelayMs)); _dynamicFrameRate = Math.Min(1000, Math.Max(1, Settings.Default.RendererDynamicFps)); _dynamicRenderEventPublisher = !offscreen ? new DelayedEventPublisher((s, e) => Render(true, null), delayTime) : null; WindowID = windowId; }