VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfGuiIntervisibilityDriver.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #pragma once
10 
11 
12 #include <vrfGuiCore/vrfGuiCore.h>
15 #include <vrvCore/DtStateView.h>
16 #include <vrvCore/DtEntityState.h>
17 
18 namespace makVrv
19 {
20  class DtElementDefinitionManager;
21  class DtElementDefinitionNew;
22 }
23 
24 namespace makVrf
25 {
31  {
32  public:
35  int modelSet);
37  makVrv::DtSceneObjectAgent*, int modelSet);
38 
41 
42  virtual makVrv::DtEnvironmentalVisualizerSet* createVertexVisualizer(VertexInformation& info);
43 
44  virtual void setWidgetEventsEnabled(bool);
45 
46  virtual void setSelectable(bool);
47 
48  virtual void implementVisibility(bool b) override;
49 
50  protected:
51  virtual void initialize() override;
52 
53  protected:
54  std::vector<makVrv::DtEnvironmentalVisualizerSet*> myVertices;
57  };
58 
60 
62  {
63  public:
64 
66  DtVrfGuiIntervisibilityDriver(makVrv::DtDe& de, const std::string& className);
67 
70 
71  virtual makVrv::DtIntervisibilityElement* create(const makVrv::DtUnicode& elementDefinitionName, const AttachPoints& pts);
72 
74  virtual void destroy(makVrv::DtElementID id);
75 
76  static DtVrfGuiIntervisibilityDriver* findDriver(makVrv::DtDe& de);
77 
78  virtual makVrv::DtIntervisibilityElement* createIntervisibilityFan(const DtVector& startPoint, const DtVector& endPoint);
79  virtual const makVrv::DtUnicode& intervisibilitySensorFan() const;
80 
84  virtual const makVrv::DtUnicode& rangeLine() const;
85 
86  virtual bool isEditing(makVrv::DtUniqueID) const;
87  virtual void finishEditing();
88 
91  virtual makVrv::DtIntervisibilityElement* createRangeLine(
92  const DtVector& startPoint, const DtVector& endPoint);
93 
98  virtual makVrv::DtIntervisibilityElement* createRangeLine(
99  const AttachPoints& = AttachPoints());
100 
102  virtual makVrv::DtIntervisibilityElement* createRangeLine(const DtVector& startPoint);
103 
104  virtual makVrv::DtIntervisibilityElement* createElement(makVrv::DtIntervisibilityStateListener* l, const makVrv::DtUnicode& visDefName) const;
105 
106  boost::signals2::signal<void (makVrv::DtIntervisibilityElement*)> signal_intervisibilityElementCreated;
107  boost::signals2::signal<void (makVrv::DtIntervisibilityElement*)> signal_intervisibilityElementAboutToBeDestroyed;
108  boost::signals2::signal<void (makVrv::DtUniqueID)> signal_finishedEditing;
109  boost::signals2::signal<void (makVrv::DtUniqueID)> signal_startingEditing;
110 
111  virtual void slot_place(makVrv::DtUniqueID attachTo, const DtVector& v, double altAboveGround);
112  virtual void slot_dragStart(const makVrv::DtSelectionManager::IdSet& set, const DtVector& loc);
113 
114  protected:
115  virtual void cancelChanges();
116  virtual void slot_terrainCleared();
117  virtual void slot_terrainPatchToBeDeleted();
118  virtual DtVector clamp(const DtVector& point, double altAboveGround) const;
119  virtual void completeSetup();
120  virtual void intervisibilityObjectsShown( bool show );
121  virtual void rangeLinesShown( bool show );
122  };
123 
125  {
126  public:
128  virtual makVrv::DtIntervisibilityDriver* create(makVrv::DtDe&) const;
129  };
130 }
boost::signals2::signal< void(makVrv::DtIntervisibilityElement *)> signal_intervisibilityElementCreated
Definition: vrfGuiIntervisibilityDriver.h:106
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
std::vector< AttachPoint > AttachPoints
Definition: DtIntervisibilityDriver.h:51
The DtIntervisibilityElement class implements the common behavior of shape elements that are added to...
Definition: DtIntervisibilityElement.h:34
makVrv::DtStateVisualizerCreatorTemplate< DtVrfGuiIntervisibilityVertexVisualizer > DtVrfGuiIntervisibilityVertexVisualizerCreator
Definition: vrfGuiIntervisibilityDriver.h:59
This driver will manage the creation, modification and removal of intervisibility objects...
Definition: DtIntervisibilityDriver.h:42
Contains the DtIntervisibilityVertexVisualizer class declaration.
Contains makVrv::DtStateView class.
Definition: DtStateVisualizer.h:305
Creator for the intervisibility driver.
Definition: DtIntervisibilityDriver.h:387
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
Definition: vrfGuiIntervisibilityDriver.h:124
The DtIntervisibilityStateListener is a class that will allow intervisibility objects to use start/en...
Definition: DtIntervisibilityStateListener.h:24
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:38
std::vector< makVrv::DtEnvironmentalVisualizerSet * > myVertices
Definition: vrfGuiIntervisibilityDriver.h:54
Contains the DtIntervisibilityDriver class declaration.
Contains makVrv::DtVrlinkSimulatedEntityState class.
The DtIntervisibilityVertexVisualizer will show at most two points – the start and end point of the i...
Definition: DtIntervisibilityVertexVisualizer.h:33
This visualizer set class holds is designed to only hold DtEnvironmentalStateVisualizer based classes...
Definition: DtEnvironmentalVisualizerSet.h:27
Contains makVrf::DtVrfGuiIntervisibilityDriver class. This class overrides the VR-Vantage driver to p...
Definition: vrfGuiIntervisibilityDriver.h:30
boost::signals2::signal< void(makVrv::DtUniqueID)> signal_finishedEditing
Definition: vrfGuiIntervisibilityDriver.h:108
boost::signals2::signal< void(makVrv::DtUniqueID)> signal_startingEditing
Definition: vrfGuiIntervisibilityDriver.h:109
boost::signals2::signal< void(makVrv::DtIntervisibilityElement *)> signal_intervisibilityElementAboutToBeDestroyed
Definition: vrfGuiIntervisibilityDriver.h:107
Definition: vrfGuiIntervisibilityDriver.h:61
bool mySelectable
Definition: vrfGuiIntervisibilityDriver.h:56
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:70
The DtStateListener is an abstract class. Subclasses implement functionality that will allow data to ...
Definition: DtStateListener.h:25
bool myWantsToBeVisible
Definition: vrfGuiIntervisibilityDriver.h:55
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
Definition: DtIntervisibilityVertexVisualizer.h:164

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)