Points&Forces (core)
Software tools facilitating the task of surveying architecture
a_persp_mes.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_PERSP_MES_H_
17 #define _VE_PERSP_MES_H_
18 
19 // .NAME a_persp_mes
20 // .SECTION Author
21 // Pierre Smars
22 
23 #include "a_unwarp.h"
24 #include "a_intern.h"
25 #include "a_pos2.h"
26 
27 #include <iostream>
28 //---------------------------------------------------------------------------
29 class a_mat_test;
30 //---------------------------------------------------------------------------
33 {
34 public:
35  a_persp_mes();
36  a_persp_mes(double mx, double my, double mz, double mu, double mv, int pos = 0, int cam = 0);
37 
38  inline void cam(int cam) {ref_cam_ = cam;}
39  inline void pos(int pos) {ref_pos_ = pos;}
40  inline int cam() const {return ref_cam_;}
41  inline int pos() const {return ref_pos_;}
42 
43  double residual(a_unwarp *,a_intern *, a_pos2 *);
44 
45  //: input/output
46  friend std::istream& operator>> (std::istream& i, a_persp_mes& l);
47  friend std::ostream& operator<< (std::ostream& o, const a_persp_mes& l);
48 
49 protected:
50  static a_mat_test * T_;
51  double p3_[3]; //measured 3d point
52  double p2_[2]; //measured 2D projection
53  //camera info
54  int ref_cam_;
55  int ref_pos_;
56 };
57 
58 #endif
intern calibration matrix
Definition: a_intern.h:29
a_persp_mes
Definition: a_persp_mes.h:33
friend std::istream & operator>>(std::istream &i, a_persp_mes &l)
Definition: a_persp_mes.cxx:60
int pos() const
Definition: a_persp_mes.h:41
void pos(int pos)
Definition: a_persp_mes.h:39
friend std::ostream & operator<<(std::ostream &o, const a_persp_mes &l)
Definition: a_persp_mes.cxx:70
void cam(int cam)
Definition: a_persp_mes.h:38
int cam() const
Definition: a_persp_mes.h:40
double p2_[2]
Definition: a_persp_mes.h:52
static a_mat_test * T_
Definition: a_persp_mes.h:50
double p3_[3]
Definition: a_persp_mes.h:51
double residual(a_unwarp *, a_intern *, a_pos2 *)
Definition: a_persp_mes.cxx:47
a position matrix
Definition: a_pos2.h:29