Slicer 5.13
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
qSlicerVTKFileWriter.h
Go to the documentation of this file.
1/*==============================================================================
2
3 Program: 3D Slicer
4
5 Copyright (c) Kitware Inc.
6
7 See COPYRIGHT.txt
8 or http://www.slicer.org/copyright/copyright.txt for details.
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15
16==============================================================================*/
17
18#ifndef __qSlicerVTKFileWriter_h
19#define __qSlicerVTKFileWriter_h
20
21// QtCore includes
22#include "qSlicerFileWriter.h"
23#include "qSlicerBaseQTCoreExport.h"
24
25class qSlicerVTKFileWriterPrivate;
27
32class Q_SLICER_BASE_QTCORE_EXPORT qSlicerVTKFileWriter : public qSlicerFileWriter
33{
34 Q_OBJECT
35public:
37 explicit qSlicerVTKFileWriter(vtkMRMLFileWriter* writer, QObject* parent = nullptr);
39
41 Q_INVOKABLE vtkMRMLFileWriter* fileWriter() const;
42
45
46 QString description() const override;
47 IOFileType fileType() const override;
49
51 void setMRMLScene(vtkMRMLScene* scene) override;
52
53 bool canWriteObject(vtkObject* object) const override;
54
58 double canWriteObjectConfidence(vtkObject* object) const override;
59
60 QStringList extensions(vtkObject* object) const override;
61 bool write(const qSlicerIO::IOProperties& properties) override;
62 QStringList writtenNodes() const override;
63
64protected:
65 void setWrittenNodes(const QStringList& nodes) override;
66
72
73protected:
74 QScopedPointer<qSlicerVTKFileWriterPrivate> d_ptr;
75
76private:
79 bool isFileWriterUsableDirectly() const;
80
81 Q_DECLARE_PRIVATE(qSlicerVTKFileWriter);
82 Q_DISABLE_COPY(qSlicerVTKFileWriter);
83};
84
85#endif
qSlicerFileWriter(QObject *parent=nullptr)
QString IOFileType
Definition qSlicerIO.h:60
QVariantMap IOProperties
Definition qSlicerIO.h:61
void setWrittenNodes(const QStringList &nodes) override
bool canWriteObject(vtkObject *object) const override
bool write(const qSlicerIO::IOProperties &properties) override
vtkMRMLFileIOHandler * ioHandler() const override
Returns the VTK-based writer (same as fileWriter()).
QStringList extensions(vtkObject *object) const override
qSlicerFileWriter Superclass
void setMRMLScene(vtkMRMLScene *scene) override
Set the scene of this object and of the VTK-based writer.
QStringList writtenNodes() const override
QScopedPointer< qSlicerVTKFileWriterPrivate > d_ptr
QString description() const override
Unique name of the reader/writer.
~qSlicerVTKFileWriter() override
double canWriteObjectConfidence(vtkObject *object) const override
vtkMRMLMessageCollection * userMessages() const override
Additional warning or error messages occurred during IO operation.
qSlicerVTKFileWriter(vtkMRMLFileWriter *writer, QObject *parent=nullptr)
Q_INVOKABLE vtkMRMLFileWriter * fileWriter() const
VTK-based writer that performs all the tasks of this class.
IOFileType fileType() const override
Multiple readers can share the same file type.
void setFileWriter(vtkMRMLFileWriter *writer)
A set of MRML Nodes that supports serialization and undo/redo.