VR-Exchange 2.7 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
disBroker/disBroker/pointObjectTranslator.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/pointObjectPublisher.h>
14 #include <vl/reflectedPointObjectList.h>
15 
16 class DtReflectedPointObject;
17 class DtPointObjectRepository;
18 
19 #define POINT_OBJECT_TEMPLATE_ARGS \
20  DtPortalPointObject, DtPortalReflectedPointObject, \
21  DtReflectedPointObject, DtReflectedPointObjectList, \
22  DtPointObjectRepository, DtPointObjectPublisher
23 
24 namespace MAKVrExchange
25 {
26 
27  class DtPortalPointObject;
28 
29  namespace DtDisBroker
30  {
31 
32  template <>
33  DT_DLL_DISBROKER DtEntityIdentifier
35  const DtPortalReflectedPointObject* refObj, const DtString& identifier );
36 
37  template <>
38  DT_DLL_DISBROKER DtObjectPublisher*
40  const DtPortalReflectedPointObject* refObj, const DtEntityIdentifier& name );
41 
42 
46  : public DtDisObjectTranslator<POINT_OBJECT_TEMPLATE_ARGS>
47  {
48  public:
49 
51  Dt_DEF_TRANSLATOR_NAME( "Point Object" );
52 
54  DtPointObjectTranslator( DtBroker* disBroker );
55 
57  virtual ~DtPointObjectTranslator();
58 
59  protected:
60 
63  virtual bool isDisPublishable( DtBrokerObject* brokerObj,
64  const DtPortalReflectedPointObject& refObj ) const;
65 
67  virtual DtString disObjectName( const DtPortalReflectedPointObject* refObj ) const;
68 
70  virtual void updateDisBrokerObject( DtBrokerObject* brokerObj,
71  const DtPointObjectRepository& sr );
72 
75  virtual DtString portalObjectName( const DtReflectedPointObject* refObj ) const;
76 
78  virtual void updatePortalBrokerObject( DtBrokerObject* brokerObj,
79  const DtPortalPointObject& sr );
80 
82  virtual DtPortalPointObject* translate( DtPortalPointObject* dest,
83  const DtPointObjectRepository& src, const DtReflectedPointObject& refObj );
84 
86  virtual DtPointObjectRepository* translate( DtPointObjectRepository* dest,
87  const DtPortalPointObject& src, const DtPortalReflectedPointObject& refObj );
88 
89  };
90 
91  }
92 }
Base class for all DIS object translators.
Definition: disTranslator.h:86
Portal point object will be used to send all point object types: breachable, burst, crater, other, ribbon, structure.
Definition: pPointObject.h:30
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.
Provides Point Object translation between DIS and the Portal.
Definition: disBroker/disBroker/pointObjectTranslator.h:45
virtual DtEntityIdentifier mapIdentifier(const T_PortalReflectedObject *refObj, const DtString &identifier)
Maps the reflected object&#39;s global or entity identifier to a DIS id.
DtPortalReflectedObjectTemplate< DtPortalPointObject > DtPortalReflectedPointObject
A Point Object template instance.
Definition: pReflectedObjectTypes.h:115
Base class for all broker objects.
Definition: broker.h:53
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

Document ID: Generated on Mon Apr 19 15:55:22 EDT 2021 from SVN revision 227909
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)