Update the changelog
[opencv] / apps / VMDemo / VMDemoDlg.h
1 /*M///////////////////////////////////////////////////////////////////////////////////////
2 //
3 //  IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4 //
5 //  By downloading, copying, installing or using the software you agree to this license.
6 //  If you do not agree to this license, do not download, install,
7 //  copy or use the software.
8 //
9 //
10 //                        Intel License Agreement
11 //                For Open Source Computer Vision Library
12 //
13 // Copyright (C) 2000, Intel Corporation, all rights reserved.
14 // Third party copyrights are property of their respective owners.
15 //
16 // Redistribution and use in source and binary forms, with or without modification,
17 // are permitted provided that the following conditions are met:
18 //
19 //   * Redistribution's of source code must retain the above copyright notice,
20 //     this list of conditions and the following disclaimer.
21 //
22 //   * Redistribution's in binary form must reproduce the above copyright notice,
23 //     this list of conditions and the following disclaimer in the documentation
24 //     and/or other materials provided with the distribution.
25 //
26 //   * The name of Intel Corporation may not be used to endorse or promote products
27 //     derived from this software without specific prior written permission.
28 //
29 // This software is provided by the copyright holders and contributors "as is" and
30 // any express or implied warranties, including, but not limited to, the implied
31 // warranties of merchantability and fitness for a particular purpose are disclaimed.
32 // In no event shall the Intel Corporation or contributors be liable for any direct,
33 // indirect, incidental, special, exemplary, or consequential damages
34 // (including, but not limited to, procurement of substitute goods or services;
35 // loss of use, data, or profits; or business interruption) however caused
36 // and on any theory of liability, whether in contract, strict liability,
37 // or tort (including negligence or otherwise) arising in any way out of
38 // the use of this software, even if advised of the possibility of such damage.
39 //
40 //M*/
41 // VMDemoDlg.h : header file
42 //
43 #include "VirtualImage.h"
44 #include "CV.h"
45 #if !defined(AFX_VMDEMODLG_H__51DFF934_1A5A_11D3_B4F3_00A0C9989E1D__INCLUDED_)
46 #define AFX_VMDEMODLG_H__51DFF934_1A5A_11D3_B4F3_00A0C9989E1D__INCLUDED_
47
48 #if _MSC_VER > 1000
49 #pragma once
50 #endif // _MSC_VER > 1000
51 #include <afxtempl.h>
52
53 //#define PIXELTOPIXEL
54 /////////////////////////////////////////////////////////////////////////////
55 // CVMDemoDlg dialog
56
57 #include "SubdivMorpher.h"
58
59 class CVMDemoDlg : public CDialog
60 {
61 // Construction
62 public:
63     void AllocMemory();
64     void FreeMemory();
65     ~CVMDemoDlg();
66     void SetWindowsToTop();
67
68     CRaster*    RasterLeft;
69     CRaster*    RasterRight;
70     CRaster*    RasterResult;
71
72     CVirtualImage* RightImage;
73     CVirtualImage* LeftImage;
74     CVirtualImage* ResultImage;
75
76     CArray <CPoint,CPoint> CorrPoints1;
77     CArray <CPoint,CPoint> CorrPoints2;
78     CvMatrix3  FundMatrix;
79
80     int         numHoughLines;
81     float*      HoughLines;
82
83     bool    HaveMorph;
84     int     numLines;
85
86     int     numScanlines;
87     int     useScanlines;
88
89
90 /* Memory */
91
92
93     int*    scanlines_1;
94     int*    scanlines_2;
95     int*    scanlines_a;
96
97     int*    lens_1;
98     int*    lens_2;
99     int*    morph_lens;
100
101     int*    runs_1;
102     int*    runs_2;
103
104     uchar*  buffer_1;
105     uchar*  buffer_2;
106     uchar*  morph_buffer;
107
108     int*    num_runs_1;
109     int*    num_runs_2;
110
111     int*    corr_1;
112     int*    corr_2;
113
114 /*--Memory--*/
115
116     int prevpos;
117
118     CVMDemoDlg(CWnd* pParent = NULL);   // standard constructor
119
120
121 // Dialog Data
122     //{{AFX_DATA(CVMDemoDlg)
123         enum { IDD = IDD_VMDEMO_DIALOG };
124         CButton m_showscanlines;
125     CEdit       m_imagesize;
126     CSliderCtrl m_camerapos;
127         //}}AFX_DATA
128
129     // ClassWizard generated virtual function overrides
130     //{{AFX_VIRTUAL(CVMDemoDlg)
131     protected:
132     virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
133     //}}AFX_VIRTUAL
134
135 // Implementation
136 protected:
137     HICON m_hIcon;
138     BOOL  CanMorph;
139
140     #ifndef PIXELTOPIXEL
141     CCvSubdivMorpher m_morpher;
142     #else
143     CCvPixelToPixelMorpher m_morpher;
144     #endif
145
146     // Generated message map functions
147     //{{AFX_MSG(CVMDemoDlg)
148     virtual BOOL OnInitDialog();
149     afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
150     afx_msg void OnPaint();
151     afx_msg HCURSOR OnQueryDragIcon();
152     afx_msg void OnOpenproject();
153     afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
154     afx_msg void OnOriginalsize();
155     afx_msg void OnMakemorphing();
156         afx_msg void OnShowscanlines();
157         //}}AFX_MSG
158     DECLARE_MESSAGE_MAP()
159 };
160
161 //{{AFX_INSERT_LOCATION}}
162 // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
163
164 #endif // !defined(AFX_VMDEMODLG_H__51DFF934_1A5A_11D3_B4F3_00A0C9989E1D__INCLUDED_)
165
166 /* End of file. */