Gazebo Sim

API Reference

9.0.0~pre1
GlobalIlluminationVct.hh
Go to the documentation of this file.
1/*
2 * Copyright (C) 2022 Open Source Robotics Foundation
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *
16*/
17
18#ifndef GZ_SIM_GUI_GLOBALILLUMINATIONVCT_HH_
19#define GZ_SIM_GUI_GLOBALILLUMINATIONVCT_HH_
20
21#include <memory>
22
24#include "gz/gui/qt.h"
25
26namespace gz
27{
28namespace sim
29{
30// Inline bracket to help doxygen filtering.
31inline namespace GZ_SIM_VERSION_NAMESPACE
32{
33 class GlobalIlluminationVctPrivate;
34
54 {
55 Q_OBJECT
56
59 Q_PROPERTY(
60 bool enabled
61 READ Enabled
62 WRITE SetEnabled
63 NOTIFY EnabledChanged
64 )
65
66 Q_PROPERTY(
67 int resolutionX
68 READ ResolutionX
69 WRITE SetResolutionX
70 NOTIFY SettingsChanged
71 )
72 Q_PROPERTY(
73 int resolutionY
74 READ ResolutionY
75 WRITE SetResolutionY
76 NOTIFY SettingsChanged
77 )
78 Q_PROPERTY(
79 int resolutionZ
80 READ ResolutionZ
81 WRITE SetResolutionZ
82 NOTIFY SettingsChanged
83 )
84
85 Q_PROPERTY(
86 int octantCountX
87 READ OctantCountX
88 WRITE SetOctantCountX
89 NOTIFY SettingsChanged
90 )
91 Q_PROPERTY(
92 int octantCountY
93 READ OctantCountY
94 WRITE SetOctantCountY
95 NOTIFY SettingsChanged
96 )
97 Q_PROPERTY(
98 int octantCountZ
99 READ OctantCountZ
100 WRITE SetOctantCountZ
101 NOTIFY SettingsChanged
102 )
103
104 Q_PROPERTY(
105 int bounceCount
106 READ BounceCount
107 WRITE SetBounceCount
108 NOTIFY LightingChanged
109 )
110
111 Q_PROPERTY(
112 bool highQuality
113 READ HighQuality
114 WRITE SetHighQuality
115 NOTIFY LightingChanged
116 )
117
118 Q_PROPERTY(
119 bool anisotropic
120 READ Anisotropic
121 WRITE SetAnisotropic
122 NOTIFY LightingChanged
123 )
124
125 Q_PROPERTY(
126 bool conserveMemory
127 READ ConserveMemory
129 NOTIFY LightingChanged
130 )
131
132 Q_PROPERTY(
133 float thinWallCounter
134 READ ThinWallCounter
136 NOTIFY LightingChanged
137 )
138
139 Q_PROPERTY(
144 )
145
148
150 public: ~GlobalIlluminationVct() override;
151
152 // Documentation inherited
153 public: void LoadConfig(const tinyxml2::XMLElement *_pluginElem) override;
154
155 // Documentation Inherited
156 public: bool eventFilter(QObject *_obj, QEvent *_event) override;
157
161
164 public: Q_INVOKABLE void UpdateDebugVisualizationMode(int _mode);
165
169 public: Q_INVOKABLE void UpdateResolution(int _axis, uint32_t _res);
170
174 public: Q_INVOKABLE void UpdateOctantCount(int _axis, uint32_t _count);
175
179 public: Q_INVOKABLE void SetEnabled(const bool _enabled);
180
183 public: Q_INVOKABLE bool Enabled() const;
184
186 signals: void EnabledChanged();
187
189 signals: void SettingsChanged();
190
192 signals: void LightingChanged();
193
196
199 public: Q_INVOKABLE void SetResolutionX(const uint32_t _res);
200
203 public: Q_INVOKABLE uint32_t ResolutionX() const;
204
207 public: Q_INVOKABLE void SetResolutionY(const uint32_t _res);
208
211 public: Q_INVOKABLE uint32_t ResolutionY() const;
212
215 public: Q_INVOKABLE void SetResolutionZ(const uint32_t _res);
216
219 public: Q_INVOKABLE uint32_t ResolutionZ() const;
220
223 public: Q_INVOKABLE void SetOctantCountX(const uint32_t _octantCount);
224
227 public: Q_INVOKABLE uint32_t OctantCountX() const;
228
231 public: Q_INVOKABLE void SetOctantCountY(const uint32_t _octantCount);
232
235 public: Q_INVOKABLE uint32_t OctantCountY() const;
236
239 public: Q_INVOKABLE void SetOctantCountZ(const uint32_t _octantCount);
240
243 public: Q_INVOKABLE uint32_t OctantCountZ() const;
244
247 public: Q_INVOKABLE void SetBounceCount(const uint32_t _bounces);
248
251 public: Q_INVOKABLE uint32_t BounceCount() const;
252
255 public: Q_INVOKABLE void SetHighQuality(const bool _quality);
256
259 public: Q_INVOKABLE bool HighQuality() const;
260
263 public: Q_INVOKABLE void SetAnisotropic(const bool _anisotropic);
264
267 public: Q_INVOKABLE bool Anisotropic() const;
268
271 public: Q_INVOKABLE void SetConserveMemory(const bool _conserveMemory);
272
275 public: Q_INVOKABLE bool ConserveMemory() const;
276
280 public: Q_INVOKABLE void SetThinWallCounter(const float _thinWallCounter);
281
284 public: Q_INVOKABLE float ThinWallCounter() const;
285
288 public: Q_INVOKABLE void SetDebugVisualizationMode(const uint32_t _visMode);
289
292 public: Q_INVOKABLE uint32_t DebugVisualizationMode() const;
293
296 private: std::unique_ptr<GlobalIlluminationVctPrivate> dataPtr;
297 };
298}
299}
300}
301#endif