/usr/include/vtk-7.1/vtkArcPlotter.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 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkArcPlotter.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 vtkArcPlotter
* @brief plot data along an arbitrary polyline
*
* vtkArcPlotter performs plotting of attribute data along polylines defined
* with an input vtkPolyData data object. Any type of attribute data can be
* plotted including scalars, vectors, tensors, normals, texture coordinates,
* and field data. Either one or multiple data components can be plotted.
*
* To use this class you must specify an input data set that contains one or
* more polylines, and some attribute data including which component of the
* attribute data. (By default, this class processes the first component of
* scalar data.) You will also need to set an offset radius (the distance
* of the polyline to the median line of the plot), a width for the plot
* (the distance that the minimum and maximum plot values are mapped into),
* an possibly an offset (used to offset attribute data with multiple
* components).
*
* Normally the filter automatically computes normals for generating the
* offset arc plot. However, you can specify a default normal and use that
* instead.
*
* @sa
* vtkXYPlotActor
*/
#ifndef vtkArcPlotter_h
#define vtkArcPlotter_h
#include "vtkRenderingAnnotationModule.h" // For export macro
#include "vtkPolyDataAlgorithm.h"
#define VTK_PLOT_SCALARS 1
#define VTK_PLOT_VECTORS 2
#define VTK_PLOT_NORMALS 3
#define VTK_PLOT_TCOORDS 4
#define VTK_PLOT_TENSORS 5
#define VTK_PLOT_FIELD_DATA 6
class vtkCamera;
class vtkDataArray;
class vtkPointData;
class vtkPoints;
class VTKRENDERINGANNOTATION_EXPORT vtkArcPlotter : public vtkPolyDataAlgorithm
{
public:
/**
* Instantiate with no default camera and plot mode set to
* VTK_SCALARS.
*/
static vtkArcPlotter *New();
vtkTypeMacro(vtkArcPlotter,vtkPolyDataAlgorithm);
void PrintSelf(ostream& os, vtkIndent indent);
//@{
/**
* Specify a camera used to orient the plot along the arc. If no camera
* is specified, then the orientation of the plot is arbitrary.
*/
virtual void SetCamera(vtkCamera*);
vtkGetObjectMacro(Camera,vtkCamera);
//@}
//@{
/**
* Specify which data to plot: scalars, vectors, normals, texture coords,
* tensors, or field data. If the data has more than one component, use
* the method SetPlotComponent to control which component to plot.
*/
vtkSetMacro(PlotMode, int);
vtkGetMacro(PlotMode, int);
void SetPlotModeToPlotScalars() {this->SetPlotMode(VTK_PLOT_SCALARS);};
void SetPlotModeToPlotVectors() {this->SetPlotMode(VTK_PLOT_VECTORS);};
void SetPlotModeToPlotNormals() {this->SetPlotMode(VTK_PLOT_NORMALS);};
void SetPlotModeToPlotTCoords() {this->SetPlotMode(VTK_PLOT_TCOORDS);};
void SetPlotModeToPlotTensors() {this->SetPlotMode(VTK_PLOT_TENSORS);};
void SetPlotModeToPlotFieldData()
{this->SetPlotMode(VTK_PLOT_FIELD_DATA);};
//@}
//@{
/**
* Set/Get the component number to plot if the data has more than one
* component. If the value of the plot component is == (-1), then all
* the components will be plotted.
*/
vtkSetMacro(PlotComponent,int);
vtkGetMacro(PlotComponent,int);
//@}
//@{
/**
* Set the radius of the "median" value of the first plotted component.
*/
vtkSetClampMacro(Radius,double,0.0,VTK_FLOAT_MAX);
vtkGetMacro(Radius,double);
//@}
//@{
/**
* Set the height of the plot. (The radius combined with the height
* define the location of the plot relative to the generating polyline.)
*/
vtkSetClampMacro(Height,double,0.0,VTK_FLOAT_MAX);
vtkGetMacro(Height,double);
//@}
//@{
/**
* Specify an offset that translates each subsequent plot (if there is
* more than one component plotted) from the defining arc (i.e., polyline).
*/
vtkSetClampMacro(Offset, double, 0.0, VTK_FLOAT_MAX);
vtkGetMacro(Offset, double);
//@}
//@{
/**
* Set a boolean to control whether to use default normals.
* By default, normals are automatically computed from the generating
* polyline and camera.
*/
vtkSetMacro(UseDefaultNormal,int);
vtkGetMacro(UseDefaultNormal,int);
vtkBooleanMacro(UseDefaultNormal,int);
//@}
//@{
/**
* Set the default normal to use if you do not wish automatic normal
* calculation. The arc plot will be generated using this normal.
*/
vtkSetVector3Macro(DefaultNormal,float);
vtkGetVectorMacro(DefaultNormal,float,3);
//@}
//@{
/**
* Set/Get the field data array to plot. This instance variable is
* only applicable if field data is plotted.
*/
vtkSetClampMacro(FieldDataArray,int,0,VTK_INT_MAX);
vtkGetMacro(FieldDataArray,int);
//@}
/**
* New GetMTime because of camera dependency.
*/
vtkMTimeType GetMTime();
protected:
vtkArcPlotter();
~vtkArcPlotter();
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
int OffsetPoint(vtkIdType ptId, vtkPoints *inPts, double n[3],
vtkPoints *newPts, double offset,
double *range, double val);
int ProcessComponents(vtkIdType numPts, vtkPointData *pd);
vtkCamera *Camera;
int PlotMode;
int PlotComponent;
double Radius;
double Height;
double Offset;
float DefaultNormal[3];
int UseDefaultNormal;
int FieldDataArray;
private:
vtkDataArray *Data;
double *DataRange;
double *Tuple;
int NumberOfComponents;
int ActiveComponent;
int StartComp;
int EndComp;
private:
vtkArcPlotter(const vtkArcPlotter&) VTK_DELETE_FUNCTION;
void operator=(const vtkArcPlotter&) VTK_DELETE_FUNCTION;
};
#endif
|