OgreSimpleRenderable.h
Go to the documentation of this file.
1 /*
2 -----------------------------------------------------------------------------
3 This source file is part of OGRE
4  (Object-oriented Graphics Rendering Engine)
5 For the latest info, see http://www.ogre3d.org/
6 
7 Copyright (c) 2000-2013 Torus Knot Software Ltd
8 
9 Permission is hereby granted, free of charge, to any person obtaining a copy
10 of this software and associated documentation files (the "Software"), to deal
11 in the Software without restriction, including without limitation the rights
12 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 copies of the Software, and to permit persons to whom the Software is
14 furnished to do so, subject to the following conditions:
15 
16 The above copyright notice and this permission notice shall be included in
17 all copies or substantial portions of the Software.
18 
19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 THE SOFTWARE.
26 -----------------------------------------------------------------------------
27 */
28 #ifndef __SimpleRenderable_H__
29 #define __SimpleRenderable_H__
30 
31 #include "OgrePrerequisites.h"
32 
33 #include "OgreMovableObject.h"
34 #include "OgreRenderable.h"
35 #include "OgreAxisAlignedBox.h"
36 #include "OgreMaterial.h"
37 #include "OgreHeaderPrefix.h"
38 
39 namespace Ogre {
40 
51  {
52  protected:
54 
57 
60 
63 
66 
69 
70  public:
73 
75  SimpleRenderable(const String& name);
76 
77  virtual void setMaterial( const String& matName );
78  virtual const MaterialPtr& getMaterial(void) const;
79 
80  virtual void setRenderOperation( const RenderOperation& rend );
82 
83  void setWorldTransform( const Matrix4& xform );
84  virtual void getWorldTransforms( Matrix4* xform ) const;
85 
86 
87  virtual void _notifyCurrentCamera(Camera* cam);
88 
89  void setBoundingBox( const AxisAlignedBox& box );
90  virtual const AxisAlignedBox& getBoundingBox(void) const;
91 
92  virtual void _updateRenderQueue(RenderQueue* queue);
95  bool debugRenderables = false);
96 
97  virtual ~SimpleRenderable();
98 
99 
101  virtual const String& getMovableType(void) const;
102 
104  const LightList& getLights(void) const;
105 
106  };
109 }
110 
111 #include "OgreHeaderSuffix.h"
112 
113 #endif
114 
OgreHeaderSuffix.h
Ogre::HashedVector< Light * >
Ogre::SimpleRenderable::visitRenderables
void visitRenderables(Renderable::Visitor *visitor, bool debugRenderables=false)
Method to allow a caller to abstractly iterate over the Renderable instances that this MovableObject ...
Ogre::SimpleRenderable::_updateRenderQueue
virtual void _updateRenderQueue(RenderQueue *queue)
Internal method by which the movable object must add Renderable subclass instances to the rendering q...
Ogre::SimpleRenderable::~SimpleRenderable
virtual ~SimpleRenderable()
Ogre
Definition: OgreAndroidLogListener.h:35
Ogre::SimpleRenderable::mParentSceneManager
SceneManager * mParentSceneManager
The scene manager for the current frame.
Definition: OgreSimpleRenderable.h:62
Ogre::Camera
A viewpoint from which the scene will be rendered.
Definition: OgreCamera.h:87
Ogre::SimpleRenderable::getBoundingBox
virtual const AxisAlignedBox & getBoundingBox(void) const
Retrieves the local axis-aligned bounding box for this object.
Ogre::SimpleRenderable::getMovableType
virtual const String & getMovableType(void) const
Overridden from MovableObject.
Ogre::SimpleRenderable::mWorldTransform
Matrix4 mWorldTransform
Definition: OgreSimpleRenderable.h:55
Ogre::MovableObject
Abstract class defining a movable object in a scene.
Definition: OgreMovableObject.h:61
Ogre::SimpleRenderable::SimpleRenderable
SimpleRenderable(const String &name)
Named constructor.
Ogre::SimpleRenderable::mMaterial
MaterialPtr mMaterial
Definition: OgreSimpleRenderable.h:59
Ogre::SimpleRenderable::_notifyCurrentCamera
virtual void _notifyCurrentCamera(Camera *cam)
Internal method to notify the object of the camera to be used for the next rendering operation.
Ogre::String
_StringBase String
Definition: OgrePrerequisites.h:439
Ogre::SimpleRenderable::getRenderOperation
virtual void getRenderOperation(RenderOperation &op)
Gets the render operation required to send this object to the frame buffer.
OgreMaterial.h
OgreHeaderPrefix.h
Ogre::Matrix4
Class encapsulating a standard 4x4 homogeneous matrix.
Definition: OgreMatrix4.h:79
Ogre::SimpleRenderable::SimpleRenderable
SimpleRenderable()
Constructor.
Ogre::SimpleRenderable::setWorldTransform
void setWorldTransform(const Matrix4 &xform)
Ogre::SimpleRenderable::mMatName
String mMatName
Definition: OgreSimpleRenderable.h:58
Ogre::SceneManager
Manages the organisation and rendering of a 'scene' i.e.
Definition: OgreSceneManager.h:144
OgrePrerequisites.h
Ogre::SimpleRenderable::mCamera
Camera * mCamera
The camera for the current frame.
Definition: OgreSimpleRenderable.h:65
Ogre::SimpleRenderable::setMaterial
virtual void setMaterial(const String &matName)
Ogre::AxisAlignedBox
A 3D box aligned with the x/y/z axes.
Definition: OgreAxisAlignedBox.h:55
_OgreExport
#define _OgreExport
Definition: OgrePlatform.h:257
Ogre::SimpleRenderable::getLights
const LightList & getLights(void) const
Gets a list of lights, ordered relative to how close they are to this renderable.
Ogre::SimpleRenderable::setRenderOperation
virtual void setRenderOperation(const RenderOperation &rend)
Ogre::SharedPtr< Material >
OgreRenderable.h
OgreMovableObject.h
Ogre::uint
unsigned int uint
Definition: OgrePrerequisites.h:114
Ogre::SimpleRenderable::mBox
AxisAlignedBox mBox
Definition: OgreSimpleRenderable.h:56
Ogre::Renderable::Visitor
Visitor object that can be used to iterate over a collection of Renderable instances abstractly.
Definition: OgreRenderable.h:378
Ogre::Renderable
Abstract class defining the interface all renderable objects must implement.
Definition: OgreRenderable.h:64
Ogre::SimpleRenderable
Simple implementation of MovableObject and Renderable for single-part custom objects.
Definition: OgreSimpleRenderable.h:51
Ogre::SimpleRenderable::setBoundingBox
void setBoundingBox(const AxisAlignedBox &box)
OgreAxisAlignedBox.h
Ogre::SimpleRenderable::msGenNameCount
static uint msGenNameCount
Static member used to automatically generate names for SimpleRendaerable objects.
Definition: OgreSimpleRenderable.h:68
Ogre::SimpleRenderable::getWorldTransforms
virtual void getWorldTransforms(Matrix4 *xform) const
Gets the world transform matrix / matrices for this renderable object.
Ogre::SimpleRenderable::getMaterial
virtual const MaterialPtr & getMaterial(void) const
Retrieves a weak reference to the material this renderable object uses.
Ogre::SimpleRenderable::mRenderOp
RenderOperation mRenderOp
Definition: OgreSimpleRenderable.h:53
Ogre::RenderOperation
'New' rendering operation using vertex buffers.
Definition: OgreRenderOperation.h:45
Ogre::RenderQueue
Class to manage the scene object rendering queue.
Definition: OgreRenderQueue.h:93

Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.