Ignition Rendering

API Reference

0.1.0
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 IGNITION_RENDERING_OGRE_OGREMESH_HH_
18 #define IGNITION_RENDERING_OGRE_OGREMESH_HH_
19 
20 #include <string>
21 #include <vector>
26 
27 namespace Ogre
28 {
29  class Entity;
30  class SubEntity;
31 }
32 
33 namespace ignition
34 {
35  namespace rendering
36  {
37  class IGNITION_RENDERING_OGRE_VISIBLE OgreMesh :
38  public BaseMesh<OgreGeometry>
39  {
41 
42  protected: OgreMesh();
43 
44  public: virtual ~OgreMesh();
45 
46  public: virtual Ogre::MovableObject *OgreObject() const;
47 
48  protected: virtual SubMeshStorePtr SubMeshes() const;
49 
51 
52  protected: Ogre::Entity *ogreEntity;
53 
54  private: friend class OgreScene;
55 
56  private: friend class OgreMeshFactory;
57  };
58 
59  class IGNITION_RENDERING_OGRE_VISIBLE OgreSubMesh :
60  public BaseSubMesh<OgreObject>
61  {
62  protected: OgreSubMesh();
63 
64  public: virtual ~OgreSubMesh();
65 
66  public: virtual MaterialPtr Material() const;
67 
68  public: virtual void SetMaterial(MaterialPtr _material,
69  bool _unique = true);
70 
71  public: virtual Ogre::SubEntity *OgreSubEntity() const;
72 
73  public: virtual void Destroy();
74 
75  protected: virtual void SetMaterialImpl(OgreMaterialPtr _material);
76 
77  protected: virtual void Init();
78 
80 
82 
83  private: friend class OgreScene;
84 
85  private: friend class OgreSubMeshStoreFactory;
86  };
87  }
88 }
89 #endif
Definition: OgreMeshFactory.hh:60
OgreMaterialPtr material
Definition: OgreMesh.hh:79
Definition: BaseMesh.hh:68
Definition: OgreMesh.hh:59
Ogre::SubEntity * ogreSubEntity
Definition: OgreMesh.hh:81
Definition: OgreObject.hh:28
Definition: OgreMesh.hh:37
Definition: OgreMeshFactory.hh:36
OgreSubMeshStorePtr subMeshes
Definition: OgreMesh.hh:50
Definition: BaseMesh.hh:31
Definition: OgreScene.hh:34
Definition: ArrowVisual.hh:22
Represents a surface material of a Geometry.
Definition: Material.hh:34
Ogre::Entity * ogreEntity
Definition: OgreMesh.hh:52