VR-Exchange 2.10 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
tenaBroker/tenaBroker/aggregateTranslator.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 
16 
17 #include <vl/aggregateStateRepository.h>
18 
19 class DtReflectedAggregate;
20 
21 #define AGGREGATE_TEMPLATE_ARGS \
22  DtPortalAggregate, DtPortalReflectedAggregate, \
23  DtReflectedAggregate, DtReflectedAggregateList, \
24  DtAggregateStateRepository, DtAggregatePublisher
25 
26 namespace MAKVrExchange
27 {
28 
29  namespace DtTenaBroker
30  {
31 
34  template <>
35  DT_DLL_TENABROKER DtEntityIdentifier
37  const DtPortalReflectedAggregate* refObj, const DtString& identifier );
38 
39 
43  : public DtBaseEntityTranslator<AGGREGATE_TEMPLATE_ARGS>
44  {
45  public:
46 
48  Dt_DEF_TRANSLATOR_NAME( "Aggregate" );
49 
52 
54  virtual ~DtAggregateTranslator();
55 
56  protected:
57 
59  virtual bool isThrottlingRateOk( DtAggregatePublisher* publisher,
60  DtBrokerObject* brokerObj );
61 
64  virtual bool isTenaPublishable( DtBrokerObject* brokerObj,
65  const DtPortalReflectedAggregate* refObj );
66 
68  virtual DtString tenaObjectName( const DtPortalReflectedAggregate* refObj ) const;
69 
72  virtual DtObjectPublisher* instantiateTenaPublisher(
73  const DtPortalReflectedAggregate* refObj,
74  const DtEntityIdentifier& objectName );
75 
78  virtual void createTenaPublisher( DtBrokerObject* brokerObject );
79 
82  virtual DtString portalObjectName( const DtReflectedAggregate* refObj ) const;
83 
85  virtual void updateTenaBrokerObject( DtBrokerObject* brokerObj,
86  const DtAggregateStateRepository& sr );
87 
89  virtual void updatePortalBrokerObject( DtBrokerObject* brokerObj,
90  const DtPortalAggregate& sr );
91 
93  virtual void updateFilteredState( DtBrokerObject* brokerObj,
94  DtPortalAggregatePublisher* publisher, DtReflectedAggregate* refObj );
95 
97  virtual DtPortalAggregate* translate( DtPortalAggregate* destination,
98  const DtAggregateStateRepository& source,
99  const DtReflectedAggregate& refObj );
100 
102  virtual void syncPortalDeadReckonedValues( DtPortalAggregate& destination,
103  const DtAggregateStateRepository& source );
104 
106  virtual DtAggregateStateRepository* translate(
107  DtAggregateStateRepository* destination,
108  const DtPortalAggregate& source,
109  const DtPortalReflectedAggregate& refObj );
110 
112  virtual void syncTenaDeadReckonedValues( DtAggregateStateRepository& destination,
113  const DtPortalAggregate& source );
114 
115  };
116 
117  }
118 }
#define DT_DLL_TENABROKER
Definition: brokers/tenaBroker/tenaBroker/dllExport.h:26
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
A simple template class to hold different types of State Repositories.
Definition: pObjectPublisher.h:68
Provides Aggregate object translation between TENA and the VR-Exchange Portal.
Definition: tenaBroker/tenaBroker/aggregateTranslator.h:42
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
Contains the DtAggregatePublisher class declaration.
#define Dt_DEF_TRANSLATOR_NAME(strname)
Definition: translator.h:16
Represents aggregated entity objects in a simulation.
Definition: pAggregate.h:21
Contains the DtReflectedAggregateList class declaration.
virtual DtEntityIdentifier mapIdentifier(const T_PortalReflectedObject *refObj, const DtString &identifier)
Maps the reflected object&#39;s global or entity identifier to a TENA id.
Base class for entity translators.
Definition: baseEntityTranslator.h:44

Document ID: Generated on Mon May 25 18:45:12 EDT 2026 from SVN revision 289111
Copyright © 2005-2026 MAK Technologies. All Rights Reserved (www.mak.com)