Scene.hh
Go to the documentation of this file.
1 /*
2  * Copyright 2019 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 SDF_SCENE_HH_
18 #define SDF_SCENE_HH_
19 
20 #include <ignition/math/Color.hh>
21 
22 #include "sdf/Element.hh"
23 #include "sdf/Sky.hh"
24 #include "sdf/Types.hh"
25 #include "sdf/sdf_config.h"
26 #include "sdf/system_util.hh"
27 
28 namespace sdf
29 {
30  // Inline bracket to help doxygen filtering.
31  inline namespace SDF_VERSION_NAMESPACE {
32  //
33 
34  // Forward declarations.
35  class ScenePrivate;
36 
38  {
40  public: Scene();
41 
44  public: Scene(const Scene &_scene);
45 
48  public: Scene(Scene &&_scene) noexcept;
49 
51  public: ~Scene();
52 
56  public: Scene &operator=(const Scene &_scene);
57 
61  public: Scene &operator=(Scene &&_scene);
62 
69  public: Errors Load(ElementPtr _sdf);
70 
73  public: ignition::math::Color Ambient() const;
74 
77  public: void SetAmbient(const ignition::math::Color &_ambient);
78 
81  public: ignition::math::Color Background() const;
82 
85  public: void SetBackground(const ignition::math::Color &_background);
86 
89  public: bool Grid() const;
90 
93  public: void SetGrid(const bool _enabled);
94 
97  public: bool OriginVisual() const;
98 
101  public: void SetOriginVisual(const bool _enabled);
102 
105  public: bool Shadows() const;
106 
109  public: void SetShadows(const bool _shadows);
110 
113  public: void SetSky(const Sky &_sky);
114 
117  public: const sdf::Sky *Sky() const;
118 
123  public: sdf::ElementPtr Element() const;
124 
126  private: ScenePrivate *dataPtr = nullptr;
127  };
128  }
129 }
130 #endif
Definition: Scene.hh:38
void SetAmbient(const ignition::math::Color &_ambient)
Set the ambient color of the scene.
void SetGrid(const bool _enabled)
Set whether the grid should be enabled.
bool OriginVisual() const
Get whether origin visual is enabled.
bool Grid() const
Get whether grid is enabled.
bool Shadows() const
Get whether shadows are enabled.
Scene & operator=(const Scene &_scene)
Assignment operator.
Scene & operator=(Scene &&_scene)
Move assignment operator.
Scene(Scene &&_scene) noexcept
Move constructor.
~Scene()
Destructor.
void SetBackground(const ignition::math::Color &_background)
Set the background color of the scene.
ignition::math::Color Ambient() const
Get the ambient color of the scene.
void SetSky(const Sky &_sky)
Set sky.
Scene(const Scene &_scene)
Copy constructor.
Errors Load(ElementPtr _sdf)
Load the scene based on a element pointer.
sdf::ElementPtr Element() const
Get a pointer to the SDF element that was used during load.
const sdf::Sky * Sky() const
Get sky.
ignition::math::Color Background() const
Get the background color of the scene.
void SetOriginVisual(const bool _enabled)
Set whether the origin visual should be enabled.
Scene()
Default constructor.
void SetShadows(const bool _shadows)
Set whether shadows should be enabled.
Definition: Sky.hh:38
std::vector< Error > Errors
A vector of Error.
Definition: Types.hh:89
std::shared_ptr< Element > ElementPtr
Definition: Element.hh:53
namespace for Simulation Description Format parser
Definition: Actor.hh:33
#define SDFORMAT_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system_util.hh:48