VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtControlPointWidget.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef DtControlPointWidget_H_
11 #define DtControlPointWidget_H_
12 
13 #include <vrvCore/vrvCore.h>
14 #include <vrvCore/DtUniqueID.h>
16 #include <vrvCore/DtMouseState.h>
17 #include <vrvUtil/signalslib.h>
18 
19 namespace makVrv
20 {
21  class DtAgentManagerInterface;
22  class DtProjectedWidgetModelAgent;
23  class DtWidgetAgent;
24  class DtWidgetLabelAgent;
25  class DtModelAgent;
26  class DtWidgetInstanceSignaler;
27  class DtWidgetSignaler;
28  class DtWidgetEventSignals;
29 
34  {
35  public:
38  {
39  Normal, // inactive, not selected
40  Active, // e.g. mouseover
41  Selected, // The only selected object
42  MultiSelected, // Part of a group of selected control points
43  };
44 
45  DtControlPointWidget(int modelSet, DtAgentManagerInterface& sceneInterface);
46 
47  virtual ~DtControlPointWidget();
48 
50  virtual void setModelDefinitions(
51  const std::string& emptyTheme = "ControlPointTheme",
52  const std::string& normalTheme = "ControlPointTheme",
53  const std::string& activeTheme = "ControlPointPinnedTheme",
54  const std::string& normalPointTheme = "ControlPointPinnedTheme",
55  const std::string& selectedPointTheme = "ControlPointPinnedTheme");
56 
58  virtual void setState(ControlPointState state);
59 
61  virtual void setColor(float r, float g, float b);
62 
64  virtual void setDimensions(int height, int width);
65 
67  DtModelAgent* model();
68 
70  ControlPointState state();
71 
73  virtual void setEventsEnabled(bool enabled);
74 
76  DtWidgetEventSignals& eventSignals(DtWidgetSignaler& signaler);
77 
79  virtual void setOrderGroup(int);
80  protected:
81 
84  DtProjectedWidgetModelAgent* myProjectedWidgetModelAgent;
85  DtWidgetAgent* myWidgetAgent;
86  DtWidgetAgent* myPointWidgetAgent;
88 
89  std::string myEmptyTheme;
90  std::string myNormalTheme;
91  std::string myActiveTheme;
92  std::string mySelectedPointTheme;
94 
95  int myHeight;
96  int myWidth;
97 
100 
103  float myR;
104  float myG;
105  float myB;
106  };
107 }
108 
109 #endif
110 
ControlPointState
The possible states of a control point.
Definition: DtControlPointWidget.h:37
bool myEventsEnabled
Definition: DtControlPointWidget.h:99
Definition: DtControlPointWidget.h:41
A signaler class for a particular widget instance with the provided DtUniqueID.
Definition: DtWidgetSignaler.h:60
This is the 2D widget used as an indicator for Tactical Graphics objects.
Definition: DtControlPointWidget.h:33
Definition: DtControlPointWidget.h:42
DtProjectedWidgetModelAgent * myProjectedWidgetModelAgent
Definition: DtControlPointWidget.h:84
Definition: DtControlPointWidget.h:39
std::string myMultiSelectedPointTheme
Definition: DtControlPointWidget.h:93
std::string myActiveTheme
Definition: DtControlPointWidget.h:91
ControlPointState myState
Definition: DtControlPointWidget.h:98
This file contains the declaration for the class DtMouseState.
bool mySelected
Definition: DtControlPointWidget.h:101
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
int myModelSet
Definition: DtControlPointWidget.h:82
std::string myEmptyTheme
Definition: DtControlPointWidget.h:89
int myHeight
Definition: DtControlPointWidget.h:95
int myOrderGroup
Definition: DtControlPointWidget.h:102
float myR
Definition: DtControlPointWidget.h:103
Definition: DtControlPointWidget.h:40
float myG
Definition: DtControlPointWidget.h:104
std::string mySelectedPointTheme
Definition: DtControlPointWidget.h:92
DtWidgetAgent * myPointWidgetAgent
Definition: DtControlPointWidget.h:86
int myWidth
Definition: DtControlPointWidget.h:96
std::string myNormalTheme
Definition: DtControlPointWidget.h:90
Contains makVrv::DtUniqueID type.
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:33
float myB
Definition: DtControlPointWidget.h:105
A signaler class that is used to connect generated events from a DtWidget in the main thread to the a...
Definition: DtWidgetSignaler.h:86
DtWidgetAgent * myWidgetAgent
Definition: DtControlPointWidget.h:85
DtAgentManagerInterface & mySceneInterface
Definition: DtControlPointWidget.h:83
DtWidgetInstanceSignaler * myWidgetSignaler
Definition: DtControlPointWidget.h:87
A simple collection of signals that all widgets can emit.
Definition: DtWidgetSignaler.h:27
Contains makVrv::DtAgentManagerInterface class.
Contains DLL export macros.

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)