/usr/include/vtk-5.8/vtkImageAppend.h is in libvtk5-dev 5.8.0-5.
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 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkImageAppend.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 vtkImageAppend - Collects data from multiple inputs into one image.
// .SECTION Description
// vtkImageAppend takes the components from multiple inputs and merges
// them into one output. The output images are append along the "AppendAxis".
// Except for the append axis, all inputs must have the same extent.
// All inputs must have the same number of scalar components.
// A future extension might be to pad or clip inputs to have the same extent.
// The output has the same origin and spacing as the first input.
// The origin and spacing of all other inputs are ignored. All inputs
// must have the same scalar type.
#ifndef __vtkImageAppend_h
#define __vtkImageAppend_h
#include "vtkThreadedImageAlgorithm.h"
class VTK_IMAGING_EXPORT vtkImageAppend : public vtkThreadedImageAlgorithm
{
public:
static vtkImageAppend *New();
vtkTypeMacro(vtkImageAppend,vtkThreadedImageAlgorithm);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Replace one of the input connections with a new input. You can
// only replace input connections that you previously created with
// AddInputConnection() or, in the case of the first input,
// with SetInputConnection().
virtual void ReplaceNthInputConnection(int idx, vtkAlgorithmOutput* input);
// Description:
// Set an Input of this filter. This method is only for support of
// old-style pipeline connections. When writing new code you should
// use SetInputConnection(), AddInputConnection(), and
// ReplaceNthInputConnection() instead.
void SetInput(int num, vtkDataObject *input);
void SetInput(vtkDataObject *input) { this->SetInput(0, input); };
// Description:
// Get one input to this filter. This method is only for support of
// old-style pipeline connections. When writing new code you should
// use vtkAlgorithm::GetInputConnection(0, num).
vtkDataObject *GetInput(int num);
vtkDataObject *GetInput() { return this->GetInput(0); };
// Description:
// Get the number of inputs to this filter. This method is only for
// support of old-style pipeline connections. When writing new code
// you should use vtkAlgorithm::GetNumberOfInputConnections(0).
int GetNumberOfInputs() { return this->GetNumberOfInputConnections(0); };
// Description:
// This axis is expanded to hold the multiple images.
// The default AppendAxis is the X axis.
// If you want to create a volue from a series of XY images, then you should
// set the AppendAxis to 2 (Z axis).
vtkSetMacro(AppendAxis, int);
vtkGetMacro(AppendAxis, int);
// Description:
// By default "PreserveExtents" is off and the append axis is used.
// When "PreseveExtents" is on, the extent of the inputs is used to
// place the image in the output. The whole extent of the output is
// the union of the input whole extents. Any portion of the
// output not covered by the inputs is set to zero. The origin and
// spacing is taken from the first input.
vtkSetMacro(PreserveExtents, int);
vtkGetMacro(PreserveExtents, int);
vtkBooleanMacro(PreserveExtents, int);
protected:
vtkImageAppend();
~vtkImageAppend();
int PreserveExtents;
int AppendAxis;
// Array holds the AppendAxisExtent shift for each input.
int *Shifts;
virtual int RequestInformation (vtkInformation *,
vtkInformationVector **,
vtkInformationVector *);
virtual int RequestUpdateExtent(vtkInformation *,
vtkInformationVector **,
vtkInformationVector *);
void ThreadedRequestData (vtkInformation* request,
vtkInformationVector** inputVector,
vtkInformationVector* outputVector,
vtkImageData ***inData, vtkImageData **outData,
int ext[6], int id);
// see vtkAlgorithm for docs.
virtual int FillInputPortInformation(int, vtkInformation*);
void InitOutput(int outExt[6], vtkImageData *outData);
void InternalComputeInputUpdateExtent(
int *inExt, int *outExt, int *inWextent, int whichInput);
// overridden to allocate all of the output arrays, not just active scalars
virtual void AllocateOutputData(vtkImageData *out,
int *uExtent);
virtual vtkImageData *AllocateOutputData(vtkDataObject *out);
// overridden to prevent shallow copies across, since we have to do it elementwise
virtual void CopyAttributeData(vtkImageData *in, vtkImageData *out,
vtkInformationVector** inputVector);
private:
vtkImageAppend(const vtkImageAppend&); // Not implemented.
void operator=(const vtkImageAppend&); // Not implemented.
};
#endif
|