forked from Kitware/VTK
-
Notifications
You must be signed in to change notification settings - Fork 0
/
vtkRTXMLPolyDataReader.h
100 lines (81 loc) · 2.74 KB
/
vtkRTXMLPolyDataReader.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
/*=========================================================================
Program: Visualization Toolkit
Module: vtkRTXMLPolyDataReader.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
/**
* @class vtkRTXMLPolyDataReader
* @brief Read RealTime VTK XML PolyData files.
*
* vtkRTXMLPolyDataReader reads the VTK XML PolyData file format in real time.
*
*/
#ifndef vtkRTXMLPolyDataReader_h
#define vtkRTXMLPolyDataReader_h
#include "vtkIOXMLModule.h" // For export macro
#include "vtkXMLPolyDataReader.h"
class vtkRTXMLPolyDataReaderInternals;
class VTKIOXML_EXPORT vtkRTXMLPolyDataReader : public vtkXMLPolyDataReader
{
public:
vtkTypeMacro(vtkRTXMLPolyDataReader,vtkXMLPolyDataReader);
void PrintSelf(ostream& os, vtkIndent indent) override;
static vtkRTXMLPolyDataReader* New();
// This sets the DataLocation and also
// Reset the reader by calling ResetReader()
void SetLocation(const char* dataLocation);
vtkGetStringMacro(DataLocation);
/**
* Reader will read in the next available data file
* The filename is this->NextFileName maintained internally
*/
virtual void UpdateToNextFile();
/**
* check if there is new data file available in the
* given DataLocation
*/
virtual int NewDataAvailable();
/**
* ResetReader check the data directory specified in
* this->DataLocation, and reset the Internal data structure
* specifically: this->Internal->ProcessedFileList
* for monitoring the arriving new data files
* if SetDataLocation(char*) is set by the user,
* this ResetReader() should also be invoked.
*/
virtual void ResetReader();
/**
* Return the name of the next available data file
* assume NewDataAvailable() return VTK_OK
*/
const char* GetNextFileName();
protected:
vtkRTXMLPolyDataReader();
~vtkRTXMLPolyDataReader() override;
//@{
/**
* Get/Set the location of the input data files.
*/
vtkSetStringMacro(DataLocation);
//@}
void InitializeToCurrentDir();
int IsProcessed(const char*);
char* GetDataFileFullPathName(const char*);
//@{
/**
* the DataLocation should be set and ResetReader()
* should be called after SetDataLocation
*/
char* DataLocation;
vtkRTXMLPolyDataReaderInternals* Internal;
//@}
private:
vtkRTXMLPolyDataReader(const vtkRTXMLPolyDataReader&) = delete;
void operator=(const vtkRTXMLPolyDataReader&) = delete;
};
#endif