/usr/include/vtk-6.3/vtkVPICReader.h is in libvtk6-dev 6.3.0+dfsg1-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 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 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkVPICReader.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 vtkVPICReader - class for reading VPIC data files
// .SECTION Description
// vtkDataReader is a helper superclass that reads the vtk data file header,
// dataset type, and attribute data (point and cell attributes such as
// scalars, vectors, normals, etc.) from a vtk data file. See text for
// the format of the various vtk file types.
//
// .SECTION See Also
// vtkPolyDataReader vtkStructuredPointsReader vtkStructuredGridReader
// vtkUnstructuredGridReader vtkRectilinearGridReader
#ifndef vtkVPICReader_h
#define vtkVPICReader_h
#include "vtkIOVPICModule.h" // For export macro
#include "vtkImageAlgorithm.h"
class vtkCallbackCommand;
class vtkDataArraySelection;
class vtkFloatArray;
class vtkStdString;
class vtkMultiProcessController;
class vtkInformation;
//BTX
class VPICDataSet;
class GridExchange;
//ETX
class VTKIOVPIC_EXPORT vtkVPICReader : public vtkImageAlgorithm
{
public:
static vtkVPICReader *New();
vtkTypeMacro(vtkVPICReader,vtkImageAlgorithm);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Specify file name of VPIC data file to read.
vtkSetStringMacro(FileName);
vtkGetStringMacro(FileName);
// Description:
// Set the stride in each dimension
vtkSetVector3Macro(Stride, int);
vtkGetVector3Macro(Stride, int);
// Description:
// Set the simulation file decomposition in each dimension
vtkSetVector2Macro(XExtent, int);
vtkSetVector2Macro(YExtent, int);
vtkSetVector2Macro(ZExtent, int);
// Get the full layout size in files for setting the range in GUI
vtkGetVector2Macro(XLayout, int);
vtkGetVector2Macro(YLayout, int);
vtkGetVector2Macro(ZLayout, int);
// Description:
// Get the reader's output
vtkImageData *GetOutput();
vtkImageData *GetOutput(int index);
// Description:
// The following methods allow selective reading of solutions fields.
// By default, ALL data fields on the nodes are read, but this can
// be modified.
int GetNumberOfPointArrays();
const char* GetPointArrayName(int index);
int GetPointArrayStatus(const char* name);
void SetPointArrayStatus(const char* name, int status);
void DisableAllPointArrays();
void EnableAllPointArrays();
protected:
vtkVPICReader();
~vtkVPICReader();
char *FileName; // First field part file giving path
int Rank; // Number of this processor
int TotalRank; // Number of processors
int UsedRank; // Number of processors used in display
VPICDataSet* vpicData; // Data structure controlling access
GridExchange* exchanger; // Exchange ghost cells between procs
vtkIdType NumberOfNodes; // Number of points in grid
vtkIdType NumberOfCells; // Number of cells in grid
vtkIdType NumberOfTuples; // Number of tuples in sub extent
int WholeExtent[6]; // Problem image extent
int SubExtent[6]; // Processor problem extent
int Dimension[3]; // Size of image
int SubDimension[3]; // Size of subextent of image
int XLayout[2]; // Extent in complete files
int YLayout[2]; // Extent in complete files
int ZLayout[2]; // Extent in complete files
int NumberOfVariables; // Number of variables to display
vtkStdString* VariableName; // Names of each variable
int* VariableStruct; // Scalar, vector or tensor
int NumberOfTimeSteps; // Temporal domain
double* TimeSteps; // Times available for request
int CurrentTimeStep; // Time currently displayed
int Stride[3]; // Stride over actual data
int XExtent[2]; // Subview extent in files
int YExtent[2]; // Subview extent in files
int ZExtent[2]; // Subview extent in files
vtkFloatArray** data; // Actual data arrays
int* dataLoaded; // Data is loaded for current time
int Start[3]; // Start offset for processor w ghosts
int GhostDimension[3]; // Dimension including ghosts on proc
int NumberOfGhostTuples; // Total ghost cells per component
int ghostLevel0; // Left plane number of ghosts
int ghostLevel1; // Right plane number of ghosts
// Controls initializing and querrying MPI
vtkMultiProcessController * MPIController;
// Selected field of interest
vtkDataArraySelection* PointDataArraySelection;
// Observer to modify this object when array selections are modified
vtkCallbackCommand* SelectionObserver;
int RequestData(vtkInformation *, vtkInformationVector **,
vtkInformationVector *);
int RequestInformation(vtkInformation *, vtkInformationVector **inVector,
vtkInformationVector *);
void LoadVariableData(int var, int timeStep);
void LoadComponent(
float* varData,
float* block,
int comp,
int numberOfComponents);
static void SelectionCallback(vtkObject* caller, unsigned long eid,
void* clientdata, void* calldata);
static void EventCallback(vtkObject* caller, unsigned long eid,
void* clientdata, void* calldata);
private:
vtkVPICReader(const vtkVPICReader&); // Not implemented.
void operator=(const vtkVPICReader&); // Not implemented.
};
#endif
|