VTK
vtkVASPTessellationReader.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkVASPTessellationReader.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 
27 #ifndef vtkVASPTessellationReader_h
28 #define vtkVASPTessellationReader_h
29 
30 #include "vtkDomainsChemistryModule.h" // For export macro
31 #include "vtkMoleculeAlgorithm.h"
32 
33 namespace vtksys {
34 class RegularExpression;
35 }
36 
38 
39 class VTKDOMAINSCHEMISTRY_EXPORT vtkVASPTessellationReader
40  : public vtkMoleculeAlgorithm
41 {
42 public:
45  void PrintSelf(ostream &os, vtkIndent indent) override;
46 
48 
51  vtkSetStringMacro(FileName)
52  vtkGetStringMacro(FileName)
54 
55 protected:
58 
59  int RequestData(vtkInformation *request,
60  vtkInformationVector **inInfoVecs,
61  vtkInformationVector *outInfoVec) override;
62  int RequestInformation(vtkInformation *request,
63  vtkInformationVector **inInfoVecs,
64  vtkInformationVector *outInfoVec) override;
65  int FillOutputPortInformation(int port, vtkInformation *info) override;
66 
73  bool NextTimeStep(std::istream &in, double &time);
74 
81  size_t SelectTimeStepIndex(vtkInformation *info);
82 
83  bool ReadTimeStep(std::istream &in, vtkMolecule *molecule,
84  vtkUnstructuredGrid *voronoi);
85 
86  char *FileName;
87 
88  vtksys::RegularExpression *TimeParser;
89  vtksys::RegularExpression *LatticeParser;
90  vtksys::RegularExpression *AtomCountParser;
91  vtksys::RegularExpression *AtomParser;
92  vtksys::RegularExpression *ParenExtract;
93 
94 private:
96  void operator=(const vtkVASPTessellationReader&) = delete;
97 };
98 
99 #endif // vtkVASPTessellationReader_h
vtkMoleculeAlgorithm
Superclass for algorithms that operate on vtkMolecules.
Definition: vtkMoleculeAlgorithm.h:43
vtkVASPTessellationReader::New
static vtkVASPTessellationReader * New()
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:42
vtkX3D::time
@ time
Definition: vtkX3D.h:497
vtkMoleculeAlgorithm.h
vtkX3D::port
@ port
Definition: vtkX3D.h:447
vtksys
Definition: vtkVASPAnimationReader.h:34
vtkVASPTessellationReader
Read NPT_Z_TESSELLATE.out files.
Definition: vtkVASPTessellationReader.h:41
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:40
vtkMolecule
class describing a molecule
Definition: vtkMolecule.h:95
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:87
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkUnstructuredGrid
dataset represents arbitrary combinations of all possible cell types
Definition: vtkUnstructuredGrid.h:89