VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
sensorContactLinesUpdater.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrfGuiCore/vrfGuiCore.h>
13 #include <vrvCore/DtTickable.h>
15 
16 
17 
18 namespace makVrv
19 {
20  class DtSceneObject;
21  class DtDe;
22  class DtModel;
23 }
24 
25 namespace makVrf
26 {
27  class DtSensorContactLinesModel;
28 
32  {
33  public:
36 
38  virtual ~DtSensorContactLinesUpdater();
39 
42  virtual void update( DtTime tNow );
43 
45  virtual void setSceneObject( makVrv::DtSceneObject* sceneObject );
46 
48  virtual void setSensorContactLinesModel(DtSensorContactLinesModel*);
49 
51  virtual void setEnabled(bool);
52 
53  protected:
54  virtual bool needsUpdate( DtTime tNow );
55  virtual void slot_sceneObjectToBeDeleted( const makVrv::DtUniqueID& id );
56  virtual void slot_contactInfoReceived(DtUUID, const DtVrfSensorInfoManager::DtSensorInformationMap&);
57  virtual void slot_sensorContactLinesModelToBeDestroyed(makVrv::DtModel*);
58 
59  virtual void addSensorContact(makVrv::DtUniqueID);
60  virtual void slot_sensorContactToBeDeleted( const makVrv::DtUniqueID& id );
61  virtual void connectSceneObject();
62 
63  protected:
64  struct Object
65  {
66  Object() : sceneObject(0), spotReportSceneObject(0), sceneObjectConnections(0), spotReportConnections(0) {};
67  virtual ~Object() {};
68 
69  makVrv::DtSceneObject* sceneObject;
76  };
77 
78  typedef std::map<makVrv::DtUniqueID, Object> SensorContacts;
79 
80  virtual void clearSensorContacts(SensorContacts&);
81  virtual bool findSpotReportFor(Object&);
82 
83  protected:
85 
88  bool myEnabled;
92 
94 
98  boost::signals2::connection mySceneObjectConnection;
99  boost::signals2::connection myModelToBeDestroyedConnection;
100  };
101 }
Implementation of class that will manage a collection of line models.
Definition: sensorContactLinesModel.h:24
UUID is a unique ID wrapper class.
Definition: rwUUID.h:226
Object()
Definition: sensorContactLinesUpdater.h:66
DtSensorContactLinesModel * mySensorContactLinesModel
Definition: sensorContactLinesUpdater.h:87
virtual ~Object()
Definition: sensorContactLinesUpdater.h:67
Definition: sensorContactLinesUpdater.h:64
bool myEnabled
Definition: sensorContactLinesUpdater.h:88
boost::signals2::connection myModelToBeDestroyedConnection
Definition: sensorContactLinesUpdater.h:99
makVrv::DtSceneObject * mySceneObject
Definition: sensorContactLinesUpdater.h:86
voidpf uLong int origin
Definition: ioapi.h:42
Udpater that will update the sensor contact lines and positions for entities sensor contacts...
Definition: sensorContactLinesUpdater.h:31
DtVector position
Definition: sensorContactLinesUpdater.h:72
bool myPendingConnection
Definition: sensorContactLinesUpdater.h:91
An abstract base class for objects that require updates. This object automatically adds itself to a D...
Definition: DtTickable.h:26
makVrv::DtSignalConnectionManager * sceneObjectConnections
Definition: sensorContactLinesUpdater.h:73
std::map< std::string, DtSensorInformation > DtSensorInformationMap
Definition: vrfSensorInfoManager.h:60
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
DtVector myLastPosition
Definition: sensorContactLinesUpdater.h:93
makVrv::DtElementID id
Definition: sensorContactLinesUpdater.h:70
makVrv::DtSignalConnectionManager * spotReportConnections
Definition: sensorContactLinesUpdater.h:75
makVrv::DtUniqueID myUniqueId
Definition: sensorContactLinesUpdater.h:90
std::map< makVrv::DtUniqueID, Object > SensorContacts
Definition: sensorContactLinesUpdater.h:78
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
makVrv::DtDe & myDe
Definition: sensorContactLinesUpdater.h:89
Contains the declaration for makVrv::DtTickable.
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:42
boost::signals2::connection mySceneObjectConnection
When the class is destructed, the scene object may or may not exist. Using a separate connection va...
Definition: sensorContactLinesUpdater.h:98
A model which owns a single model instance. A DtModel is a managing container for a single DtModelIns...
Definition: DtModel.h:55
makVrv::DtSceneObject * spotReportSceneObject
Definition: sensorContactLinesUpdater.h:71
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
SensorContacts mySensorContacts
Definition: sensorContactLinesUpdater.h:84

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)