VTK
vtkExodusIIReaderVariableCheck.h
Go to the documentation of this file.
1 #ifndef vtkExodusIIReaderVariableCheck_h
2 #define vtkExodusIIReaderVariableCheck_h
3 #ifndef __VTK_WRAP__
4 #ifndef VTK_WRAPPING_CXX
5 
6 #include "vtkExodusIIReaderPrivate.h" // for ArrayInfoType
7 
8 #include <set> // STL Header for integration point names
9 #include <string> // STL Header for Start/StartInternal/Add
10 #include <vector> // STL Header for glommed array names
11 #include <vtksys/RegularExpression.hxx> // for integration point names
12 
20 {
21 public:
23  virtual bool Start(std::string name, const int* truth, int numTruth);
25  virtual bool StartInternal(std::string name, const int* truth, int numTruth) = 0;
27  virtual bool Add(std::string name, const int* truth) = 0;
29  virtual std::vector<std::string>::size_type Length();
31  virtual int Accept(std::vector<vtkExodusIIReaderPrivate::ArrayInfoType>& arr, int startIndex,
32  vtkExodusIIReaderPrivate* priv, int objtyp);
33 
34 protected:
40  bool CheckTruth(const int* truth);
42  std::vector<vtkExodusIIReaderPrivate::ArrayInfoType>& arrays);
43 
44  int GlomType;
45  std::vector<int> SeqTruth;
47  std::vector<std::string> OriginalNames;
48 };
49 
52 {
53 public:
55  bool StartInternal(std::string name, const int*, int) override;
56  bool Add(std::string, const int*) override;
57 };
58 
61 {
62 public:
63  vtkExodusIIReaderVectorCheck(const char* seq, int n);
64  bool StartInternal(std::string name, const int*, int) override;
65  bool Add(std::string name, const int* truth) override;
66  std::vector<std::string>::size_type Length() override;
67 
68 protected:
71 };
72 
80 {
81 public:
82  vtkExodusIIReaderTensorCheck(const char* seq, int n, int rank, int dim);
83  bool StartInternal(std::string name, const int*, int) override;
84  bool Add(std::string name, const int* truth) override;
85  std::vector<std::string>::size_type Length() override;
86 
87 protected:
89  vtkTypeUInt64 NumEndings;
90  int Dimension;
91  int Rank;
93 };
94 
98 {
99 public:
101  bool StartInternal(std::string name, const int*, int) override;
102  bool Add(std::string name, const int*) override;
103  std::vector<std::string>::size_type Length() override;
104  /*
105  virtual int Accept(
106  std::vector<vtkExodusIIReaderPrivate::ArrayInfoType>& arr, int startIndex,
107  vtkExodusIIReaderPrivate* priv, int objtyp )
108  {
109  }
110  */
111 protected:
112  bool StartIntegrationPoints(std::string cellType, std::string iptName);
113  bool AddIntegrationPoint(std::string iptName);
114 
115  vtksys::RegularExpression RegExp;
118  std::vector<int> IntPtMin;
119  std::vector<int> IntPtMax;
120  std::set<std::string> IntPtNames;
121  vtkTypeUInt64 Rank;
123 };
124 
125 #endif
126 #endif
127 #endif // vtkExodusIIReaderVariableCheck_h
128 // VTK-HeaderTest-Exclude: vtkExodusIIReaderVariableCheck.h
vtkExodusIIReaderIntPointCheck::vtkExodusIIReaderIntPointCheck
vtkExodusIIReaderIntPointCheck()
vtkExodusIIReaderTensorCheck::StillAdding
bool StillAdding
Definition: vtkExodusIIReaderVariableCheck.h:92
vtkExodusIIReaderTensorCheck::Rank
int Rank
Definition: vtkExodusIIReaderVariableCheck.h:91
vtkExodusIIReaderTensorCheck::Add
bool Add(std::string name, const int *truth) override
Add a name to the sequence. Returns true if any more names may be added.
vtkExodusIIReaderTensorCheck
This looks for symmetric tensors of a given rank and dimension.
Definition: vtkExodusIIReaderVariableCheck.h:79
vtkExodusIIReaderIntPointCheck::IntPtNames
std::set< std::string > IntPtNames
Definition: vtkExodusIIReaderVariableCheck.h:120
vtkExodusIIReaderVariableCheck::Accept
virtual int Accept(std::vector< vtkExodusIIReaderPrivate::ArrayInfoType > &arr, int startIndex, vtkExodusIIReaderPrivate *priv, int objtyp)
Accept this sequence. (Add an entry to the end of arr.) Must return Length().
vtkExodusIIReaderIntPointCheck::Length
std::vector< std::string >::size_type Length() override
Returns the length of the sequence (or 0 if the match is incorrect or incomplete).
vtkExodusIIReaderVariableCheck::Length
virtual std::vector< std::string >::size_type Length()
Returns the length of the sequence (or 0 if the match is incorrect or incomplete).
vtkExodusIIReaderIntPointCheck::StartIntegrationPoints
bool StartIntegrationPoints(std::string cellType, std::string iptName)
vtkExodusIIReaderTensorCheck::StartInternal
bool StartInternal(std::string name, const int *, int) override
Subclasses implement this and returns true if any more names are acceptable.
vtkExodusIIReaderTensorCheck::Dimension
int Dimension
Definition: vtkExodusIIReaderVariableCheck.h:90
vtkExodusIIReaderIntPointCheck::IntPtMax
std::vector< int > IntPtMax
Definition: vtkExodusIIReaderVariableCheck.h:119
vtkExodusIIReaderVectorCheck::StillAdding
bool StillAdding
Definition: vtkExodusIIReaderVariableCheck.h:70
vtkExodusIIReaderIntPointCheck::StillAdding
bool StillAdding
Definition: vtkExodusIIReaderVariableCheck.h:122
vtkExodusIIReaderVariableCheck::SeqTruth
std::vector< int > SeqTruth
Definition: vtkExodusIIReaderVariableCheck.h:45
vtkExodusIIReaderVariableCheck::CheckTruth
bool CheckTruth(const int *truth)
Utility that subclasses may call from within Add() to verify that the new variable is defined on the ...
vtkExodusIIReaderScalarCheck::StartInternal
bool StartInternal(std::string name, const int *, int) override
Subclasses implement this and returns true if any more names are acceptable.
vtkExodusIIReaderVariableCheck::GlomType
int GlomType
Definition: vtkExodusIIReaderVariableCheck.h:44
vtkExodusIIReaderScalarCheck::Add
bool Add(std::string, const int *) override
Add a name to the sequence. Returns true if any more names may be added.
vtkExodusIIReaderVariableCheck::Add
virtual bool Add(std::string name, const int *truth)=0
Add a name to the sequence. Returns true if any more names may be added.
vtkExodusIIReaderTensorCheck::NumEndings
vtkTypeUInt64 NumEndings
Definition: vtkExodusIIReaderVariableCheck.h:89
vtkExodusIIReaderTensorCheck::Endings
std::string Endings
Definition: vtkExodusIIReaderVariableCheck.h:88
vtkExodusIIReaderVectorCheck::Endings
std::string Endings
Definition: vtkExodusIIReaderVariableCheck.h:69
vtkExodusIIReaderVariableCheck::Start
virtual bool Start(std::string name, const int *truth, int numTruth)
Initialize a sequence of names. Returns true if any more names are acceptable.
vtkExodusIIReaderScalarCheck::vtkExodusIIReaderScalarCheck
vtkExodusIIReaderScalarCheck()
vtkExodusIIReaderVectorCheck::Add
bool Add(std::string name, const int *truth) override
Add a name to the sequence. Returns true if any more names may be added.
vtkExodusIIReaderTensorCheck::Length
std::vector< std::string >::size_type Length() override
Returns the length of the sequence (or 0 if the match is incorrect or incomplete).
vtkExodusIIReaderIntPointCheck
This looks for integration-point variables whose names contain an element shape and digits specifying...
Definition: vtkExodusIIReaderVariableCheck.h:97
vtkExodusIIReaderPrivate.h
vtkExodusIIReaderVariableCheck::~vtkExodusIIReaderVariableCheck
virtual ~vtkExodusIIReaderVariableCheck()
vtkExodusIIReaderVariableCheck::OriginalNames
std::vector< std::string > OriginalNames
Definition: vtkExodusIIReaderVariableCheck.h:47
vtkExodusIIReaderIntPointCheck::Rank
vtkTypeUInt64 Rank
Definition: vtkExodusIIReaderVariableCheck.h:121
vtkExodusIIReaderPrivate
This class holds metadata for an Exodus file.
Definition: vtkExodusIIReaderPrivate.h:30
vtkExodusIIReaderIntPointCheck::IntPtMin
std::vector< int > IntPtMin
Definition: vtkExodusIIReaderVariableCheck.h:118
vtkExodusIIReaderVariableCheck::UniquifyName
bool UniquifyName(vtkExodusIIReaderPrivate::ArrayInfoType &ainfo, std::vector< vtkExodusIIReaderPrivate::ArrayInfoType > &arrays)
vtkX3D::name
Definition: vtkX3D.h:225
vtkExodusIIReaderVectorCheck::StartInternal
bool StartInternal(std::string name, const int *, int) override
Subclasses implement this and returns true if any more names are acceptable.
vtkExodusIIReaderVectorCheck
This looks for n-D vectors whose names are identical except for a single final character.
Definition: vtkExodusIIReaderVariableCheck.h:60
vtkExodusIIReaderIntPointCheck::StartInternal
bool StartInternal(std::string name, const int *, int) override
Subclasses implement this and returns true if any more names are acceptable.
vtkX3D::string
Definition: vtkX3D.h:496
vtkExodusIIReaderPrivate::ArrayInfoType
A struct to hold information about time-varying arrays.
Definition: vtkExodusIIReaderPrivate.h:266
vtkExodusIIReaderVariableCheck
Abstract base class for glomming arrays of variable names.
Definition: vtkExodusIIReaderVariableCheck.h:19
vtkExodusIIReaderScalarCheck
This always accepts a single array name as a scalar. It is the fallback for all other checkers.
Definition: vtkExodusIIReaderVariableCheck.h:51
vtkExodusIIReaderIntPointCheck::CellType
std::string CellType
Definition: vtkExodusIIReaderVariableCheck.h:117
vtkExodusIIReaderTensorCheck::vtkExodusIIReaderTensorCheck
vtkExodusIIReaderTensorCheck(const char *seq, int n, int rank, int dim)
vtkExodusIIReaderIntPointCheck::RegExp
vtksys::RegularExpression RegExp
Definition: vtkExodusIIReaderVariableCheck.h:115
vtkExodusIIReaderVariableCheck::vtkExodusIIReaderVariableCheck
vtkExodusIIReaderVariableCheck()
vtkExodusIIReaderIntPointCheck::Add
bool Add(std::string name, const int *) override
Add a name to the sequence. Returns true if any more names may be added.
vtkExodusIIReaderVariableCheck::Prefix
std::string Prefix
Definition: vtkExodusIIReaderVariableCheck.h:46
vtkExodusIIReaderIntPointCheck::AddIntegrationPoint
bool AddIntegrationPoint(std::string iptName)
vtkExodusIIReaderIntPointCheck::VarName
std::string VarName
Definition: vtkExodusIIReaderVariableCheck.h:116
vtkExodusIIReaderVariableCheck::StartInternal
virtual bool StartInternal(std::string name, const int *truth, int numTruth)=0
Subclasses implement this and returns true if any more names are acceptable.
vtkExodusIIReaderVectorCheck::Length
std::vector< std::string >::size_type Length() override
Returns the length of the sequence (or 0 if the match is incorrect or incomplete).
vtkExodusIIReaderVectorCheck::vtkExodusIIReaderVectorCheck
vtkExodusIIReaderVectorCheck(const char *seq, int n)