GlobalOptions.cc 23.6 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
/*===========================================================================*\
 *                                                                           *
 *                              OpenFlipper                                  *
 *      Copyright (C) 2001-2009 by Computer Graphics Group, RWTH Aachen      *
 *                           www.openflipper.org                             *
 *                                                                           *
 *---------------------------------------------------------------------------*
 *  This file is part of OpenFlipper.                                        *
 *                                                                           *
 *  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 with the              *
 *  following exceptions:                                                    *
 *                                                                           *
 *  If other files instantiate templates or use macros                       *
 *  or inline functions from this file, or you compile this file and         *
 *  link it with other files to produce an executable, this file does        *
 *  not by itself cause the resulting executable to be covered by the        *
 *  GNU Lesser General Public License. This exception does not however       *
 *  invalidate any other reasons why the executable file might be            *
 *  covered by the GNU Lesser General Public License.                        *
 *                                                                           *
 *  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.                      *
 *                                                                           *
 *  You should have received a copy of the GNU LesserGeneral Public          *
 *  License along with OpenFlipper. If not,                                  *
 *  see <http://www.gnu.org/licenses/>.                                      *
 *                                                                           *
\*===========================================================================*/

/*===========================================================================*\
 *                                                                           *
 *   $Revision$                                                         *
 *   $Author$                                                      *
 *   $Date$                   *
 *                                                                           *
\*===========================================================================*/
Jan Möbius's avatar
 
Jan Möbius committed
42 43 44 45 46 47 48 49 50 51 52 53 54 55




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

#include <QDir>

#include "GlobalOptions.hh"
#include <stdlib.h>
56
#include <iostream>
57
#include <ACG/Scenegraph/DrawModes.hh>
Jan Möbius's avatar
 
Jan Möbius committed
58 59 60 61


