VR-Forces 4.10 Class Documentation
 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 #include <vrvUtil/signalslib.h>
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);
36 
39 
40  virtual makVrv::DtEnvironmentalVisualizerSet* createVertexVisualizer(VertexInformation& info);
41 
42  virtual void setWidgetEventsEnabled(bool);
43 
44  virtual void setSelectable(bool);
45 
46  virtual bool setVisible(bool b, int i);
47 
48  protected:
49  std::vector<makVrv::DtEnvironmentalVisualizerSet*> myVertices;
52  };
53 
55 
57  {
58  public:
59 
61  DtVrfGuiIntervisibilityDriver(makVrv::DtDe& de, const std::string& className);
62 
65 
66  virtual makVrv::DtIntervisibilityElement* create(const makVrv::DtUnicode& elementDefinitionName, const AttachPoints& pts);
67 
69  virtual void destroy(makVrv::DtElementID id);
70 
71  static DtVrfGuiIntervisibilityDriver* findDriver(makVrv::DtDe& de);
72 
73  virtual makVrv::DtIntervisibilityElement* createIntervisibilityFan(const DtVector& startPoint, const DtVector& endPoint);
74  virtual const makVrv::DtUnicode& intervisibilitySensorFan() const;
75 
79  virtual const makVrv::DtUnicode& rangeLine() const;
80 
81  virtual bool isEditing(makVrv::DtUniqueID) const;
82  virtual void finishEditing();
83 
86  virtual makVrv::DtIntervisibilityElement* createRangeLine(
87  const DtVector& startPoint, const DtVector& endPoint);
88 
93  virtual makVrv::DtIntervisibilityElement* createRangeLine(
94  const AttachPoints& = AttachPoints());
95 
96  virtual makVrv::DtIntervisibilityElement* createElement(makVrv::DtIntervisibilityStateListener* l, const makVrv::DtUnicode& visDefName) const;
97 
98  boost::signals2::signal<void (makVrv::DtIntervisibilityElement*)> signal_intervisibilityElementCreated;
99  boost::signals2::signal<void (makVrv::DtIntervisibilityElement*)> signal_intervisibilityElementAboutToBeDestroyed;
100  boost::signals2::signal<void (makVrv::DtUniqueID)> signal_finishedEditing;
101  boost::signals2::signal<void (makVrv::DtUniqueID)> signal_startingEditing;
102 
103  virtual void slot_place(makVrv::DtUniqueID attachTo, const DtVector& v, double altAboveGround);
104  virtual void slot_dragStart(const makVrv::DtSelectionManager::IdSet& set, const DtVector& loc);
105 
106  protected:
107  virtual void cancelChanges();
108  virtual void slot_terrainCleared();
109  virtual void slot_terrainPatchToBeDeleted();
110  virtual DtVector clamp(const DtVector& point, double altAboveGround) const;
111  virtual void completeSetup();
112  virtual void intervisibilityObjectsShown( bool show );
113  virtual void rangeLinesShown( bool show );
114  };
115 
117  {
118  public:
120  virtual makVrv::DtIntervisibilityDriver* create(makVrv::DtDe&) const;
121  };
122 }
boost::signals2::signal< void(makVrv::DtIntervisibilityElement *)> signal_intervisibilityElementCreated
Definition: vrfGuiIntervisibilityDriver.h:98
A unicode string.
Definition: DtUnicode.h:33
std::vector< AttachPoint > AttachPoints
Definition: DtIntervisibilityDriver.h:49
The DtIntervisibilityElement class implements the common behavior of shape elements that are added to...
Definition: DtIntervisibilityElement.h:32
makVrv::DtStateVisualizerCreatorTemplate< DtVrfGuiIntervisibilityVertexVisualizer > DtVrfGuiIntervisibilityVertexVisualizerCreator
Definition: vrfGuiIntervisibilityDriver.h:54
This driver will manage the creation, modification and removal of intervisibility objects...
Definition: DtIntervisibilityDriver.h:40
Contains the DtIntervisibilityVertexVisualizer class declaration.
Contains makVrv::DtStateView class.
Definition: DtStateVisualizer.h:322
Creator for the intervisibility driver.
Definition: DtIntervisibilityDriver.h:376
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
Definition: vrfGuiIntervisibilityDriver.h:116
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:34
std::vector< makVrv::DtEnvironmentalVisualizerSet * > myVertices
Definition: vrfGuiIntervisibilityDriver.h:49
Contains the DtIntervisibilityDriver class declaration.
Contains makVrv::DtEntityState 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
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Contains makVrf::DtVrfGuiIntervisibilityDriver class.
Definition: vrfGuiIntervisibilityDriver.h:30
boost::signals2::signal< void(makVrv::DtUniqueID)> signal_finishedEditing
Definition: vrfGuiIntervisibilityDriver.h:100
boost::signals2::signal< void(makVrv::DtUniqueID)> signal_startingEditing
Definition: vrfGuiIntervisibilityDriver.h:101
boost::signals2::signal< void(makVrv::DtIntervisibilityElement *)> signal_intervisibilityElementAboutToBeDestroyed
Definition: vrfGuiIntervisibilityDriver.h:99
Definition: vrfGuiIntervisibilityDriver.h:56
bool mySelectable
Definition: vrfGuiIntervisibilityDriver.h:51
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
The DtStateListener is an abstract class.
Definition: DtStateListener.h:21
bool myWantsToBeVisible
Definition: vrfGuiIntervisibilityDriver.h:50
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
Definition: DtIntervisibilityVertexVisualizer.h:169

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)