ArticulatedObjectVisu.h
Go to the documentation of this file.
1 /*
2  * This file is part of ArmarX.
3  *
4  * ArmarX is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * ArmarX is distributed in the hope that it will be useful, but
9  * WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  * @author Fabian Reister ( fabian dot reister at kit dot edu )
17  * @date 2021
18  * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
19  * GNU General Public License
20  */
21 
22 #pragma once
23 
26 
27 // #include <ArmarXGui/libraries/RemoteGui/Client/Widgets.h>
28 
31 
32 namespace armarx
33 {
34  class ObjectFinder;
35 }
36 
38 {
39  class Segment;
40 
41  /**
42  * @brief Visualizes articulated objects
43  */
45  {
46  public:
47  ArticulatedObjectVisu(const viz::Client& arviz, Segment& segment) :
48  arviz(arviz), segment(segment)
49  {
50  }
51 
53  const std::string& prefix = "visu.");
54 
55  void init();
56 
57  protected:
59  const std::string& providerName,
61 
62  void visualizeObjects(
63  viz::Layer& layer,
65 
66  private:
67  viz::Client arviz;
68  Segment& segment;
69 
70  struct Properties
71  {
72  bool enabled = true;
73  float frequencyHz = 25;
74  } p;
75 
77  void visualizeRun();
78 
79  // struct RemoteGui
80  // {
81  // armarx::RemoteGui::Client::GroupBox group;
82 
83  // armarx::RemoteGui::Client::CheckBox enabled;
84 
85  // armarx::RemoteGui::Client::CheckBox inGlobalFrame;
86  // armarx::RemoteGui::Client::FloatSlider alpha;
87  // armarx::RemoteGui::Client::CheckBox alphaByConfidence;
88  // armarx::RemoteGui::Client::CheckBox oobbs;
89  // armarx::RemoteGui::Client::CheckBox objectFrames;
90  // armarx::RemoteGui::Client::FloatSpinBox objectFramesScale;
91 
92  // // void setup(const Visu& visu);
93  // // void update(Visu& visu);
94  // };
95  };
96 
97 } // namespace armarx::armem::server::obj::instance
Client.h
armarx::armem::server::obj::instance::ArticulatedObjectVisu::visualizeObjects
void visualizeObjects(viz::Layer &layer, const armarx::armem::articulated_object::ArticulatedObjects &objects) const
Definition: ArticulatedObjectVisu.cpp:38
armarx::armem::server::obj::instance::ArticulatedObjectVisu::defineProperties
void defineProperties(armarx::PropertyDefinitionsPtr defs, const std::string &prefix="visu.")
Definition: ArticulatedObjectVisu.cpp:19
PeriodicTask.h
armarx::armem::articulated_object::ArticulatedObjects
armarx::armem::robot::Robots ArticulatedObjects
Definition: types.h:141
armarx::armem::server::obj::instance
Definition: ArticulatedObjectVisu.cpp:16
armarx::armem::server::obj::instance::ArticulatedObjectVisu::visualizeProvider
viz::Layer visualizeProvider(const std::string &providerName, const armarx::armem::articulated_object::ArticulatedObjects &objects) const
Definition: ArticulatedObjectVisu.cpp:27
armarx::armem::server::obj::instance::ArticulatedObjectVisu::ArticulatedObjectVisu
ArticulatedObjectVisu(const viz::Client &arviz, Segment &segment)
Definition: ArticulatedObjectVisu.h:47
types.h
armarx::armem::server::obj::instance::ArticulatedObjectVisu::init
void init()
Definition: ArticulatedObjectVisu.cpp:63
enabled
std::atomic< bool > * enabled
Definition: RemoteGuiWidgetController.cpp:75
armarx::armem::server::obj::instance::ArticulatedObjectVisu
Visualizes articulated objects.
Definition: ArticulatedObjectVisu.h:44
armarx::Logging
Base Class for all Logging classes.
Definition: Logging.h:232
IceUtil::Handle< class PropertyDefinitionContainer >
armarx::armem::server::obj::instance::Segment
Definition: Segment.h:34
Logging.h
armarx::viz::Client
Definition: Client.h:109
armarx::viz::Layer
Definition: Layer.h:12
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:28