namespace OpenFlipper {
namespace Options {
Jan Möbius's avatar
Jan Möbius committed
62 63

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

Jan Möbius's avatar
Jan Möbius committed
66
/// Stores the base Path of the application
Jan Möbius's avatar
 
Jan Möbius committed
67 68 69 70 71 72 73 74 75 76 77
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_;

78 79 80
/// Stores the Path to the Licenses
static QDir licenseDir_;

Jan Möbius's avatar
Jan Möbius committed
81 82 83
/// Stores the Path to the Scripts
static QDir scriptDir_;

Jan Möbius's avatar
 
Jan Möbius committed
84 85 86
/// Stores the Path to the Icons
static QDir iconDir_;

87 88 89
/// Stores the OpenFlipper Icon
static QIcon* OpenFlipperIcon_ = 0;

Jan Möbius's avatar
Jan Möbius committed
90 91 92
/// Stores the Path to the translation files
static QDir translationsDir_;

Jan Möbius's avatar
Jan Möbius committed
93 94 95
/// Stores the Path to the Fonts
static QDir fontsDir_;

96 97 98
/// Stores the Path to the Help
static QDir helpDir_;

99 100 101
/// Stores the Path to the data directory
static QDir dataDir_;

Jan Möbius's avatar
 
Jan Möbius committed
102 103 104 105 106 107
/// 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
108 109 110
/// Current script directory of the application
static QDir currentScriptDir_;

111 112 113
/// Current texture directory of the application
static QDir currentTextureDir_;

Jan Möbius's avatar
 
Jan Möbius committed
114 115 116 117 118 119
/// 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
120
/// Store the stereo support
Jan Möbius's avatar
Jan Möbius committed
121
static bool stereo_ = true;
Jan Möbius's avatar
 
Jan Möbius committed
122

Jan Möbius's avatar
Dennis:  
Jan Möbius committed
123 124 125 126
/// Store the opengl stereo support
static bool glStereo_ = true;

/// Stereo mode
Jan Möbius's avatar
Dennis:  
Jan Möbius committed
127 128 129
static StereoMode stereoMode_ = OpenGL;

/// get stereo eye distance (default = 7cm)
Jan Möbius's avatar
Jan Möbius committed
130
static float eyeDistance_ = 0.07f;
Jan Möbius's avatar
Dennis:  
Jan Möbius committed
131 132 133

/// 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
134 135

/// vectroy containing left/right color matrices for custom anaglyph mode
136 137
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
138

Jan Möbius's avatar
Dennis:  
Jan Möbius committed
139 140 141
/// mouse cursor depth picking in stereo mode
static bool stereoMousePick_ = true;

Dirk Wilden's avatar
 
Dirk Wilden committed
142 143 144
/// Store the synchronization mode
static bool synchronization_ = false;

Dirk Wilden's avatar
Dirk Wilden committed
145 146 147 148 149 150
/// Store the wheelZoomFactor mode
static double wheelZoomFactor_ = 1.0;

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

151 152 153
/// Store the restrictFrameRate_ mode
static bool restrictFrameRate_ = false;

154 155 156
/// Store the wheel settings
static bool showWheelsAtStartup_ = false;

157 158 159
/// Store the maxFrameRate_ mode
static int maxFrameRate_ = 35;

160 161 162 163
/// Store the defaultDrawMode_ mode
static std::vector<uint> defaultDrawMode_ = std::vector<uint> (4, ACG::SceneGraph::DrawModes::SOLID_SMOOTH_SHADED);

/// Store the defaultProjectionMode_ mode
Dirk Wilden's avatar
Dirk Wilden committed
164
static std::vector<int> defaultProjectionMode_ = std::vector<int> (4, 1);
165 166 167

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

169 170 171
/// Store the defaultViewer layout
static int defaultViewerLayout_ = 0;

Dirk Wilden's avatar
Dirk Wilden committed
172
/// Store the disableRedraw_ mode
173
static int redrawDisabled_ = 0;
Dirk Wilden's avatar
Dirk Wilden committed
174

175 176 177
/// Set if a drawMode Menu should always be in the context menu
static bool drawModesInContextMenu_ = true;

178 179 180
/// Set if a grid should be drawn in every viewer
static bool gridVisible_ = false;

Jan Möbius's avatar
Dennis:  
Jan Möbius committed
181 182 183
/// Should OpenGL be used to draw the mouse cursor
static bool glMouse_ = true;

Jan Möbius's avatar
 
Jan Möbius committed
184 185 186 187
/// Store the toolbox gui Mode mode
static bool hideToolbox_ = false;

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

190
/// Store if we should go into multiview Mode
Jan Möbius's avatar
Jan Möbius committed
191
static bool multiView_ = true;
192

Jan Möbius's avatar
 
Jan Möbius committed
193 194 195 196 197 198 199 200 201 202
/// 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;

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

206
/// default base color
Jan Möbius's avatar
Jan Möbius committed
207
static QColor defaultBaseColor_ = QColor("white");
208 209 210 211

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

Jan Möbius's avatar
 
Jan Möbius committed
212 213 214 215 216 217 218 219 220
/// 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
221 222 223
/// Slot Debugging
static bool doSlotDebugging_ = false;

224 225 226 227 228 229 230 231 232
/// 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
233 234 235 236 237 238
/// enable logging to file
static bool logFileEnabled_;

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

Jan Möbius's avatar
 
Jan Möbius committed
239 240 241
/// last used DataType
static QString lastDataType_ = "Triangle Mesh";

242 243 244
/// translation
static QString translation_ = "en_US";

Jan Möbius's avatar
 
Jan Möbius committed
245 246 247
/// Should backups be enabled
static bool enableBackup_ = true;

248 249 250
/// Currently loading Settings?
static bool loadingSettings_ = false;

Dirk Wilden's avatar
Dirk Wilden committed
251 252 253
/// Currently loading recent file?
static bool loadingRecentFile_ = false;

254 255
/// Currently saving Settings?
static bool savingSettings_ = false;
Jan Möbius's avatar
 
Jan Möbius committed
256

257 258 259 260 261 262
/// Enable picking renderer?
static bool renderPicking_ = false;

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

Jan Möbius's avatar
Jan Möbius committed
263
static int* argc_;
264

Jan Möbius's avatar
Jan Möbius committed
265
static char *** argv_;
266

Dirk Wilden's avatar
Dirk Wilden committed
267 268
static bool remoteControl_ = false;

Jan Möbius's avatar
 
Jan Möbius committed
269 270 271 272
# if __WORDSIZE == 64
  const bool is64 = true;
#else
  const bool is64 = false;
Jan Möbius's avatar
Jan Möbius committed
273 274
#endif

275
#if defined(WIN32)
Jan Möbius's avatar
 
Jan Möbius committed
276 277
  const bool linux_ = false;
  const bool windows_ = true;
278 279 280 281 282
  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
283
#else
284
  const bool darwin_ = false;
Jan Möbius's avatar
 
Jan Möbius committed
285 286 287 288 289 290 291 292
  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
293
  return linux_;
Jan Möbius's avatar
 
Jan Möbius committed
294
}
Jan Möbius's avatar
Jan Möbius committed
295

Jan Möbius's avatar
 
Jan Möbius committed
296 297 298 299
bool isWindows() {
  return windows_;
}

300 301 302 303
bool isDarwin() {
 return darwin_;
}

Jan Möbius's avatar
 
Jan Möbius committed
304 305

QString lang() {
Jan Möbius's avatar
Jan Möbius committed
306
  QString lang = getenv( "LANG" ) ;
Jan Möbius's avatar
 
Jan Möbius committed
307 308 309
  return lang;
}

310 311 312 313 314 315 316
QString translation() {
  return translation_;
}

void translation(QString _translation) {
  translation_ = _translation;
}
Jan Möbius's avatar
 
Jan Möbius committed
317 318 319 320 321 322

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

Jan Möbius's avatar
 
Jan Möbius committed
324 325
  return QString("/");
}
Jan Möbius's avatar
Jan Möbius committed
326

