Basic Image AlgorithmS Library  2.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
HMatrixBase.hh
1 /*
2 This file is part of the BIAS library (Basic ImageAlgorithmS).
3 
4 Copyright (C) 2003-2009 (see file CONTACT for details)
5  Multimediale Systeme der Informationsverarbeitung
6  Institut fuer Informatik
7  Christian-Albrechts-Universitaet Kiel
8 
9 
10 BIAS is free software; you can redistribute it and/or modify
11 it under the terms of the GNU Lesser General Public License as published by
12 the Free Software Foundation; either version 2.1 of the License, or
13 (at your option) any later version.
14 
15 BIAS is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU Lesser General Public License for more details.
19 
20 You should have received a copy of the GNU Lesser General Public License
21 along with BIAS; if not, write to the Free Software
22 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 */
24 
25 
26 #ifndef _BIAS_HMatrixBase_hh_
27 #define _BIAS_HMatrixBase_hh_
28 #include "bias_config.h"
29 
30 
31 #include <Base/Debug/Error.hh>
32 #include <Base/Debug/Debug.hh>
33 #include <Base/Math/Matrix3x3.hh>
34 
35 #include "HomgPoint2D.hh"
36 
37 #define HMATRIX_TYPE double
38 
39 #define D_HM_COMP 0x0001
40 namespace BIAS {
41 
42 /**
43  @class HMatrixBase
44  @ingroup g_geometry
45  @brief describes a homography
46 
47  A HMatrixBase describes a homography (mapping between two planes) between
48  homogenous 2D coordinates by a 3x3 Matrix.
49  It is derived from Matrix3x3.
50  Only implementation very specific to HMatrixBase (and not valid for general
51  3x3 matrices, e.g. like decomposition)
52  should be implemented here.
53  @author Jan Woetzel
54  @status alpha (04/18/2002) now a direct child of Matrix3x3
55  (and no more of Matrix<HMATRIX_TYPE>)
56  alpha (02/26/2002)**/
57 
58  class BIASGeometryBase_EXPORT HMatrixBase : public Matrix3x3<HMATRIX_TYPE>
59  {
60  public:
61  /** default constructor
62  @status alpha (02/25/2002) , tested in part **/
63  HMatrixBase() : Matrix3x3<HMATRIX_TYPE>() {};
64 
65  // DEPRECATED due to instantiation problem JW
66  //explicit HMatrixBase(const char *s) : Matrix3x3<HMATRIX_TYPE>(s) {};
67 
68  /** constructor setting identity or zero
69  @brief author koeser **/
70  explicit HMatrixBase(const MatrixInitType& i) :
71  Matrix3x3<HMATRIX_TYPE>(i) {};
72 
73  /** @author Jan Woetzel
74  @status untested (02/25/2002) **/
75  HMatrixBase(const HMatrixBase& A) : Matrix3x3<HMATRIX_TYPE>(A) {};
76 
77  HMatrixBase(const Matrix3x3<HMATRIX_TYPE>& A) : Matrix3x3<HMATRIX_TYPE>(A)
78  {};
79 
80  HMatrixBase(const Matrix<HMATRIX_TYPE>& A) : Matrix3x3<HMATRIX_TYPE>(A) {};
81 
82  ~HMatrixBase();
83 
84  /** assignment operators calls corresponding operator from parent
85  @author Felix Woelk
86  @status alpha (10/28/2002) **/
87  inline HMatrixBase& operator= (const HMatrixBase& mat) {
89  return *this;
90  };
91 
92  }; // class HMatrixBase
93 } // end of namespace BIAS
94 #endif // _BIAS_HMatrixBase_hh_
95 
HMatrixBase(const MatrixInitType &i)
constructor setting identity or zero
Definition: HMatrixBase.hh:70
MatrixInitType
can be passed to matrix constructors to init the matrix with the most often used values ...
Definition: Matrix.hh:59
HMatrixBase(const HMatrixBase &A)
Definition: HMatrixBase.hh:75
HMatrixBase(const Matrix3x3< HMATRIX_TYPE > &A)
Definition: HMatrixBase.hh:77
HMatrixBase(const Matrix< HMATRIX_TYPE > &A)
Definition: HMatrixBase.hh:80
describes a homography
Definition: HMatrixBase.hh:58
is a &#39;fixed size&#39; quadratic matrix of dim.
Definition: Matrix.hh:54
matrix class with arbitrary size, indexing is row major.
Matrix3x3< T > & operator=(const Matrix3x3< T > &mat)
assignment operator
Definition: Matrix3x3.cpp:704
HMatrixBase()
default constructor alpha (02/25/2002) , tested in part
Definition: HMatrixBase.hh:63