iRoCS Toolbox  1.1.0
SphereMarkerOrthoViewRenderer.hh
Go to the documentation of this file.
1 /**************************************************************************
2  *
3  * This file belongs to the iRoCS Toolbox.
4  *
5  * Copyright (C) 2015 Thorsten Falk
6  *
7  * Image Analysis Lab, University of Freiburg, Germany
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 3 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software Foundation,
21  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22  *
23  **************************************************************************/
24 
25 #ifndef SPHEREMARKERORTHOVIEWRENDERER_HH
26 #define SPHEREMARKERORTHOVIEWRENDERER_HH
27 
28 #ifdef HAVE_CONFIG_H
29 #include <config.hh>
30 #endif
31 
33 
34 class SphereMarker;
35 class OrthoViewWidget;
36 
37 /*======================================================================*/
43 /*======================================================================*/
46 {
47 
48 public:
49 
54 
55 /*======================================================================*/
61 /*======================================================================*/
62  virtual MarkerOrthoViewRendererCache *clone() const;
63 
64 /*======================================================================*/
75 /*======================================================================*/
76  virtual void render(QPainter *painter) const;
77 
78 /*======================================================================*/
84 /*======================================================================*/
85  void setRadius(float radius);
86 
87 protected:
88 
89  float _radius;
90 
91 };
92 
93 
95 {
96 
97 Q_OBJECT
98 
99 public:
100 
104 
105  virtual MarkerRenderer *clone() const;
106 
107  virtual void render(
108  QXmlStreamWriter &svgStream,
109  blitz::TinyVector<double,3> const &shapePx,
110  blitz::TinyVector<double,3> const &lowerBoundUm,
111  blitz::TinyVector<double,3> const &upperBoundUm,
112  std::string const &font, double fontSizePt,
113  iRoCS::ProgressReporter *pr = NULL) const;
114 
115  virtual void userInteractionEvent(UserInteractionEvent *event);
116 
117 public slots:
118 
119 /*======================================================================*/
136 /*======================================================================*/
137  virtual void updateCache(int direction) const;
138 
139 };
140 
141 #endif
The MarkerOrthoViewRendererCache class specifies the interface to store and replay marker geometry in...
The SphereMarkerOrthoViewRendererCache class stores and replays sphere marker geometry information us...
void setRadius(float radius)
Set the circle geometry.
The PointMarkerOrthoViewRendererCache class stores and replays point marker geometry information usin...
virtual void render(QPainter *painter) const
Render the content of the cache into the given painter.
virtual MarkerOrthoViewRendererCache * clone() const
Get a new copy of this cache.