Files

62 lines
2.3 KiB
C++
Raw Permalink Normal View History

2020-06-04 00:32:27 +02:00
#pragma once
//##########################################################################
//# #
2018-10-22 19:01:30 +02:00
//# CLOUDCOMPARE PLUGIN: q3DMASC #
//# #
//# This program is free software; you can redistribute it and/or modify #
//# it under the terms of the GNU General Public License as published by #
2018-10-22 19:01:30 +02:00
//# the Free Software Foundation; version 2 or later of the License. #
//# #
//# This program is distributed in the hope that it will be useful, #
//# but WITHOUT ANY WARRANTY; without even the implied warranty of #
2018-10-22 19:01:30 +02:00
//# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
//# GNU General Public License for more details. #
//# #
2018-10-22 19:01:30 +02:00
//# COPYRIGHT: Dimitri Lague / CNRS / UEB #
//# #
//##########################################################################
//qCC
2018-04-09 22:32:05 +02:00
#include <ccStdPluginInterface.h>
#include "Parameters.h"
2018-10-22 19:01:30 +02:00
//! 3DMASC plugin
/** 3D Multi-cloud, multi-Attribute, multi-Scale, multi-Class classification
**/
class q3DMASCPlugin : public QObject, public ccStdPluginInterface
{
Q_OBJECT
2020-06-04 00:32:27 +02:00
Q_INTERFACES(ccPluginInterface ccStdPluginInterface)
2018-10-22 19:01:30 +02:00
Q_PLUGIN_METADATA(IID "cccorp.cloudcompare.plugin.q3DMASC" FILE "info.json")
public:
//! Default constructor
2020-06-04 00:32:27 +02:00
explicit q3DMASCPlugin(QObject* parent = nullptr);
//inherited from ccStdPluginInterface
void onNewSelection(const ccHObject::Container& selectedEntities) override;
2020-06-04 00:32:27 +02:00
QList<QAction*> getActions() override;
void registerCommands(ccCommandLineInterface* cmd) override;
protected slots:
2018-10-22 19:01:30 +02:00
void doClassifyAction();
void saveTrainParameters(const masc::TrainParameters& params);
void loadTrainParameters(masc::TrainParameters& params);
2018-10-22 19:01:30 +02:00
void doTrainAction();
protected:
2020-06-04 00:32:27 +02:00
//! Calssify action
2018-10-22 19:01:30 +02:00
QAction* m_classifyAction;
//! Train action
QAction* m_trainAction;
2018-10-22 19:01:30 +02:00
//! Currently selected entities
ccHObject::Container m_selectedEntities;
};