WebLVC 1.8 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
disBroker/disBroker/activeSonarTranslator.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/reflectedActiveSonarList.h>
14 #include <vl/activeSonarPublisher.h>
15 
16 class DtReflectedActiveSonar;
17 class DtActiveSonarStateRepository;
18 
19 #define ACTIVE_SONAR_TEMPLATE_ARGS \
20  DtPortalActiveSonar, DtPortalReflectedActiveSonar, \
21  DtReflectedActiveSonar, DtReflectedActiveSonarList, \
22  DtActiveSonarStateRepository, DtActiveSonarPublisher
23 
24 namespace MAKVrExchange
25 {
26 
27  class DtActiveSonarBeamData;
28 
29  namespace DtDisBroker
30  {
31 
35  : public DtUnderwaterAcousticTranslator<ACTIVE_SONAR_TEMPLATE_ARGS>
36  {
37  public:
38 
40  Dt_DEF_TRANSLATOR_NAME( "Active Sonar" );
41 
43  DtActiveSonarTranslator( DtBroker* disBroker );
44 
46  virtual ~DtActiveSonarTranslator();
47 
48  protected:
49 
58  virtual DtObjectPublisher* instantiateDisPublisher(
59  const DtPortalReflectedActiveSonar* refObj, const DtEntityIdentifier& name );
60 
63  virtual void createDisPublisher( DtBrokerObject* brokerObject );
64 
67  virtual DtString portalObjectName( const DtReflectedActiveSonar* refObj ) const;
68 
73  virtual bool performPortalGlobalIdMapping(
74  const DtPortalActiveSonarPublisher* publisher, const DtReflectedActiveSonar& refObj,
75  DtGlobalIdMapper::ObjectType type /* = DtGlobalIdMapper::EntityType */,
76  int systemId /* = DtGlobalIdMapper::NoSystemId */,
77  int beamId /* = DtGlobalIdMapper::NoBeamId */ );
78 
82  virtual void receivePortalUpdate( const DtPortalReflectedActiveSonar& object );
83 
87  virtual void deleteDisPublisher( DtBrokerObject* brokerObject );
88 
91  virtual bool isDisPublishable( DtBrokerObject* brokerObj,
92  const DtPortalReflectedActiveSonar* refObj );
93 
95  virtual DtPortalActiveSonar* translate( DtPortalActiveSonar* destination,
96  const DtActiveSonarStateRepository& source, const DtReflectedActiveSonar& refObj );
97 
99  virtual DtActiveSonarStateRepository* translate( DtActiveSonarStateRepository* destination,
100  const DtPortalActiveSonar& source, const DtPortalReflectedActiveSonar& refObj );
101 
103  virtual DtActiveSonarBeamData* translate( DtActiveSonarBeamData* destination,
104  const DtActiveSonarBeamRepository& source );
105 
107  virtual DtActiveSonarBeamRepository* translate( DtActiveSonarBeamRepository* destination,
108  const DtActiveSonarBeamData& source );
109 
110  };
111 
112  }
113 }
ObjectType
Definition: disBroker/disBroker/globalIdMapper.h:65
Provides Active Sonar translation between DIS and the VR-Exchange Portal.
Definition: disBroker/disBroker/activeSonarTranslator.h:34
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
Messages which represent Active Sonars with state.
Definition: pActiveSonar.h:20
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
Represents Emitter Beam Objects.
Definition: activeSonarBeamData.h:31
#define Dt_DEF_TRANSLATOR_NAME(strname)
Definition: translator.h:16
#define DT_DLL_DISBROKER
Definition: brokers/disBroker/disBroker/dllExport.h:20
Base class for all embedded system translators.
Definition: disBroker/disBroker/underwaterAcousticTranslator.h:44

Document ID: Generated on Wed Mar 12 15:05:17 EDT 2025 from SVN revision 274272
Copyright © 2005-2025 MAK Technologies. All Rights Reserved (www.mak.com)