k3d::gl::renderable< base_t > Class Template Reference

Provides a boilerplate implementation of k3d::gl::irenderable. More...

#include <renderable_gl.h>

Inheritance diagram for k3d::gl::renderable< base_t >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 renderable (iplugin_factory &Factory, idocument &Document)
 ~renderable ()
uint_t gl_layer ()
void gl_draw (const render_state &State)
void gl_select (const render_state &State, const selection_state &SelectState)

Protected Types

typedef GLUnurbsObj * nurbs_renderer_t

Protected Member Functions

sigc::slot< void, ihint * > make_async_redraw_slot ()
void async_redraw (ihint *)
nurbs_renderer_t nurbs_renderer (const render_state &State)
 k3d_data (bool, data::immutable_name, data::change_signal, data::with_undo, data::local_storage, data::no_constraint, data::writable_property, data::with_serialization) m_visible
 Set to true iff the object should be visible in OpenGL viewports.

Private Member Functions

void push_draw ()
void pop_draw ()
virtual void on_gl_draw (const render_state &State)=0
virtual void on_gl_select (const render_state &State, const selection_state &SelectState)=0

Private Attributes

nurbs_renderer_t m_nurbs_renderer
 OpenGL NURBS renderer.

Detailed Description

template<typename base_t>
class k3d::gl::renderable< base_t >

Provides a boilerplate implementation of k3d::gl::irenderable.

Parameters:
base_t Must derive from k3d::transformable

Member Typedef Documentation

template<typename base_t>
typedef GLUnurbsObj* k3d::gl::renderable< base_t >::nurbs_renderer_t [protected]

Constructor & Destructor Documentation

template<typename base_t>
k3d::gl::renderable< base_t >::renderable ( iplugin_factory Factory,
idocument Document 
) [inline]
template<typename base_t>
k3d::gl::renderable< base_t >::~renderable (  )  [inline]

Member Function Documentation

template<typename base_t>
void k3d::gl::renderable< base_t >::async_redraw ( ihint  )  [inline, protected]
template<typename base_t>
void k3d::gl::renderable< base_t >::gl_draw ( const render_state State  )  [inline, virtual]

Implements k3d::gl::irenderable.

template<typename base_t>
uint_t k3d::gl::renderable< base_t >::gl_layer (  )  [inline, virtual]

Returns the layer on which this renderable should be drawn. Lower-numbered layers are rendered earlier than higher-numbered layers. The (arbitrary) default layer for most 3D objects is 1024. Layer zero is reserved for the viewport background.

Implements k3d::gl::irenderable.

Reimplemented in module::core::axes.

template<typename base_t>
void k3d::gl::renderable< base_t >::gl_select ( const render_state State,
const selection_state SelectState 
) [inline, virtual]

Implements k3d::gl::irenderable.

template<typename base_t>
k3d::gl::renderable< base_t >::k3d_data ( bool  ,
data::immutable_name  ,
data::change_signal  ,
data::with_undo  ,
data::local_storage  ,
data::no_constraint  ,
data::writable_property  ,
data::with_serialization   
) [protected]
template<typename base_t>
sigc::slot<void, ihint*> k3d::gl::renderable< base_t >::make_async_redraw_slot (  )  [inline, protected]
template<typename base_t>
nurbs_renderer_t k3d::gl::renderable< base_t >::nurbs_renderer ( const render_state State  )  [inline, protected]
template<typename base_t>
virtual void k3d::gl::renderable< base_t >::on_gl_draw ( const render_state State  )  [private, pure virtual]
template<typename base_t>
virtual void k3d::gl::renderable< base_t >::on_gl_select ( const render_state State,
const selection_state SelectState 
) [private, pure virtual]
template<typename base_t>
void k3d::gl::renderable< base_t >::pop_draw (  )  [inline, private]
template<typename base_t>
void k3d::gl::renderable< base_t >::push_draw (  )  [inline, private]

Member Data Documentation

template<typename base_t>
nurbs_renderer_t k3d::gl::renderable< base_t >::m_nurbs_renderer [private]

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

Generated on Mon Mar 21 07:42:28 2011 for K-3D by doxygen 1.6.3