VR-Exchange 2.8 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
noRelAggregateTranslator.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 
14 #include <vl/reflectedAggregateList.h>
15 
16 #define AGGREGATE_TEMPLATE_ARGS \
17  DtPortalAggregate, DtPortalReflectedAggregate, \
18  DtReflectedAggregate, DtReflectedAggregateList, \
19  DtAggregateStateRepository, DtNoRelAggregatePublisher
20 
21 class DtAggregateStateRepository;
22 
23 namespace MAKVrExchange
24 {
25 
26  namespace DtDisBroker
27  {
28 
29  template <>
30  DT_DLL_DISBROKER DtEntityIdentifier
32  const DtPortalReflectedAggregate* refObj, const DtString& identifier );
33 
36  template <>
37  DT_DLL_DISBROKER DtObjectPublisher*
39  const DtPortalReflectedAggregate* refObj, const DtEntityIdentifier& name );
40 
41 
45  : public DtDisObjectTranslator<AGGREGATE_TEMPLATE_ARGS>
46  {
47  public:
48 
50  Dt_DEF_TRANSLATOR_NAME( "Aggregate (No-RL)" );
51 
54 
56  virtual ~DtNoRelAggregateTranslator();
57 
58  protected:
59 
62  virtual bool isDisPublishable( const DtBrokerObject* brokerObject,
63  const DtPortalReflectedAggregate* refObj );
64 
66  virtual DtString disObjectName( const DtPortalReflectedAggregate* refObj ) const;
67 
70  virtual void createDisPublisher( DtBrokerObject* brokerObject );
71 
74  virtual DtString portalObjectName( const DtReflectedAggregate* refObj ) const;
75 
78  virtual void updateDisBrokerObject( DtBrokerObject* brokerObj,
79  const DtAggregateStateRepository& sr );
80 
83  virtual void updatePortalBrokerObject( DtBrokerObject* brokerObj,
84  const DtPortalAggregate& sr );
85 
87  virtual void updateFilteredState( DtBrokerObject* brokerObj,
88  DtPortalAggregatePublisher* publisher, DtReflectedAggregate* refObj );
89 
91  virtual DtPortalAggregate* translate( DtPortalAggregate* destination,
92  const DtAggregateStateRepository& source,
93  const DtReflectedAggregate& refObj );
94 
96  virtual DtAggregateStateRepository* translate(
97  DtAggregateStateRepository* destination,
98  const DtPortalAggregate& source,
99  const DtPortalReflectedAggregate& refObj );
100 
102  virtual void syncPortalDeadReckonedValues( DtPortalAggregate& destination,
103  const DtAggregateStateRepository& source );
104 
106  virtual void syncDisDeadReckonedValues( DtAggregateStateRepository& destination,
107  const DtPortalAggregate& source );
108 
109  };
110 
111  }
112 }
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
DtPortalReflectedObjectTemplate< DtPortalAggregate > DtPortalReflectedAggregate
An Aggregate Reflected Object template instance.
Definition: pReflectedObjectTypes.h:48
virtual DtObjectPublisher * instantiateDisPublisher(const T_PortalReflectedObject *refObj, const DtEntityIdentifier &name)
Instantiates the publisher for the given reflected object.
A simple template class to hold different types of State Repositories.
Definition: pObjectPublisher.h:68
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
#define Dt_DEF_TRANSLATOR_NAME(strname)
Definition: translator.h:16
Represents aggregated entity objects in a simulation.
Definition: pAggregate.h:21
#define DT_DLL_DISBROKER
Definition: brokers/disBroker/disBroker/dllExport.h:20
Provides Aggregate object translation between DIS and the VR-Exchange Portal.
Definition: noRelAggregateTranslator.h:44

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)