VR-Exchange 2.1 API Documentation
hlaBroker/entityTrans.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2012 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <hlaBroker/objectTrans.h>
13 
16 #include <portal/pEntity.h>
17 
18 #include <hlaBroker/timerSlots.h>
19 #include <QtCore/QTimer>
20 
21 #include <map>
22 
23 class DtEntityPublisher;
24 class DtReflectedEntity;
25 class DtReflectedEntityList;
26 class DtEntityStateRepository;
27 
28 namespace MAKVrExchange
29 {
30 
31  class DtPortalObject;
32 
33  namespace DtHlaBroker
34  {
35 
42  {
43  public:
44 
49 
51  virtual ~DtEntityTranslator();
52 
54  virtual void tick();
55 
57  virtual void forceUpdateAll();
58 
61  virtual const char* virtualTranslatorName() const;
62 
66  static const char* translatorName() { return "Entity State"; }
67 
69  virtual void enableTranslator( bool enabled );
70 
72  virtual DtPortalEntity* translate( DtPortalEntity* destination,
73  const DtEntityStateRepository& source );
74 
76  virtual DtEntityStateRepository* translate(
77  DtEntityStateRepository* destination, const DtPortalEntity& source );
78 
79  protected:
80 
82  virtual void discoverHlaObject( DtReflectedEntity* obj );
83 
85  virtual void discoverPortalObject( const DtPortalReflectedEntity& obj );
86 
90  virtual void receiveHlaUpdate( DtReflectedEntity* obj );
91 
95  virtual void receivePortalUpdate( const DtPortalReflectedEntity& obj );
96 
98  virtual void createHlaPublisher( DtBrokerObject* brokerObject );
99 
101  virtual void createPortalPublisher( DtBrokerObject* brokerObject );
102 
104  virtual void deleteHlaPublisher( DtBrokerObject* brokerObject );
105 
107  virtual void deletePortalPublisher( DtBrokerObject* brokerObject );
108 
111  virtual bool isHlaPublishable( const DtBrokerObject* brokerObject ) const;
112 
115  virtual bool isPortalPublishable( const DtBrokerObject* brokerObject ) const;
116 
118  virtual void syncHlaDeadReconedValues( DtBrokerObject* brokerObject );
119 
121  virtual void syncHlaArtParts( DtBrokerObject* brokerObject );
122 
124  virtual void syncPortalDeadReconedValues( DtBrokerObject* brokerObject );
125 
126  protected:
127 
130  static bool hlaDiscoveryCriteria( DtReflectedObject* obj, void* usr );
131 
134  static bool portalDiscoveryCriteria( const DtPortalReflectedObject* obj, void* usr );
135 
138  static void hlaObjectAddedCb( DtReflectedEntity* obj, void* usr );
139 
142  static void hlaObjectUpdatedCb( DtReflectedEntity* obj, void* usr );
143 
146  static void hlaObjectDeletedCb( DtReflectedEntity* obj, void* usr );
147 
150  static void portalObjectAddedCb( const DtPortalReflectedEntity& obj, void* usr );
151 
154  static void portalObjectUpdatedCb( const DtPortalReflectedEntity& obj, void* usr );
155 
158  static void portalObjectDeletedCb( const DtPortalReflectedEntity& obj, void* usr );
159 
160  private:
161 
163  DtEntityTranslator( const DtEntityTranslator& other );
164 
166  DtEntityTranslator& operator = ( const DtEntityTranslator& other );
167 
168  protected:
169 
170  DtReflectedEntityList* myHlaReflectedList;
174 
175  };
176 
177  }
178 }

Document ID: Generated on Tue Aug 7 22:07:13 EDT 2012 from SVN revision 117874
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)