Gazebo Sim

API Reference

8.7.0
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 
23 #include "gz/sim/gui/GuiSystem.hh"
24 #include "gz/gui/qt.h"
25 
26 namespace gz
27 {
28 namespace sim
29 {
30 // Inline bracket to help doxygen filtering.
31 inline 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
128  WRITE SetConserveMemory
129  NOTIFY LightingChanged
130  )
131 
132  Q_PROPERTY(
133  float thinWallCounter
134  READ ThinWallCounter
135  WRITE SetThinWallCounter
136  NOTIFY LightingChanged
137  )
138 
139  Q_PROPERTY(
144  )
145 
146 
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 
160 
163  public: Q_INVOKABLE void UpdateDebugVisualizationMode(int _mode);
164 
168  public: Q_INVOKABLE void UpdateResolution(int _axis, uint32_t _res);
169 
173  public: Q_INVOKABLE void UpdateOctantCount(int _axis, uint32_t _count);
174 
178  public: Q_INVOKABLE void SetEnabled(const bool _enabled);
179 
182  public: Q_INVOKABLE bool Enabled() const;
183 
185  signals: void EnabledChanged();
186 
188  signals: void SettingsChanged();
189 
191  signals: void LightingChanged();
192 
195 
198  public: Q_INVOKABLE void SetResolutionX(const uint32_t _res);
199 
202  public: Q_INVOKABLE uint32_t ResolutionX() const;
203 
206  public: Q_INVOKABLE void SetResolutionY(const uint32_t _res);
207 
210  public: Q_INVOKABLE uint32_t ResolutionY() const;
211 
214  public: Q_INVOKABLE void SetResolutionZ(const uint32_t _res);
215 
218  public: Q_INVOKABLE uint32_t ResolutionZ() const;
219 
222  public: Q_INVOKABLE void SetOctantCountX(const uint32_t _octantCount);
223 
226  public: Q_INVOKABLE uint32_t OctantCountX() const;
227 
230  public: Q_INVOKABLE void SetOctantCountY(const uint32_t _octantCount);
231 
234  public: Q_INVOKABLE uint32_t OctantCountY() const;
235 
238  public: Q_INVOKABLE void SetOctantCountZ(const uint32_t _octantCount);
239 
242  public: Q_INVOKABLE uint32_t OctantCountZ() const;
243 
246  public: Q_INVOKABLE void SetBounceCount(const uint32_t _bounces);
247 
250  public: Q_INVOKABLE uint32_t BounceCount() const;
251 
254  public: Q_INVOKABLE void SetHighQuality(const bool _quality);
255 
258  public: Q_INVOKABLE bool HighQuality() const;
259 
262  public: Q_INVOKABLE void SetAnisotropic(const bool _anisotropic);
263 
266  public: Q_INVOKABLE bool Anisotropic() const;
267 
270  public: Q_INVOKABLE void SetConserveMemory(const bool _conserveMemory);
271 
274  public: Q_INVOKABLE bool ConserveMemory() const;
275 
279  public: Q_INVOKABLE void SetThinWallCounter(const float _thinWallCounter);
280 
283  public: Q_INVOKABLE float ThinWallCounter() const;
284 
287  public: Q_INVOKABLE void SetDebugVisualizationMode(const uint32_t _visMode);
288 
291  public: Q_INVOKABLE uint32_t DebugVisualizationMode() const;
292 
295  private: std::unique_ptr<GlobalIlluminationVctPrivate> dataPtr;
296  };
297 }
298 }
299 }
300 #endif