OpendTect  6.3
uivisdirlightdlg.h
Go to the documentation of this file.
1 #pragma once
2 /*+
3 ________________________________________________________________________
4 
5  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
6  Author: Karthika
7  Date: Sep 2009
8 ________________________________________________________________________
9 
10 -*/
11 
12 #include "uivismod.h"
13 #include "uivismod.h"
14 #include "uidialog.h"
15 #include "uipolardiagram.h"
16 
17 class uiDialExtra;
18 class uiGenInput;
19 class uiLabeledComboBox;
20 class uiPushButton;
21 class uiSlider;
22 class uiVisPartServer;
23 
24 namespace visBase { class Light; }
25 
28 public:
30  ~uiDirLightDlg();
31 
32  void show();
33 
34 protected:
35 
36  visBase::Light* getDirLight(int) const;
37  void setDirLight();
38  float getCameraLightIntensity( int ) const;
39  void setCameraLightIntensity();
40  float getCameraAmbientIntensity(int) const;
41  bool updateSceneSelector();
42  void updateInitInfo();
43  void saveInitInfo();
44  void resetWidgets();
45  void setWidgets(bool);
46  void showWidgets(bool);
47  void validateInput();
48  bool isInSync();
49  void removeSceneNotifiers();
50  float getDiffuseIntensity() const;
51 
52  bool acceptOK();
53  bool rejectOK();
54  void pdDlgDoneCB(CallBacker*);
55  void showPolarDiagramCB(CallBacker*);
56  void lightSelChangedCB(CallBacker*);
57  void sceneSelChangedCB(CallBacker*);
58  void fieldChangedCB(CallBacker*);
59  void polarDiagramCB(CallBacker*);
60  void cameraLightChangedCB(CallBacker*);
61  void cameraAmbientChangedCB( CallBacker* );
62  void nrScenesChangedCB(CallBacker*);
63  void sceneNameChangedCB(CallBacker*);
64  void activeSceneChangedCB(CallBacker*);
65  void onOffChg(CallBacker*);
66  void setlightSwitch();
67 
69 
78  uiDialog* pddlg_;
80 
81  typedef mStruct(uiVis) InitInfo
82  {
83  int sceneid_;
84 
85  float azimuth_; // user degrees
86  float dip_; // degrees
87 
88  float cameraintensity_;
89  float ambintensity_;
90 
91  bool directlighton_;
92  float dirintensity_;
93  float dx_;
94  float dy_;
95  float dz_;
96 
97  InitInfo();
98  void reset(bool resetheadonval=true);
99 
100  InitInfo& operator = (const InitInfo&);
101  bool operator == (const InitInfo&) const;
102  bool operator != (const InitInfo&) const;
103 
105 
107 
108 };
#define mExpClass(module)
Definition: commondefs.h:157
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
Definition: uislider.h:40
bool operator==(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:51
is the base class for all buttons.
Definition: uibutton.h:80
#define mStruct(module)
Definition: commondefs.h:162
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
TypeSet< InitInfoType > initinfo_
Definition: uivisdirlightdlg.h:106
uiSlider * dipfld_
Definition: uivisdirlightdlg.h:72
The Visualization Part Server.
Definition: uivispartserv.h:60
Definition: uiparent.h:24
Definition: uidial.h:69
Definition: uidialog.h:40
Displays a polar diagram which can be used to set the azimuth and the dip by gyrating the pointer...
Definition: uipolardiagram.h:27
uiLabeledComboBox * scenefld_
Definition: uivisdirlightdlg.h:70
uiGenInput * switchfld_
Definition: uivisdirlightdlg.h:79
Definition: uivisdirlightdlg.h:26
Class for all lights. More options are available in osg, but only what we currently need is implement...
Definition: vislight.h:32
General Input Element.
Definition: uigeninput.h:56
bool operator!=(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:60
Definition: uicombobox.h:137
Definition: visannot.h:40
uiPushButton * showpdfld_
Definition: uivisdirlightdlg.h:76
uiSlider * cameradirintensityfld_
Definition: uivisdirlightdlg.h:74
uiDialog * pddlg_
Definition: uivisdirlightdlg.h:78
uiVisPartServer * visserv_
Definition: uivisdirlightdlg.h:68
uiPolarDiagram * pd_
Definition: uivisdirlightdlg.h:77
uiSlider * cameraambintensityfld_
Definition: uivisdirlightdlg.h:75
uiSlider * dirintensityfld_
Definition: uivisdirlightdlg.h:73
InitInfoType
Definition: uivisdirlightdlg.h:104
uiDialExtra * azimuthfld_
Definition: uivisdirlightdlg.h:71

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