Points&Forces (core)
Software tools facilitating the task of surveying architecture
a_unwarp.h
Go to the documentation of this file.
1 /*
2 Copyright 2010-2011 Pierre SMARS (smars@yuntech.edu.tw)
3 This program is free software: you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation, either version 2 of the License, or
6 (at your option) any later version.
7 
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
12 
13 You should have received a copy of the GNU General Public License
14 along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 #ifndef _VE_UNWARP_H_
17 #define _VE_UNWARP_H_
18 
19 // .NAME a_unwarp
20 // .SECTION Author
21 // Pierre Smars
22 
23 #include <iostream>
24 
25 //a unwarp class
26 class a_unwarp
27 {
28 public:
29  inline a_unwarp() : u0_(0), v0_(0), K1_(0), K2_(0), P1_(0), P2_(0) {}
30  inline void u0(double v) {u0_ = v;}
31  inline void v0(double v) {v0_ = v;}
32  inline void K1(double v) {K1_ = v;}
33  inline void K2(double v) {K2_ = v;}
34  inline void P1(double v) {P1_ = v;}
35  inline void P2(double v) {P2_ = v;}
36  inline double u0() const {return u0_;}
37  inline double v0() const {return v0_;}
38  inline double K1() const {return K1_;}
39  inline double K2() const {return K2_;}
40  inline double P1() const {return P1_;}
41  inline double P2() const {return P2_;}
42 
43  void unwarp(double u, double v, double& un, double& vn);
44 
45  //: input/output
46  friend std::istream& operator>> (std::istream& i, a_unwarp& l);
47  friend std::ostream& operator<< (std::ostream& o, const a_unwarp& l);
48 
49 private:
50  double u0_;
51  double v0_;
52  double K1_;
53  double K2_;
54  double P1_;
55  double P2_;
56 };
57 
58 #endif
void K2(double v)
Definition: a_unwarp.h:33
void P1(double v)
Definition: a_unwarp.h:34
double K2() const
Definition: a_unwarp.h:39
void u0(double v)
Definition: a_unwarp.h:30
double v0() const
Definition: a_unwarp.h:37
double u0() const
Definition: a_unwarp.h:36
friend std::istream & operator>>(std::istream &i, a_unwarp &l)
Definition: a_unwarp.cxx:27
double P1() const
Definition: a_unwarp.h:40
void P2(double v)
Definition: a_unwarp.h:35
void v0(double v)
Definition: a_unwarp.h:31
void K1(double v)
Definition: a_unwarp.h:32
a_unwarp()
Definition: a_unwarp.h:29
double K1() const
Definition: a_unwarp.h:38
double P2() const
Definition: a_unwarp.h:41
friend std::ostream & operator<<(std::ostream &o, const a_unwarp &l)
Definition: a_unwarp.cxx:35
void unwarp(double u, double v, double &un, double &vn)
Definition: a_unwarp.cxx:18