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 
16 namespace makVrv
17 {
18  class DtElementDefinitionManager;
19  class DtElementDefinition;
20 }
21 
22 namespace makVrf
23 {
29  {
30  public:
33  makVrv::DtSceneObjectAgent*, makVrv::DtModelSetId modelSet);
34 
36  virtual ~DtVrfGuiIntervisibilityVertexVisualizer() override;
37 
38  virtual makVrv::DtEnvironmentalVisualizerSet* createVertexVisualizer(VertexInformation& info) override;
39 
40  virtual void setWidgetEventsEnabled(bool);
41 
42  virtual void setSelectable(bool);
43 
44  virtual void implementVisibility(bool b) override;
45 
46  protected:
47  virtual void initialize() override;
48 
49  protected:
50  std::vector<makVrv::DtEnvironmentalVisualizerSet*> myVertices;
53  };
54 
56 
58  {
59  public:
60 
62  DtVrfGuiIntervisibilityDriver(makVrv::DtDe& de, const std::string& className);
63 
65  virtual ~DtVrfGuiIntervisibilityDriver() override;
66 
67  virtual makVrv::DtIntervisibilityElement* create(
68  const makVrv::DtUnicode& elementDefinitionName, const AttachPoints& pts) override;
69 
71  virtual void destroy(makVrv::DtElementID id) override;
72 
73  static DtVrfGuiIntervisibilityDriver* findDriver(makVrv::DtDe& de);
74 
75  virtual makVrv::DtIntervisibilityElement* createIntervisibilityFan(
76  const DtVector& startPoint, const DtVector& endPoint) override;
77  virtual const makVrv::DtUnicode& intervisibilitySensorFan() const;
78 
79  virtual bool isEditing(makVrv::DtUniqueID) const;
80  virtual void finishEditing() override;
81 
82  virtual makVrv::DtIntervisibilityElement* createElement(
83  makVrv::DtIntervisibilityStateListener* l, const makVrv::DtUnicode& visDefName) const override;
84 
85  boost::signals2::signal<void (makVrv::DtIntervisibilityElement*)> signal_intervisibilityElementCreated;
86  boost::signals2::signal<void (makVrv::DtIntervisibilityElement*)> signal_intervisibilityElementAboutToBeDestroyed;
87  boost::signals2::signal<void (makVrv::DtUniqueID)> signal_finishedEditing;
88  boost::signals2::signal<void (makVrv::DtUniqueID)> signal_startingEditing;
89 
90  virtual void slot_place(makVrv::DtUniqueID attachTo, const DtVector& v, double altAboveGround) override;
91  virtual void slot_dragStart(const makVrv::DtSelectionManager::IdSet& set, const DtVector& loc) override;
92 
93  protected:
94  virtual void cancelChanges() override;
95  virtual void slot_terrainCleared();
96  virtual void slot_terrainPatchToBeDeleted();
97  virtual DtVector clamp(const DtVector& point, double altAboveGround) const override;
98  virtual void completeSetup() override;
99  virtual void intervisibilityObjectsShown( bool show );
100  virtual DtVector positionOfAttachment(makVrv::DtElementID) const;
101  };
102 
104  {
105  public:
107  virtual makVrv::DtIntervisibilityDriver* create(makVrv::DtDe&) const override;
108  };
109 }
boost::signals2::signal< void(makVrv::DtIntervisibilityElement *)> signal_intervisibilityElementCreated
Definition: vrfGuiIntervisibilityDriver.h:85
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:37
makVrv::DtStateVisualizerCreatorTemplate< DtVrfGuiIntervisibilityVertexVisualizer > DtVrfGuiIntervisibilityVertexVisualizerCreator
Definition: vrfGuiIntervisibilityDriver.h:55
This driver will manage the creation, modification and removal of intervisibility objects...
Definition: DtIntervisibilityDriver.h:42
Contains the DtIntervisibilityVertexVisualizer class declaration.
Definition: DtStateVisualizer.h:274
Creator for the intervisibility driver.
Definition: DtIntervisibilityDriver.h:415
#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:103
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:50
Contains the DtIntervisibilityDriver class declaration.
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:28
boost::signals2::signal< void(makVrv::DtUniqueID)> signal_finishedEditing
Definition: vrfGuiIntervisibilityDriver.h:87
boost::signals2::signal< void(makVrv::DtUniqueID)> signal_startingEditing
Definition: vrfGuiIntervisibilityDriver.h:88
boost::signals2::signal< void(makVrv::DtIntervisibilityElement *)> signal_intervisibilityElementAboutToBeDestroyed
Definition: vrfGuiIntervisibilityDriver.h:86
Definition: vrfGuiIntervisibilityDriver.h:57
bool mySelectable
Definition: vrfGuiIntervisibilityDriver.h:52
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:76
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:51
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
Definition: DtIntervisibilityVertexVisualizer.h:150

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)