iRoCS Toolbox  1.1.0
Public Slots | Public Member Functions | Protected Member Functions | Protected Attributes
DataChannelSpecsOpenGlRenderingViewRenderer Class Reference

#include <DataChannelSpecsOpenGlRenderingViewRenderer.hh>

Inheritance diagram for DataChannelSpecsOpenGlRenderingViewRenderer:
Collaboration diagram for DataChannelSpecsOpenGlRenderingViewRenderer:

Public Slots

virtual void setCacheUpdatesEnabled (bool enable)
 Enables or disables the updates of the rendering cache. More...
 
virtual void updateCache () const
 Update the rendering cache. More...
 

Public Member Functions

 DataChannelSpecsOpenGlRenderingViewRenderer (DataChannelSpecs *channel, OpenGlRenderingViewWidget *view)
 
 ~DataChannelSpecsOpenGlRenderingViewRenderer ()
 
bool cacheUpdatesEnabled () const
 Check whether cache updates are enabled. More...
 
ChannelSpecschannel () const
 
virtual bool event (QEvent *event)
 Interprets and distributes the given event. More...
 
void render (QPainter *painter=NULL) const
 Main rendering routine which is called whenever a paintEvent() on the ViewWidget occurs. More...
 
ViewWidgetview () const
 

Protected Member Functions

virtual void userInteractionEvent (UserInteractionEvent *e)
 Reimplement this function if your specialized ChannelSpecsRenderer should respond to a passed UserInteractionEvent. More...
 

Protected Attributes

bool _cacheUpdatesEnabled
 
ChannelSpecsp_channel
 
ViewWidgetp_view
 

Detailed Description

Definition at line 37 of file DataChannelSpecsOpenGlRenderingViewRenderer.hh.

Constructor & Destructor Documentation

◆ DataChannelSpecsOpenGlRenderingViewRenderer()

DataChannelSpecsOpenGlRenderingViewRenderer::DataChannelSpecsOpenGlRenderingViewRenderer ( DataChannelSpecs channel,
OpenGlRenderingViewWidget view 
)

◆ ~DataChannelSpecsOpenGlRenderingViewRenderer()

DataChannelSpecsOpenGlRenderingViewRenderer::~DataChannelSpecsOpenGlRenderingViewRenderer ( )

Member Function Documentation

◆ render()

void DataChannelSpecsOpenGlRenderingViewRenderer::render ( QPainter *  painter = NULL) const
virtual

Main rendering routine which is called whenever a paintEvent() on the ViewWidget occurs.

Within this function the actual rendering of the associated channel into the associated view is performed. This may imply to use the passed QPainter but may be also done by other means as e.g. by directly imposing OpenGL commands. This function must be re-implemented and should be as fast as possible since it is called at every widget repaint

Parameters
painterThe active QPainter or NULL if no painter is currently active or the view update is not QPainter-based, like e.g. for OpenGL rendering

Implements ChannelSpecsRenderer.

◆ channel()

ChannelSpecs* ChannelSpecsRenderer::channel ( ) const
inherited

◆ view()

ViewWidget* ChannelSpecsRenderer::view ( ) const
inherited

◆ cacheUpdatesEnabled()

bool ChannelSpecsRenderer::cacheUpdatesEnabled ( ) const
inherited

Check whether cache updates are enabled.

Returns
true if the cache is updated by changes in channel or view false otherwise
See also
setCacheUpdatesEnabled(bool)

◆ event()

virtual bool ChannelSpecsRenderer::event ( QEvent *  event)
virtualinherited

Interprets and distributes the given event.

This function checks, whether the event is a UserInteractionEvent and if so passes the event to the specialized function userInteractionEvent(UserInteractionEvent*). If you want to enable mouse interaction with the view associated with this renderer you should reimplement the specialized function, for everything beyond mouse interaction reimplement this function.

Parameters
eventThe event sent to this ChannelSpecsRenderer
Returns
true if the event was accepted, false otherwise

◆ setCacheUpdatesEnabled

virtual void ChannelSpecsRenderer::setCacheUpdatesEnabled ( bool  enable)
virtualslotinherited

Enables or disables the updates of the rendering cache.

This usually means that changes in the ChannelSpecs or the view position don't lead to an update of the view. This is useful, if you have to programmatically perform many small operations on the channel of which not each should trigger a repaint.

Parameters
enabletrue to enable, false to disable cache updates

◆ updateCache

virtual void ChannelSpecsRenderer::updateCache ( ) const
virtualslotinherited

Update the rendering cache.

This function is called by the associated ChannelSpecs if its content changes or by the ViewWidget if the ViewPosition changes such that an cache update might be neccessary. Reimplement this function if you have expensive computations that should not be done at every repaint. The default implementation only calls the update() function of the view. You can disable the cacheUpdates using the setCacheUpdatesEnabled() function. This is important if you programmatically perform many operations on the ChannelSpecs, of which each would need a cache update. After the sequence of operations, you have to call updateCache() explicitely to apply the changes. After cache update update() of the view is called to visualize the changes. So if many channels are involved you should call setUpdatesEnabled(false) to the view before these changes.

Reimplemented in IRoCSChannelSpecsOpenGlRenderingViewRenderer, IRoCSSCTChannelSpecsOpenGlRenderingViewRenderer, and SplineCurveChannelSpecsOpenGlRenderingViewRenderer.

◆ userInteractionEvent()

virtual void ChannelSpecsRenderer::userInteractionEvent ( UserInteractionEvent e)
protectedvirtualinherited

Reimplement this function if your specialized ChannelSpecsRenderer should respond to a passed UserInteractionEvent.

Parameters
eThe UserInteractionEvent containing the position, type and other parameters of the event

Reimplemented in VisualizationChannelSpecsOrthoViewRenderer, and AnnotationChannelSpecsOrthoViewRenderer.

Field Documentation

◆ p_channel

ChannelSpecs* ChannelSpecsRenderer::p_channel
protectedinherited

Definition at line 150 of file ChannelSpecsRenderer.hh.

◆ p_view

ViewWidget* ChannelSpecsRenderer::p_view
protectedinherited

Definition at line 151 of file ChannelSpecsRenderer.hh.

◆ _cacheUpdatesEnabled

bool ChannelSpecsRenderer::_cacheUpdatesEnabled
protectedinherited

Definition at line 153 of file ChannelSpecsRenderer.hh.


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