/****************************************************************************
Copyright (C) 2012-2012 Université de Sherbrooke, Québec, CANADA
All rights reserved.
Contact : richard.fournier@usherbrooke.ca
jean-francois.cote@nrcan-rncan.gc.ca
joris.ravaglia@gmail.com
Developers : Joris RAVAGLIA
This file is part of Computree version 2.0.
Computree is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Computree is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Computree. If not, see .
*****************************************************************************/
#include "lvox_steppluginmanager.h"
#include "ct_stepseparator.h"
#include "ct_steploadfileseparator.h"
#include "ct_stepcanbeaddedfirstseparator.h"
#include "ct_exporter/ct_standardexporterseparator.h"
#include "ct_reader/ct_standardreaderseparator.h"
#include "step/lvox3_stepcomputelvoxgrids.h"
#include "step/lvox3_steploadfiles.h"
//#include "step/lvox3_stepgenericcomputegrids.h"
#include "step/lvox3_stepcomputeprofiles.h"
//#include "step/lvox3_stepcomputesky.h"
#include "step/lvox3_stepinterpolatedistance.h"
#include "step/lvox3_stepmergegrids.h"
//#include "step/lvox3_stepaddgridtonext.h"
#include "step/lvox3_stepextractcirculargrid.h"
//#include "step/lvox3_stepfiltervoxelatdtm.h"
//#include "step/lvox3_stepunifyscene.h"
#include "step/lvox3_stepcomputepad.h"
//#include "step/lvox3_stepflatgrid.h"
//#include "step/lvox3_stepexportcrownstats.h"
#include "step/lvox3_stepgridnormalisation.h"
#include "step/lvox3_stepgridnormalisationraster.h"
#include "tools/exporter/lvox3_grid3dexporter.h"
#include "tools/exporter/lvox3_grid3d_to_pc_exporter.h"
#include "tools/reader/lvox3_reader_asciigrid3d.h"
//#ifdef USE_PCL
//#include "step/lvox3_stepcreatemesh.h"
//#endif
#include "ct_global/ct_context.h"
#include "ct_categories/ct_stdcategory.h"
#include "tools/lvox3_utils.h"
#include
LVOX_StepPluginManager::LVOX_StepPluginManager() : CT_AbstractStepPlugin()
{
PS_CATEGORY_MANAGER->registerCategory(new CT_StdCategory(DEF_LVOX_GRD_NI, QList() << CT_AbstractCategory::DATA_VALUE, "Ni"));
PS_CATEGORY_MANAGER->registerCategory(new CT_StdCategory(DEF_LVOX_GRD_NB, QList() << CT_AbstractCategory::DATA_VALUE, "Nb"));
PS_CATEGORY_MANAGER->registerCategory(new CT_StdCategory(DEF_LVOX_GRD_NT, QList() << CT_AbstractCategory::DATA_VALUE, "Nt"));
PS_CATEGORY_MANAGER->registerCategory(new CT_StdCategory(DEF_LVOX_GRD_NTA, QList() << CT_AbstractCategory::DATA_VALUE, "Nta"));
PS_CATEGORY_MANAGER->registerCategory(new CT_StdCategory(DEF_LVOX_GRD_DENSITY, QList() << CT_AbstractCategory::DATA_VALUE, "Density"));
}
LVOX_StepPluginManager::~LVOX_StepPluginManager()
{
}
QString LVOX_StepPluginManager::getPluginRISCitation() const
{
return "TY - COMP\n"
"TI - Plugin LVOX for Computree\n"
"AU - Fournier, Richard\n"
"AU - Ravaglia, Joris\n"
"AU - Krebs, Michael\n"
"AU - Piboule, Alexandre\n"
"PB - University of Sherbrooke\n"
"PY - 2017\n"
"UR - http://rdinnovation.onf.fr/projects/plugin-lvox/wiki\n"
"ER - \n";
}
bool LVOX_StepPluginManager::loadGenericsStep()
{
addNewVoxelsStep(QObject::tr("LVOX3"));
addNewVoxelsStep(QObject::tr("LVOX3"));
//addNewVoxelsStep(QObject::tr("LVOX3"));
addNewVoxelsStep(QObject::tr("LVOX3"));
addNewVoxelsStep(QObject::tr("LVOX3"));
addNewVoxelsStep(QObject::tr("LVOX3"));
addNewVoxelsStep(QObject::tr("LVOX3"));
addNewVoxelsStep(QObject::tr("LVOX3"));
//addNewVoxelsStep(QObject::tr("LVOX3"));
addNewVoxelsStep(QObject::tr("LVOX3"));
addNewVoxelsStep(QObject::tr("LVOX3"));
//Unify step is a legacy method to merge point clouds that is more performant in the toolkit plugin
//addNewVoxelsStep(QObject::tr("LVOX3"));
//addNewVoxelsStep(CT_StepsMenu::LP_Filter);
//#ifdef USE_PCL
//addNewVoxelsStep(QObject::tr("Statistiques"));
//#endif
//addNewVoxelsStep(QObject::tr("Statistiques"));
//addNewVoxelsStep(QObject::tr("Statistiques"));
return true;
}
bool LVOX_StepPluginManager::loadOpenFileStep()
{
return true;
}
bool LVOX_StepPluginManager::loadCanBeAddedFirstStep()
{
return true;
}
bool LVOX_StepPluginManager::loadActions()
{
return true;
}
bool LVOX_StepPluginManager::loadExporters()
{
//Re-implementation of GRID3D export into GRID3DLVOX for grids with three resolutions
CT_StandardExporterSeparator *sep = addNewSeparator(new CT_StandardExporterSeparator("Exporters LVOX"));
sep->addExporter(new LVOX3_Grid3DExporter());
//sep->addExporter(new LVOX3_Grid3D_To_PC_Exporter());
return true;
}
bool LVOX_StepPluginManager::loadReaders()
{
//Re-implementation of GRID3D loader into GRID3DLVOX for grids with three resolutions
CT_StandardReaderSeparator *sep = addNewSeparator(new CT_StandardReaderSeparator("Readers LVOX"));
sep->addReader(new LVOX3_Reader_AsciiGrid3D());
return true;
}