VR-Forces 4.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
drawerNative
viewportExtents.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2000 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
/*******************************************************************************
6
** $RCSfile: viewportExtents.h,v $ $Revision: 1.25 $ $State: Exp $
7
*******************************************************************************/
8
11
12
#ifndef VIEWPORTEXTENTS_H
13
#define VIEWPORTEXTENTS_H
14
15
#include "
drawerNative/drawerNativeDefines.h
"
16
#include "
geometry/tdbextent.h
"
17
#include "
drawerNative/displaySize.h
"
18
#include "
drawerNative/displayPoint.h
"
19
#include <QtCore/QPoint>
20
21
class
DT_DLL_drawerNative
DtViewportExtents
22
{
23
public
:
24
25
DtViewportExtents
();
26
27
DtViewportExtents
(
const
DtViewportExtents
& v);
28
29
virtual
~
DtViewportExtents
();
30
31
DtViewportExtents
& operator=(
const
DtViewportExtents
& rhs);
32
34
35
virtual
void
resetToGlobalView();
36
virtual
void
zoomIn();
37
virtual
void
zoomOut();
38
virtual
void
panNorthwest();
39
virtual
void
panNorth();
40
virtual
void
panNortheast();
41
virtual
void
panEast();
42
virtual
void
panSoutheast();
43
virtual
void
panSouth();
44
virtual
void
panSouthwest();
45
virtual
void
panWest();
46
48
virtual
void
zoom(
const
DtPoint
& center,
const
double
& mag);
49
virtual
void
resize(
const
DtExtent
& e);
50
52
virtual
void
recenter(
const
DtPoint
& center,
bool
clipToGlobal =
true
);
53
55
virtual
const
DtExtent
& globalExtent()
const
;
56
virtual
void
setGlobalExtent(
const
DtExtent
& e);
57
virtual
const
double
& globalAspectRatio()
const
;
58
59
virtual
const
DtExtent
& localExtent()
const
;
60
virtual
void
setLocalExtent(
const
DtExtent
& e);
61
virtual
const
double
& localAspectRatio()
const
;
62
63
virtual
const
DtDisplaySize
windowSize()
const
;
64
virtual
void
setWindowSize(
const
DtDisplaySize
& s);
65
virtual
const
double
& windowAspectRatio()
const
;
66
67
//After the initial init, use this function to resize the
68
//window without zooming
69
virtual
void
changeWindowSize(
const
DtDisplaySize
& s,
bool
resetExtents =
true
);
70
75
virtual
void
windowFromDatabase(
76
DtDisplayPoint
& xp,
77
const
DtPoint
& gd,
78
bool
smartRound =
false
)
const
;
79
80
virtual
void
windowFromDatabase(
81
QPointF& xp,
82
const
DtPoint
& gd)
const
;
83
85
virtual
void
databaseFromWindow(
86
DtPoint
& gd,
87
const
DtDisplayPoint
& xp)
const
;
88
90
virtual
void
databaseFromWindow(
91
DtPoint
& gd,
92
const
QPointF& xp)
const
;
93
96
virtual
void
databaseFromWindow(
97
DtPoint
& gd,
98
const
double
& x,
99
const
double
& y)
const
;
100
102
103
virtual
const
double
& uMin()
const
;
104
virtual
void
setUMin(
const
double
& min);
105
106
virtual
const
double
& uMax()
const
;
107
virtual
void
setUMax(
const
double
& max);
108
109
virtual
const
double
& vMin()
const
;
110
virtual
void
setVMin(
const
double
& min);
111
112
virtual
const
double
& vMax()
const
;
113
virtual
void
setVMax(
const
double
& max);
114
116
117
virtual
const
double
& panStep()
const
;
118
virtual
void
setPanStep(
const
double
& step);
119
120
virtual
const
double
& minPanStep()
const
;
121
virtual
void
setMinPanStep(
const
double
& step);
122
123
virtual
const
double
& maxPanStep()
const
;
124
virtual
void
setMaxPanStep(
const
double
& step);
125
126
virtual
const
double
& zoomStep()
const
;
127
virtual
void
setZoomStep(
const
double
& step);
128
129
virtual
const
double
& minZoomStep()
const
;
130
virtual
void
setMinZoomStep(
const
double
& step);
131
132
virtual
const
double
& maxZoomStep()
const
;
133
virtual
void
setMaxZoomStep(
const
double
& step);
134
137
virtual
void
clearExtents();
138
140
virtual
DtPoint
center()
const
;
141
142
virtual
void
setKeepAspectRatios(
bool
b);
143
147
virtual
void
setMinimumViewPercent(
double
g);
148
virtual
double
minimumViewWidth()
const
;
149
virtual
double
minimumViewHeight()
const
;
150
153
virtual
void
zoomLevel(
double
& magX,
double
& magY)
const
;
154
158
virtual
void
zoomFromGlobal(
const
DtPoint
& center,
159
const
double
& magX,
const
double
& magY);
160
162
virtual
void
resizeToFitAspectRatio(
double
& width,
double
& height);
163
virtual
void
resizeToFitAspectRatio(
DtExtent
& extent);
164
167
virtual
void
setFromCorners(
const
DtPoint
& nw,
const
DtPoint
& se);
168
170
virtual
bool
isValidWindowDisplayPointFromDatabase(
DtPoint
gd)
const
;
171
172
protected
:
173
174
static
const
double
theDefaultPanStep
;
175
176
static
const
double
theDefaultMinPanStep
;
177
178
static
const
double
theDefaultMaxPanStep
;
179
180
static
const
double
theDefaultZoomStep
;
181
182
static
const
double
theDefaultMinZoomStep
;
183
184
static
const
double
theDefaultMaxZoomStep
;
185
187
virtual
void
recomputeTransforms();
188
189
virtual
const
double
& xMin()
const
;
190
virtual
void
setXMin(
const
double
& min);
191
192
virtual
const
double
& xMax()
const
;
193
virtual
void
setXMax(
const
double
& max);
194
195
virtual
const
double
& yMin()
const
;
196
virtual
void
setYMin(
const
double
& min);
197
198
virtual
const
double
& yMax()
const
;
199
virtual
void
setYMax(
const
double
& max);
200
201
virtual
const
double
& a()
const
;
202
virtual
void
setA(
const
double
& a);
203
204
virtual
const
double
& b()
const
;
205
virtual
void
setB(
const
double
& b);
206
207
virtual
const
double
& c()
const
;
208
virtual
void
setC(
const
double
& c);
209
210
virtual
const
double
& d()
const
;
211
virtual
void
setD(
const
double
& d);
212
213
virtual
int
roundIt(
double
val)
const
;
214
215
public
:
218
#ifdef WIN32
219
static
const
int
MAX_WINDOW_X;
220
static
const
int
MIN_WINDOW_X;
221
static
const
int
MAX_WINDOW_Y;
222
static
const
int
MIN_WINDOW_Y;
223
#else
224
static
const
int
MAX_WINDOW_X
;
225
static
const
int
MIN_WINDOW_X
;
226
static
const
int
MAX_WINDOW_Y
;
227
static
const
int
MIN_WINDOW_Y
;
228
#endif
229
230
static
const
int
maxWindowX();
231
static
const
int
maxWindowY();
232
static
const
int
minWindowX();
233
static
const
int
minWindowY();
234
235
static
double
theDefaultAltitudeRange
;
236
237
protected
:
238
239
double
myPanStep
;
240
double
myMinPanStep
;
241
double
myMaxPanStep
;
242
243
double
myZoomStep
;
244
double
myMinZoomStep
;
245
double
myMaxZoomStep
;
246
248
DtDisplaySize
myWindowSize
;
249
double
myWindowAspectRatio
;
250
252
DtExtent
myGlobalExtent
;
253
double
myGlobalAspectRatio
;
254
DtExtent
myLocalExtent
;
255
double
myLocalAspectRatio
;
256
257
DtPoint
myCenter
;
258
260
double
myUMin
;
261
double
myUMax
;
262
double
myVMin
;
263
double
myVMax
;
264
266
double
myXMin
;
267
double
myXMax
;
268
double
myYMin
;
269
double
myYMax
;
270
double
myA
;
271
double
myB
;
272
double
myC
;
273
double
myD
;
274
275
bool
myKeepAspectRatios
;
276
277
static
double
gMinimumPercent
;
278
};
279
280
#endif //VIEWPORTEXTENTS_H
Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (
www.mak.com
)