89#ifndef vtkDelimitedTextReader_h
90#define vtkDelimitedTextReader_h
92#include "vtkIOInfovisModule.h"
99VTK_ABI_NAMESPACE_BEGIN
126 vtkGetStringMacro(InputString);
128 vtkGetMacro(InputStringLength,
int);
131 this->SetInputString(input.c_str(),
static_cast<int>(input.length()));
157 vtkGetStringMacro(UnicodeCharacterSet);
158 vtkSetStringMacro(UnicodeCharacterSet);
179 vtkSetStringMacro(FieldDelimiterCharacters);
180 vtkGetStringMacro(FieldDelimiterCharacters);
196 vtkGetMacro(StringDelimiter,
char);
197 vtkSetMacro(StringDelimiter,
char);
207 vtkSetMacro(UseStringDelimiter,
bool);
208 vtkGetMacro(UseStringDelimiter,
bool);
209 vtkBooleanMacro(UseStringDelimiter,
bool);
217 vtkGetMacro(HaveHeaders,
bool);
218 vtkSetMacro(HaveHeaders,
bool);
227 vtkSetMacro(MergeConsecutiveDelimiters,
bool);
228 vtkGetMacro(MergeConsecutiveDelimiters,
bool);
229 vtkBooleanMacro(MergeConsecutiveDelimiters,
bool);
261 vtkSetMacro(DetectNumericColumns,
bool);
262 vtkGetMacro(DetectNumericColumns,
bool);
263 vtkBooleanMacro(DetectNumericColumns,
bool);
272 vtkSetMacro(ForceDouble,
bool);
273 vtkGetMacro(ForceDouble,
bool);
274 vtkBooleanMacro(ForceDouble,
bool);
293 vtkSetMacro(TrimWhitespacePriorToNumericConversion,
bool);
294 vtkGetMacro(TrimWhitespacePriorToNumericConversion,
bool);
295 vtkBooleanMacro(TrimWhitespacePriorToNumericConversion,
bool);
303 vtkSetMacro(DefaultIntegerValue,
int);
304 vtkGetMacro(DefaultIntegerValue,
int);
312 vtkSetMacro(DefaultDoubleValue,
double);
313 vtkGetMacro(DefaultDoubleValue,
double);
321 vtkSetStringMacro(PedigreeIdArrayName);
322 vtkGetStringMacro(PedigreeIdArrayName);
330 vtkSetMacro(GeneratePedigreeIds,
bool);
331 vtkGetMacro(GeneratePedigreeIds,
bool);
332 vtkBooleanMacro(GeneratePedigreeIds,
bool);
339 vtkSetMacro(OutputPedigreeIds,
bool);
340 vtkGetMacro(OutputPedigreeIds,
bool);
341 vtkBooleanMacro(OutputPedigreeIds,
bool);
350 vtkSetMacro(AddTabFieldDelimiter,
bool);
351 vtkGetMacro(AddTabFieldDelimiter,
bool);
352 vtkBooleanMacro(AddTabFieldDelimiter,
bool);
368 vtkSetMacro(ReplacementCharacter, vtkTypeUInt32);
369 vtkGetMacro(ReplacementCharacter, vtkTypeUInt32);
378 vtkGetMacro(Preview, std::string);
396 vtkGetMacro(CommentCharacters, std::string);
397 vtkSetMacro(CommentCharacters, std::string);
410 char* FileName =
nullptr;
412 char* InputString =
nullptr;
413 int InputStringLength = 0;
414 char* UnicodeCharacterSet =
nullptr;
417 std::string UnicodeRecordDelimiters =
"\r\n";
418 std::string UnicodeFieldDelimiters =
",";
419 std::string UnicodeStringDelimiters =
"\"";
420 std::string UnicodeWhitespace =
" \t\r\n\v\f";
421 std::string UnicodeEscapeCharacter =
"\\";
422 std::string CommentCharacters =
"#";
423 bool DetectNumericColumns =
false;
424 bool ForceDouble =
false;
425 bool TrimWhitespacePriorToNumericConversion =
false;
426 int DefaultIntegerValue = 0;
427 double DefaultDoubleValue = 0.;
428 char* FieldDelimiterCharacters =
nullptr;
429 char StringDelimiter =
'"';
430 bool UseStringDelimiter =
true;
431 bool HaveHeaders =
false;
432 bool MergeConsecutiveDelimiters =
false;
433 char* PedigreeIdArrayName =
nullptr;
434 bool GeneratePedigreeIds =
true;
435 bool OutputPedigreeIds =
false;
436 bool AddTabFieldDelimiter =
false;
438 vtkTypeUInt32 ReplacementCharacter =
'x';
448 std::unique_ptr<std::istream> OpenStream();
454 void ReadBOM(std::istream* stream);
460 vtkTextCodec* CreateTextCodec(std::istream* input_stream);
reads in delimited ascii or unicode text files and outputs a vtkTable data structure.
void SetInputString(const char *in, int len)
Specify the InputString for use when reading from a character array.
int ReadData(vtkTable *output_table)
~vtkDelimitedTextReader() override
void SetUTF8RecordDelimiters(const char *delimiters)
Specify the character(s) that will be used to separate records.
vtkStdString GetLastError()
Returns a human-readable description of the most recent error, if any.
void SetInputString(const char *in)
Specify the InputString for use when reading from a character array.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void SetUTF8StringDelimiters(const char *delimiters)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkGetFilePathMacro(FileName)
Specifies the delimited text file to be loaded.
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
const char * GetUTF8StringDelimiters()
vtkSetFilePathMacro(FileName)
Specifies the delimited text file to be loaded.
static vtkDelimitedTextReader * New()
const char * GetUTF8RecordDelimiters()
Specify the character(s) that will be used to separate records.
void SetInputString(const vtkStdString &input)
Specify the InputString for use when reading from a character array.
const char * GetUTF8FieldDelimiters()
void SetUTF8FieldDelimiters(const char *delimiters)
a simple class to control print indentation
Wrapper around std::string to keep symbols short.
Superclass for algorithms that produce only vtkTables as output.
A table, which contains similar-typed columns of data.
Virtual class to act as an interface for all text codecs.