Ignition Rendering

API Reference

0.1.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 IGNITION_RENDERING_VISUAL_HH_
18 #define IGNITION_RENDERING_VISUAL_HH_
19 
20 #include <string>
22 
23 namespace ignition
24 {
25  namespace rendering
26  {
30  class IGNITION_RENDERING_VISIBLE Visual :
31  public virtual Node
32  {
34  public: virtual ~Visual() { }
35 
38  public: virtual unsigned int ChildCount() const = 0;
39 
42  public: virtual bool HasChild(ConstNodePtr _child) const = 0;
43 
47  public: virtual bool HasChildId(unsigned int _id) const = 0;
48 
52  public: virtual bool HasChildName(const std::string &_name) const = 0;
53 
58  public: virtual NodePtr ChildById(unsigned int _id) const = 0;
59 
64  public: virtual NodePtr ChildByName(
65  const std::string &_name) const = 0;
66 
71  public: virtual NodePtr ChildByIndex(unsigned int _index) const = 0;
72 
76  public: virtual void AddChild(NodePtr _child) = 0;
77 
82  public: virtual NodePtr RemoveChild(NodePtr _child) = 0;
83 
88  public: virtual NodePtr RemoveChildById(unsigned int _id) = 0;
89 
94  public: virtual NodePtr RemoveChildByName(const std::string &_name) = 0;
95 
100  public: virtual NodePtr RemoveChildByIndex(unsigned int _index) = 0;
101 
103  public: virtual void RemoveChildren() = 0;
104 
107  public: virtual unsigned int GeometryCount() const = 0;
108 
112  public: virtual bool HasGeometry(ConstGeometryPtr _geometry) const = 0;
113 
118  public: virtual GeometryPtr GeometryByIndex(
119  unsigned int _index) const = 0;
120 
124  public: virtual void AddGeometry(GeometryPtr _geometry) = 0;
125 
130  public: virtual GeometryPtr RemoveGeometry(GeometryPtr _geometry) = 0;
131 
136  public: virtual GeometryPtr RemoveGeometryByIndex(
137  unsigned int _index) = 0;
138 
140  public: virtual void RemoveGeometries() = 0;
141 
148  public: virtual void SetMaterial(const std::string &_name,
149  bool unique = true) = 0;
150 
154  public: virtual void SetMaterial(MaterialPtr _material,
155  bool unique = true) = 0;
156 
160  public: virtual void SetChildMaterial(MaterialPtr _material,
161  bool unique = true) = 0;
162 
166  public: virtual void SetGeometryMaterial(MaterialPtr _material,
167  bool unique = true) = 0;
168 
173  public: virtual MaterialPtr Material() = 0;
174 
177  public: virtual math::Vector3d LocalScale() const = 0;
178 
182  public: virtual void SetLocalScale(double _scale) = 0;
183 
188  public: virtual void SetLocalScale(double _x, double _y, double _z) = 0;
189 
192  public: virtual void SetLocalScale(const math::Vector3d &_scale) = 0;
193 
196  public: virtual math::Vector3d WorldScale() const = 0;
197 
201  public: virtual void SetWorldScale(double _scale) = 0;
202 
207  public: virtual void SetWorldScale(double _x, double _y, double _z) = 0;
208 
211  public: virtual void SetWorldScale(const math::Vector3d &_scale) = 0;
212 
216  public: virtual void Scale(double _scale) = 0;
217 
222  public: virtual void Scale(double _x, double _y, double _z) = 0;
223 
226  public: virtual void Scale(const math::Vector3d &_scale) = 0;
227 
230  public: virtual bool InheritScale() const = 0;
231 
234  public: virtual void SetInheritScale(bool _inherit) = 0;
235  };
236  }
237 }
238 #endif
virtual ~Visual()
Deconstructor.
Definition: Visual.hh:34
Represents a single posable node in the scene graph.
Definition: Node.hh:34
STL class.
Represents a visual node in a scene graph. A Visual is the only node that can have Geometry and other...
Definition: Visual.hh:30
Definition: ArrowVisual.hh:22
Represents a surface material of a Geometry.
Definition: Material.hh:34