VTK  9.3.0
vtkBMPWriter.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
26 #ifndef vtkBMPWriter_h
27 #define vtkBMPWriter_h
28 
29 #include "vtkIOImageModule.h" // For export macro
30 #include "vtkImageWriter.h"
31 
32 VTK_ABI_NAMESPACE_BEGIN
34 
35 class VTKIOIMAGE_EXPORT vtkBMPWriter : public vtkImageWriter
36 {
37 public:
38  static vtkBMPWriter* New();
39  vtkTypeMacro(vtkBMPWriter, vtkImageWriter);
40  void PrintSelf(ostream& os, vtkIndent indent) override;
41 
43 
46  vtkSetMacro(WriteToMemory, vtkTypeUBool);
47  vtkGetMacro(WriteToMemory, vtkTypeUBool);
48  vtkBooleanMacro(WriteToMemory, vtkTypeUBool);
50 
52 
57  vtkGetObjectMacro(Result, vtkUnsignedCharArray);
59 
60 protected:
62  ~vtkBMPWriter() override;
63 
64  void WriteFile(ostream* file, vtkImageData* data, int ext[6], int wExt[6]) override;
65  void WriteFileHeader(ostream*, vtkImageData*, int wExt[6]) override;
66  void MemoryWrite(int, vtkImageData*, int wExt[6], vtkInformation* inInfo) override;
67 
68 private:
69  vtkBMPWriter(const vtkBMPWriter&) = delete;
70  void operator=(const vtkBMPWriter&) = delete;
71 
72  vtkUnsignedCharArray* Result;
73 };
74 
75 VTK_ABI_NAMESPACE_END
76 #endif
Writes Windows BMP files.
Definition: vtkBMPWriter.h:36
void WriteFileHeader(ostream *, vtkImageData *, int wExt[6]) override
void MemoryWrite(int, vtkImageData *, int wExt[6], vtkInformation *inInfo) override
~vtkBMPWriter() override
static vtkBMPWriter * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void WriteFile(ostream *file, vtkImageData *data, int ext[6], int wExt[6]) override
virtual void SetResult(vtkUnsignedCharArray *)
When writing to memory this is the result, it will be NULL until the data is written the first time.
topologically and geometrically regular array of data
Definition: vtkImageData.h:52
Writes images to files.
a simple class to control print indentation
Definition: vtkIndent.h:38
Store vtkAlgorithm input/output information.
dynamic, self-adjusting array of unsigned char
@ data
Definition: vtkX3D.h:315
unsigned int vtkTypeUBool
Definition: vtkABI.h:65