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:
57  ~vtkVASPTessellationReader() override;
58 
59  int RequestData(vtkInformation *request,
60  vtkInformationVector **inInfoVecs,
61  vtkInformationVector *outInfoVec) override;
63  vtkInformationVector **inInfoVecs,
64  vtkInformationVector *outInfoVec) 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
vtkVASPTessellationReader::AtomCountParser
vtksys::RegularExpression * AtomCountParser
Definition: vtkVASPTessellationReader.h:90
vtkMoleculeAlgorithm
Superclass for algorithms that operate on vtkMolecules.
Definition: vtkMoleculeAlgorithm.h:42
vtkVASPTessellationReader::FileName
char * FileName
Definition: vtkVASPTessellationReader.h:86
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
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:92
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:91
vtksys
Definition: vtkVASPAnimationReader.h:34
vtkVASPTessellationReader
Read NPT_Z_TESSELLATE.out files.
Definition: vtkVASPTessellationReader.h:39
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkMolecule
class describing a molecule
Definition: vtkMolecule.h:94
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
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:88
vtkMoleculeAlgorithm::RequestInformation
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkUnstructuredGrid
dataset represents arbitrary combinations of all possible cell types
Definition: vtkUnstructuredGrid.h:87
vtkMoleculeAlgorithm::New
static vtkMoleculeAlgorithm * New()
vtkVASPTessellationReader::LatticeParser
vtksys::RegularExpression * LatticeParser
Definition: vtkVASPTessellationReader.h:89