327 328 329 330 331
QDir applicationDir()   { return applicationDir_; }
QDir configDir()        { return configDir_;  }
QDir pluginDir()        { return pluginDir_;  }
QDir shaderDir()        { return shaderDir_;  }
QDir textureDir()       { return textureDir_; }
332
QDir licenseDir()       { return licenseDir_; }
Jan Möbius's avatar
Jan Möbius committed
333
QDir scriptDir()        { return scriptDir_; }
334
QDir iconDir()          { return iconDir_;    }
Jan Möbius's avatar
Jan Möbius committed
335
QDir translationsDir()  { return translationsDir_;   }
336 337
QDir fontsDir()         { return fontsDir_;   }
QDir helpDir()         	{ return helpDir_;    }
338
QDir dataDir()          { return dataDir_;    }
339 340 341 342 343 344 345 346 347
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();        }
348
QString licenseDirStr()        { return licenseDir_.absolutePath();        }
Jan Möbius's avatar
Jan Möbius committed
349
QString scriptDirStr()         { return scriptDir_.absolutePath();         } 
350
QString iconDirStr()           { return iconDir_.absolutePath();           }
Jan Möbius's avatar
Jan Möbius committed
351
QString translationsDirStr()   { return translationsDir_.absolutePath();   }
352
QString fontsDirStr()          { return fontsDir_.absolutePath();          }
Jan Möbius's avatar
Jan Möbius committed
353 354
QString helpDirStr()           { return helpDir_.absolutePath();           }
QString dataDirStr()           { return dataDir_.absolutePath();           }
355 356 357
QString currentDirStr()        { return currentDir_.absolutePath();        }
QString currentScriptDirStr()  { return currentScriptDir_.absolutePath();  }
QString currentTextureDirStr() { return currentTextureDir_.absolutePath(); }
Jan Möbius's avatar
 
Jan Möbius committed
358 359 360

QStringList optionFiles()   { return optionFiles_; }

361 362 363 364
void applicationDir(QDir _dir)       { applicationDir_    = _dir; }
void pluginDir(QDir _dir)            { pluginDir_         = _dir; }
void shaderDir(QDir _dir)            { shaderDir_         = _dir; }
void textureDir(QDir _dir)           { textureDir_        = _dir; }
365
void licenseDir(QDir _dir)           { licenseDir_        = _dir; }
Jan Möbius's avatar
Jan Möbius committed
366
void scriptDir(QDir _dir)            { scriptDir_         = _dir; }
367
void iconDir(QDir _dir)              { iconDir_           = _dir; }
Jan Möbius's avatar
Jan Möbius committed
368 369 370 371
void tanslationsDir(QDir _dir)       { translationsDir_   = _dir; }
void fontsDir(QDir _dir)             { fontsDir_          = _dir; }
void helpDir(QDir _dir)              { helpDir_           = _dir; }
void dataDir(QDir _dir)              { dataDir_           = _dir; }
372 373 374 375
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
376 377 378

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

