14 #include <vlutil/vlString.h>
15 #include <matrix/vlVector.h>
16 #include <vlutil/vlPerformanceStats.h>
20 #include <vlpi/simulationAddress.h>
25 class DtIntervisibilityStateListener;
26 class DtIntervisibilityElement;
33 class DtVrfSimBackendManager;
34 class DtIntervisibilityOptionExtensions;
53 bool intersectTerrain =
true,
bool intersectEntities =
false,
bool intersectFeatures =
true);
59 start(s), end(e), userData(u) {};
70 bool intersectTerrain =
true,
bool intersectEntities =
false,
bool intersectFeatures =
true);
78 virtual bool validBackendToCheck()
const;
81 boost::signals2::signal<void (makVrv::DtUniqueID, const DtIfIntersectionInformationResponse::IntersectionPairInformation&)>
signal_lineOfSightResponse;
88 double waitTimeRequest,
bool intersectEntities,
bool& startingTimeRequest,
bool useAsTimer =
false);
91 virtual void setAlphaFactor(
double);
92 virtual double alphaFactor()
const;
102 virtual void checkWaitingForColor();
104 virtual void slot_visibleColorChanged(
makVrv::DtUniqueID,
float,
float,
float,
float);
105 virtual void slot_blockedColorChanged(
makVrv::DtUniqueID,
float,
float,
float,
float);
111 virtual void processIntersectionResponse(
DtSimMessage*);
132 UpdateCheckState() : timingBackendRequest(false), elapsedTimeCheck(0.), refCount(0), listener(0),
133 lengthOfTimeForBackendResponse(0.), connections(0), optExt(0), alphaFactor(1.0)
138 startPoint(orig.startPoint), endPoint(orig.endPoint), refCount(orig.refCount), listener(orig.listener),
139 lengthOfTimeForBackendResponse(orig.lengthOfTimeForBackendResponse),
140 connections(orig.connections), optExt(orig.optExt), blockedColor(orig.blockedColor), visibleColor(orig.visibleColor),
141 currentBlockedColor(orig.currentBlockedColor), currentVisibleColor(orig.currentVisibleColor), alphaFactor(orig.alphaFactor)
181 ColorWait(
const ColorWait& orig) : visibleColor(orig.visibleColor), blockedColor(orig.blockedColor) {};
183 Color visibleColor, blockedColor;
ColorWait()
Definition: backendLineOfSightManager.h:179
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
Color currentVisibleColor
Definition: backendLineOfSightManager.h:165
boost::signals2::connection mySelectionChangedConnection
Definition: backendLineOfSightManager.h:173
Definition: vrfExtendedIntervisibilitySettings.h:29
makVrv::DtDe & myDe
Definition: backendLineOfSightManager.h:124
DtTimedSection timedSection
Definition: backendLineOfSightManager.h:153
The DtIntervisibilityElement class implements the common behavior of shape elements that are added to...
Definition: DtIntervisibilityElement.h:34
makVrv::DtSignalConnectionManager myConnections
Definition: backendLineOfSightManager.h:172
DtVector end
Definition: backendLineOfSightManager.h:63
DtIntervisibilityOptionExtensions * optExt
Definition: backendLineOfSightManager.h:150
Contains makVrv:DtSelectionManager class.
DtVrfSimBackendManager * myBackendManager
Definition: backendLineOfSightManager.h:125
double elapsedTimeCheck
Definition: backendLineOfSightManager.h:152
Contains the DtUUID class declaration.
std::map< makVrv::DtUniqueID, ColorWait > myWaitForSelectionChange
Definition: backendLineOfSightManager.h:186
UpdateCheckState()
Definition: backendLineOfSightManager.h:132
std::vector< LineOfSightPoint > LineOfSightPoints
Definition: backendLineOfSightManager.h:67
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
DtVector endPoint
Definition: backendLineOfSightManager.h:155
Definition: vrfExtendedIntervisibilityStateListeners.h:24
Color blockedColor
Definition: backendLineOfSightManager.h:160
DtVector startPoint
Definition: backendLineOfSightManager.h:154
Overide that adds the ability to request information from the back-end for intervisibility checks...
Definition: backendLineOfSightManager.h:37
std::map< makVrv::DtUniqueID, unsigned long > myKeyToRequestMap
Definition: backendLineOfSightManager.h:127
Color visibleColor
Definition: backendLineOfSightManager.h:164
The DtIntervisibilityStateListener is a class that will allow intervisibility objects to use start/en...
Definition: DtIntervisibilityStateListener.h:24
Contains makVrv::DtVirtualBaseClass class.
std::map< unsigned long, std::pair< makVrv::DtUniqueID, DtSimulationAddress > > myRequestToKeyMap
Definition: backendLineOfSightManager.h:128
Definition: backendLineOfSightManager.h:177
double alphaFactor
Definition: backendLineOfSightManager.h:162
File: simMsg.h.
Definition: simMessage.h:35
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
virtual ~UpdateCheckState()
Definition: backendLineOfSightManager.h:145
DT_DLL_gdb bool intersectTerrain(DtTerrainDatabase &terrainDatabase, const DtVector &localLocation, DtChordIntersectionRecord &record, DtGdbNode::DtIntersectRecordType irtFlag, DtVectorNetworkRecord *vectorRecord, DtVectorNetworkIntersectionRecord *vectorIntersectionRecord)
int refCount
Definition: backendLineOfSightManager.h:156
boost::signals2::signal< void(makVrv::DtUniqueID, DtVrfExtendedIntervisibilitySettingsData::IntervisibilitySettings)> signal_extendedIntervisibilityOptionsChanged
Signal sent when a listener changes it's settings.
Definition: backendLineOfSightManager.h:84
bool timingBackendRequest
Definition: backendLineOfSightManager.h:151
DtTimedSection backendRequestTimer
Definition: backendLineOfSightManager.h:167
DtVrfExtendedIntervisibilitySettingsData::Color Color
Definition: backendLineOfSightManager.h:94
double myAlphaFactor
Definition: backendLineOfSightManager.h:175
Base class to provide boost signal/slot management.
makVrv::DtSignalConnectionManager * connections
Definition: backendLineOfSightManager.h:158
makVrv::DtIntervisibilityStateListener * listener
Definition: backendLineOfSightManager.h:157
Maintains and signals state of the simulation engines that are currently connected to the GUI...
Definition: vrfSimBackendManager.h:77
Contains makVrv::DtUniqueID type.
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
UpdateCheckState(const UpdateCheckState &orig)
Definition: backendLineOfSightManager.h:137
LineOfSightPoint(const DtVector &s, const DtVector &e, const DtString &u="")
Definition: backendLineOfSightManager.h:58
double lengthOfTimeForBackendResponse
Definition: backendLineOfSightManager.h:168
Color currentBlockedColor
Definition: backendLineOfSightManager.h:161
Vector of points to use for line of sight check. Points are in local database coordinates.
Definition: backendLineOfSightManager.h:56
std::map< makVrv::DtUniqueID, UpdateCheckState > myUpdateCheckState
Definition: backendLineOfSightManager.h:171
boost::signals2::signal< void(makVrv::DtUniqueID, const DtIfIntersectionInformationResponse::IntersectionPairInformation &)> signal_lineOfSightResponse
Signal sent when backend request has been received.
Definition: backendLineOfSightManager.h:81
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
Definition: vrfExtendedIntervisibilitySettings.h:80
ColorWait(const Color &v, const Color &b)
Definition: backendLineOfSightManager.h:180
Definition: backendLineOfSightManager.h:130
DtString userData
Definition: backendLineOfSightManager.h:64