VR-Exchange 2.8 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
disBroker/disBroker/arealObjectTranslator.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2016 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
13 #include <vl/arealObjectPublisher.h>
14 #include <vl/reflectedArealObjectList.h>
15 
16 class DtReflectedArealObject;
17 class DtArealObjectRepository;
18 
19 #define AREAL_OBJECT_TEMPLATE_ARGS \
20  DtPortalArealObject, DtPortalReflectedArealObject, \
21  DtReflectedArealObject, DtReflectedArealObjectList, \
22  DtArealObjectRepository, DtArealObjectPublisher
23 
24 namespace MAKVrExchange
25 {
26 
27  class DtPortalArealObject;
28 
29  namespace DtDisBroker
30  {
31 
32  template <>
33  DT_DLL_DISBROKER DtEntityIdentifier
35  const DtPortalReflectedArealObject* refObj, const DtString& identifier );
36 
37  template <>
38  DT_DLL_DISBROKER DtObjectPublisher*
40  const DtPortalReflectedArealObject* refObj, const DtEntityIdentifier& name );
41 
42 
46  : public DtDisObjectTranslator<AREAL_OBJECT_TEMPLATE_ARGS>
47  {
48  public:
49 
51  Dt_DEF_TRANSLATOR_NAME( "Areal Object" );
52 
54  DtArealObjectTranslator( DtBroker* disBroker );
55 
57  virtual ~DtArealObjectTranslator();
58 
59  protected:
60 
63  virtual bool isDisPublishable( DtBrokerObject* brokerObj,
64  const DtPortalReflectedPointObject& refObj ) const;
65 
67  virtual DtString disObjectName( const DtPortalReflectedArealObject* refObj ) const;
68 
70  virtual void updateDisBrokerObject( DtBrokerObject* brokerObj,
71  const DtArealObjectRepository& sr );
72 
75  virtual DtString portalObjectName( const DtReflectedArealObject* refObj ) const;
76 
78  virtual void updatePortalBrokerObject( DtBrokerObject* brokerObj,
79  const DtPortalArealObject& sr );
80 
81  // Translate from PDU to Portal.
82  virtual DtPortalArealObject* translate( DtPortalArealObject* dest,
83  const DtArealObjectRepository& src, const DtReflectedArealObject& refObj );
84 
85  // Translate from Portal to PDU.
86  virtual DtArealObjectRepository* translate( DtArealObjectRepository* dest,
87  const DtPortalArealObject& src, const DtPortalReflectedArealObject& refObj );
88 
89  };
90 
91  }
92 }
Base class for all DIS object translators.
Definition: disTranslator.h:86
Contains the DtDisObjectTranslator and DtDisInteractionTranslator base classes.
Provides container to hold pointers to Protocol/Portal objects.
Definition: brokerObject.h:24
virtual DtObjectPublisher * instantiateDisPublisher(const T_PortalReflectedObject *refObj, const DtEntityIdentifier &name)
Instantiates the publisher for the given reflected object.
virtual DtEntityIdentifier mapIdentifier(const T_PortalReflectedObject *refObj, const DtString &identifier)
Maps the reflected object&#39;s global or entity identifier to a DIS id.
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
Portal areal object for sending areal object types (minefield, etc.).
Definition: pArealObject.h:29
#define Dt_DEF_TRANSLATOR_NAME(strname)
Definition: translator.h:16
Provides Areal Object translation between DIS and the Portal.
Definition: disBroker/disBroker/arealObjectTranslator.h:45
DtPortalReflectedObjectTemplate< DtPortalArealObject > DtPortalReflectedArealObject
An Areal Object template instance.
Definition: pReflectedObjectTypes.h:60
#define DT_DLL_DISBROKER
Definition: brokers/disBroker/disBroker/dllExport.h:20

Document ID: Generated on Tue Aug 16 16:15:26 EDT 2022 from SVN revision 245901
Copyright © 2005-2022 MAK Technologies. All Rights Reserved (www.mak.com)