Jan Möbius's avatar
Jan Möbius committed
379
bool applicationDir(QString _dir) {
Jan Möbius's avatar
 
Jan Möbius committed
380 381
  QDir tmp(_dir);
  if (tmp.exists()) {
Jan Möbius's avatar
Jan Möbius committed
382
    applicationDir_ = tmp;
Jan Möbius's avatar
 
Jan Möbius committed
383 384 385 386 387
    return true;
  }
  return false;
}

Jan Möbius's avatar
Jan Möbius committed
388
bool pluginDir(QString      _dir) {
Jan Möbius's avatar
 
Jan Möbius committed
389 390
  QDir tmp(_dir);
  if (tmp.exists()) {
Jan Möbius's avatar
Jan Möbius committed
391
    pluginDir_      = tmp;
Jan Möbius's avatar
 
Jan Möbius committed
392 393 394 395 396 397 398 399
    return true;
  }
  return false;
}

bool shaderDir(QString _dir) {
  QDir tmp(_dir);
  if (tmp.exists()) {
Jan Möbius's avatar
Jan Möbius committed
400
    shaderDir_ = tmp;
Jan Möbius's avatar
 
Jan Möbius committed
401 402 403 404 405
    return true;
  }
  return false;
}

Jan Möbius's avatar
Jan Möbius committed
406
bool textureDir(QString     _dir) {
Jan Möbius's avatar
 
Jan Möbius committed
407 408
  QDir tmp(_dir);
  if (tmp.exists()) {
Jan Möbius's avatar
Jan Möbius committed
409
    textureDir_     = tmp;
Jan Möbius's avatar
 
Jan Möbius committed
410 411 412 413 414
    return true;
  }
  return false;
}

415 416 417 418 419 420 421 422 423
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
424 425 426 427 428 429 430 431 432
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
433
bool iconDir(QString      _dir) {
Jan Möbius's avatar
 
Jan Möbius committed
434 435
  QDir tmp(_dir);
  if (tmp.exists()) {
Jan Möbius's avatar
Jan Möbius committed
436 437 438 439 440
    iconDir_ = tmp;
    return true;
  }
  return false;
}
441 442 443 444 445 446 447 448 449

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
450

451 452 453 454 455 456 457 458 459 460 461 462
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
463 464 465 466 467 468 469 470 471 472

bool translationsDir(QString      _dir) {
  QDir tmp(_dir);
  if (tmp.exists()) {
    translationsDir_ = tmp;
    return true;
  }
  return false;
}

Jan Möbius's avatar
Jan Möbius committed
473 474 475 476
bool fontsDir(QString      _dir) {
  QDir tmp(_dir);
  if (tmp.exists()) {
    fontsDir_      = tmp;
Jan Möbius's avatar
 
Jan Möbius committed
477 478 479 480 481
    return true;
  }
  return false;
}

482 483 484 485 486 487 488 489 490
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
491
bool configDir(QString      _dir) {
Jan Möbius's avatar
 
Jan Möbius committed
492 493
  QDir tmp(_dir);
  if (tmp.exists()) {
Jan Möbius's avatar
Jan Möbius committed
494
    configDir_      = tmp;
Jan Möbius's avatar
 
Jan Möbius committed
495 496 497 498 499
    return true;
  }
  return false;
}

Jan Möbius's avatar
Jan Möbius committed
500
bool currentDir(QString      _dir) {
Jan Möbius's avatar
 
Jan Möbius committed
501 502
  QDir tmp(_dir);
  if (tmp.exists()) {
Jan Möbius's avatar
Jan Möbius committed
503
    currentDir_     = tmp;
Jan Möbius's avatar
 
Jan Möbius committed
504 505 506 507 508
    return true;
  }
  return false;
}

