VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
embarkationWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 
15 #include <vrvCore/DtUniqueID.h>
17 #include <QtWidgets/QWidget>
18 #include <matrix/vlVector.h>
19 #include <boost/signals2.hpp>
20 
21 class QCheckBox;
22 class QLabel;
23 
24 namespace makVrv
25 {
26  class DtDe;
27  class DtObserver;
28  class DtOsgScribeBoxModel;
29  class DtInputDriver;
30 }
31 
32 namespace makVrf
33 {
37  {
38  Q_OBJECT
39 
40  public:
42  DtEmbarkationWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
43 
44  //DTOR
45  virtual ~DtEmbarkationWidget();
46 
48  virtual void setLocation(const DtVector&);
49 
51  virtual void enable();
52  virtual void disable();
53 
55  virtual void setCheckCanEmbarkOn(bool);
56  virtual bool checkCanEmbarkOn() const;
57 
59  virtual void setIdsToIgnore(const std::vector<makVrv::DtUniqueID>&);
60  virtual const std::vector<makVrv::DtUniqueID>& idsToIgnore() const;
61 
62  virtual void setEmbarkInSlotIfAvailableVisible(bool b);
63 
66  virtual void setEmbarkedOn(makVrv::DtUniqueID);
67 
70  virtual void setStayEmbarkedIfEmbarked(bool);
72  {
73  return myStayEmbarkedIfEmbarked;
74  }
75 
76  boost::signals2::signal<void (makVrv::DtUniqueID, bool)> signal_embarkInformationChanged;
77 
78  protected slots:
79  virtual void onEmbarkOnChanged();
80  virtual void onEmbarkInSlotIfAvailableChanged();
81 
82  protected:
84  virtual void setHighlight(makVrv::DtUniqueID, bool);
85 
86  virtual void setCurrentObserver( makVrv::DtObserver* observer );
87  virtual void onCurrentObserverChanged(makVrv::DtInputDriver* driver, makVrv::DtObserver* observer);
88  virtual void onObserverModeChanged(makVrv::DtObserver* observer, int mode);
89 
90  virtual void restoreOriginalHighlightInformation();
91 
93  virtual makVrv::DtOsgScribeBoxModel* scribeBoxModelFor(makVrv::DtUniqueID displayId);
94 
95  public:
99 
100  protected:
101  bool myEnabled;
104  std::vector<makVrv::DtUniqueID> myIdsToIgnore;
107 
110  {
112  float r, g, b, a;
113  bool visible;
114  };
115 
116  typedef std::map<makVrv::DtUniqueID,std::vector<ScribeBoxInfo> > ScribeBoxHighlightInfo;
121  };
122 
125  {
126  public:
128  virtual ~DtEmbarkationWidgetCreator();
129 
130  static DtEmbarkationWidgetCreator& instance(makVrv::DtDe&);
131  static void registerInstance(makVrv::DtDe&, DtEmbarkationWidgetCreator*);
132 
133  virtual DtEmbarkationWidget* create(QWidget* parent = 0);
134 
135  protected:
137  };
138 }
float r
Definition: embarkationWidget.h:112
QCheckBox * myEmbarkInSlotIfAvailable
Definition: embarkationWidget.h:98
makVrv::DtUniqueID displayId
Definition: embarkationWidget.h:111
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
Creator for this widget.
Definition: embarkationWidget.h:124
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
makVrv::DtObserver * myCurrentObserver
Definition: embarkationWidget.h:106
bool myCheckCanEmbarkOn
Definition: embarkationWidget.h:118
This is a realization of DtScribeBoxModel. It is a model class that is used to create bounding scribe...
Definition: DtOsgScribeBoxModel.h:38
DtVector myLastLocation
Definition: embarkationWidget.h:103
bool myStayEmbarkedIfEmbarked
Definition: embarkationWidget.h:119
std::map< makVrv::DtUniqueID, std::vector< ScribeBoxInfo > > ScribeBoxHighlightInfo
Definition: embarkationWidget.h:116
boost::signals2::signal< void(makVrv::DtUniqueID, bool)> signal_embarkInformationChanged
Definition: embarkationWidget.h:76
current highlight information of selected embarkable object
Definition: embarkationWidget.h:109
bool stayEmbarkedIfEmbarked() const
Definition: embarkationWidget.h:71
A facade for a DtObserverObject.
Definition: DtObserver.h:37
Contains makVrv::DtVirtualBaseClass class.
Simple widget that, if a location is set, will see if there is an entity under that location...
Definition: embarkationWidget.h:36
bool myEnabled
Definition: embarkationWidget.h:101
bool myWasEmbarked
Definition: embarkationWidget.h:120
QCheckBox * myEnableAutomaticEmbarkation
Definition: embarkationWidget.h:96
bool visible
Definition: embarkationWidget.h:113
ScribeBoxHighlightInfo myScribeBoxHighlightInfo
Definition: embarkationWidget.h:117
makVrv::DtUniqueID myEmbarkId
Definition: embarkationWidget.h:105
This class&#39;s main responsibility is to handle keyboard and mouse events from OSG (Qt events are route...
Definition: DtInputDriver.h:43
makVrv::DtDe & myDe
Definition: embarkationWidget.h:102
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
std::vector< makVrv::DtUniqueID > myIdsToIgnore
Definition: embarkationWidget.h:104
const char int mode
Definition: ioapi.h:38
Contains makVrv::DtUniqueID type.
makVrv::DtDe & myDe
Definition: embarkationWidget.h:136
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
QLabel * myEmbarkOn
Definition: embarkationWidget.h:97

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)