VTK  9.0.3
vtkRayCastImageDisplayHelper.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkRayCastImageDisplayHelper.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 
28 #ifndef vtkRayCastImageDisplayHelper_h
29 #define vtkRayCastImageDisplayHelper_h
30 
31 #include "vtkObject.h"
32 #include "vtkRenderingVolumeModule.h" // For export macro
33 
35 class vtkRenderer;
36 class vtkVolume;
37 class vtkWindow;
38 
39 class VTKRENDERINGVOLUME_EXPORT vtkRayCastImageDisplayHelper : public vtkObject
40 {
41 public:
44  void PrintSelf(ostream& os, vtkIndent indent) override;
45 
46  virtual void RenderTexture(vtkVolume* vol, vtkRenderer* ren, int imageMemorySize[2],
47  int imageViewportSize[2], int imageInUseSize[2], int imageOrigin[2], float requestedDepth,
48  unsigned char* image) = 0;
49 
50  virtual void RenderTexture(vtkVolume* vol, vtkRenderer* ren, int imageMemorySize[2],
51  int imageViewportSize[2], int imageInUseSize[2], int imageOrigin[2], float requestedDepth,
52  unsigned short* image) = 0;
53 
54  virtual void RenderTexture(
55  vtkVolume* vol, vtkRenderer* ren, vtkFixedPointRayCastImage* image, float requestedDepth) = 0;
56 
57  vtkSetClampMacro(PreMultipliedColors, vtkTypeBool, 0, 1);
58  vtkGetMacro(PreMultipliedColors, vtkTypeBool);
59  vtkBooleanMacro(PreMultipliedColors, vtkTypeBool);
60 
62 
68  vtkSetMacro(PixelScale, float);
69  vtkGetMacro(PixelScale, float);
71 
76 
77 protected:
80 
85 
86  float PixelScale;
87 
88 private:
90  void operator=(const vtkRayCastImageDisplayHelper&) = delete;
91 };
92 
93 #endif
helper class for a ray cast image
a simple class to control print indentation
Definition: vtkIndent.h:34
abstract base class for most VTK objects
Definition: vtkObject.h:63
helper class that draws the image to the screen
~vtkRayCastImageDisplayHelper() override
virtual void ReleaseGraphicsResources(vtkWindow *)
Derived class should implement this if needed.
static vtkRayCastImageDisplayHelper * New()
virtual void RenderTexture(vtkVolume *vol, vtkRenderer *ren, int imageMemorySize[2], int imageViewportSize[2], int imageInUseSize[2], int imageOrigin[2], float requestedDepth, unsigned short *image)=0
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void RenderTexture(vtkVolume *vol, vtkRenderer *ren, vtkFixedPointRayCastImage *image, float requestedDepth)=0
vtkTypeBool PreMultipliedColors
Have the colors already been multiplied by alpha?
virtual void RenderTexture(vtkVolume *vol, vtkRenderer *ren, int imageMemorySize[2], int imageViewportSize[2], int imageInUseSize[2], int imageOrigin[2], float requestedDepth, unsigned char *image)=0
abstract specification for renderers
Definition: vtkRenderer.h:68
represents a volume (data & properties) in a rendered scene
Definition: vtkVolume.h:45
window superclass for vtkRenderWindow
Definition: vtkWindow.h:38
@ image
Definition: vtkX3D.h:380
int vtkTypeBool
Definition: vtkABI.h:69