Dirk Wilden's avatar
Dirk Wilden committed
509 510 511 512 513 514 515 516 517
bool currentScriptDir(QString _dir) {
  QDir tmp(_dir);
  if (tmp.exists()) {
    currentScriptDir_     = tmp;
    return true;
  }
  return false;
}

518 519 520 521 522 523 524 525 526
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
527 528
/// Get experience level
Experience getExperience() {
Jan Möbius's avatar
Jan Möbius committed
529
  return experienceLevel_;
Jan Möbius's avatar
 
Jan Möbius committed
530 531 532 533
}

/// Set experience level
void setExperience( Experience _exp) {
Jan Möbius's avatar
Jan Möbius committed
534
  experienceLevel_ = _exp;
Jan Möbius's avatar
 
Jan Möbius committed
535 536 537 538
}

/// Store if a gui should be visible or not
void nogui( bool _nogui ) {
Jan Möbius's avatar
Jan Möbius committed
539
  nogui_ = _nogui;
Jan Möbius's avatar
 
Jan Möbius committed
540
}
Jan Möbius's avatar
Jan Möbius committed
541 542

/// get if a gui should be visible or not
Jan Möbius's avatar
 
Jan Möbius committed
543
bool nogui( ) {
Jan Möbius's avatar
Jan Möbius committed
544
  return nogui_;
Jan Möbius's avatar
 
Jan Möbius committed
545 546
}

Jan Möbius's avatar
Jan Möbius committed
547
/// get if a gui should be visible or not
Jan Möbius's avatar
 
Jan Möbius committed
548
bool gui( ) {
Jan Möbius's avatar
Jan Möbius committed
549
  return !nogui_;
Jan Möbius's avatar
 
Jan Möbius committed
550 551
}

Jan Möbius's avatar
Dennis:  
Jan Möbius committed
552
/// Store stereo setting
Jan Möbius's avatar
 
Jan Möbius committed
553
void stereo( bool _stereo ) {
Jan Möbius's avatar
Jan Möbius committed
554
  stereo_ = _stereo;
Jan Möbius's avatar
 
Jan Möbius committed
555
}
Jan Möbius's avatar
Jan Möbius committed
556

Jan Möbius's avatar
 
Jan Möbius committed
557 558
/// get current stereo setting
bool stereo( ) {
Jan Möbius's avatar
Jan Möbius committed
559
  return stereo_;
Jan Möbius's avatar
 
Jan Möbius committed
560 561
}

Jan Möbius's avatar
Dennis:  
Jan Möbius committed
562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581
/// 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
582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605
/// 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
606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631
/// 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_;
}

Jan Möbius's avatar
Dennis:  
Jan Möbius committed
632 633 634 635 636 637 638 639 640
/// Enables/Disables mouse cursor depth picking during stereo mode
void stereoMousePick( bool _stereoMousePick ) {
  stereoMousePick_ = _stereoMousePick;
}

/// mouse cursor depth picking during stereo mode
bool stereoMousePick( ) {
  return stereoMousePick_;
}
Jan Möbius's avatar
Dennis:  
Jan Möbius committed
641

Dirk Wilden's avatar
 
Dirk Wilden committed
642 643 644 645 646 647 648 649 650 651
/// 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
652 653
/// Store wheelZoomFactor setting
void wheelZoomFactor( double _factor ) {
Jan Möbius's avatar
Jan Möbius committed
654
  wheelZoomFactor_ = _factor;
Dirk Wilden's avatar
Dirk Wilden committed
655
}
Jan Möbius's avatar
Jan Möbius committed
656

Dirk Wilden's avatar
Dirk Wilden committed
657 658
/// get wheelZoomFactor setting
double wheelZoomFactor( ) {
Jan Möbius's avatar
Jan Möbius committed
659
  return wheelZoomFactor_;
Dirk Wilden's avatar
Dirk Wilden committed
660 661 662 663
}

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

Dirk Wilden's avatar
Dirk Wilden committed
667 668
/// get wheelZoomFactorShift setting
double wheelZoomFactorShift( ) {
Jan Möbius's avatar
Jan Möbius committed
669
  return wheelZoomFactorShift_;
Dirk Wilden's avatar
Dirk Wilden committed
670 671
}

