Eidolon
Public Member Functions | List of all members
Figure Class Reference

#include <RenderTypes.h>

Inheritance diagram for Figure:
Inheritance graph
Collaboration diagram for Figure:
Collaboration graph

Public Member Functions

virtual ~Figure ()
 
virtual const char * getName ()
 Get the figure's name. More...
 
virtual void setPosition (const vec3 &v)
 Set the figure's position in world space. More...
 
virtual void setScale (const vec3 &v)
 Set the figure's scale values. More...
 
virtual void setRotation (const rotator &r)
 Set the figure's rotation. More...
 
virtual void setTransform (const transform &t)
 Set position, rotation, and scale for this figure simultaneously. More...
 
virtual void setTransform (const vec3 &trans, const vec3 &scale, const rotator &rot)
 Set position, rotation, and scale for this figure simultaneously. More...
 
virtual vec3 getPosition (bool isDerived=false) const
 Get the figure's position in world space. More...
 
virtual vec3 getScale (bool isDerived=false) const
 Get the figure's scale values. More...
 
virtual rotator getRotation (bool isDerived=false) const
 Get the figure's rotation. More...
 
virtual transform getTransform (bool isDerived=false) const
 Get the figure's position, scale, and rotation transform. More...
 
virtual void setMaterial (const char *mat) throw (RenderException)
 Set the figure's material, this must name an existing material. More...
 
virtual void setMaterial (const Material *mat) throw (RenderException)
 Set's the figure's material. More...
 
virtual const char * getMaterial () const
 Get the figure's material name. More...
 
virtual std::pair< vec3, vec3getAABB () const
 
virtual void fillData (const VertexBuffer *vb, const IndexBuffer *ib, bool deferFill=false, bool doubleSided=false) throw (RenderException)
 
virtual void setVisible (bool isVisible)
 Sets the figure's visibility. More...
 
virtual bool isVisible () const
 Returns the figure's visibility state. More...
 
virtual bool isTransparent () const
 Returns true if the figure includes transparent elements. More...
 
virtual bool isOverlay () const
 Returns true if the figure is part of the UI overlay rather than an object in space. More...
 
virtual void setTransparent (bool isTrans)
 Set the transparency state of the figure, this doesn't actually change data but affects how the renderer treates the object. More...
 
virtual void setOverlay (bool isOverlay)
 Set the overlay state of the figure, this doesn't actually change data but affects how the renderer treates the object. More...
 
virtual void setRenderQueue (sval queue)
 Get the render queue of this figure; queues set rendering order such that figures in lower queues are rendered first. More...
 
virtual sval getRenderQueue () const
 Get the figure's render queue. More...
 
virtual void setCameraVisibility (const Camera *cam, bool isVisible)
 
virtual void setParent (Figure *fig)
 Set the parent of this figure, if `fig' is transformed then the transformation is applied to this figure as well. More...
 

Detailed Description

A Figure object is the basic rendering object. It has methods for filling vertex and index data, setting camera visibility, scene position and orientation, and materials.

Constructor & Destructor Documentation

◆ ~Figure()

virtual ~Figure ( )
inlinevirtual

Member Function Documentation

◆ fillData()

virtual void fillData ( const VertexBuffer vb,
const IndexBuffer ib,
bool  deferFill = false,
bool  doubleSided = false 
)
throw (RenderException
)
inlinevirtual

Fill the vertex information using the given buffers, `ib' may be NULL for point figure types. If `deferFill' is true then the actual hardware buffers are filled during the next render cycle rather than immediately. In either case data is filled into local memory buffers first then copied to hardware buffers. This implies that calling this method is thread-safe if `deferFill' is true or if its implementation does nothing regardless of arguments. If `doubleSided' is true and the index buffer defined triangles, create backfaces for triangles with correct normals.

Reimplemented in BBSetFigure, OgreGlyphFigure, OgreRibbonFigure, OgreBBSetFigure, and OgreFigure.

◆ getAABB()

virtual std::pair<vec3,vec3> getAABB ( ) const
inlinevirtual

◆ getMaterial()

virtual const char* getMaterial ( ) const
inlinevirtual

◆ getName()

virtual const char* getName ( )
inlinevirtual

◆ getPosition()

virtual vec3 getPosition ( bool  isDerived = false) const
inlinevirtual

◆ getRenderQueue()

virtual sval getRenderQueue ( ) const
inlinevirtual

◆ getRotation()

virtual rotator getRotation ( bool  isDerived = false) const
inlinevirtual

◆ getScale()

virtual vec3 getScale ( bool  isDerived = false) const
inlinevirtual

◆ getTransform()

virtual transform getTransform ( bool  isDerived = false) const
inlinevirtual

Get the figure's position, scale, and rotation transform.

Here is the caller graph for this function:

◆ isOverlay()

virtual bool isOverlay ( ) const
inlinevirtual

◆ isTransparent()

virtual bool isTransparent ( ) const
inlinevirtual

◆ isVisible()

virtual bool isVisible ( ) const
inlinevirtual

◆ setCameraVisibility()

virtual void setCameraVisibility ( const Camera cam,
bool  isVisible 
)
inlinevirtual

Set the visibility for this figure in the given camera, by default a camera can see all figures unless it has been designated as a secondary camera, in which case figures must make themselves explicitly visible to it using this method. This implies that a figure is by default is visible to all primary cameras. All primary cameras are treated the same, so a figure visible to one is visible to all. If `cam' is NULL then visibility is set for all cameras, both primary and secondary, to be `isVisible'.

Reimplemented in OgreRibbonFigure, OgreBBSetFigure, OgreBaseFigure< OgreBaseRenderable, Figure >, OgreBaseFigure< OgreBaseRenderable, GlyphFigure >, OgreBaseFigure< TextRenderable, TextFigure >, and OgreBaseFigure< TextureVolumeRenderable, TextureVolumeFigure >.

◆ setMaterial() [1/2]

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

◆ setMaterial() [2/2]

virtual void setMaterial ( const Material mat)
throw (RenderException
)
inlinevirtual

Set's the figure's material.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setOverlay()

virtual void setOverlay ( bool  isOverlay)
inlinevirtual

◆ setParent()

virtual void setParent ( Figure fig)
inlinevirtual

◆ setPosition()

virtual void setPosition ( const vec3 v)
inlinevirtual

◆ setRenderQueue()

virtual void setRenderQueue ( sval  queue)
inlinevirtual

◆ setRotation()

virtual void setRotation ( const rotator r)
inlinevirtual

◆ setScale()

virtual void setScale ( const vec3 v)
inlinevirtual

◆ setTransform() [1/2]

virtual void setTransform ( const transform t)
inlinevirtual

Set position, rotation, and scale for this figure simultaneously.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setTransform() [2/2]

virtual void setTransform ( const vec3 trans,
const vec3 scale,
const rotator rot 
)
inlinevirtual

Set position, rotation, and scale for this figure simultaneously.

◆ setTransparent()

virtual void setTransparent ( bool  isTrans)
inlinevirtual

Set the transparency state of the figure, this doesn't actually change data but affects how the renderer treates the object.

Reimplemented in OgreRibbonFigure, OgreBBSetFigure, OgreBaseFigure< OgreBaseRenderable, Figure >, OgreBaseFigure< OgreBaseRenderable, GlyphFigure >, OgreBaseFigure< TextRenderable, TextFigure >, and OgreBaseFigure< TextureVolumeRenderable, TextureVolumeFigure >.

◆ setVisible()

virtual void setVisible ( bool  isVisible)
inlinevirtual

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