Loading [MathJax]/extensions/tex2jax.js
VTK  9.4.20250328
vtkFDSReader.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
3#ifndef vtkFDSReader_h
4#define vtkFDSReader_h
5
6#include "vtkDataAssembly.h" // For vtkDataAssembly
7#include "vtkIOFDSModule.h" // For export macro
8#include "vtkNew.h" // For vtkNew
10#include "vtkSmartPointer.h" // For vtkSmartPointer
11
12#include <memory> // For std::unique_ptr
13#include <set> // For std::set
14#include <string> // For std::string
15#include <vector> // For std::vector
16
17VTK_ABI_NAMESPACE_BEGIN
18
36{
37public:
38 static vtkFDSReader* New();
40 void PrintSelf(ostream& os, vtkIndent indent) override;
41
43
46 vtkSetMacro(FileName, std::string);
47 vtkGetMacro(FileName, std::string);
49
51
55 virtual void SetStream(vtkResourceStream* stream);
58
63
71 vtkGetMacro(AssemblyTag, int);
72
74
84 bool AddSelector(const char* selector);
87
89
92 vtkGetMacro(TimeTolerance, double);
93 vtkSetMacro(TimeTolerance, double);
95
96protected:
98 ~vtkFDSReader() override;
99
102
103private:
104 vtkFDSReader(const vtkFDSReader&) = delete;
105 void operator=(const vtkFDSReader&) = delete;
106
107 bool ParseVIEWTIMES();
108 bool ParseGRID(const std::vector<int>& baseNodes);
109 bool ParseCSVF(const std::vector<int>& baseNodes);
110 bool ParseDEVICE(const std::vector<int>& baseNodes);
111
115 bool ParseSLCFSLCC(const std::vector<int>& baseNodes, bool cellCentered);
116
120 bool ParseBNDFBNDC(bool cellCentered);
121
123 std::string SanitizeName(const std::string& name);
124
125 int AssemblyTag = 0;
126 std::string FileName;
127 std::set<std::string> Selectors;
128
130
131 double TimeTolerance = 1e-5;
132
133 struct vtkInternals;
134 std::shared_ptr<vtkInternals> Internals;
135};
136
137VTK_ABI_NAMESPACE_END
138
139#endif
hierarchical representation to use with vtkPartitionedDataSetCollection
A reader for the Fire Dynamics Simulator (FDS) output data.
bool AddSelector(const char *selector)
API to set selectors.
vtkGetNewMacro(Assembly, vtkDataAssembly)
Get the data full data assembly associated with the input.
virtual void SetStream(vtkResourceStream *stream)
Set/Get the stream from which to read the .smv file.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Methods for subclasses to override to handle different pipeline requests.
~vtkFDSReader() override
static vtkFDSReader * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual vtkResourceStream * GetStream()
Set/Get the stream from which to read the .smv file.
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Methods for subclasses to override to handle different pipeline requests.
void ClearSelectors()
API to set selectors.
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Allocate and hold a VTK object.
Definition vtkNew.h:167
Superclass for algorithms that produce vtkPartitionedDataSetCollectionAlgorithm.
Abstract class used for custom streams.
Hold a reference to a vtkObjectBase instance.