Statistics
| Revision:

root / trunk / libraries / libjni-ecw / include / NCSCoordinateConverter.h @ 13136

History | View | Annotate | Download (2.81 KB)

1
/***************************************************************************
2
// Copyright 1989-2000 - Earth Resource Mapping Ltd.
3
** This document contains proprietary source code of
4
** Earth Resource Mapping Ltd, and can only be used under
5
** one of the three licenses as described in the 
6
** license.txt file supplied with this distribution. 
7
** See separate license.txt file for license details 
8
** and conditions.
9
**
10
** This software is covered by US patent #6,442,298,
11
** #6,102,897 and #6,633,688.  Rights to use these patents 
12
** is included in the license agreements.
13
**
14
** CLASS(ES):        CNCSRasterCoordinateConverter
15
** FILE:                NCSSystemcoords.h
16
** CREATED:                18 Jan 2000
17
** AUTHOR:                Matthew Bardsley
18
** PURPOSE:                Holds definition of CNCSRasterCoordinateConverter Class
19
** EDITS:
20
**
21
** CLASS NOTES:
22
***************************************************************************/
23
#if !defined(NCSSYSTEMCOORDS_H)
24
#define NCSSYSTEMCOORDS_H
25

    
26
#include "NCSTypes.h"
27
#include "NCSExtents.h"
28
#include "NCSCoordinateSystem.h"
29

    
30
class NCS_EXPORT CNCSCoordinateConverter
31
{
32
public:
33
        CNCSCoordinateConverter();
34
         ~CNCSCoordinateConverter();
35

    
36
        CNCSCoordinateConverter &operator=(CNCSCoordinateConverter &pExt);
37

    
38
        NCSError ConvertAllFromScreen(void);
39
        NCSError SetScreenExtents(IEEE8 dSTLX, IEEE8 dSTLY, IEEE8 dSBRX,IEEE8 dSBRY);
40
        NCSError SetWorldExtents(IEEE8 dWTLX,IEEE8 dWTLY, IEEE8 dWBRX,IEEE8 dWBRY);
41

    
42
        NCSError SetAllExtents(IEEE8 dSTLX,IEEE8 dSTLY,
43
                                                                          IEEE8 dSBRX,IEEE8 dSBRY,
44
                                                                          IEEE8 dWTLX,IEEE8 dWTLY,
45
                                                                          IEEE8 dWBRX,IEEE8 dWBRY);
46

    
47
        NCSError ScreenToWorld(IEEE8 dX, IEEE8 dY, IEEE8 *pdX, IEEE8 *pdY);
48
        NCSError WorldToScreen( IEEE8 dX, IEEE8 dY, IEEE8 *pdX, IEEE8 *pdY);
49

    
50
        NCSError SetWorldCoordSys( CNCSCoordinateSystem *pCoordSys);
51

    
52
        CNCSExtents *m_pWorldExtent;
53
        CNCSExtents *m_pScreenExtent;
54
        
55
        CNCSCoordinateSystem *m_pWorldCoordSys;
56

    
57
};
58

    
59
class NCS_EXPORT CNCSRasterCoordinateConverter : public CNCSCoordinateConverter
60
{
61

    
62
public:
63
        CNCSRasterCoordinateConverter();
64
         ~CNCSRasterCoordinateConverter();
65

    
66
        CNCSRasterCoordinateConverter &operator=(CNCSRasterCoordinateConverter &pExt);
67
        NCSError ConvertAllFromScreen(void);
68

    
69
        NCSError SetAllExtents(IEEE8 dSTLX,IEEE8 dSTLY,
70
                                                                          IEEE8 dSBRX,IEEE8 dSBRY,
71
                                                                          IEEE8 dDTLX,IEEE8 dTLY,
72
                                                                          IEEE8 dDBRX,IEEE8 dBRY,
73
                                                                          IEEE8 dWTLX,IEEE8 dWTLY,
74
                                                                          IEEE8 dWBRX,IEEE8 dWBRY);
75

    
76
        NCSError SetDatasetExtents(IEEE8 dDTLX,IEEE8 dDTLY, IEEE8 dDBRX,IEEE8 dDBRY);
77

    
78
        NCSError WorldToDataset(IEEE8 dWX, IEEE8 dWY, IEEE8 *dDX, IEEE8 *dDY);
79
        NCSError DatasetToWorld(IEEE8 dDX, IEEE8 dDY, IEEE8 *dWX, IEEE8 *dWY);
80
        NCSError DatasetToScreen(IEEE8 dX, IEEE8 dY, IEEE8 *sX, IEEE8 *sY);
81
        NCSError ScreenToDataset(IEEE8 dX, IEEE8 dY, IEEE8 *pdX, IEEE8 *pdY);
82

    
83
        NCSError SetWorldCoordSys( CNCSCoordinateSystem *pCoordSys);
84

    
85
        CNCSExtents *m_pDatasetExtent;
86

    
87
};
88

    
89
#endif // !defined(NCSSYSTEMCOORDS_H)