672 673 674 675
void restrictFrameRate( bool _enable ){
  restrictFrameRate_ = _enable;
}

676 677 678 679
void showWheelsAtStartup( bool _show ){
  showWheelsAtStartup_ = _show;
}

680 681 682 683
bool restrictFrameRate( ){
  return restrictFrameRate_;
}

684 685 686 687
bool showWheelsAtStartup( ){
  return showWheelsAtStartup_;
}

688 689 690 691 692 693 694 695
void maxFrameRate( int _fps ){
  maxFrameRate_ = _fps;
}

int maxFrameRate(){
  return maxFrameRate_;
}

696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713
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;
714 715
}

716 717
int defaultViewingDirection(int _viewer){
  return defaultViewingDirection_[_viewer];
718 719
}

720 721 722 723 724 725 726 727
void defaultViewerLayout( int _layout ){
  defaultViewerLayout_ = _layout;
}

int defaultViewerLayout(){
  return defaultViewerLayout_;
}

Dirk Wilden's avatar
Dirk Wilden committed
728
void redrawDisabled( bool disable ){
729 730 731 732 733 734 735
  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
736 737 738
}

bool redrawDisabled( ){
739
  return (redrawDisabled_ > 0);
Dirk Wilden's avatar
Dirk Wilden committed
740 741
}

742 743 744 745 746 747 748 749
bool drawModesInContextMenu() {
  return drawModesInContextMenu_;
}

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

750 751 752 753 754 755 756
bool gridVisible() {
  return gridVisible_;
}

void gridVisible(bool _visible) {
  gridVisible_ = _visible;
}
757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772

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
Dennis:  
Jan Möbius committed
773 774 775 776 777 778 779 780 781
/// Store Gl based cursor painting
void glMouse( bool _glMouse ) {
  glMouse_ = _glMouse;
}

/// Should the mouse cursor be painted with gl
bool glMouse( ) {
  return glMouse_;
}
782

Jan Möbius's avatar
Jan Möbius committed
783 784 785
/// Set to current
void loggerState( LoggerState _state) {
  loggerState_ = _state;
Jan Möbius's avatar
 
Jan Möbius committed
786 787
}

Jan Möbius's avatar
Jan Möbius committed
788 789 790
/// Current state of the logging window?
LoggerState loggerState( ) {
  return loggerState_;
Jan Möbius's avatar
 
Jan Möbius committed
791 792 793 794 795 796 797 798 799 800 801 802 803 804
}

/// 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
805
  fullScreen_ = _fs;
Jan Möbius's avatar
 
Jan Möbius committed
806 807 808 809
}

/// Start fullscreen Mode?
bool fullScreen( ) {
Jan Möbius's avatar
Jan Möbius committed
810
  return fullScreen_;
Jan Möbius's avatar
 
Jan Möbius committed
811 812 813 814
}

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

Jan Möbius's avatar
 
Jan Möbius committed
818 819 820 821 822 823 824
/// 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
825
  return title_;
Jan Möbius's avatar
 
Jan Möbius committed
826 827 828
}

void windowTitle( QString _titel ) {
Jan Möbius's avatar
Jan Möbius committed
829
  title_ = _titel;
Jan Möbius's avatar
 
Jan Möbius committed
830 831 832
}

void splash( bool _splash ) {
Jan Möbius's avatar
Jan Möbius committed
833
  splash_ = _splash;
Jan Möbius's avatar
 
Jan Möbius committed
834
}
Jan Möbius's avatar
Jan Möbius committed
835

Jan Möbius's avatar
 
Jan Möbius committed
836
bool splash( ) {
Jan Möbius's avatar
Jan Möbius committed
837
  return splash_;
Jan Möbius's avatar
 
Jan Möbius committed
838 839
}

840
void defaultBackgroundColor( QColor _color ) {
841 842 843
  defaultBackgroundColor_ = _color;
}

844
QColor defaultBackgroundColor() {
845 846
  return defaultBackgroundColor_;
}
Jan Möbius's avatar
 
