25 #ifndef WGEVIEWPORTCALLBACK_H
26 #define WGEVIEWPORTCALLBACK_H
31 #include "../WGECamera.h"
41 template <
typename T,
typename Source = WGECamera >
71 virtual void operator()( osg::Node* node, osg::NodeVisitor* nv );
91 template <
typename T,
typename Source >
94 m_reference( reference ),
101 template <
typename T,
typename Source >
111 template <
typename T,
typename Source >
117 template <
typename T,
typename Source >
120 osg::ref_ptr< T > t =
dynamic_cast< T*
>( node );
125 t->setViewport( m_reference->getViewport() );
129 t->setViewport(
new osg::Viewport( 0, 0, m_width, m_height ) );
132 traverse( node, nv );
This callback is useful to update viewport information on several nodes supporting it.
virtual void operator()(osg::Node *node, osg::NodeVisitor *nv)
This operator gets called by OSG every update cycle.
osg::ref_ptr< Source > m_reference
The reference camera to use.
size_t m_width
Forced viewport width.
virtual ~WGEViewportCallback()
Destructor.
size_t m_height
Forced viewport height.
WGEViewportCallback(osg::ref_ptr< Source > reference)
Creates new instance of viewport callback and sets the viewport size to the reference camera size.