Gazebo Sim

API Reference

8.10.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 
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