VTK  9.3.20240328
vtkRayCastImageDisplayHelper.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
3 
16 #ifndef vtkRayCastImageDisplayHelper_h
17 #define vtkRayCastImageDisplayHelper_h
18 
19 #include "vtkObject.h"
20 #include "vtkRenderingVolumeModule.h" // For export macro
21 
22 VTK_ABI_NAMESPACE_BEGIN
24 class vtkRenderer;
25 class vtkVolume;
26 class vtkWindow;
27 
28 class VTKRENDERINGVOLUME_EXPORT vtkRayCastImageDisplayHelper : public vtkObject
29 {
30 public:
33  void PrintSelf(ostream& os, vtkIndent indent) override;
34 
35  virtual void RenderTexture(vtkVolume* vol, vtkRenderer* ren, int imageMemorySize[2],
36  int imageViewportSize[2], int imageInUseSize[2], int imageOrigin[2], float requestedDepth,
37  unsigned char* image) = 0;
38 
39  virtual void RenderTexture(vtkVolume* vol, vtkRenderer* ren, int imageMemorySize[2],
40  int imageViewportSize[2], int imageInUseSize[2], int imageOrigin[2], float requestedDepth,
41  unsigned short* image) = 0;
42 
43  virtual void RenderTexture(
44  vtkVolume* vol, vtkRenderer* ren, vtkFixedPointRayCastImage* image, float requestedDepth) = 0;
45 
46  vtkSetClampMacro(PreMultipliedColors, vtkTypeBool, 0, 1);
47  vtkGetMacro(PreMultipliedColors, vtkTypeBool);
48  vtkBooleanMacro(PreMultipliedColors, vtkTypeBool);
49 
51 
57  vtkSetMacro(PixelScale, float);
58  vtkGetMacro(PixelScale, float);
60 
65 
66 protected:
69 
74 
75  float PixelScale;
76 
77 private:
79  void operator=(const vtkRayCastImageDisplayHelper&) = delete;
80 };
81 
82 VTK_ABI_NAMESPACE_END
83 #endif
helper class for a ray cast image
a simple class to control print indentation
Definition: vtkIndent.h:108
abstract base class for most VTK objects
Definition: vtkObject.h:161
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:171
represents a volume (data & properties) in a rendered scene
Definition: vtkVolume.h:119
window superclass for vtkRenderWindow
Definition: vtkWindow.h:47
@ image
Definition: vtkX3D.h:374
int vtkTypeBool
Definition: vtkABI.h:64