Gazebo Rendering

API Reference

3.7.2
gz/rendering/ogre/OgreMesh.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_OGRE_OGREMESH_HH_
18 #define GZ_RENDERING_OGRE_OGREMESH_HH_
19 
20 #include <map>
21 #include <string>
22 #include <vector>
27 
28 namespace Ogre
29 {
30  class Entity;
31  class SubEntity;
32 }
33 
34 namespace ignition
35 {
36  namespace rendering
37  {
38  inline namespace IGNITION_RENDERING_VERSION_NAMESPACE {
39  //
40  class IGNITION_RENDERING_OGRE_VISIBLE OgreMesh :
41  public BaseMesh<OgreGeometry>
42  {
44 
45  protected: OgreMesh();
46 
47  public: virtual ~OgreMesh();
48 
49  // Documentation inherited.
50  public: virtual void Destroy() override;
51 
52  // Documentation inherited.
53  public: virtual bool HasSkeleton() const override;
54 
55  // Documentation inherited.
57  SkeletonLocalTransforms() const override;
58 
59  // Documentation inherited.
60  public: virtual void SetSkeletonLocalTransforms(
61  const std::map<std::string, math::Matrix4d> &_tfs) override;
62 
63  public: virtual Ogre::MovableObject *OgreObject() const override;
64 
65  protected: virtual SubMeshStorePtr SubMeshes() const override;
66 
68 
69  protected: Ogre::Entity *ogreEntity = nullptr;
70 
71  private: friend class OgreScene;
72 
73  private: friend class OgreMeshFactory;
74  };
75 
76  class IGNITION_RENDERING_OGRE_VISIBLE OgreSubMesh :
77  public BaseSubMesh<OgreObject>
78  {
79  protected: OgreSubMesh();
80 
81  public: virtual ~OgreSubMesh();
82 
83  public: virtual Ogre::SubEntity *OgreSubEntity() const;
84 
85  public: virtual void Destroy() override;
86 
87  // Documentation inherited
88  protected: virtual void SetMaterialImpl(MaterialPtr _material) override;
89 
90  protected: virtual void Init() override;
91 
92  protected: Ogre::SubEntity *ogreSubEntity;
93 
94  private: friend class OgreScene;
95 
96  private: friend class OgreSubMeshStoreFactory;
97  };
98  }
99  }
100 }
101 #endif
Definition: gz/rendering/ogre/OgreCamera.hh:27
STL class.
Definition: gz/rendering/ogre/OgreScene.hh:39
Definition: gz/rendering/base/BaseMesh.hh:95
OgreSubMeshStorePtr subMeshes
Definition: gz/rendering/ogre/OgreMesh.hh:67
Ogre::SubEntity * ogreSubEntity
Definition: gz/rendering/ogre/OgreMesh.hh:92
Definition: gz/rendering/ogre/OgreMeshFactory.hh:38
Definition: gz/rendering/ogre/OgreObject.hh:32
Definition: gz/rendering/ogre/OgreMesh.hh:40
Definition: gz/rendering/base/BaseMesh.hh:34
STL class.
Definition: gz/rendering/ogre/OgreMeshFactory.hh:62
Definition: gz/rendering/ogre/OgreMesh.hh:76