/usr/include/vtk-6.2/vtkPSLACReader.h is in libvtk6-dev 6.2.0+dfsg1-10build1.
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 | // -*- c++ -*-
/*=========================================================================
Program: Visualization Toolkit
Module: vtkPSLACReader.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.
=========================================================================*/
/*-------------------------------------------------------------------------
Copyright 2008 Sandia Corporation.
Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
the U.S. Government retains certain rights in this software.
-------------------------------------------------------------------------*/
// .NAME vtkPSLACReader
//
// .SECTION Description
//
// Extends the vtkSLACReader to read in partitioned pieces. Due to the nature
// of the data layout, this reader only works in a data parallel mode where
// each process in a parallel job simultaneously attempts to read the piece
// corresponding to the local process id.
//
#ifndef vtkPSLACReader_h
#define vtkPSLACReader_h
#include "vtkIOParallelModule.h" // For export macro
#include "vtkSLACReader.h"
class vtkMultiProcessController;
class VTKIOPARALLEL_EXPORT vtkPSLACReader : public vtkSLACReader
{
public:
vtkTypeMacro(vtkPSLACReader, vtkSLACReader);
static vtkPSLACReader *New();
virtual void PrintSelf(ostream &os, vtkIndent indent);
// Description:
// The controller used to communicate partition data. The number of pieces
// requested must agree with the number of processes, the piece requested must
// agree with the local process id, and all process must invoke
// ProcessRequests of this filter simultaneously.
vtkGetObjectMacro(Controller, vtkMultiProcessController);
virtual void SetController(vtkMultiProcessController *);
protected:
vtkPSLACReader();
~vtkPSLACReader();
vtkMultiProcessController *Controller;
virtual int RequestInformation(vtkInformation *request,
vtkInformationVector **inputVector,
vtkInformationVector *outputVector);
virtual int RequestData(vtkInformation *request,
vtkInformationVector **inputVector,
vtkInformationVector *outputVector);
virtual int CheckTetrahedraWinding(int meshFD);
virtual int ReadConnectivity(int meshFD, vtkMultiBlockDataSet *surfaceOutput,
vtkMultiBlockDataSet *volumeOutput);
virtual int ReadCoordinates(int meshFD, vtkMultiBlockDataSet *output);
virtual int ReadMidpointCoordinates(int meshFD, vtkMultiBlockDataSet *output,
MidpointCoordinateMap &map);
virtual int ReadMidpointData(int meshFD, vtkMultiBlockDataSet *output,
MidpointIdMap &map);
virtual int RestoreMeshCache(vtkMultiBlockDataSet *surfaceOutput,
vtkMultiBlockDataSet *volumeOutput,
vtkMultiBlockDataSet *compositeOutput);
virtual int ReadFieldData(const int *modeFDArray,
int numModeFDs,
vtkMultiBlockDataSet *output);
virtual int ReadTetrahedronInteriorArray(int meshFD,
vtkIdTypeArray *connectivity);
virtual int ReadTetrahedronExteriorArray(int meshFD,
vtkIdTypeArray *connectivity);
virtual int MeshUpToDate();
//BTX
// Description:
// Reads point data arrays. Called by ReadCoordinates and ReadFieldData.
virtual vtkSmartPointer<vtkDataArray> ReadPointDataArray(int ncFD, int varId);
//ETX
//BTX
class vtkInternal;
vtkInternal *Internal;
//ETX
// Description:
// The number of pieces and the requested piece to load. Synonymous with
// the number of processes and the local process id.
int NumberOfPieces;
int RequestedPiece;
// Description:
// The number of points defined in the mesh file.
vtkIdType NumberOfGlobalPoints;
// Description:
// The number of midpoints defined in the mesh file
vtkIdType NumberOfGlobalMidpoints;
// Description:
// The start/end points read by the given process.
vtkIdType StartPointRead(int process) {
return process*(this->NumberOfGlobalPoints/this->NumberOfPieces + 1);
}
vtkIdType EndPointRead(int process) {
vtkIdType result = this->StartPointRead(process+1);
if (result > this->NumberOfGlobalPoints) result=this->NumberOfGlobalPoints;
return result;
}
// Description:
// Piece information from the last call.
int NumberOfPiecesCache;
int RequestedPieceCache;
private:
vtkPSLACReader(const vtkPSLACReader &); // Not implemented
void operator=(const vtkPSLACReader &); // Not implemented
};
#endif //vtkPSLACReader_h
|