Gazebo Rendering

API Reference

9.0.0
Visual.hh
Go to the documentation of this file.
1/*
2 * Copyright (C) 2015 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_VISUAL_HH_
18#define GZ_RENDERING_VISUAL_HH_
19
20#include <string>
22#include "gz/rendering/config.hh"
23#include "gz/rendering/Node.hh"
24
25namespace gz
26{
27 namespace rendering
28 {
29 inline namespace GZ_RENDERING_VERSION_NAMESPACE {
33 class GZ_RENDERING_VISIBLE Visual :
34 public virtual Node
35 {
37 public: virtual ~Visual();
38
41 public: virtual unsigned int GeometryCount() const = 0;
42
46 public: virtual bool HasGeometry(ConstGeometryPtr _geometry) const = 0;
47
53 unsigned int _index) const = 0;
54
58 public: virtual void AddGeometry(GeometryPtr _geometry) = 0;
59
64 public: virtual GeometryPtr RemoveGeometry(GeometryPtr _geometry) = 0;
65
71 unsigned int _index) = 0;
72
74 public: virtual void RemoveGeometries() = 0;
75
82 public: virtual void SetMaterial(const std::string &_name,
83 bool _unique = true) = 0;
84
88 public: virtual void SetMaterial(MaterialPtr _material,
89 bool _unique = true) = 0;
90
94 public: virtual void SetChildMaterial(MaterialPtr _material,
95 bool _unique = true) = 0;
96
100 public: virtual void SetGeometryMaterial(MaterialPtr _material,
101 bool _unique = true) = 0;
102
107 public: virtual MaterialPtr Material() const = 0;
108
111 public: virtual void SetWireframe(bool _show) = 0;
112
115 public: virtual bool Wireframe() const = 0;
116
119 public: virtual void SetVisible(bool _visible) = 0;
120
165 public: virtual void SetStatic(bool _static) = 0;
166
170 public: virtual bool Static() const = 0;
171
174 public: virtual void SetVisibilityFlags(uint32_t _flags) = 0;
175
178 public: virtual uint32_t VisibilityFlags() const = 0;
179
182 public: virtual void AddVisibilityFlags(uint32_t _flags) = 0;
183
186 public: virtual void RemoveVisibilityFlags(uint32_t _flags) = 0;
187
190 public: virtual gz::math::AxisAlignedBox BoundingBox() const = 0;
191
195 const = 0;
196
203 public: virtual VisualPtr Clone(const std::string &_name,
204 NodePtr _newParent) const = 0;
205 };
206 }
207 }
208}
209
210#endif