VR-Forces 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 DtElementDefinition;
22 }
23 
24 namespace makVrf
25 {
31  {
32  public:
35  makVrv::DtSceneObjectAgent*, makVrv::DtModelSetId 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 void implementVisibility(bool b) override;
47 
48  protected:
49  virtual void initialize() override;
50 
51  protected:
52  std::vector<makVrv::DtEnvironmentalVisualizerSet*> myVertices;
55  };
56 
58 
60  {
61  public:
62 
64  DtVrfGuiIntervisibilityDriver(makVrv::DtDe& de, const std::string& className);
65 
68 
69  virtual makVrv::DtIntervisibilityElement* create(const makVrv::DtUnicode& elementDefinitionName, const AttachPoints& pts);
70 
72  virtual void destroy(makVrv::DtElementID id);
73 
74  static DtVrfGuiIntervisibilityDriver* findDriver(makVrv::DtDe& de);
75 
76  virtual makVrv::DtIntervisibilityElement* createIntervisibilityFan(const DtVector& startPoint, const DtVector& endPoint);
77  virtual const makVrv::DtUnicode& intervisibilitySensorFan() const;
78 
79  virtual bool isEditing(makVrv::DtUniqueID) const;
80  virtual void finishEditing();
81 
82  virtual makVrv::DtIntervisibilityElement* createElement(makVrv::DtIntervisibilityStateListener* l, const makVrv::DtUnicode& visDefName) const;
83 
84  boost::signals2::signal<void (makVrv::DtIntervisibilityElement*)> signal_intervisibilityElementCreated;
85  boost::signals2::signal<void (makVrv::DtIntervisibilityElement*)> signal_intervisibilityElementAboutToBeDestroyed;
86  boost::signals2::signal<void (makVrv::DtUniqueID)> signal_finishedEditing;
87  boost::signals2::signal<void (makVrv::DtUniqueID)> signal_startingEditing;
88 
89  virtual void slot_place(makVrv::DtUniqueID attachTo, const DtVector& v, double altAboveGround);
90  virtual void slot_dragStart(const makVrv::DtSelectionManager::IdSet& set, const DtVector& loc);
91 
92  protected:
93  virtual void cancelChanges();
94  virtual void slot_terrainCleared();
95  virtual void slot_terrainPatchToBeDeleted();
96  virtual DtVector clamp(const DtVector& point, double altAboveGround) const;
97  virtual void completeSetup();
98  virtual void intervisibilityObjectsShown( bool show );
99  virtual DtVector positionOfAttachment(makVrv::DtElementID) const;
100  };
101 
103  {
104  public:
106  virtual makVrv::DtIntervisibilityDriver* create(makVrv::DtDe&) const;
107  };
108 }
boost::signals2::signal< void(makVrv::DtIntervisibilityElement *)> signal_intervisibilityElementCreated
Definition: vrfGuiIntervisibilityDriver.h:84
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:35
makVrv::DtStateVisualizerCreatorTemplate< DtVrfGuiIntervisibilityVertexVisualizer > DtVrfGuiIntervisibilityVertexVisualizerCreator
Definition: vrfGuiIntervisibilityDriver.h:57
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:274
Creator for the intervisibility driver.
Definition: DtIntervisibilityDriver.h:411
#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:102
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:35
std::vector< makVrv::DtEnvironmentalVisualizerSet * > myVertices
Definition: vrfGuiIntervisibilityDriver.h:52
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:32
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. This class overrides the VR-Vantage driver to p...
Definition: vrfGuiIntervisibilityDriver.h:30
boost::signals2::signal< void(makVrv::DtUniqueID)> signal_finishedEditing
Definition: vrfGuiIntervisibilityDriver.h:86
boost::signals2::signal< void(makVrv::DtUniqueID)> signal_startingEditing
Definition: vrfGuiIntervisibilityDriver.h:87
boost::signals2::signal< void(makVrv::DtIntervisibilityElement *)> signal_intervisibilityElementAboutToBeDestroyed
Definition: vrfGuiIntervisibilityDriver.h:85
Definition: vrfGuiIntervisibilityDriver.h:59
bool mySelectable
Definition: vrfGuiIntervisibilityDriver.h:54
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
DtModelSetId
Definition: DtModelSetEnums.h:19
The DtStateListener is an abstract class. Subclasses implement functionality that will allow data to ...
Definition: DtStateListener.h:26
bool myWantsToBeVisible
Definition: vrfGuiIntervisibilityDriver.h:53
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
Definition: DtIntervisibilityVertexVisualizer.h:147

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)