VTK
vtkChacoReader.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkChacoReader.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 /*----------------------------------------------------------------------------
16  Copyright (c) Sandia Corporation
17  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
18 ----------------------------------------------------------------------------*/
19 
35 #ifndef vtkChacoReader_h
36 #define vtkChacoReader_h
37 
38 #include "vtkIOGeometryModule.h" // For export macro
40 
42 {
43 public:
44  static vtkChacoReader *New();
46  void PrintSelf(ostream& os, vtkIndent indent);
47 
51  vtkSetStringMacro(BaseName);
52  vtkGetStringMacro(BaseName);
53 
59  vtkSetMacro(GenerateGlobalElementIdArray, int);
60  vtkGetMacro(GenerateGlobalElementIdArray, int);
61  vtkBooleanMacro(GenerateGlobalElementIdArray, int);
62 
63  static const char *GetGlobalElementIdArrayName() { return "GlobalElementId"; }
64 
71  vtkSetMacro(GenerateGlobalNodeIdArray, int);
72  vtkGetMacro(GenerateGlobalNodeIdArray, int);
73  vtkBooleanMacro(GenerateGlobalNodeIdArray, int);
74 
75  static const char *GetGlobalNodeIdArrayName() { return "GlobalNodeId"; }
76 
80  vtkSetMacro(GenerateVertexWeightArrays, int);
81  vtkGetMacro(GenerateVertexWeightArrays, int);
82  vtkBooleanMacro(GenerateVertexWeightArrays, int);
83 
87  vtkGetMacro(NumberOfVertexWeights, int);
88 
95  const char *GetVertexWeightArrayName(int weight);
96 
103  vtkSetMacro(GenerateEdgeWeightArrays, int);
104  vtkGetMacro(GenerateEdgeWeightArrays, int);
105  vtkBooleanMacro(GenerateEdgeWeightArrays, int);
106 
110  vtkGetMacro(NumberOfEdgeWeights, int);
111 
118  const char *GetEdgeWeightArrayName(int weight);
119 
121 
122  vtkGetMacro(Dimensionality, int);
123  vtkGetMacro(NumberOfEdges, vtkIdType);
124  vtkGetMacro(NumberOfVertices, vtkIdType);
126 
131  vtkGetMacro(NumberOfCellWeightArrays, int);
132 
137  vtkGetMacro(NumberOfPointWeightArrays, int);
138 
139 protected:
142 
144 
145  // methods for parsing Chaco files
146 
149 
150  int InputGeom(vtkIdType nvtxs, int igeom, double *x, double *y, double *z);
151  int InputGraph1();
152  int InputGraph2( vtkIdType **start, vtkIdType **adjacency, double **vweights,
153  double **eweights);
156 
157  // methods for creating vtkUnstructuredGrid from Chaco file data
158 
162 
163  void MakeWeightArrayNames(int nv, int ne);
164 
165  // Parameters for controlling what is read in.
166  char *BaseName;
169 
172 
176  vtkSetStringMacro(CurrentBaseName);
177 
178  char **VarrayName;
179  char **EarrayName;
180 
181  //----------------------------------------------------------------------
182  // The following metadata is read during RequestInformation. If you
183  // add new metadata, you must modify vtkPChacoReader::RequestInformation
184  // to include it when process 0 broadcasts the metadata.
185 
189  int NumberOfVertexWeights; // in file
190  int NumberOfEdgeWeights; // in file
192 
193  //----------------------------------------------------------------------
194 
195  int NumberOfPointWeightArrays; // in output unstuctured grid
196  int NumberOfCellWeightArrays; // in output unstuctured grid
197 
198  // Keep the points and cells
199  // around so they don't need to be re-read when the
200  // options change.
202 
203  // Should I re-read in the geometry and topology of the dataset
205 
210 
211 private:
212  vtkChacoReader(const vtkChacoReader&); // Not implemented
213  void operator=(const vtkChacoReader&); // Not implemented
214 
215  double ReadVal(FILE *infile, int *end_flag);
216  vtkIdType ReadInt(FILE *infile, int *end_flag);
217  void FlushLine( FILE *infile);
218  void ResetInputBuffers();
219 
220  char *Line;
221  int Line_length;
222  int Offset;
223  int Break_pnt;
224  int Save_pnt;
225 
226  void ClearWeightArrayNames();
227 };
228 
229 #endif
vtkChacoReader::EarrayName
char ** EarrayName
Definition: vtkChacoReader.h:179
vtkgl::z
GLdouble GLdouble z
Definition: vtkgl.h:11754
vtkChacoReader::OpenCurrentFile
int OpenCurrentFile()
vtkChacoReader::RemakeDataCacheFlag
int RemakeDataCacheFlag
Definition: vtkChacoReader.h:204
vtkIOGeometryModule.h
vtkChacoReader::~vtkChacoReader
~vtkChacoReader()
vtkChacoReader::BuildOutputGrid
int BuildOutputGrid(vtkUnstructuredGrid *gr)
vtkIdType
int vtkIdType
Definition: vtkType.h:275
vtkChacoReader::GenerateVertexWeightArrays
int GenerateVertexWeightArrays
Definition: vtkChacoReader.h:170
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkX3D::weight
@ weight
Definition: vtkX3D.h:532
vtkChacoReader::GenerateGlobalNodeIdArray
int GenerateGlobalNodeIdArray
Definition: vtkChacoReader.h:168
vtkChacoReader::GenerateEdgeWeightArrays
int GenerateEdgeWeightArrays
Definition: vtkChacoReader.h:171
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkChacoReader::Dimensionality
int Dimensionality
Definition: vtkChacoReader.h:186
vtkChacoReader::GenerateGlobalElementIdArray
int GenerateGlobalElementIdArray
Definition: vtkChacoReader.h:167
vtkgl::x
GLint GLint GLint GLint GLint x
Definition: vtkgl.h:11318
vtkChacoReader::RequestData
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
VTKIOGEOMETRY_EXPORT
#define VTKIOGEOMETRY_EXPORT
Definition: vtkIOGeometryModule.h:15
vtkChacoReader::NumberOfEdgeWeights
int NumberOfEdgeWeights
Definition: vtkChacoReader.h:190
vtkChacoReader::NumberOfCellWeightArrays
int NumberOfCellWeightArrays
Definition: vtkChacoReader.h:196
vtkChacoReader::CurrentBaseName
char * CurrentBaseName
Definition: vtkChacoReader.h:175
vtkChacoReader::VarrayName
char ** VarrayName
Definition: vtkChacoReader.h:176
vtkChacoReader::InputGraph2
int InputGraph2(vtkIdType **start, vtkIdType **adjacency, double **vweights, double **eweights)
vtkChacoReader::vtkChacoReader
vtkChacoReader()
vtkChacoReader::GraphFileHasVertexNumbers
int GraphFileHasVertexNumbers
Definition: vtkChacoReader.h:191
vtkChacoReader::MakeWeightArrayNames
void MakeWeightArrayNames(int nv, int ne)
vtkChacoReader::GetVertexWeightArrayName
const char * GetVertexWeightArrayName(int weight)
vtkChacoReader::NumberOfVertices
vtkIdType NumberOfVertices
Definition: vtkChacoReader.h:187
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkgl::start
GLuint start
Definition: vtkgl.h:11315
vtkSetStringMacro
#define vtkSetStringMacro(name)
Definition: vtkSetGet.h:104
vtkChacoReader::GetGraphMetadata
void GetGraphMetadata()
vtkChacoReader::NumberOfPointWeightArrays
int NumberOfPointWeightArrays
Definition: vtkChacoReader.h:195
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkGetStringMacro
vtkGetStringMacro(ExtensionsString)
vtkChacoReader::CurrentGraphFP
FILE * CurrentGraphFP
Definition: vtkChacoReader.h:174
vtkChacoReader::AddNodeIds
void AddNodeIds(vtkUnstructuredGrid *output)
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkChacoReader::CurrentGeometryFP
FILE * CurrentGeometryFP
Definition: vtkChacoReader.h:173
vtkChacoReader::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkgl::y
GLint GLint GLint GLint GLint GLint y
Definition: vtkgl.h:11318
vtkChacoReader::ReadFile
int ReadFile(vtkUnstructuredGrid *output)
vtkChacoReader::GetGlobalNodeIdArrayName
static const char * GetGlobalNodeIdArrayName()
Definition: vtkChacoReader.h:75
vtkChacoReader::GetGlobalElementIdArrayName
static const char * GetGlobalElementIdArrayName()
Definition: vtkChacoReader.h:63
vtkChacoReader::NumberOfEdges
vtkIdType NumberOfEdges
Definition: vtkChacoReader.h:188
vtkUnstructuredGridAlgorithm.h
vtkChacoReader
Read a Chaco file and create a vtkUnstructuredGrid.
Definition: vtkChacoReader.h:42
vtkChacoReader::BaseName
char * BaseName
Definition: vtkChacoReader.h:166
vtkUnstructuredGridAlgorithm
Superclass for algorithms that produce only unstructured grid as output.
Definition: vtkUnstructuredGridAlgorithm.h:40
vtkChacoReader::New
static vtkChacoReader * New()
vtkChacoReader::NumberOfVertexWeights
int NumberOfVertexWeights
Definition: vtkChacoReader.h:189
vtkUnstructuredGrid
dataset represents arbitrary combinations of all possible cell types
Definition: vtkUnstructuredGrid.h:82
vtkChacoReader::InputGraph1
int InputGraph1()
vtkChacoReader::RequestInformation
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkChacoReader::CloseCurrentFile
void CloseCurrentFile()
vtkChacoReader::GetEdgeWeightArrayName
const char * GetEdgeWeightArrayName(int weight)
vtkChacoReader::InputGeom
int InputGeom(vtkIdType nvtxs, int igeom, double *x, double *y, double *z)
vtkChacoReader::GetCoordsMetadata
int GetCoordsMetadata()
vtkChacoReader::DataCache
vtkUnstructuredGrid * DataCache
Definition: vtkChacoReader.h:201
vtkChacoReader::AddElementIds
void AddElementIds(vtkUnstructuredGrid *output)