OpendTect  6.3
uiworld2ui.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: A.H. Bril
8  Date: 13/8/2000
9 ________________________________________________________________________
10 
11 -*/
12 #include "uitoolsmod.h"
13 #include "uigeom.h"
14 
15 class SurveyInfo;
16 
22 {
23 public:
24 
25  World2UiData();
26  World2UiData( uiSize s, const uiWorldRect& w );
27  World2UiData( const uiWorldRect& w, uiSize s );
28 
29  bool operator ==( const World2UiData& w2ud ) const;
30  bool operator !=( const World2UiData& w2ud ) const;
31 
34 };
35 
36 
54 {
55 public:
56 
57  uiWorld2Ui();
58  uiWorld2Ui( const uiSize& sz, const uiWorldRect& wr );
59  uiWorld2Ui( const uiRect& rc, const uiWorldRect& wr );
60  uiWorld2Ui( const uiWorldRect& wr, const uiSize& sz );
61  uiWorld2Ui( const World2UiData& w );
62 
63  bool operator==(const uiWorld2Ui& ) const;
64 
65  void set( const World2UiData& w );
66  void set( const uiWorldRect& wr, const uiSize& sz );
67  void set( const uiSize& sz, const uiWorldRect& wr );
68  void set( const uiRect& rc, const uiWorldRect& wr );
69  void set( uiRect rc, const SurveyInfo& si );
71 
72  void setRemap( const uiSize& sz, const uiWorldRect& wrdrc );
73  void setRemap( const uiRect& rc, const uiWorldRect& wrdrc );
76  void setCartesianRemap( const uiSize& sz,
77  float minx, float maxx, float miny, float maxy );
78  void setCartesianRemap( const uiRect& rc,
79  float minx, float maxx, float miny, float maxy );
80 
83  void resetUiRect( const uiRect& rc );
84 
85  const World2UiData& world2UiData() const;
86 
87 
88  uiWorldPoint transform( uiPoint p ) const;
89  uiWorldRect transform( uiRect area ) const;
90  uiPoint transform( uiWorldPoint p ) const;
91  uiRect transform( uiWorldRect area ) const;
92  // Since the compiler will be confused if two functions
93  // only differ in return type, Geom::Point2D<float> is
94  // set rather than be returned.
95  void transform( const uiPoint& upt,
96  Geom::Point2D<float>& pt ) const;
97  void transform( const Geom::Point2D<float>& pt,
98  uiPoint& upt) const;
99 
100  int toUiX( float wrdx ) const;
101  int toUiY( float wrdy ) const;
102  float toWorldX( int uix ) const;
103  float toWorldY( int uiy ) const;
104 
105  uiWorldPoint origin() const;
106  uiWorldPoint worldPerPixel() const;
108 
112  void getWorldXRange( float& xmin, float& xmax ) const;
113  void getWorldYRange( float& ymin, float& ymax ) const;
114 
115 protected:
116 
118 
121 
125 
126 private:
127  void getAppropriateRange( float min, float max,
128  float& newmin, float& newmax );
129 };
Class to provide coordinate conversion between a cartesian coordinate system (or any other transforme...
Definition: uiworld2ui.h:53
#define mExpClass(module)
Definition: commondefs.h:157
Definition: uigeom.h:40
bool operator==(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:51
uiSize sz
Definition: uiworld2ui.h:32
uiSize uisize_
Definition: uiworld2ui.h:123
uiPoint uiorigin
Definition: uiworld2ui.h:124
Holds survey general information.
Definition: survinfo.h:54
Definition: uigeom.h:23
World2UiData w2ud
Definition: uiworld2ui.h:117
bool operator!=(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:60
uiWorldPoint fac
Definition: uiworld2ui.h:120
uiWorldRect wrdrect_
the world rect used for coord. conv.
Definition: uiworld2ui.h:122
Coord transform(const BinID &) const
Definition: uiworld2ui.h:21
uiWorldPoint p0
Definition: uiworld2ui.h:119
uiWorldRect wr
Definition: uiworld2ui.h:33

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2017