/usr/include/vtk-6.2/vtkImageAlgorithm.h is in libvtk6-dev 6.2.0+dfsg1-10build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkImageAlgorithm.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
// .NAME vtkImageAlgorithm - Generic algorithm superclass for image algs
// .SECTION Description
// vtkImageAlgorithm is a filter superclass that hides much of the
// pipeline complexity. It handles breaking the pipeline execution
// into smaller extents so that the vtkImageData limits are observed. It
// also provides support for multithreading. If you don't need any of this
// functionality, consider using vtkSimpleImageToImageFilter instead.
// .SECTION See also
// vtkSimpleImageToImageFilter
#ifndef vtkImageAlgorithm_h
#define vtkImageAlgorithm_h
#include "vtkCommonExecutionModelModule.h" // For export macro
#include "vtkAlgorithm.h"
class vtkDataSet;
class vtkImageData;
class VTKCOMMONEXECUTIONMODEL_EXPORT vtkImageAlgorithm : public vtkAlgorithm
{
public:
vtkTypeMacro(vtkImageAlgorithm,vtkAlgorithm);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Get the output data object for a port on this algorithm.
vtkImageData* GetOutput();
vtkImageData* GetOutput(int);
virtual void SetOutput(vtkDataObject* d);
// Description:
// Process a request from the executive. For vtkImageAlgorithm, the
// request will be delegated to one of the following methods: RequestData,
// RequestInformation, or RequestUpdateExtent.
virtual int ProcessRequest(vtkInformation*,
vtkInformationVector**,
vtkInformationVector*);
// Description:
// Assign a data object as input. Note that this method does not
// establish a pipeline connection. Use SetInputConnection to
// setup a pipeline connection.
void SetInputData(vtkDataObject *);
void SetInputData(int, vtkDataObject*);
// Description:
// Get a data object for one of the input port connections. The use
// of this method is strongly discouraged, but some filters that were
// written a long time ago still use this method.
vtkDataObject *GetInput(int port);
vtkDataObject *GetInput() { return this->GetInput(0); };
vtkImageData *GetImageDataInput(int port);
// Description:
// Assign a data object as input. Note that this method does not
// establish a pipeline connection. Use SetInputConnection to
// setup a pipeline connection.
virtual void AddInputData(vtkDataObject *);
virtual void AddInputData(int, vtkDataObject*);
protected:
vtkImageAlgorithm();
~vtkImageAlgorithm();
// Description:
// Subclasses can reimplement this method to collect information
// from their inputs and set information for their outputs.
virtual int RequestInformation(vtkInformation* request,
vtkInformationVector** inputVector,
vtkInformationVector* outputVector);
// Description:
// Subclasses can reimplement this method to translate the update
// extent requests from each output port into update extent requests
// for the input connections.
virtual int RequestUpdateExtent(vtkInformation*,
vtkInformationVector**,
vtkInformationVector*);
// Description:
// Convenience method to copy the scalar type and number of components
// from the input data to the output data. You will generally want to
// call this from inside your RequestInformation method, unless you
// want the output data to have a different scalar type or number of
// components from the input.
virtual void CopyInputArrayAttributesToOutput(vtkInformation* request,
vtkInformationVector** inputVector,
vtkInformationVector* outputVector);
// Description:
// This is called in response to a REQUEST_DATA request from the
// executive. Subclasses should override either this method or the
// ExecuteDataWithInformation method in order to generate data for
// their outputs. For images, the output arrays will already be
// allocated, so all that is necessary is to fill in the voxel values.
virtual int RequestData(vtkInformation *request,
vtkInformationVector** inputVector,
vtkInformationVector* outputVector);
// Description:
// This is a convenience method that is implemented in many subclasses
// instead of RequestData. It is called by RequestData.
virtual void ExecuteDataWithInformation(vtkDataObject *output,
vtkInformation* outInfo);
// Description
// This method is the old style execute method, provided for the sake
// of backwards compatibility with older filters and readers.
virtual void ExecuteData(vtkDataObject *output);
virtual void Execute();
// Description:
// Allocate the output data. This will be called before RequestData,
// it is not necessary for subclasses to call this method themselves.
virtual void AllocateOutputData(vtkImageData *out,
vtkInformation* outInfo,
int *uExtent);
virtual vtkImageData *AllocateOutputData(vtkDataObject *out,
vtkInformation *outInfo);
// Description:
// Copy the other point and cell data. Subclasses will almost never
// need to reimplement this method.
virtual void CopyAttributeData(vtkImageData *in, vtkImageData *out,
vtkInformationVector** inputVector);
// Description:
// These method should be reimplemented by subclasses that have
// more than a single input or single output.
// See vtkAlgorithm for more information.
virtual int FillOutputPortInformation(int port, vtkInformation* info);
virtual int FillInputPortInformation(int port, vtkInformation* info);
private:
vtkImageAlgorithm(const vtkImageAlgorithm&); // Not implemented.
void operator=(const vtkImageAlgorithm&); // Not implemented.
};
#endif
|