ATLAS Offline Software
Loading...
Searching...
No Matches
VP12DViewRZFishEyeTransformation.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
6// //
7// Header file for class VP12DViewRZFishEyeTransformation //
8// //
9// Author: Thomas Kittelmann <Thomas.Kittelmann@cern.ch> //
10// //
11// Initial version: April 2007 //
12// //
14
15#ifndef VP12DVIEWRZFISHEYETRANSFORMATION_H
16#define VP12DVIEWRZFISHEYETRANSFORMATION_H
17
19
21public:
22
25
26 QPointF transform(const QPointF &source) const;
27 QPointF inverseTransform(const QPointF &source) const;
28
29 virtual QRectF inverseTransform(const QRectF &source) const { return IVP12DViewTransformation::inverseTransform(source); }
30 virtual QRectF transform(const QRectF &source) const { return IVP12DViewTransformation::inverseTransform(source); }
31
32private:
33
35
36};
37
39
40#include <cmath>
41
42inline QPointF VP12DViewRZFishEyeTransformation::transform(const QPointF &source) const
43{
44 return QPointF(source.x()/(1+fabs(source.x()*m_fisheyepar)),source.y()/(1+fabs(source.y()*m_fisheyepar)));
45}
46
47inline QPointF VP12DViewRZFishEyeTransformation::inverseTransform(const QPointF &source) const
48{
49 return QPointF(source.x()/(1-fabs(source.x()*m_fisheyepar)),source.y()/(1-fabs(source.y()*m_fisheyepar)));
50}
51
52#endif
virtual QPointF inverseTransform(const QPointF &source) const =0
QPointF inverseTransform(const QPointF &source) const
QPointF transform(const QPointF &source) const
virtual QRectF transform(const QRectF &source) const
virtual QRectF inverseTransform(const QRectF &source) const