#include <RGBChannelSpecsOrthoViewRenderer.hh>
|
| RGBChannelSpecsOrthoViewRenderer (RGBChannelSpecs *channel, OrthoViewWidget *view) |
|
| ~RGBChannelSpecsOrthoViewRenderer () |
|
blitz::Array< blitz::TinyVector< float, 3 >, 2 > const & | cache (int direction) const |
|
blitz::TinyVector< atb::BlitzIndexT, 3 > | cacheOffsetPx () const |
|
blitz::TinyVector< atb::BlitzIndexT, 3 > | cacheShapePx () const |
|
bool | cacheUpdatesEnabled () const |
| Check whether cache updates are enabled. More...
|
|
ChannelSpecs * | channel () 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...
|
|
void | render (QXmlStreamWriter &svgStream, blitz::TinyVector< double, 3 > const &shapePx, blitz::TinyVector< double, 3 > const &lowerBoundUm, blitz::TinyVector< double, 3 > const &upperBoundUm, std::string const &font, double fontSizePt, iRoCS::ProgressReporter *pr=NULL) const |
| Render this channel into the given SVG-stream. More...
|
|
void | setOrthogonalDimension (int orthogonalDimension) |
|
ViewWidget * | view () const |
|
◆ RGBChannelSpecsOrthoViewRenderer()
◆ ~RGBChannelSpecsOrthoViewRenderer()
RGBChannelSpecsOrthoViewRenderer::~RGBChannelSpecsOrthoViewRenderer |
( |
| ) |
|
◆ render() [1/2]
void RGBChannelSpecsOrthoViewRenderer::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
-
painter | The 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.
◆ render() [2/2]
void RGBChannelSpecsOrthoViewRenderer::render |
( |
QXmlStreamWriter & |
svgStream, |
|
|
blitz::TinyVector< double, 3 > const & |
shapePx, |
|
|
blitz::TinyVector< double, 3 > const & |
lowerBoundUm, |
|
|
blitz::TinyVector< double, 3 > const & |
upperBoundUm, |
|
|
std::string const & |
font, |
|
|
double |
fontSizePt, |
|
|
iRoCS::ProgressReporter * |
pr = NULL |
|
) |
| const |
|
virtual |
Render this channel into the given SVG-stream.
The default implementation does nothing. Overload this function if you want to be able to render the view of the given channel type as 2D vector graphics.
- Parameters
-
svgStream | The output stream to append this channel visualization to |
shapePx | The shape of the rectangular ROI to render in voxel coordinates. It is only given for convenience, since one could compute this information from the model's element size and the given bounds |
lowerBoundUm | The lower bounds of the rectangular ROI to render |
upperBoundUm | The upper bounds of the rectangular POI to render |
font | The font to use for textual annotations |
fontSizePt | The font size in pt |
pr | If given progress is reported via that ProgressReporter |
Implements ChannelSpecsOrthoViewRenderer.
◆ cacheOffsetPx()
blitz::TinyVector<atb::BlitzIndexT,3> RGBChannelSpecsOrthoViewRenderer::cacheOffsetPx |
( |
| ) |
const |
◆ cacheShapePx()
blitz::TinyVector<atb::BlitzIndexT,3> RGBChannelSpecsOrthoViewRenderer::cacheShapePx |
( |
| ) |
const |
◆ cache()
blitz::Array<blitz::TinyVector<float,3>,2> const& RGBChannelSpecsOrthoViewRenderer::cache |
( |
int |
direction | ) |
const |
◆ updateCache [1/2]
virtual void RGBChannelSpecsOrthoViewRenderer::updateCache |
( |
int |
direction | ) |
const |
|
virtualslot |
◆ setOrthogonalDimension()
void ChannelSpecsOrthoViewRenderer::setOrthogonalDimension |
( |
int |
orthogonalDimension | ) |
|
|
inherited |
◆ updateCache [2/2]
virtual void ChannelSpecsOrthoViewRenderer::updateCache |
( |
| ) |
const |
|
overridevirtualslotinherited |
Update the rendering cache.
This function is called by the associated ChannelSpecs if its content changes such that an cache update might be neccessary. The default implementation calls the updateCache(int) for every direction . You can disable the cache updates 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.
Usually this function need not be reimplemented. Reimplement the dimension-aware version updateCache(int) instead.
◆ cacheUpdated
This signal must be emitted at the end of a cache update to inform the view, that the cache for the orthoview plane has new data.
- Parameters
-
◆ channel()
◆ view()
◆ 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
-
- 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
-
enable | true to enable, false to disable cache updates |
◆ userInteractionEvent()
|
protectedvirtualinherited |
◆ _orthogonalDimension
int ChannelSpecsOrthoViewRenderer::_orthogonalDimension |
|
protectedinherited |
◆ p_channel
◆ p_view
◆ _cacheUpdatesEnabled
bool ChannelSpecsRenderer::_cacheUpdatesEnabled |
|
protectedinherited |
The documentation for this class was generated from the following file: