GlobalOptions.cc 20.2 KB
Newer Older
Jan Möbius's avatar
 
Jan Möbius committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//=============================================================================
//
//                               OpenFlipper
//        Copyright (C) 2008 by Computer Graphics Group, RWTH Aachen
//                           www.openflipper.org
//
//-----------------------------------------------------------------------------
//
//                                License
//
//  OpenFlipper is free software: you can redistribute it and/or modify
//  it under the terms of the GNU Lesser General Public License as published by
//  the Free Software Foundation, either version 3 of the License, or
//  (at your option) any later version.
Jan Möbius's avatar
Jan Möbius committed
15
//
Jan Möbius's avatar
 
Jan Möbius committed
16
17
18
19
//  OpenFlipper is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//  GNU Lesser General Public License for more details.
Jan Möbius's avatar
Jan Möbius committed
20
//
Jan Möbius's avatar
 
Jan Möbius committed
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//  You should have received a copy of the GNU Lesser General Public License
//  along with OpenFlipper.  If not, see <http://www.gnu.org/licenses/>.
//
//-----------------------------------------------------------------------------
//
//   $Revision$
//   $Author$
//   $Date$
//
//=============================================================================




//=============================================================================
//
//  Options used throughout the System
//
//=============================================================================

#include <QDir>

#include "GlobalOptions.hh"
#include <stdlib.h>
45
#include <iostream>
46
#include <ACG/Scenegraph/DrawModes.hh>
Jan Möbius's avatar
 
Jan Möbius committed
47
48
49
50


namespace OpenFlipper {
namespace Options {
Jan Möbius's avatar
Jan Möbius committed
51
52

/// Stores the base Path of the application
Jan Möbius's avatar
 
Jan Möbius committed
53
54
static QDir applicationDir_;

Jan Möbius's avatar
Jan Möbius committed
55
/// Stores the base Path of the application
Jan Möbius's avatar
 
Jan Möbius committed
56
57
58
59
60
61
62
63
64
65
66
static QDir configDir_;

/// Stores the Path to the Standard Plugins
static QDir pluginDir_;

/// Stores the Path to the shaders
static QDir shaderDir_;

/// Stores the Path to the Textures
static QDir textureDir_;

67
68
69
/// Stores the Path to the Licenses
static QDir licenseDir_;

Jan Möbius's avatar
Jan Möbius committed
70
71
72
/// Stores the Path to the Scripts
static QDir scriptDir_;

Jan Möbius's avatar
 
Jan Möbius committed
73
74
75
/// Stores the Path to the Icons
static QDir iconDir_;

76
77
78
/// Stores the OpenFlipper Icon
static QIcon* OpenFlipperIcon_ = 0;

Jan Möbius's avatar
Jan Möbius committed
79
80
81
/// Stores the Path to the Fonts
static QDir fontsDir_;

82
83
84
/// Stores the Path to the Help
static QDir helpDir_;

85
86
87
/// Stores the Path to the data directory
static QDir dataDir_;

Jan Möbius's avatar
 
Jan Möbius committed
88
89
90
91
92
93
/// Stores all available option files in the Order in which they should be used
static QStringList optionFiles_;

/// Currentdirectory of the application
static QDir currentDir_;

Dirk Wilden's avatar
Dirk Wilden committed
94
95
96
/// Current script directory of the application
static QDir currentScriptDir_;

97
98
99
/// Current texture directory of the application
static QDir currentTextureDir_;

Jan Möbius's avatar
 
Jan Möbius committed
100
101
102
103
104
105
/// Experience level of the user
static Experience experienceLevel_ = NOVICE;

/// Show gui or not?
static bool nogui_ = false;

Jan Möbius's avatar
Dennis:    
Jan Möbius committed
106
/// Store the stereo support
Jan Möbius's avatar
Jan Möbius committed
107
static bool stereo_ = true;
Jan Möbius's avatar
 
Jan Möbius committed
108

Jan Möbius's avatar
Dennis:    
Jan Möbius committed
109
110
111
112
/// Store the opengl stereo support
static bool glStereo_ = true;

/// Stereo mode
Jan Möbius's avatar
Dennis:    
Jan Möbius committed
113
114
115
static StereoMode stereoMode_ = OpenGL;

/// get stereo eye distance (default = 7cm)
Jan Möbius's avatar
Jan Möbius committed
116
static float eyeDistance_ = 0.07f;
Jan Möbius's avatar
Dennis:    
Jan Möbius committed
117
118
119

/// stereo focal distance relative to scene near plane (default = to center of scene)
static float focalDistance_ = 0.5;
Jan Möbius's avatar
Dennis:    
Jan Möbius committed
120
121

/// vectroy containing left/right color matrices for custom anaglyph mode
122
123
static std::vector<float> anaglyphLeftEyeColors_ = std::vector<float> (9, 0.0);
static std::vector<float> anaglyphRightEyeColors_ = std::vector<float> (9, 0.0);
Jan Möbius's avatar
Dennis:    
Jan Möbius committed
124

Dirk Wilden's avatar
   
Dirk Wilden committed
125
126
127
/// Store the synchronization mode
static bool synchronization_ = false;

Dirk Wilden's avatar
Dirk Wilden committed
128
129
130
131
132
133
/// Store the wheelZoomFactor mode
static double wheelZoomFactor_ = 1.0;

/// Store the wheelZoomFactorShift mode
static double wheelZoomFactorShift_ = 0.2;

134
135
136
/// Store the restrictFrameRate_ mode
static bool restrictFrameRate_ = false;

137
138
139
/// Store the wheel settings
static bool showWheelsAtStartup_ = false;

140
141
142
/// Store the maxFrameRate_ mode
static int maxFrameRate_ = 35;

143
144
145
146
147
148
149
150
/// Store the defaultDrawMode_ mode
static std::vector<uint> defaultDrawMode_ = std::vector<uint> (4, ACG::SceneGraph::DrawModes::SOLID_SMOOTH_SHADED);

/// Store the defaultProjectionMode_ mode
static std::vector<int> defaultProjectionMode_ = std::vector<int> (4, 0);

/// Store the defaultViewingDirection_ mode
static std::vector<int> defaultViewingDirection_ = std::vector<int> (4, 0);
151

Dirk Wilden's avatar
Dirk Wilden committed
152
/// Store the disableRedraw_ mode
153
static int redrawDisabled_ = 0;
Dirk Wilden's avatar
Dirk Wilden committed
154

155
156
157
/// Set if a drawMode Menu should always be in the context menu
static bool drawModesInContextMenu_ = true;

Jan Möbius's avatar
 
Jan Möbius committed
158
159
160
161
/// Store the toolbox gui Mode mode
static bool hideToolbox_ = false;

/// Store the logger gui Mode mode
162
static LoggerState loggerState_ = Normal;
Jan Möbius's avatar
 
Jan Möbius committed
163

164
/// Store if we should go into multiview Mode
Jan Möbius's avatar
Jan Möbius committed
165
static bool multiView_ = true;
166

Jan Möbius's avatar
 
Jan Möbius committed
167
168
169
170
171
172
173
174
175
176
/// Start in Fullscreen Mode?
static bool fullScreen_ = false;

static QString defaultToolboxMode_ = "";

static QString title_ = "OpenFlipper v?";

/// Show a splash screen on init?
static bool splash_ = true;

177
/// default background color for the viewer
Jan Möbius's avatar
Jan Möbius committed
178
static QColor defaultBackgroundColor_ = QColor("black");
179

180
/// default base color
Jan Möbius's avatar
Jan Möbius committed
181
static QColor defaultBaseColor_ = QColor("white");
182
183
184
185

/// use random base color
static bool randomBaseColor_ = false;

Jan Möbius's avatar
 
Jan Möbius committed
186
187
188
189
190
191
192
193
194
/// Scripting status
static bool scripting_ = false;

/// Log to logger and console
static bool logToConsole_ = false;

/// Extra debug info
static bool debug_ = false;

Jan Möbius's avatar
Jan Möbius committed
195
196
197
/// Slot Debugging
static bool doSlotDebugging_ = false;

198
199
200
201
202
203
204
205
206
/// URL for updates
static QString updateURL_ = "";

/// Username for updates
static QString updateUsername_ = "";

/// Password for updates
static QString updatePassword_ = "";

Dirk Wilden's avatar
Dirk Wilden committed
207
208
209
210
211
212
/// enable logging to file
static bool logFileEnabled_;

/// logfile location (path + filename)
static QString logFile_;

Jan Möbius's avatar
 
Jan Möbius committed
213
214
215
216
217
218
/// last used DataType
static QString lastDataType_ = "Triangle Mesh";

/// Should backups be enabled
static bool enableBackup_ = true;

219
220
221
/// Currently loading Settings?
static bool loadingSettings_ = false;

Dirk Wilden's avatar
Dirk Wilden committed
222
223
224
/// Currently loading recent file?
static bool loadingRecentFile_ = false;

225
226
/// Currently saving Settings?
static bool savingSettings_ = false;
Jan Möbius's avatar
 
Jan Möbius committed
227

228
229
230
231
232
233
/// Enable picking renderer?
static bool renderPicking_ = false;

/// picking Renderer Mode
static QString pickingRenderMode_ = "PICK_ANYTHING";

Jan Möbius's avatar
Jan Möbius committed
234
static int* argc_;
235

Jan Möbius's avatar
Jan Möbius committed
236
static char *** argv_;
237

Dirk Wilden's avatar
Dirk Wilden committed
238
239
static bool remoteControl_ = false;

Jan Möbius's avatar
 
Jan Möbius committed
240
241
242
243
# if __WORDSIZE == 64
  const bool is64 = true;
#else
  const bool is64 = false;
Jan Möbius's avatar
Jan Möbius committed
244
245
#endif

246
#if defined(WIN32)
Jan Möbius's avatar
 
Jan Möbius committed
247
248
  const bool linux_ = false;
  const bool windows_ = true;
249
250
251
252
253
  const bool darwin_ = false;
#elif defined(ARCH_DARWIN)
  const bool darwin_ = true;
  const bool linux_ = false;
  const bool windows_ = false;
Jan Möbius's avatar
 
Jan Möbius committed
254
#else
255
  const bool darwin_ = false;
Jan Möbius's avatar
 
Jan Möbius committed
256
257
258
259
260
261
262
263
  const bool linux_ = true;
  const bool windows_ = false;
#endif

bool is64bit() { return is64; };
bool is32bit() { return !is64; };

bool isLinux() {
Jan Möbius's avatar
Jan Möbius committed
264
  return linux_;
Jan Möbius's avatar
 
Jan Möbius committed
265
}
Jan Möbius's avatar
Jan Möbius committed
266

Jan Möbius's avatar
 
Jan Möbius committed
267
268
269
270
bool isWindows() {
  return windows_;
}

271
272
273
274
bool isDarwin() {
 return darwin_;
}

Jan Möbius's avatar
 
Jan Möbius committed
275
276

QString lang() {
Jan Möbius's avatar
Jan Möbius committed
277
  QString lang = getenv( "LANG" ) ;
Jan Möbius's avatar
 
Jan Möbius committed
278
279
280
281
282
283
284
285
286
  return lang;
}


QString dirSeparator() {
//   if (windows_)
//     return QString("\\");
//   if (linux_)
//     return QString("/");
Jan Möbius's avatar
Jan Möbius committed
287

Jan Möbius's avatar
 
Jan Möbius committed
288
289
  return QString("/");
}
Jan Möbius's avatar
Jan Möbius committed
290

291
292
293
294
295
QDir applicationDir()   { return applicationDir_; }
QDir configDir()        { return configDir_;  }
QDir pluginDir()        { return pluginDir_;  }
QDir shaderDir()        { return shaderDir_;  }
QDir textureDir()       { return textureDir_; }
296
QDir licenseDir()       { return licenseDir_; }
Jan Möbius's avatar
Jan Möbius committed
297
QDir scriptDir()        { return scriptDir_; }
298
QDir iconDir()          { return iconDir_;    }
299
300
QDir fontsDir()         { return fontsDir_;   }
QDir helpDir()         	{ return helpDir_;    }
301
QDir dataDir()          { return dataDir_;    }
302
303
304
305
306
307
308
309
310
QDir currentDir()       { return currentDir_; }
QDir currentScriptDir() { return currentScriptDir_; }
QDir currentTextureDir(){ return currentTextureDir_; }

QString applicationDirStr()    { return applicationDir_.absolutePath();    }
QString configDirStr()         { return configDir_.absolutePath();         }
QString pluginDirStr()         { return pluginDir_.absolutePath();         }
QString shaderDirStr()         { return shaderDir_.absolutePath();         }
QString textureDirStr()        { return textureDir_.absolutePath();        }
311
QString licenseDirStr()        { return licenseDir_.absolutePath();        }
Jan Möbius's avatar
Jan Möbius committed
312
QString scriptDirStr()         { return scriptDir_.absolutePath();        }
313
314
QString iconDirStr()           { return iconDir_.absolutePath();           }
QString fontsDirStr()          { return fontsDir_.absolutePath();          }
315
QString helpDirStr()           { return helpDir_.absolutePath();          }
316
QString dataDirStr()           { return dataDir_.absolutePath();          }
317
318
319
QString currentDirStr()        { return currentDir_.absolutePath();        }
QString currentScriptDirStr()  { return currentScriptDir_.absolutePath();  }
QString currentTextureDirStr() { return currentTextureDir_.absolutePath(); }
Jan Möbius's avatar
 
Jan Möbius committed
320
321
322

QStringList optionFiles()   { return optionFiles_; }

323
324
325
326
void applicationDir(QDir _dir)       { applicationDir_    = _dir; }
void pluginDir(QDir _dir)            { pluginDir_         = _dir; }
void shaderDir(QDir _dir)            { shaderDir_         = _dir; }
void textureDir(QDir _dir)           { textureDir_        = _dir; }
327
void licenseDir(QDir _dir)           { licenseDir_        = _dir; }
Jan Möbius's avatar
Jan Möbius committed
328
void scriptDir(QDir _dir)            { scriptDir_         = _dir; }
329
void iconDir(QDir _dir)              { iconDir_           = _dir; }
Jan Möbius's avatar
Jan Möbius committed
330
void fontsDir(QDir _dir)             { fontsDir_          = _dir;}
Jan Möbius's avatar
Jan Möbius committed
331
void helpDir(QDir _dir)              { helpDir_           = _dir;}
332
void dataDir(QDir _dir)              { dataDir_           = _dir;}
333
334
335
336
void configDir(QDir _dir)            { configDir_         = _dir; }
void currentDir(QDir _dir)           { currentDir_        = _dir; }
void currentScriptDir(QDir _dir)     { currentScriptDir_  = _dir; }
void currentTextureDir(QDir _dir)    { currentTextureDir_ = _dir; }
Jan Möbius's avatar
 
Jan Möbius committed
337
338
339

void optionFiles(QStringList _list) { optionFiles_ = _list; }

Jan Möbius's avatar
Jan Möbius committed
340
bool applicationDir(QString _dir) {
Jan Möbius's avatar
 
Jan Möbius committed
341
342
  QDir tmp(_dir);
  if (tmp.exists()) {
Jan Möbius's avatar
Jan Möbius committed
343
    applicationDir_ = tmp;
Jan Möbius's avatar
 
Jan Möbius committed
344
345
346
347
348
    return true;
  }
  return false;
}

Jan Möbius's avatar
Jan Möbius committed
349
bool pluginDir(QString      _dir) {
Jan Möbius's avatar
 
Jan Möbius committed
350
351
  QDir tmp(_dir);
  if (tmp.exists()) {
Jan Möbius's avatar
Jan Möbius committed
352
    pluginDir_      = tmp;
Jan Möbius's avatar
 
Jan Möbius committed
353
354
355
356
357
358
359
360
    return true;
  }
  return false;
}

bool shaderDir(QString _dir) {
  QDir tmp(_dir);
  if (tmp.exists()) {
Jan Möbius's avatar
Jan Möbius committed
361
    shaderDir_ = tmp;
Jan Möbius's avatar
 
Jan Möbius committed
362
363
364
365
366
    return true;
  }
  return false;
}

Jan Möbius's avatar
Jan Möbius committed
367
bool textureDir(QString     _dir) {
Jan Möbius's avatar
 
Jan Möbius committed
368
369
  QDir tmp(_dir);
  if (tmp.exists()) {
Jan Möbius's avatar
Jan Möbius committed
370
    textureDir_     = tmp;
Jan Möbius's avatar
 
Jan Möbius committed
371
372
373
374
375
    return true;
  }
  return false;
}

376
377
378
379
380
381
382
383
384
bool licenseDir(QString     _dir) {
  QDir tmp(_dir);
  if (tmp.exists()) {
    licenseDir_     = tmp;
    return true;
  }
  return false;
}

Jan Möbius's avatar
Jan Möbius committed
385
386
387
388
389
390
391
392
393
bool scriptDir(QString     _dir) {
  QDir tmp(_dir);
  if (tmp.exists()) {
    scriptDir_     = tmp;
    return true;
  }
  return false;
}

Jan Möbius's avatar
Jan Möbius committed
394
bool iconDir(QString      _dir) {
Jan Möbius's avatar
 
Jan Möbius committed
395
396
  QDir tmp(_dir);
  if (tmp.exists()) {
Jan Möbius's avatar
Jan Möbius committed
397
398
399
400
401
    iconDir_ = tmp;
    return true;
  }
  return false;
}
402
403
404
405
406
407
408
409
410

bool dataDir(QString      _dir) {
  QDir tmp(_dir);
  if (tmp.exists()) {
    dataDir_ = tmp;
    return true;
  }
  return false;
}
Jan Möbius's avatar
Jan Möbius committed
411

412
413
414
415
416
417
418
419
420
421
422
423
QIcon& OpenFlipperIcon() {

  if (OpenFlipperIcon_ == 0){
    OpenFlipperIcon_ = new QIcon( iconDirStr() + dirSeparator() + "OpenFlipper_Icon_128x128x32.png");
    OpenFlipperIcon_->addFile( iconDirStr() + dirSeparator() + "OpenFlipper_Icon_48x48x32.png", QSize(48,48) );
    OpenFlipperIcon_->addFile( iconDirStr() + dirSeparator() + "OpenFlipper_Icon_32x32x32.png", QSize(32,32) );
    OpenFlipperIcon_->addFile( iconDirStr() + dirSeparator() + "OpenFlipper_Icon_16x16x32.png", QSize(16,16) );
  }

  return *OpenFlipperIcon_;
}

Jan Möbius's avatar
Jan Möbius committed
424
425
426
427
bool fontsDir(QString      _dir) {
  QDir tmp(_dir);
  if (tmp.exists()) {
    fontsDir_      = tmp;
Jan Möbius's avatar
 
Jan Möbius committed
428
429
430
431
432
    return true;
  }
  return false;
}

433
434
435
436
437
438
439
440
441
bool helpDir(QString      _dir) {
  QDir tmp(_dir);
  if (tmp.exists()) {
    helpDir_      = tmp;
    return true;
  }
  return false;
}

Jan Möbius's avatar
Jan Möbius committed
442
bool configDir(QString      _dir) {
Jan Möbius's avatar
 
Jan Möbius committed
443
444
  QDir tmp(_dir);
  if (tmp.exists()) {
Jan Möbius's avatar
Jan Möbius committed
445
    configDir_      = tmp;
Jan Möbius's avatar
 
Jan Möbius committed
446
447
448
449
450
    return true;
  }
  return false;
}

Jan Möbius's avatar
Jan Möbius committed
451
bool currentDir(QString      _dir) {
Jan Möbius's avatar
 
Jan Möbius committed
452
453
  QDir tmp(_dir);
  if (tmp.exists()) {
Jan Möbius's avatar
Jan Möbius committed
454
    currentDir_     = tmp;
Jan Möbius's avatar
 
Jan Möbius committed
455
456
457
458
459
    return true;
  }
  return false;
}

Dirk Wilden's avatar
Dirk Wilden committed
460
461
462
463
464
465
466
467
468
bool currentScriptDir(QString _dir) {
  QDir tmp(_dir);
  if (tmp.exists()) {
    currentScriptDir_     = tmp;
    return true;
  }
  return false;
}

469
470
471
472
473
474
475
476
477
bool currentTextureDir(QString _dir) {
  QDir tmp(_dir);
  if (tmp.exists()) {
    currentTextureDir_ = tmp;
    return true;
  }
  return false;
}

Jan Möbius's avatar
 
Jan Möbius committed
478
479
/// Get experience level
Experience getExperience() {
Jan Möbius's avatar
Jan Möbius committed
480
  return experienceLevel_;
Jan Möbius's avatar
 
Jan Möbius committed
481
482
483
484
}

/// Set experience level
void setExperience( Experience _exp) {
Jan Möbius's avatar
Jan Möbius committed
485
  experienceLevel_ = _exp;
Jan Möbius's avatar
 
Jan Möbius committed
486
487
488
489
}

/// Store if a gui should be visible or not
void nogui( bool _nogui ) {
Jan Möbius's avatar
Jan Möbius committed
490
  nogui_ = _nogui;
Jan Möbius's avatar
 
Jan Möbius committed
491
}
Jan Möbius's avatar
Jan Möbius committed
492
493

/// get if a gui should be visible or not
Jan Möbius's avatar
 
Jan Möbius committed
494
bool nogui( ) {
Jan Möbius's avatar
Jan Möbius committed
495
  return nogui_;
Jan Möbius's avatar
 
Jan Möbius committed
496
497
}

Jan Möbius's avatar
Jan Möbius committed
498
/// get if a gui should be visible or not
Jan Möbius's avatar
 
Jan Möbius committed
499
bool gui( ) {
Jan Möbius's avatar
Jan Möbius committed
500
  return !nogui_;
Jan Möbius's avatar
 
Jan Möbius committed
501
502
}

Jan Möbius's avatar
Dennis:    
Jan Möbius committed
503
/// Store stereo setting
Jan Möbius's avatar
 
Jan Möbius committed
504
void stereo( bool _stereo ) {
Jan Möbius's avatar
Jan Möbius committed
505
  stereo_ = _stereo;
Jan Möbius's avatar
 
Jan Möbius committed
506
}
Jan Möbius's avatar
Jan Möbius committed
507

Jan Möbius's avatar
 
Jan Möbius committed
508
509
/// get current stereo setting
bool stereo( ) {
Jan Möbius's avatar
Jan Möbius committed
510
  return stereo_;
Jan Möbius's avatar
 
Jan Möbius committed
511
512
}

Jan Möbius's avatar
Dennis:    
Jan Möbius committed
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
/// Store opengl stereo mode setting
void glStereo( bool _glStereo ) {
  glStereo_ = _glStereo;
}

/// get current opengl stereo setting
bool glStereo( ) {
  return glStereo_;
}

/// Store stereo mode setting
void stereoMode( StereoMode _mode ) {
  stereoMode_ = _mode;
}

/// get current stereo mode setting
StereoMode stereoMode( ) {
  return stereoMode_;
}

Jan Möbius's avatar
Dennis:    
Jan Möbius committed
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
/// Store stereo eye distance
void eyeDistance( float _eye )
{
  eyeDistance_ = _eye;
}

/// get stereo eye distance
float eyeDistance( )
{
  return eyeDistance_;
}

/// Store stereo focal distance relative to scene near plane
void focalDistance( float _focal )
{
  focalDistance_ = _focal;
}

/// get stereo focal distance relative to scene near plane
float focalDistance( )
{
  return focalDistance_;
}

Jan Möbius's avatar
Dennis:    
Jan Möbius committed
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
/// Store the 3x3 left eye color matrix values for custom anaglyph stereo mode
void anaglyphLeftEyeColorMatrix( std::vector<float> _mat )
{
  for (int i = 0; i < 9; i++)
    anaglyphLeftEyeColors_[i] = _mat[i];
}

/// get the 3x3 left eye color matrix values for custom anaglyph stereo mode
std::vector<float> anaglyphLeftEyeColorMatrix( )
{
  return anaglyphLeftEyeColors_;
}

/// Store the 3x3 right eye color matrix values for custom anaglyph stereo mode
void anaglyphRightEyeColorMatrix( std::vector<float> _mat )
{
  for (int i = 0; i < 9; i++)
    anaglyphRightEyeColors_[i] = _mat[i];
}

/// get the 3x3 right eye color matrix values for custom anaglyph stereo mode
std::vector<float> anaglyphRightEyeColorMatrix( )
{
  return anaglyphRightEyeColors_;
}


Dirk Wilden's avatar
   
Dirk Wilden committed
584
585
586
587
588
589
590
591
592
593
/// Store synchronization mode setting
void synchronization( bool _synchronization ) {
  synchronization_ = _synchronization;
}

/// get current synchronization setting
bool synchronization( ) {
  return synchronization_;
}

Dirk Wilden's avatar
Dirk Wilden committed
594
595
/// Store wheelZoomFactor setting
void wheelZoomFactor( double _factor ) {
Jan Möbius's avatar
Jan Möbius committed
596
  wheelZoomFactor_ = _factor;
Dirk Wilden's avatar
Dirk Wilden committed
597
}
Jan Möbius's avatar
Jan Möbius committed
598

Dirk Wilden's avatar
Dirk Wilden committed
599
600
/// get wheelZoomFactor setting
double wheelZoomFactor( ) {
Jan Möbius's avatar
Jan Möbius committed
601
  return wheelZoomFactor_;
Dirk Wilden's avatar
Dirk Wilden committed
602
603
604
605
}

/// Store wheelZoomFactorShift setting
void wheelZoomFactorShift( double _factor ) {
Jan Möbius's avatar
Jan Möbius committed
606
  wheelZoomFactorShift_ = _factor;
Dirk Wilden's avatar
Dirk Wilden committed
607
}
Jan Möbius's avatar
Jan Möbius committed
608

Dirk Wilden's avatar
Dirk Wilden committed
609
610
/// get wheelZoomFactorShift setting
double wheelZoomFactorShift( ) {
Jan Möbius's avatar
Jan Möbius committed
611
  return wheelZoomFactorShift_;
Dirk Wilden's avatar
Dirk Wilden committed
612
613
}

614
615
616
617
void restrictFrameRate( bool _enable ){
  restrictFrameRate_ = _enable;
}

618
619
620
621
void showWheelsAtStartup( bool _show ){
  showWheelsAtStartup_ = _show;
}

622
623
624
625
bool restrictFrameRate( ){
  return restrictFrameRate_;
}

626
627
628
629
bool showWheelsAtStartup( ){
  return showWheelsAtStartup_;
}

630
631
632
633
634
635
636
637
void maxFrameRate( int _fps ){
  maxFrameRate_ = _fps;
}

int maxFrameRate(){
  return maxFrameRate_;
}

638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
void defaultDrawMode( uint _mode, int _viewer){
  defaultDrawMode_[_viewer] = _mode;
}

uint defaultDrawMode(int _viewer){
  return defaultDrawMode_[_viewer];
}

void defaultProjectionMode( int _mode, int _viewer){
  defaultProjectionMode_[_viewer] = _mode;
}

int defaultProjectionMode(int _viewer){
  return defaultProjectionMode_[_viewer];
}

void defaultViewingDirection( int _mode, int _viewer){
  defaultViewingDirection_[_viewer] = _mode;
656
657
}

658
659
int defaultViewingDirection(int _viewer){
  return defaultViewingDirection_[_viewer];
660
661
}

Dirk Wilden's avatar
Dirk Wilden committed
662
void redrawDisabled( bool disable ){
663
664
665
666
667
668
669
  if ( disable )
    redrawDisabled_++;
  else
    if ( redrawDisabled_ == 0 )
      std::cerr << "Mismatch of redraw enable/disable!!" << std::endl;
    else
      redrawDisabled_--;
Dirk Wilden's avatar
Dirk Wilden committed
670
671
672
}

bool redrawDisabled( ){
673
  return (redrawDisabled_ > 0);
Dirk Wilden's avatar
Dirk Wilden committed
674
675
}

676
677
678
679
680
681
682
683
bool drawModesInContextMenu() {
  return drawModesInContextMenu_;
}

void drawModesInContextMenu(bool _show) {
  drawModesInContextMenu_ = _show;
}

684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700

void multiView( bool _multiView) {
  multiView_ = _multiView;
}

bool multiView() {
  return multiView_;
}

unsigned int examinerWidgets() {
  if ( multiView_)
    return 4;
  else
    return 1;
}


Jan Möbius's avatar
Jan Möbius committed
701
702
703
/// Set to current
void loggerState( LoggerState _state) {
  loggerState_ = _state;
Jan Möbius's avatar
 
Jan Möbius committed
704
705
}

Jan Möbius's avatar
Jan Möbius committed
706
707
708
/// Current state of the logging window?
LoggerState loggerState( ) {
  return loggerState_;
Jan Möbius's avatar
 
Jan Möbius committed
709
710
711
712
713
714
715
716
717
718
719
720
721
722
}

/// Set if we start the toolbox widget closed
void hideToolbox( bool _hide) {
  hideToolbox_ = _hide;
}

/// Start the toolbox widget closed?
bool hideToolbox( ) {
  return hideToolbox_;
}

/// Start fullscreen Mode?
void fullScreen( bool _fs ) {
Jan Möbius's avatar
Jan Möbius committed
723
  fullScreen_ = _fs;
Jan Möbius's avatar
 
Jan Möbius committed
724
725
726
727
}

/// Start fullscreen Mode?
bool fullScreen( ) {
Jan Möbius's avatar
Jan Möbius committed
728
  return fullScreen_;
Jan Möbius's avatar
 
Jan Möbius committed
729
730
731
732
}

/// Which mode should be the default for the toolbar?
QString defaultToolboxMode( ) {
Jan Möbius's avatar
Jan Möbius committed
733
  return defaultToolboxMode_;
Jan Möbius's avatar
 
Jan Möbius committed
734
}
Jan Möbius's avatar
Jan Möbius committed
735

Jan Möbius's avatar
 
Jan Möbius committed
736
737
738
739
740
741
742
/// Which mode should be the default for the toolbar?
void defaultToolboxMode( QString _mode ) {
  defaultToolboxMode_ = _mode;
}


QString windowTitle( ) {
Jan Möbius's avatar
Jan Möbius committed
743
  return title_;
Jan Möbius's avatar
 
Jan Möbius committed
744
745
746
}

void windowTitle( QString _titel ) {
Jan Möbius's avatar
Jan Möbius committed
747
  title_ = _titel;
Jan Möbius's avatar
 
Jan Möbius committed
748
749
750
}

void splash( bool _splash ) {
Jan Möbius's avatar
Jan Möbius committed
751
  splash_ = _splash;
Jan Möbius's avatar
 
Jan Möbius committed
752
}
Jan Möbius's avatar
Jan Möbius committed
753

Jan Möbius's avatar
 
Jan Möbius committed
754
bool splash( ) {
Jan Möbius's avatar
Jan Möbius committed
755
  return splash_;
Jan Möbius's avatar
 
Jan Möbius committed
756
757
}

758
void defaultBackgroundColor( QColor _color ) {
759
760
761
  defaultBackgroundColor_ = _color;
}

762
QColor defaultBackgroundColor() {
763
764
  return defaultBackgroundColor_;
}
Jan Möbius's avatar
 
Jan Möbius committed
765

766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
void defaultBaseColor( QColor _color ) {
  defaultBaseColor_ = _color;
}

QColor defaultBaseColor() {
  return defaultBaseColor_;
}

void randomBaseColor(bool _random) {
  randomBaseColor_ = _random;
}

bool randomBaseColor() {
  return randomBaseColor_;
}

Jan Möbius's avatar
 
Jan Möbius committed
782
783
784
785
/// return last used dataType
QString lastDataType(){
  return lastDataType_;
}
Jan Möbius's avatar
Jan Möbius committed
786

Jan Möbius's avatar
 
Jan Möbius committed
787
788
789
790
791
792
/// set the last used dataType
void lastDataType(QString _type){
   lastDataType_ = _type;
}

bool scripting( ) {
Jan Möbius's avatar
Jan Möbius committed
793
  return scripting_;
Jan Möbius's avatar
 
Jan Möbius committed
794
}
Jan Möbius's avatar
Jan Möbius committed
795

Jan Möbius's avatar
 
Jan Möbius committed
796
void scripting(bool _status ) {
Jan Möbius's avatar
Jan Möbius committed
797
  scripting_ = _status;
Jan Möbius's avatar
 
Jan Möbius committed
798
799
800
}

bool logToConsole( ) {
Jan Möbius's avatar
Jan Möbius committed
801
  return logToConsole_;
Jan Möbius's avatar
 
Jan Möbius committed
802
}
Jan Möbius's avatar
Jan Möbius committed
803

Jan Möbius's avatar
 
Jan Möbius committed
804
void logToConsole(bool _logToConsole ) {
Jan Möbius's avatar
Jan Möbius committed
805
  logToConsole_ = _logToConsole;
Jan Möbius's avatar
 
Jan Möbius committed
806
807
808
}

bool debug() {
Jan Möbius's avatar
Jan Möbius committed
809
  return debug_;
Jan Möbius's avatar
 
Jan Möbius committed
810
811
812
}

void debug(bool _debug ) {
Jan Möbius's avatar
Jan Möbius committed
813
  debug_ = _debug;
Jan Möbius's avatar
 
Jan Möbius committed
814
815
}

Dirk Wilden's avatar
Dirk Wilden committed
816
817
818
819
820
821
822
823
824
825
826
void logFileEnabled(bool _enable ){
  logFileEnabled_ = _enable;
}

bool logFileEnabled(){
  return logFileEnabled_;
}

void logFile(QString _filename){
  logFile_ = _filename;
}
Jan Möbius's avatar
 
Jan Möbius committed
827

Dirk Wilden's avatar
Dirk Wilden committed
828
829
830
QString logFile(){
  return logFile_;
}
Jan Möbius's avatar
 
Jan Möbius committed
831
832

bool backupEnabled( ) {
Jan Möbius's avatar
Jan Möbius committed
833
  return enableBackup_;
Jan Möbius's avatar
 
Jan Möbius committed
834
835
836
837
838
839
}

void enableBackup(bool _enableBackup ) {
  enableBackup_ = _enableBackup;
}

840
841
842
843
844
845
846
847
848
849
bool loadingSettings( ) {
  return loadingSettings_;
}

void loadingSettings(bool _loadingSettings ) {
  loadingSettings_ = _loadingSettings;
}

bool savingSettings( ) {
  return savingSettings_;
Jan Möbius's avatar
 
Jan Möbius committed
850
}
Jan Möbius's avatar
Jan Möbius committed
851

852
853
void savingSettings(bool _savingSettings ) {
  savingSettings_ = _savingSettings;
Jan Möbius's avatar
 
Jan Möbius committed
854
855
}

Dirk Wilden's avatar
Dirk Wilden committed
856
857
858
859
860
861
862
863
bool loadingRecentFile( ) {
  return loadingRecentFile_;
}

void loadingRecentFile(bool _loadingRecentFile ) {
  loadingRecentFile_ = _loadingRecentFile;
}

Jan Möbius's avatar
Jan Möbius committed
864
int* argc() {
865
866
867
  return argc_;
}

Jan Möbius's avatar
Jan Möbius committed
868
char *** argv() {
869
870
871
  return argv_;
}

Jan Möbius's avatar
Jan Möbius committed
872
void  argc( int* _argc ) {
873
874
875
  argc_ = _argc;
}

Jan Möbius's avatar
Jan Möbius committed
876
void argv( char*** _argv) {
877
878
879
  argv_ = _argv;
}

Dirk Wilden's avatar
Dirk Wilden committed
880
881
882
883
884
885
886
887
bool remoteControl(){
  return remoteControl_;
}

void remoteControl(bool _remote){
  remoteControl_ = _remote;
}

Jan Möbius's avatar
Jan Möbius committed
888
889
890
891
892
893
894
895
void doSlotDebugging( bool _debugging ) {
  doSlotDebugging_ = _debugging;
}

bool doSlotDebugging( ) {
  return doSlotDebugging_;
}

896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
void updateUrl( QString _url ) {
  updateURL_ = _url;
}

QString updateUrl( ) {
  return updateURL_;
}

void updateUsername( QString _username ) {
  updateUsername_ = _username;
}

QString updateUsername( ) {
  return updateUsername_;
}

void updatePassword( QString _password ) {
  updatePassword_ = _password;
}

QString updatePassword( ) {
  return updatePassword_;
}

QString coreVersion() {
Jan Möbius's avatar
Jan Möbius committed
921
922
923
  #ifndef CORE_VERSION
	#define CORE_VERSION "1.0.0RC2"
  #endif
Jan Möbius's avatar
   
Jan Möbius committed
924
  return QString(CORE_VERSION);
925
926
}

927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
void pickingRenderMode( QString _target ) {
  pickingRenderMode_ = _target;
}

QString pickingRenderMode( ) {
  return pickingRenderMode_;
}

void renderPicking(bool _enable) {
  renderPicking_ = _enable;
}

bool renderPicking( ) {
  return renderPicking_;
}

Jan Möbius's avatar
 
Jan Möbius committed
943
944
945
946
947
948

}
}

//=============================================================================