Templates -- Meow  1.1.4
A C++ template which is unable and also not allowed to compile to obj-file first.
BundleAdjustment.h
Go to the documentation of this file.
1 #ifndef BundleAdjustment_H__
2 #define BundleAdjustment_H__
3 
4 #include "Eye.h"
5 
6 #include "../oo/ObjBase.h"
7 
8 namespace meow {
9 
11  CAN_OFFSET = 0x01,
12  CAN_ROTATE = 0x02,
13  CAN_ZOOM = 0x04
14 };
15 
16 template<class Pixel>
17 struct SceneInfo {
19  unsigned long flag;
20 
21  SceneInfo(): eye(NULL), flag(0) {
22  }
23 
24  SceneInfo(Eye<Pixel>* e, unsigned long f): eye(e), flag(f) {
25  }
26 
27  SceneInfo(SceneInfo const& si): eye(si.eye), flag(si.flag) {
28  }
29 
31  }
32 };
33 
34 template<class Pixel>
35 class BundleAdjustment: public ObjBase {
36 protected:
38  }
39 public:
40  virtual ~BundleAdjustment() {
41  }
42 
43  virtual bool adjustEye(std::vector<SceneInfo<Pixel> >* seq) const {
44  return false;
45  }
46 
47  virtual bool adjustFixedPoint(std::vector<SceneInfo<Pixel> >* seq) const {
48  return false;
49  }
50 };
51 
52 } // meow
53 
54 #endif // BundleAdjustment_H__
Eye< Pixel > * eye
SceneInfo(Eye< Pixel > *e, unsigned long f)
一切物件的Base, 並要求每個物件都要有read, write, create, ... 等功能
Definition: ObjBase.h:15
virtual bool adjustFixedPoint(std::vector< SceneInfo< Pixel > > *seq) const
virtual bool adjustEye(std::vector< SceneInfo< Pixel > > *seq) const
一個 Camera 加上一個offset transformation
Definition: Eye.h:17
unsigned long flag
SceneInfo(SceneInfo const &si)