ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
ecvIOPluginInterface.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 
10 #include <QVector>
11 
12 // qCC_io
13 #include <FileIOFilter.h>
14 
16 
18 
21 public:
22  using FilterList = QVector<FileIOFilter::Shared>;
23 
24 public:
25  ccIOPluginInterface(const QString &resourcePath = QString())
26  : ccDefaultPluginInterface(resourcePath) {}
27 
28  virtual ~ccIOPluginInterface() override = default;
29 
30  // inherited from ccPluginInterface
31  virtual CC_PLUGIN_TYPE getType() const override {
32  return ECV_IO_FILTER_PLUGIN;
33  }
34 
36  virtual FilterList getFilters() { return FilterList{}; }
37 };
38 
39 Q_DECLARE_INTERFACE(ccIOPluginInterface,
40  "edf.rd.cloudviewer.ccIOFilterPluginInterface/1.3")
I/O filter plugin interface.
ccIOPluginInterface(const QString &resourcePath=QString())
virtual FilterList getFilters()
Returns a list of I/O filter instances.
QVector< FileIOFilter::Shared > FilterList
virtual CC_PLUGIN_TYPE getType() const override
Returns plugin type (standard or OpenGL filter)
virtual ~ccIOPluginInterface() override=default
CC_PLUGIN_TYPE
Plugin type.
@ ECV_IO_FILTER_PLUGIN