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 
24 #ifndef vtkVASPTessellationReader_h
25 #define vtkVASPTessellationReader_h
26 
27 #include "vtkDomainsChemistryModule.h" // For export macro
28 #include "vtkMoleculeAlgorithm.h"
29 
30 namespace vtksys {
31 class RegularExpression;
32 }
33 
35 
36 class VTKDOMAINSCHEMISTRY_EXPORT vtkVASPTessellationReader
37  : public vtkMoleculeAlgorithm
38 {
39 public:
42  void PrintSelf(ostream &os, vtkIndent indent) override;
43 
45 
48  vtkSetStringMacro(FileName)
49  vtkGetStringMacro(FileName)
51 
52 protected:
54  ~vtkVASPTessellationReader() override;
55 
56  int RequestData(vtkInformation *request,
57  vtkInformationVector **inInfoVecs,
58  vtkInformationVector *outInfoVec) override;
60  vtkInformationVector **inInfoVecs,
61  vtkInformationVector *outInfoVec) override;
63 
70  bool NextTimeStep(std::istream &in, double &time);
71 
78  size_t SelectTimeStepIndex(vtkInformation *info);
79 
80  bool ReadTimeStep(std::istream &in, vtkMolecule *molecule,
81  vtkUnstructuredGrid *voronoi);
82 
83  char *FileName;
84 
85  vtksys::RegularExpression *TimeParser;
86  vtksys::RegularExpression *LatticeParser;
87  vtksys::RegularExpression *AtomCountParser;
88  vtksys::RegularExpression *AtomParser;
89  vtksys::RegularExpression *ParenExtract;
90 
91 private:
93  void operator=(const vtkVASPTessellationReader&) = delete;
94 };
95 
96 #endif // vtkVASPTessellationReader_h
vtkVASPTessellationReader::AtomCountParser
vtksys::RegularExpression * AtomCountParser
Definition: vtkVASPTessellationReader.h:87
vtkMoleculeAlgorithm
Superclass for algorithms that operate on vtkMolecules.
Definition: vtkMoleculeAlgorithm.h:42
vtkVASPTessellationReader::FileName
char * FileName
Definition: vtkVASPTessellationReader.h:83
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:35
vtkMoleculeAlgorithm::RequestData
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
vtkX3D::time
Definition: vtkX3D.h:497
vtkVASPTessellationReader::ParenExtract
vtksys::RegularExpression * ParenExtract
Definition: vtkVASPTessellationReader.h:89
vtkMoleculeAlgorithm.h
vtkX3D::port
Definition: vtkX3D.h:447
vtkMoleculeAlgorithm::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkVASPTessellationReader::AtomParser
vtksys::RegularExpression * AtomParser
Definition: vtkVASPTessellationReader.h:88
vtksys
Definition: vtkVASPAnimationReader.h:31
vtkVASPTessellationReader
Read NPT_Z_TESSELLATE.out files.
Definition: vtkVASPTessellationReader.h:36
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkMolecule
class describing a molecule
Definition: vtkMolecule.h:91
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:80
vtkX3D::info
Definition: vtkX3D.h:376
vtkMoleculeAlgorithm::FillOutputPortInformation
int FillOutputPortInformation(int port, vtkInformation *info) override
Fill the output port information objects for this algorithm.
vtkVASPTessellationReader::TimeParser
vtksys::RegularExpression * TimeParser
Definition: vtkVASPTessellationReader.h:85
vtkMoleculeAlgorithm::RequestInformation
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkUnstructuredGrid
dataset represents arbitrary combinations of all possible cell types
Definition: vtkUnstructuredGrid.h:81
vtkMoleculeAlgorithm::New
static vtkMoleculeAlgorithm * New()
vtkVASPTessellationReader::LatticeParser
vtksys::RegularExpression * LatticeParser
Definition: vtkVASPTessellationReader.h:86