VTK  9.2.5
vtkImplicitImageRepresentation.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImplicitImageRepresentation.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 =========================================================================*/
37 #ifndef vtkImplicitImageRepresentation_h
38 #define vtkImplicitImageRepresentation_h
39 
40 #include "vtkImagePlaneWidget.h" //For enums
42 #include "vtkInteractionWidgetsModule.h" // For export macro
43 
44 class vtkActor;
45 class vtkImageData;
47 class vtkImageReslice;
48 class vtkLookupTable;
49 class vtkMatrix4x4;
50 class vtkTexture;
52 
53 class VTKINTERACTIONWIDGETS_EXPORT vtkImplicitImageRepresentation
55 {
56 public:
61 
63 
67  void PrintSelf(ostream& os, vtkIndent indent) override;
69 
71 
78 
80 
84  void BuildRepresentation() override;
86 
88 
92  vtkSetMacro(UserControlledLookupTable, bool);
93  vtkGetMacro(UserControlledLookupTable, bool);
94  vtkBooleanMacro(UserControlledLookupTable, bool);
96 
98 
106  vtkGetObjectMacro(LookupTable, vtkLookupTable);
108 
110 
116  vtkSetMacro(TextureInterpolate, bool);
117  vtkGetMacro(TextureInterpolate, bool);
118  vtkBooleanMacro(TextureInterpolate, bool);
120 
122 
126  vtkGetMacro(ResliceInterpolate, int);
128  {
129  this->SetResliceInterpolate(VTK_NEAREST_RESLICE);
130  }
131  void SetResliceInterpolateToLinear() { this->SetResliceInterpolate(VTK_LINEAR_RESLICE); }
132  void SetResliceInterpolateToCubic() { this->SetResliceInterpolate(VTK_CUBIC_RESLICE); }
134 
136 
143  vtkGetObjectMacro(ColorMap, vtkImageMapToColors);
145 
150  vtkGetObjectMacro(Reslice, vtkImageReslice);
151 
156  void SetCropPlaneToBoundingBox(bool) override;
157 
158 protected:
161 
167 
168  // These classes implement the imaging pipeline. Note that we
169  // use the superclass plane to draw the image texture.
177  void UpdatePlane();
179  void CreateDefaultProperties() override;
180 
181  // This enables texture mapping on the cropped plane
183 
184 private:
186  void operator=(const vtkImplicitImageRepresentation&) = delete;
187 };
188 
189 #endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:161
Proxy object to connect input/output ports.
topologically and geometrically regular array of data
Definition: vtkImageData.h:163
map the input image through a lookup table
Reslices a volume along a new set of axes.
a representation for a vtkImplicitPlaneWidget2 which reslices a volume
void SetResliceInterpolate(int)
Set the interpolation to use when texturing the plane.
void SetCropPlaneToBoundingBox(bool) override
This method modifies the texture pipeline in order to generate texture coordinates.
void CreateDefaultProperties() override
static vtkImplicitImageRepresentation * New()
Instantiate the class.
void PlaceImage(vtkAlgorithmOutput *aout)
Various ways to specify the vtkImageData* input for the vtkImageReslice; and perform PlaceWidget().
~vtkImplicitImageRepresentation() override
virtual void SetLookupTable(vtkLookupTable *)
Set/Get the internal lookuptable (lut) to one defined by the user, or, alternatively,...
void SetResliceInterpolateToLinear()
Set the interpolation to use when texturing the plane.
void SetResliceInterpolateToNearestNeighbour()
Set the interpolation to use when texturing the plane.
void SetResliceInterpolateToCubic()
Set the interpolation to use when texturing the plane.
vtkLookupTable * CreateDefaultLookupTable()
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for the class.
void BuildRepresentation() override
Methods to interface with the vtkImplicitPlaneWidget2.
virtual void SetColorMap(vtkImageMapToColors *)
Convenience method to get the vtkImageMapToColors filter used by this widget.
void PlaceImage(vtkImageData *img)
Various ways to specify the vtkImageData* input for the vtkImageReslice; and perform PlaceWidget().
a class defining the representation for a vtkImplicitPlaneWidget2
a simple class to control print indentation
Definition: vtkIndent.h:119
map scalar values into colors via a lookup table
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:151
generate texture coordinates by mapping points to plane
handles properties associated with a texture map
Definition: vtkTexture.h:178
#define VTK_LINEAR_RESLICE
#define VTK_CUBIC_RESLICE
#define VTK_NEAREST_RESLICE