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
32namespace 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
63 viz::Layer& layer,
65
66 private:
67 viz::Client arviz;
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
Base Class for all Logging classes.
Definition Logging.h:240
Used to find objects in the ArmarX objects repository [1] (formerly [2]).
IceUtil::Handle< PeriodicTask< T > > pointer_type
Shared pointer type for convenience.
void defineProperties(armarx::PropertyDefinitionsPtr defs, const std::string &prefix="visu.")
ArticulatedObjectVisu(const viz::Client &arviz, Segment &segment)
viz::Layer visualizeProvider(const std::string &providerName, const armarx::armem::articulated_object::ArticulatedObjects &objects) const
void visualizeObjects(viz::Layer &layer, const armarx::armem::articulated_object::ArticulatedObjects &objects) const
armarx::armem::robot_state::Robots ArticulatedObjects
Definition types.h:141
This file offers overloads of toIce() and fromIce() functions for STL container types.
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.