Gazebo Rendering

API Reference

8.2.0
GlobalIlluminationCiVct.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 #ifndef GZ_RENDERING_GLOBALILLUMINATIONCIVCT_HH_
18 #define GZ_RENDERING_GLOBALILLUMINATIONCIVCT_HH_
19 
21 
23 
24 #include <gz/math/Vector3.hh>
25 
26 namespace gz
27 {
28  namespace rendering
29  {
30  inline namespace GZ_RENDERING_VERSION_NAMESPACE {
31 
32  class GZ_RENDERING_VISIBLE CiVctCascade
33  {
35  public: CiVctCascade();
36 
38  public: virtual ~CiVctCascade();
39 
47  public: virtual void SetCorrectAreaLightShadows(
48  bool _correctAreaLightShadows) = 0;
49 
52  public: virtual bool CorrectAreaLightShadows() const = 0;
53 
59  public: virtual void SetAutoMultiplier(bool _autoMultiplier) = 0;
60 
63  public: virtual bool AutoMultiplier() const = 0;
64 
66  public: virtual void SetThinWallCounter(float _thinWallCounter) = 0;
67 
70  public: virtual float ThinWallCounter() const = 0;
71 
74  public: virtual void SetResolution(const uint32_t _resolution[3]) = 0;
75 
78  public: virtual const uint32_t* Resolution() const = 0;
79 
85  public: virtual void SetOctantCount(const uint32_t _octants[3]) = 0;
86 
89  public: virtual const uint32_t* OctantCount() const = 0;
90 
99  public: virtual void SetAreaHalfSize(
100  const gz::math::Vector3d &_areaHalfSize) = 0;
101 
104  public: virtual gz::math::Vector3d AreaHalfSize() const = 0;
105 
123  public: virtual void SetCameraStepSize(
124  const gz::math::Vector3d &_stepSize) = 0;
125 
128  public: virtual gz::math::Vector3d CameraStepSize() const = 0;
129  };
130 
135  class GZ_RENDERING_VISIBLE GlobalIlluminationCiVct :
137  {
142  {
152  DVM_None
153  };
154 
157 
159  public: virtual ~GlobalIlluminationCiVct();
160 
167  public: virtual void SetMaxCascades(const uint32_t _maxCascades) = 0;
168 
174  public: virtual CiVctCascadePtr AddCascade(const CiVctCascade *_ref) = 0;
175 
180  public: virtual void PopCascade() = 0;
181 
188  public: virtual void AutoCalculateStepSizes(
189  const gz::math::Vector3d &_stepSize) = 0;
190 
228  public: virtual void SetConsistentCascadeSteps(
229  bool _consistentCascadeSteps) = 0;
230 
233  public: virtual bool ConsistentCascadeSteps() const = 0;
234 
238  public: virtual bool Started() const = 0;
239 
253  public: virtual void Start(uint32_t _bounceCount, bool _anisotropic) = 0;
254 
258  public: virtual void NewSettings(
259  uint32_t _bounceCount, bool _anisotropic) = 0;
260 
263  public: virtual void Reset() = 0;
264 
272  public: virtual void Bind(const CameraPtr &_camera) = 0;
273 
276  public: virtual bool Anisotropic() const = 0;
277 
281  public: virtual void SetHighQuality(bool _highQuality) = 0;
282 
285  public: virtual bool HighQuality() const = 0;
286 
290  public: virtual void SetDebugVisualization(DebugVisualizationMode _dvm) = 0;
291 
294  public: virtual DebugVisualizationMode DebugVisualization() const = 0;
295 
298  public: virtual void LightingChanged() = 0;
299  };
300  }
301  }
302 }
303 #endif