VTK
vtkPSLACReader.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 /*=========================================================================
3 
4  Program: Visualization Toolkit
5  Module: vtkPSLACReader.h
6 
7  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
8  All rights reserved.
9  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
10 
11  This software is distributed WITHOUT ANY WARRANTY; without even
12  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13  PURPOSE. See the above copyright notice for more information.
14 
15 =========================================================================*/
16 
17 /*-------------------------------------------------------------------------
18  Copyright 2008 Sandia Corporation.
19  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
20  the U.S. Government retains certain rights in this software.
21 -------------------------------------------------------------------------*/
22 
35 #ifndef vtkPSLACReader_h
36 #define vtkPSLACReader_h
37 
38 #include "vtkIOParallelModule.h" // For export macro
39 #include "vtkSLACReader.h"
40 
42 
43 class VTKIOPARALLEL_EXPORT vtkPSLACReader : public vtkSLACReader
44 {
45 public:
46  vtkTypeMacro(vtkPSLACReader, vtkSLACReader);
47  static vtkPSLACReader *New();
48  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
49 
51 
57  vtkGetObjectMacro(Controller, vtkMultiProcessController);
58  virtual void SetController(vtkMultiProcessController *);
60 
61 protected:
63  ~vtkPSLACReader() VTK_OVERRIDE;
64 
66 
67  int RequestInformation(vtkInformation *request,
68  vtkInformationVector **inputVector,
69  vtkInformationVector *outputVector) VTK_OVERRIDE;
70 
71  int RequestData(vtkInformation *request,
72  vtkInformationVector **inputVector,
73  vtkInformationVector *outputVector) VTK_OVERRIDE;
74 
75  int CheckTetrahedraWinding(int meshFD) VTK_OVERRIDE;
76  int ReadConnectivity(int meshFD, vtkMultiBlockDataSet *surfaceOutput,
77  vtkMultiBlockDataSet *volumeOutput) VTK_OVERRIDE;
78  int ReadCoordinates(int meshFD, vtkMultiBlockDataSet *output) VTK_OVERRIDE;
79  int ReadMidpointCoordinates(int meshFD, vtkMultiBlockDataSet *output,
80  MidpointCoordinateMap &map) VTK_OVERRIDE;
81  int ReadMidpointData(int meshFD, vtkMultiBlockDataSet *output,
82  MidpointIdMap &map) VTK_OVERRIDE;
83  int RestoreMeshCache(vtkMultiBlockDataSet *surfaceOutput,
84  vtkMultiBlockDataSet *volumeOutput,
85  vtkMultiBlockDataSet *compositeOutput) VTK_OVERRIDE;
86  int ReadFieldData(const int *modeFDArray,
87  int numModeFDs,
88  vtkMultiBlockDataSet *output) VTK_OVERRIDE;
89 
90  int ReadTetrahedronInteriorArray(int meshFD,
91  vtkIdTypeArray *connectivity) VTK_OVERRIDE;
92  int ReadTetrahedronExteriorArray(int meshFD,
93  vtkIdTypeArray *connectivity) VTK_OVERRIDE;
94 
95  int MeshUpToDate() VTK_OVERRIDE;
96 
100  vtkSmartPointer<vtkDataArray> ReadPointDataArray(int ncFD, int varId) VTK_OVERRIDE;
101 
102  class vtkInternal;
103  vtkInternal *Internal;
104 
106 
110  int NumberOfPieces;
111  int RequestedPiece;
113 
117  vtkIdType NumberOfGlobalPoints;
118 
122  vtkIdType NumberOfGlobalMidpoints;
123 
125 
128  vtkIdType StartPointRead(int process) {
129  return process*(this->NumberOfGlobalPoints/this->NumberOfPieces + 1);
130  }
131  vtkIdType EndPointRead(int process) {
132  vtkIdType result = this->StartPointRead(process+1);
133  if (result > this->NumberOfGlobalPoints) result=this->NumberOfGlobalPoints;
134  return result;
135  }
137 
139 
145 
146 private:
147  vtkPSLACReader(const vtkPSLACReader &) VTK_DELETE_FUNCTION;
148  void operator=(const vtkPSLACReader &) VTK_DELETE_FUNCTION;
149 };
150 
151 #endif //vtkPSLACReader_h
Store vtkAlgorithm input/output information.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkSLACReader * New()
dynamic, self-adjusting array of vtkIdType
Hold a reference to a vtkObjectBase instance.
int vtkIdType
Definition: vtkType.h:345
A reader for a data format used by Omega3p, Tau3p, and several other tools used at the Standford Line...
Definition: vtkSLACReader.h:49
Manages a map from edges to midpoint coordinates.
a simple class to control print indentation
Definition: vtkIndent.h:33
int RequestedPieceCache
Piece information from the last call.
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:48
vtkIdType EndPointRead(int process)
The start/end points read by the given process.
Composite dataset that organizes datasets into blocks.
Store zero or more vtkInformation instances.
int NumberOfPiecesCache
Piece information from the last call.
Extends the vtkSLACReader to read in partitioned pieces.
Manages a map from edges to the point id of the midpoint.
Multiprocessing communication superclass.