WebLVC 1.8 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
disBroker/disBroker/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 #include <vl/reflectedAggregateList.h>
14 #include <vl/aggregatePublisher.h>
15 
16 #define AGGREGATE_TEMPLATE_ARGS \
17  DtPortalAggregate, DtPortalReflectedAggregate, \
18  DtReflectedAggregate, DtReflectedAggregateList, \
19  DtAggregateStateRepository, DtAggregatePublisher
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" );
51 
54 
56  virtual ~DtAggregateTranslator();
57 
58  protected:
59 
62  virtual bool isDisPublishable( DtBrokerObject* brokerObj,
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 
95  virtual void updateFilteredState(DtBrokerObject* brokerObj,
96  const DtPortalReflectedAggregate* refObj);
97 
99  virtual DtPortalAggregate* translate( DtPortalAggregate* destination,
100  const DtAggregateStateRepository& source,
101  const DtReflectedAggregate& refObj );
102 
104  virtual DtAggregateStateRepository* translate(
105  DtAggregateStateRepository* destination,
106  const DtPortalAggregate& source,
107  const DtPortalReflectedAggregate& refObj );
108 
110  virtual void syncPortalDeadReckonedValues( DtPortalAggregate& destination,
111  const DtAggregateStateRepository& source );
112 
114  virtual void syncDisDeadReckonedValues( DtAggregateStateRepository& destination,
115  const DtPortalAggregate& source );
116 
117  };
118 
119  }
120 }
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.
Provides Aggregate object translation between DIS and the VR-Exchange Portal.
Definition: disBroker/disBroker/aggregateTranslator.h:44
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

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)