示例#1
0
		public VtkRenderingSurface(IntPtr windowID)
		{
			_windowID = windowID;

			vtkWin32OpenGLRenderWindow window = new vtkWin32OpenGLRenderWindow();
			SetRenderWindow(window);
		}
示例#2
0
        public VtkRenderingSurface(IntPtr windowID)
        {
            _windowID = windowID;

            vtkWin32OpenGLRenderWindow window = new vtkWin32OpenGLRenderWindow();

            SetRenderWindow(window);
        }
示例#3
0
 /// <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;
                }
            }
        }
示例#5
0
        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();
            }
        }
示例#6
0
        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;
        }
示例#7
0
		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();
			}
		}
示例#8
0
		/// <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;
				}
			}
		}
		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;
		}
		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;
				}
			}
		}