Eidolon
Public Member Functions | Protected Attributes | List of all members
OgreBaseFigure< T, F > Class Template Reference

#include <OgreRenderTypes.h>

Inherits F.

Collaboration diagram for OgreBaseFigure< T, F >:
Collaboration graph

Public Member Functions

 OgreBaseFigure (T *obj, Ogre::SceneNode *node, OgreRenderScene *scene)
 
virtual ~OgreBaseFigure ()
 
T * getRenderable () const
 
virtual const char * getName ()
 
virtual void setPosition (const vec3 &v)
 
virtual void setRotation (const rotator &r)
 
virtual void setScale (const vec3 &v)
 
virtual void setMaterial (const char *mat) throw (RenderException)
 
virtual const char * getMaterial () const
 
virtual std::pair< vec3, vec3getAABB () const
 
virtual void setParent (Figure *fig)
 
void setCameraVisibility (const Camera *cam, bool isVisible)
 
void setVisible (bool isVisible)
 
virtual bool isVisible () const
 
virtual bool isTransparent () const
 
virtual bool isOverlay () const
 
virtual void setTransparent (bool isTrans)
 
virtual void setOverlay (bool isOverlay)
 
virtual void setRenderQueue (sval queue)
 
virtual sval getRenderQueue () const
 
virtual vec3 getPosition (bool isDerived=false) const
 
virtual vec3 getScale (bool isDerived=false) const
 
virtual rotator getRotation (bool isDerived=false) const
 

Protected Attributes

T * obj
 
Ogre::SceneNode * node
 The OgreBaseRenderable object which implements the actual rendering operations. More...
 
OgreRenderScenescene
 

Detailed Description

template<typename T, typename F>
class OgreRenderTypes::OgreBaseFigure< T, F >

This is the base figure type which merges Ogre renderable objects with the renderer interface types. It inherits from the template parameter F which must be Figure or one of its subtypes. The parameter T must be OgreBaseRenderable or one of its subtypes, an internal instance of this type is used to represent the rendering operation of the object. This combination of inheritance and delegation is used to route around the need to convergent inheritance in subtypes. If this type were defined to inherit from Figure then any type inheriting from it which also want to inherit from a subtype of Figure to implement that interface would then inherit Figure twice. This would require virtual inheritance which doesn't play nice with the Python binding layer.

Constructor & Destructor Documentation

◆ OgreBaseFigure()

OgreBaseFigure ( T *  obj,
Ogre::SceneNode *  node,
OgreRenderScene scene 
)
inline

◆ ~OgreBaseFigure()

virtual ~OgreBaseFigure ( )
inlinevirtual

Member Function Documentation

◆ getAABB()

virtual std::pair<vec3,vec3> getAABB ( ) const
inlinevirtual
Here is the caller graph for this function:

◆ getMaterial()

virtual const char* getMaterial ( ) const
inlinevirtual
Here is the caller graph for this function:

◆ getName()

virtual const char* getName ( )
inlinevirtual
Here is the caller graph for this function:

◆ getPosition()

virtual vec3 getPosition ( bool  isDerived = false) const
inlinevirtual

◆ getRenderable()

T* getRenderable ( ) const
inline

◆ getRenderQueue()

virtual sval getRenderQueue ( ) const
inlinevirtual

◆ getRotation()

virtual rotator getRotation ( bool  isDerived = false) const
inlinevirtual

◆ getScale()

virtual vec3 getScale ( bool  isDerived = false) const
inlinevirtual

◆ isOverlay()

virtual bool isOverlay ( ) const
inlinevirtual

◆ isTransparent()

virtual bool isTransparent ( ) const
inlinevirtual

◆ isVisible()

virtual bool isVisible ( ) const
inlinevirtual
Here is the caller graph for this function:

◆ setCameraVisibility()

void setCameraVisibility ( const Camera cam,
bool  isVisible 
)
inline

◆ setMaterial()

virtual void setMaterial ( const char *  mat)
throw (RenderException
)
inlinevirtual

◆ setOverlay()

virtual void setOverlay ( bool  isOverlay)
inlinevirtual

Reimplemented in OgreTextFigure.

Here is the caller graph for this function:

◆ setParent()

virtual void setParent ( Figure fig)
inlinevirtual

◆ setPosition()

virtual void setPosition ( const vec3 v)
inlinevirtual
Here is the caller graph for this function:

◆ setRenderQueue()

virtual void setRenderQueue ( sval  queue)
inlinevirtual

◆ setRotation()

virtual void setRotation ( const rotator r)
inlinevirtual
Here is the caller graph for this function:

◆ setScale()

virtual void setScale ( const vec3 v)
inlinevirtual
Here is the caller graph for this function:

◆ setTransparent()

virtual void setTransparent ( bool  isTrans)
inlinevirtual

◆ setVisible()

void setVisible ( bool  isVisible)
inline
Here is the caller graph for this function:

Member Data Documentation

◆ node

Ogre::SceneNode* node
protected

The OgreBaseRenderable object which implements the actual rendering operations.

◆ obj

T* obj
protected

◆ scene

OgreRenderScene* scene
protected

The documentation for this class was generated from the following file: