VR-Exchange 2.9 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
disBroker/disBroker/emitterSystemTranslator.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2016 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
13 #include <vl/reflectedEmitterSystemList.h>
14 #include <vl/emitterSystemPublisher.h>
15 
16 class DtEmitterBeamRepository;
17 class DtReflectedEmitterSystem;
18 class DtEmitterSystemRepository;
19 
20 #define EMITTER_TEMPLATE_ARGS \
21  DtPortalEmitterSystemObject, DtPortalReflectedEmitterSystemObject, \
22  DtReflectedEmitterSystem, DtReflectedEmitterSystemList, \
23  DtEmitterSystemRepository, DtEmitterSystemPublisher
24 
25 namespace MAKVrExchange
26 {
27 
28  namespace DtDisBroker
29  {
30 
34  : public DtEmbeddedSystemTranslator<EMITTER_TEMPLATE_ARGS>
35  {
36  public:
37 
39  Dt_DEF_TRANSLATOR_NAME( "Emitter System" );
40 
42  DtEmitterSystemTranslator( DtBroker* disBroker );
43 
45  virtual ~DtEmitterSystemTranslator();
46 
47  protected:
48 
51  virtual bool isDisPublishable( DtBrokerObject* brokerObj,
53 
58  virtual bool performDisGlobalIdMapping( const DtObjectPublisher* publisher,
60  DtGlobalIdMapper::ObjectType type /* = DtGlobalIdMapper::EntityType */,
61  int systemId /* = DtGlobalIdMapper::NoSystemId */,
62  int beamId /* = DtGlobalIdMapper::NoBeamId */ );
63 
66  virtual DtString portalObjectName( const DtReflectedEmitterSystem* refObj ) const;
67 
71  virtual bool performPortalGlobalIdMapping(
72  const DtPortalEmitterSystemObjectPublisher* publisher,
73  const DtReflectedEmitterSystem& refObj,
74  DtGlobalIdMapper::ObjectType type /* = DtGlobalIdMapper::EntityType */,
75  int systemId /* = DtGlobalIdMapper::NoSystemId */,
76  int beamId /* = DtGlobalIdMapper::NoBeamId */ );
77 
80  virtual void deleteDisPublisher( DtBrokerObject* brokerObject );
81 
83  virtual DtPortalEmitterSystemObject* translate( DtPortalEmitterSystemObject* destination,
84  const DtEmitterSystemRepository& source, const DtReflectedEmitterSystem& refObj );
85 
87  virtual DtEmitterBeamData* translate( DtEmitterBeamData* destination,
88  const DtEmitterBeamRepository& source );
89 
91  virtual DtEmitterSystemRepository* translate( DtEmitterSystemRepository* destination,
93 
95  virtual DtEmitterBeamRepository* translate( DtEmitterBeamRepository* destination,
96  const DtEmitterBeamData& source );
97 
98  };
99 
100  }
101 }
102 
ObjectType
Definition: disBroker/disBroker/globalIdMapper.h:65
Provides container to hold pointers to Protocol/Portal objects.
Definition: brokerObject.h:24
A simple template class to hold different types of State Repositories.
Definition: pObjectPublisher.h:68
Base class for all embedded system translators.
Definition: disBroker/disBroker/embeddedSystemTranslator.h:44
Provides Emitter System object translation between DIS and the VR-Exchange Portal.
Definition: disBroker/disBroker/emitterSystemTranslator.h:33
Base class for all broker objects.
Definition: broker.h:58
A template to create reflected object types for each type of object message.
Definition: pReflectedObject.h:58
#define Dt_DEF_TRANSLATOR_NAME(strname)
Definition: translator.h:16
#define DT_DLL_DISBROKER
Definition: brokers/disBroker/disBroker/dllExport.h:20
Represents Emitter Beam Objects.
Definition: emitterBeamData.h:36
Used in translation of Electromagnetic Emissions Objects, such as Emitter System Objects, and Emitter Beam Objects.
Definition: pEmitterSystemObject.h:27

Document ID: Generated on Tue Jun 25 16:45:35 EDT 2024 from SVN revision 267383
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)