26 Viewport(): m_viewAll(true), m_scale_worldtoscreen(1.) {}
29 const QPointF
toWorld(
const QPoint pixel);
30 const QPoint
toScreen(
const QPointF p);
31 const QRect
toScreen(
const QRectF world) { QPoint p1=
toScreen(world.bottomLeft()); QPoint p2=
toScreen(world.topRight()); QRect r(p1, QSize(p2.x()-p1.x()+1, p2.y()-p1.y()+1));
return r; }
33 const QRectF
viewRect()
const {
return m_viewport; }
34 bool isVisible(
const QPointF &world_coord)
const;
35 bool isVisible(
const QRectF &world_rect)
const;
38 void zoomTo(
const QPoint &screen_point,
const double factor);
39 void moveTo(
const QPoint &screen_from,
const QPoint &screen_to);
41 void setViewPoint(
const QPointF &world_center,
const double px_per_meter);
43 double pixelToMeter(
const int pixel) {
return pixel/m_scale_worldtoscreen; }
44 int meterToPixel(
const double meter) {
return qRound(meter * m_scale_worldtoscreen);}
46 void setViewRect(
const QRectF &viewrect) { m_viewport = viewrect; }
47 void setWorldRect(
const QRectF &worldrect) { m_world = worldrect; }
54 QPointF m_delta_worldtoscreen;
55 double m_scale_worldtoscreen;
Handles coordinaive transforation between grids (based on real-world metric coordinates).
Definition: viewport.h:24
void setScreenRect(const QRect &viewrect)
sets the screen rect; this also modifies the viewport.
Definition: viewport.cpp:49
double pixelToMeter(const int pixel)
Definition: viewport.h:43
Viewport(const QRectF worldrect, const QRect screenrect)
Definition: viewport.h:27
int meterToPixel(const double meter)
Definition: viewport.h:44
void setViewPoint(const QPointF &world_center, const double px_per_meter)
set 'world_center' as the new center point of the viewport
Definition: viewport.cpp:117
void moveTo(const QPoint &screen_from, const QPoint &screen_to)
move the viewport. screen_from and screen_to give mouse positions (in pixel) from dragging the mouse.
Definition: viewport.cpp:106
void setWorldRect(const QRectF &worldrect)
Definition: viewport.h:47
void setViewRect(const QRectF &viewrect)
Definition: viewport.h:46
const QRect toScreen(const QRectF world)
Definition: viewport.h:31
const QPoint toScreen(const QPointF p)
toScreen() converts world coordinates in screen coordinates using the defined viewport.
Definition: viewport.cpp:40
Viewport()
Definition: viewport.h:26
const QRectF viewRect() const
Definition: viewport.h:33
void zoomTo(const QPoint &screen_point, const double factor)
zoom using a factor of factor.
Definition: viewport.cpp:86
void zoomToAll()
show the full extent of the world.
Definition: viewport.cpp:59
const QPointF toWorld(const QPoint pixel)
toWorld() converts the pixel-information (e.g. by an mouse event) to the corresponding real world coo...
Definition: viewport.cpp:30
bool isVisible(const QPointF &world_coord) const
Definition: viewport.cpp:127