/usr/include/vtk-7.1/vtkCellDistanceSelector.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 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkCellDistanceSelector
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 vtkCellDistanceSelector
* @brief select neighbor cells up to a distance
*
*
* This filter grows an input selection by iteratively selecting neighbor
* cells (a neighbor cell is a cell that shares a vertex/edge/face), up to
* a given topological distance to the selected neighborhood (number of times
* we add neighbor cells).
* This filter takes a vtkSelection and a vtkCompositeDataSet as inputs.
* It outputs a vtkSelection identifying all the selected cells.
*
* @par Thanks:
* This file has been initially developed in the frame of CEA's Love visualization software development <br>
* CEA/DIF - Commissariat a l'Energie Atomique, Centre DAM Ile-De-France <br>
* BP12, F-91297 Arpajon, France. <br>
* Modified and integrated into VTK, Kitware SAS 2012
* Implementation by Thierry Carrard and Philippe Pebay
*/
#ifndef vtkCellDistanceSelector_h
#define vtkCellDistanceSelector_h
#include "vtkFiltersSelectionModule.h" // For export macro
#include "vtkSelectionAlgorithm.h"
#include "vtkSmartPointer.h" // For smart pointers
class vtkDataSet;
class vtkSelection;
class vtkAlgorithmOutput;
class vtkDataArray;
//@{
/**
* Grows a selection, selecting neighbor cells, up to a user defined topological distance
*/
class VTKFILTERSSELECTION_EXPORT vtkCellDistanceSelector : public vtkSelectionAlgorithm
{
public:
vtkTypeMacro(vtkCellDistanceSelector,vtkSelectionAlgorithm);
void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
//@}
static vtkCellDistanceSelector* New();
/**
* enumeration values to specify input port types
*/
enum InputPorts
{
INPUT_MESH = 0, //!< Port 0 is for input mesh
INPUT_SELECTION = 1 //!< Port 1 is for input selection
};
/**
* A convenience method to set the data object input connection to the producer output
*/
void SetInputMeshConnection( vtkAlgorithmOutput* in )
{ this->SetInputConnection( INPUT_MESH, in ); }
/**
* A convenience method to set the input data object
*/
void SetInputMesh( vtkDataObject* obj )
{ this->SetInputData( INPUT_MESH, obj ); }
/**
* A convenience method to set the selection input connection to the producer output
*/
void SetInputSelectionConnection( vtkAlgorithmOutput* in )
{ this->SetInputConnection( INPUT_SELECTION, in ); }
/**
* A convenience method to set the input selection
*/
void SetInputSelection( vtkSelection* obj )
{ this->SetInputData( INPUT_SELECTION, obj ); }
//@{
/**
* Tells how far (in term of topological distance) away from seed cells to expand the selection
*/
vtkSetMacro(Distance,int);
vtkGetMacro(Distance,int);
//@}
//@{
/**
* If set, seed cells passed with SetSeedCells will be included in the final selection
*/
vtkSetMacro(IncludeSeed,int);
vtkGetMacro(IncludeSeed,int);
vtkBooleanMacro(IncludeSeed,int);
//@}
//@{
/**
* If set, intermediate cells (between seed cells and the selection boundary) will be included in the final selection
*/
vtkSetMacro(AddIntermediate,int);
vtkGetMacro(AddIntermediate,int);
vtkBooleanMacro(AddIntermediate,int);
//@}
protected:
vtkCellDistanceSelector ();
virtual ~vtkCellDistanceSelector ();
void AddSelectionNode(vtkSelection* output, vtkSmartPointer<vtkDataArray> outIndices, int partNumber, int d);
virtual int FillInputPortInformation(int port, vtkInformation *info);
virtual int RequestData(vtkInformation*,vtkInformationVector**,vtkInformationVector*);
/**
* Tological radius from seed cells to be used to select cells
* Default: 1
*/
int Distance;
/**
* Decide whether seed cells are included in selection
* Default: 1
*/
int IncludeSeed;
/**
* Decide whether at distance between 1 and Distance-1 are included in selection
* Default: 1
*/
int AddIntermediate;
private:
vtkCellDistanceSelector(const vtkCellDistanceSelector &) VTK_DELETE_FUNCTION;
void operator= (const vtkCellDistanceSelector &) VTK_DELETE_FUNCTION;
};
#endif /* vtkCellDistanceSelector_h */
|