You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
2.3 KiB
C++
91 lines
2.3 KiB
C++
/*=========================================================================
|
|
|
|
Program: Visualization Toolkit
|
|
Module: vtkFileOutputWindow.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 vtkFileOutputWindow
|
|
* @brief File Specific output window class
|
|
*
|
|
* Writes debug/warning/error output to a log file instead of the console.
|
|
* To use this class, instantiate it and then call SetInstance(this).
|
|
*
|
|
*/
|
|
|
|
#ifndef vtkFileOutputWindow_h
|
|
#define vtkFileOutputWindow_h
|
|
|
|
#include "vtkCommonCoreModule.h" // For export macro
|
|
#include "vtkOutputWindow.h"
|
|
|
|
class VTKCOMMONCORE_EXPORT vtkFileOutputWindow : public vtkOutputWindow
|
|
{
|
|
public:
|
|
vtkTypeMacro(vtkFileOutputWindow, vtkOutputWindow);
|
|
|
|
static vtkFileOutputWindow* New();
|
|
|
|
void PrintSelf(ostream& os, vtkIndent indent) override;
|
|
|
|
/**
|
|
* Put the text into the log file.
|
|
* New lines are converted to carriage return new lines.
|
|
*/
|
|
void DisplayText(const char*) override;
|
|
|
|
//@{
|
|
/**
|
|
* Sets the name for the log file.
|
|
*/
|
|
vtkSetStringMacro(FileName);
|
|
vtkGetStringMacro(FileName);
|
|
//@}
|
|
|
|
//@{
|
|
/**
|
|
* Turns on buffer flushing for the output
|
|
* to the log file.
|
|
*/
|
|
vtkSetMacro(Flush, vtkTypeBool);
|
|
vtkGetMacro(Flush, vtkTypeBool);
|
|
vtkBooleanMacro(Flush, vtkTypeBool);
|
|
//@}
|
|
|
|
//@{
|
|
/**
|
|
* Setting append will cause the log file to be
|
|
* opened in append mode. Otherwise, if the log file exists,
|
|
* it will be overwritten each time the vtkFileOutputWindow
|
|
* is created.
|
|
*/
|
|
vtkSetMacro(Append, vtkTypeBool);
|
|
vtkGetMacro(Append, vtkTypeBool);
|
|
vtkBooleanMacro(Append, vtkTypeBool);
|
|
//@}
|
|
|
|
protected:
|
|
vtkFileOutputWindow();
|
|
~vtkFileOutputWindow() override;
|
|
void Initialize();
|
|
|
|
char* FileName;
|
|
ostream* OStream;
|
|
vtkTypeBool Flush;
|
|
vtkTypeBool Append;
|
|
|
|
private:
|
|
vtkFileOutputWindow(const vtkFileOutputWindow&) = delete;
|
|
void operator=(const vtkFileOutputWindow&) = delete;
|
|
};
|
|
|
|
#endif
|