VR-Exchange 2.2 API Documentation
tenaBroker/libTenaBroker/emitterSystemTrans.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2013 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include "objectTrans.h"
13 
15 
16 class DtEmitterBeamRepository;
17 class DtEmitterSystemRepository;
18 class DtReflectedEmitterSystem;
19 class DtReflectedEmitterSystemList;
20 
21 namespace MAKVrExchange
22 {
23 
24  namespace DtTenaBroker
25  {
26 
29  class DT_DLL_TENABROKER DtEmitterSystemObjectTranslator : public DtObjectTranslator
30  {
31  public:
32 
34  Dt_DEF_TRANSLATOR_NAME( "Emitter System" );
35 
57 
60 
62  virtual void enableTranslator(bool enabled);
63 
68  virtual void tick();
69 
70  virtual DtEmitterBeamData* translate( DtEmitterBeamData* destination,
71  const DtEmitterBeamRepository& source );
72 
88  virtual DtPortalEmitterSystemObject* translate( DtPortalEmitterSystemObject* destination,
89  const DtEmitterSystemRepository& source );
90 
91  virtual DtEmitterBeamRepository* translate( DtEmitterBeamRepository* destination,
92  const DtEmitterBeamData& source );
93 
110  virtual DtEmitterSystemRepository* translate( DtEmitterSystemRepository* destination,
111  const DtPortalEmitterSystemObject& source );
112 
113  protected:
114 
130  static bool tenaDiscoveryCriteria( DtReflectedObject* object, void* userData );
131 
146  static void tenaAdditionCallback( DtReflectedEmitterSystem* object, void* userData );
147 
159  static void tenaUpdateCallback( DtReflectedEmitterSystem* object, void* userData );
160 
174  static void tenaRemovalCallback( DtReflectedEmitterSystem* object, void* userData );
175 
191  static bool portalDiscoveryCriteria( const DtPortalReflectedObject* object,
192  void* userData );
193 
207  static void portalAdditionCallback( const DtPortalReflectedEmitterSystemObject& object,
208  void* userData );
209 
221  static void portalUpdateCallback( const DtPortalReflectedEmitterSystemObject& object,
222  void* userData );
223 
237  static void portalRemovalCallback( const DtPortalReflectedEmitterSystemObject& object,
238  void* userData );
239 
261  virtual void discoverTenaObject( DtReflectedEmitterSystem* object );
262 
279  virtual void discoverPortalObject( const DtPortalReflectedEmitterSystemObject& object );
280 
304  virtual void receiveTenaUpdate( DtReflectedEmitterSystem* object);
305 
326  virtual void receivePortalUpdate( const DtPortalReflectedEmitterSystemObject& object );
327 
345  virtual void createPortalPublisher( DtBrokerObject* brokerObject );
346 
369  virtual void createTenaPublisher( DtBrokerObject* brokerObject );
370 
371  //Destroy the DtPortalEmitterSystemObjectPublisher of the brokerObject.
383  virtual void deletePortalPublisher( DtBrokerObject* brokerObject );
384 
397  virtual void deleteTenaPublisher( DtBrokerObject* brokerObject );
398 
405  virtual bool isPortalPublishable( const DtBrokerObject* brokerObject ) const;
406 
413  virtual bool isTenaPublishable( const DtBrokerObject* brokerObject ) const;
414 
415  private:
416 
419 
422 
424  int operator==( const DtEmitterSystemObjectTranslator& rightOperand );
425 
427  int operator!=( const DtEmitterSystemObjectTranslator& rightOperand );
428 
429  protected:
430 
432  DtReflectedEmitterSystemList* myTenaReflectedList;
433 
436 
439 
442 
443  };
444 
445  }
446 }

Document ID: Generated on Mon Apr 15 17:15:50 EDT 2013 from SVN revision 126154
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)