/usr/include/vtk-7.1/vtkAppendCompositeDataLeaves.h is in libvtk7-dev 7.1.1+dfsg1-2.
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 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkAppendCompositeDataLeaves.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.
=========================================================================*/
/**
* @class vtkAppendCompositeDataLeaves
* @brief appends one or more composite datasets with the same structure together into a single output composite dataset
*
* vtkAppendCompositeDataLeaves is a filter that takes input composite datasets with the same
* structure: (1) the same number of entries and -- if any children are composites -- the
* same constraint holds from them; and (2) the same type of dataset at each position.
* It then creates an output dataset with the same structure whose leaves contain all the
* cells from the datasets at the corresponding leaves of the input datasets.
*
* Currently, this filter only supports "appending" of a few types for the leaf
* nodes and the logic used for each supported data type is as follows:
*
* \li vtkUnstructuredGrid - appends all unstructured grids from the leaf
* location on all inputs into a single unstructured grid for the
* corresponding location in the output composite dataset. PointData and
* CellData arrays are extracted and appended only if they are available in
* all datasets.(For example, if one dataset has scalars but another does
* not, scalars will not be appended.)
*
* \li vtkPolyData - appends all polydatas from the leaf location on all inputs
* into a single polydata for the corresponding location in the output
* composite dataset. PointData and CellData arrays are extracted and
* appended only if they are available in all datasets.(For example, if one
* dataset has scalars but another does not, scalars will not be appended.)
*
* \li vtkImageData/vtkUniformGrid - simply passes the first non-null
* grid for a particular location to corresponding location in the output.
*
* \li vtkTable - simply passes the first non-null vtkTable for a particular
* location to the corresponding location in the output.
*
* Other types of leaf datasets will be ignored and their positions in the
* output dataset will be NULL pointers.
*
* @sa
* vtkAppendPolyData vtkAppendFilter
*/
#ifndef vtkAppendCompositeDataLeaves_h
#define vtkAppendCompositeDataLeaves_h
#include "vtkFiltersCoreModule.h" // For export macro
#include "vtkCompositeDataSetAlgorithm.h"
class vtkCompositeDataIterator;
class vtkDataSet;
class VTKFILTERSCORE_EXPORT vtkAppendCompositeDataLeaves : public vtkCompositeDataSetAlgorithm
{
public:
static vtkAppendCompositeDataLeaves* New();
vtkTypeMacro(vtkAppendCompositeDataLeaves,vtkCompositeDataSetAlgorithm);
void PrintSelf( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
//@{
/**
* Set/get whether the field data of each dataset in the composite dataset is copied to the output.
* If AppendFieldData is non-zero, then field data arrays from all the inputs are added
* to the output. If there are duplicates, the array on the first input encountered is taken.
*/
vtkSetMacro(AppendFieldData,int);
vtkGetMacro(AppendFieldData,int);
vtkBooleanMacro(AppendFieldData,int);
//@}
protected:
vtkAppendCompositeDataLeaves();
~vtkAppendCompositeDataLeaves() VTK_OVERRIDE;
/**
* Since vtkCompositeDataSet is an abstract class and we output the same types as the input,
* we must override the default implementation.
*/
int RequestDataObject( vtkInformation*, vtkInformationVector**, vtkInformationVector* ) VTK_OVERRIDE;
/**
* Iterates over the datasets and appends corresponding notes.
*/
int RequestData( vtkInformation*, vtkInformationVector**, vtkInformationVector* ) VTK_OVERRIDE;
/**
* The input is repeatable, so we override the default implementation.
*/
int FillInputPortInformation( int port, vtkInformation* info ) VTK_OVERRIDE;
/**
* When leaf nodes are unstructured grids, this uses a vtkAppendFilter to merge them.
*/
virtual void AppendUnstructuredGrids(vtkInformationVector* inputVector,
int i, int numInputs, vtkCompositeDataIterator* iter, vtkCompositeDataSet* output );
/**
* When leaf nodes are polydata, this uses a vtkAppendPolyData to merge them.
*/
virtual void AppendPolyData(vtkInformationVector* inputVector,
int i, int numInputs, vtkCompositeDataIterator* iter, vtkCompositeDataSet* output );
/**
* Both AppendUnstructuredGrids and AppendPolyData call AppendFieldDataArrays. If
* AppendFieldData is non-zero, then field data arrays from all the inputs are added
* to the output. If there are duplicates, the array on the first input encountered
* is taken.
*/
virtual void AppendFieldDataArrays(vtkInformationVector* inputVector,
int i, int numInputs, vtkCompositeDataIterator* iter, vtkDataSet* dset );
int AppendFieldData;
private:
vtkAppendCompositeDataLeaves ( const vtkAppendCompositeDataLeaves& ) VTK_DELETE_FUNCTION;
void operator = ( const vtkAppendCompositeDataLeaves& ) VTK_DELETE_FUNCTION;
};
#endif // vtkAppendCompositeDataLeaves_h
|