ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
PCVCommand.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 // ##########################################################################
11 // # #
12 // # CloudViewer PLUGIN #
13 // # #
14 // # This program is free software; you can redistribute it and/or modify #
15 // # it under the terms of the GNU General Public License as published by #
16 // # the Free Software Foundation; version 2 of the License. #
17 // # #
18 // # This program is distributed in the hope that it will be useful, #
19 // # but WITHOUT ANY WARRANTY; without even the implied warranty of #
20 // # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
21 // # GNU General Public License for more details. #
22 // # #
23 // # COPYRIGHT: ACloudViewer project #
24 // # #
25 // ##########################################################################
26 
27 #include "ccCommandLineInterface.h"
28 
29 class ecvProgressDialog;
31 
32 // qCC_db
33 #include <ecvHObject.h>
34 
36 public:
37  PCVCommand();
38 
39  ~PCVCommand() override = default;
40 
41  static bool Process(const ccHObject::Container& candidates,
42  const std::vector<CCVector3>& rays,
43  bool meshIsClosed,
44  unsigned resolution,
45  ecvProgressDialog* progressDlg = nullptr,
46  ecvMainAppInterface* app = nullptr);
47 
48  bool process(ccCommandLineInterface& cmd) override;
49 };
bool process(ccCommandLineInterface &cmd) override
Main process.
Definition: PCVCommand.cpp:148
~PCVCommand() override=default
static bool Process(const ccHObject::Container &candidates, const std::vector< CCVector3 > &rays, bool meshIsClosed, unsigned resolution, ecvProgressDialog *progressDlg=nullptr, ecvMainAppInterface *app=nullptr)
Definition: PCVCommand.cpp:31
Command line interface.
std::vector< ccHObject * > Container
Standard instances container (for children, etc.)
Definition: ecvHObject.h:337
Main application interface (for plugins)
Graphical progress indicator (thread-safe)