VTK
vtkImageClip.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImageClip.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 =========================================================================*/
34 #ifndef vtkImageClip_h
35 #define vtkImageClip_h
36 
37 // I did not make this a subclass of in place filter because
38 // the references on the data do not matter. I make no modifications
39 // to the data.
40 #include "vtkImagingCoreModule.h" // For export macro
41 #include "vtkImageAlgorithm.h"
42 
43 class VTKIMAGINGCORE_EXPORT vtkImageClip : public vtkImageAlgorithm
44 {
45 public:
46  static vtkImageClip *New();
48  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
49 
51 
54  void SetOutputWholeExtent(int extent[6], vtkInformation *outInfo=0);
55  void SetOutputWholeExtent(int minX, int maxX, int minY, int maxY,
56  int minZ, int maxZ);
57  void GetOutputWholeExtent(int extent[6]);
58  int *GetOutputWholeExtent() {return this->OutputWholeExtent;}
60 
61  void ResetOutputWholeExtent();
62 
64 
69  vtkSetMacro(ClipData, int);
70  vtkGetMacro(ClipData, int);
71  vtkBooleanMacro(ClipData, int);
73 
74 protected:
75  vtkImageClip();
77 
78  // Time when OutputImageExtent was computed.
80  int Initialized; // Set the OutputImageExtent for the first time.
81  int OutputWholeExtent[6];
82 
83  int ClipData;
84 
85  virtual int RequestInformation (vtkInformation *,
87  vtkInformationVector *) VTK_OVERRIDE;
88 
89  void CopyData(vtkImageData *inData, vtkImageData *outData, int *ext);
90 
91  virtual int RequestData(vtkInformation *,
93  vtkInformationVector *) VTK_OVERRIDE;
94 
95 private:
96  vtkImageClip(const vtkImageClip&) VTK_DELETE_FUNCTION;
97  void operator=(const vtkImageClip&) VTK_DELETE_FUNCTION;
98 };
99 
100 
101 
102 #endif
103 
104 
105 
vtkTimeStamp CTime
Definition: vtkImageClip.h:79
Store vtkAlgorithm input/output information.
record modification and/or execution time
Definition: vtkTimeStamp.h:35
int * GetOutputWholeExtent()
The whole extent of the output has to be set explicitly.
Definition: vtkImageClip.h:58
a simple class to control print indentation
Definition: vtkIndent.h:39
Reduces the image extent of the input.
Definition: vtkImageClip.h:43
topologically and geometrically regular array of data
Definition: vtkImageData.h:45
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Subclasses can reimplement this method to collect information from their inputs and set information f...
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
Generic algorithm superclass for image algs.
Store zero or more vtkInformation instances.
static vtkAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.