Jan Möbius committed
847

848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863
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
864 865 866 867
/// return last used dataType
QString lastDataType(){
  return lastDataType_;
}
Jan Möbius's avatar
Jan Möbius committed
868

Jan Möbius's avatar
 
Jan Möbius committed
869 870 871 872 873 874
/// set the last used dataType
void lastDataType(QString _type){
   lastDataType_ = _type;
}

bool scripting( ) {
Jan Möbius's avatar
Jan Möbius committed
875
  return scripting_;
Jan Möbius's avatar
 
Jan Möbius committed
876
}
Jan Möbius's avatar
Jan Möbius committed
877

Jan Möbius's avatar
 
Jan Möbius committed
878
void scripting(bool _status ) {
Jan Möbius's avatar
Jan Möbius committed
879
  scripting_ = _status;
Jan Möbius's avatar
 
Jan Möbius committed
880 881 882
}

bool logToConsole( ) {
Jan Möbius's avatar
Jan Möbius committed
883
  return logToConsole_;
Jan Möbius's avatar
 
Jan Möbius committed
884
}
Jan Möbius's avatar
Jan Möbius committed
885

Jan Möbius's avatar
 
Jan Möbius committed
886
void logToConsole(bool _logToConsole ) {
Jan Möbius's avatar
Jan Möbius committed
887
  logToConsole_ = _logToConsole;
Jan Möbius's avatar
 
Jan Möbius committed
888 889 890
}

bool debug() {
Jan Möbius's avatar
Jan Möbius committed
891
  return debug_;
Jan Möbius's avatar
 
Jan Möbius committed
892 893 894
}

void debug(bool _debug ) {
Jan Möbius's avatar
Jan Möbius committed
895
  debug_ = _debug;
Jan Möbius's avatar
 
Jan Möbius committed
896 897
}

Dirk Wilden's avatar
Dirk Wilden committed
898 899 900 901 902 903 904 905 906 907 908
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
909

Dirk Wilden's avatar
Dirk Wilden committed
910 911 912
QString logFile(){
  return logFile_;
}
Jan Möbius's avatar
 
Jan Möbius committed
913 914

bool backupEnabled( ) {
Jan Möbius's avatar
Jan Möbius committed
915
  return enableBackup_;
Jan Möbius's avatar
 
Jan Möbius committed
916 917 918 919 920 921
}

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

922 923 924 925 926 927 928 929 930 931
bool loadingSettings( ) {
  return loadingSettings_;
}

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

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

934 935
void savingSettings(bool _savingSettings ) {
  savingSettings_ = _savingSettings;
Jan Möbius's avatar
 
Jan Möbius committed
936 937
}

Dirk Wilden's avatar
Dirk Wilden committed
938 939 940 941 942 943 944 945
bool loadingRecentFile( ) {
  return loadingRecentFile_;
}

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

Jan Möbius's avatar
Jan Möbius committed
946
int* argc() {
947 948 949
  return argc_;
}

Jan Möbius's avatar
Jan Möbius committed
950
char *** argv() {
951 952 953
  return argv_;
}

Jan Möbius's avatar
Jan Möbius committed
954
void  argc( int* _argc ) {
955 956 957
  argc_ = _argc;
}

Jan Möbius's avatar
Jan Möbius committed
958
void argv( char*** _argv) {
959 960 961
  argv_ = _argv;
}

Dirk Wilden's avatar
Dirk Wilden committed
962 963 964 965 966 967 968 969
bool remoteControl(){
  return remoteControl_;
}

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

Jan Möbius's avatar
Jan Möbius committed
970 971 972 973 974 975 976 977
void doSlotDebugging( bool _debugging ) {
  doSlotDebugging_ = _debugging;
}

bool doSlotDebugging( ) {
  return doSlotDebugging_;
}

978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002
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
1003 1004 1005
  #ifndef CORE_VERSION
	#define CORE_VERSION "1.0.0RC2"
  #endif
Jan Möbius's avatar
 
Jan Möbius committed
1006
  return QString(CORE_VERSION);
1007 1008
}

1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024
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
1025 1026 1027 1028 1029 1030

}
}

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