/usr/include/vtk-7.1/vtkStripper.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 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkStripper.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 vtkStripper
* @brief create triangle strips and/or poly-lines
*
*
* vtkStripper is a filter that generates triangle strips and/or poly-lines
* from input polygons, triangle strips, and lines. Input polygons are
* assembled into triangle strips only if they are triangles; other types of
* polygons are passed through to the output and not stripped. (Use
* vtkTriangleFilter to triangulate non-triangular polygons prior to running
* this filter if you need to strip all the data.) The filter will pass
* through (to the output) vertices if they are present in the input
* polydata. Also note that if triangle strips or polylines are defined in
* the input they are passed through and not joined nor extended. (If you wish
* to strip these use vtkTriangleFilter to fragment the input into triangles
* and lines prior to running vtkStripper.)
*
* The ivar MaximumLength can be used to control the maximum
* allowable triangle strip and poly-line length.
*
* By default, this filter discards any cell data associated with the input.
* Thus is because the cell structure changes and and the old cell data
* is no longer valid. When PassCellDataAsFieldData flag is set,
* the cell data is passed as FieldData to the output using the following rule:
* 1) for every cell in the output that is not a triangle strip,
* the cell data is inserted once per cell in the output field data.
* 2) for every triangle strip cell in the output:
* ii) 1 tuple is inserted for every point(j|j>=2) in the strip.
* This is the cell data for the cell formed by (j-2, j-1, j) in
* the input.
* The field data order is same as cell data i.e. (verts,line,polys,tsrips).
*
* @warning
* If triangle strips or poly-lines exist in the input data they will
* be passed through to the output data. This filter will only construct
* triangle strips if triangle polygons are available; and will only
* construct poly-lines if lines are available.
*
* @sa
* vtkTriangleFilter
*/
#ifndef vtkStripper_h
#define vtkStripper_h
#include "vtkFiltersCoreModule.h" // For export macro
#include "vtkPolyDataAlgorithm.h"
class VTKFILTERSCORE_EXPORT vtkStripper : public vtkPolyDataAlgorithm
{
public:
vtkTypeMacro(vtkStripper,vtkPolyDataAlgorithm);
void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
/**
* Construct object with MaximumLength set to 1000.
*/
static vtkStripper *New();
//@{
/**
* Specify the maximum number of triangles in a triangle strip,
* and/or the maximum number of lines in a poly-line.
*/
vtkSetClampMacro(MaximumLength,int,4,100000);
vtkGetMacro(MaximumLength,int);
//@}
//@{
/**
* Enable/Disable passing of the CellData in the input to
* the output as FieldData. Note the field data is transformed.
*/
vtkBooleanMacro(PassCellDataAsFieldData, int);
vtkSetMacro(PassCellDataAsFieldData, int);
vtkGetMacro(PassCellDataAsFieldData, int);
//@}
//@{
/**
* If on, the output polygonal dataset will have a celldata array that
* holds the cell index of the original 3D cell that produced each output
* cell. This is useful for picking. The default is off to conserve
* memory.
*/
vtkSetMacro(PassThroughCellIds,int);
vtkGetMacro(PassThroughCellIds,int);
vtkBooleanMacro(PassThroughCellIds,int);
//@}
//@{
/**
* If on, the output polygonal dataset will have a pointdata array that
* holds the point index of the original vertex that produced each output
* vertex. This is useful for picking. The default is off to conserve
* memory.
*/
vtkSetMacro(PassThroughPointIds,int);
vtkGetMacro(PassThroughPointIds,int);
vtkBooleanMacro(PassThroughPointIds,int);
//@}
//@{
/**
* If on, the output polygonal segments will be joined if they are
* contiguous. This is useful after slicing a surface. The default
* is off.
*/
vtkSetMacro(JoinContiguousSegments,int);
vtkGetMacro(JoinContiguousSegments,int);
vtkBooleanMacro(JoinContiguousSegments,int);
//@}
protected:
vtkStripper();
~vtkStripper() VTK_OVERRIDE {}
// Usual data generation method
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
int MaximumLength;
int PassCellDataAsFieldData;
int PassThroughCellIds;
int PassThroughPointIds;
int JoinContiguousSegments;
private:
vtkStripper(const vtkStripper&) VTK_DELETE_FUNCTION;
void operator=(const vtkStripper&) VTK_DELETE_FUNCTION;
};
#endif
|