WebLVC 1.8 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rprBroker/rprBroker/aggregateTranslator.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2015 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
13 #include <vl/aggregatePublisher.h>
14 #include <vl/reflectedAggregateList.h>
15 
16 class DtReflectedAggregate;
17 class DtAggregateStateRepository;
18 
19 #define AGGREGATE_TEMPLATE_ARGS \
20  DtPortalAggregate, DtPortalReflectedAggregate, \
21  DtReflectedAggregate, DtReflectedAggregateList, \
22  DtAggregateStateRepository, DtAggregatePublisher
23 
24 namespace MAKVrExchange
25 {
26 
27  class DtPortalAggregate;
28 
29  namespace DtRprBroker
30  {
31 
34  template <>
35  DT_DLL_RPRBROKER DtAggregatePublisher*
37  const DtPortalReflectedAggregate* refObj, const DtString& name );
38 
39 
43  : public DtRprObjectTranslator<AGGREGATE_TEMPLATE_ARGS>
44  {
45  public:
46 
48  Dt_DEF_TRANSLATOR_NAME( "Aggregate" );
49 
52 
54  virtual ~DtAggregateTranslator();
55 
56  protected:
57 
60  virtual bool isRprPublishable( DtBrokerObject* brokerObj,
61  const DtPortalReflectedAggregate* refObj );
62 
65  virtual bool isPortalPublishable(const DtBrokerObject* brokerObj);
66 
68  virtual void discoverRprObject(DtReflectedAggregate& refObj);
69 
72  virtual void createRprPublisher( DtBrokerObject* brokerObj );
73 
75  virtual DtString rprObjectName( const DtPortalReflectedAggregate* refObj ) const;
76 
79  virtual void fillOutgoingIds( DtAggregatePublisher* publisher,
80  const DtString& objectName );
81 
83  virtual void updateRprBrokerObject( DtBrokerObject* brokerObj,
84  const DtAggregateStateRepository& 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 void updatePortalBrokerObject( DtBrokerObject* brokerObj,
100  const DtPortalAggregate& sr );
101 
103  virtual DtPortalAggregate* translate( DtPortalAggregate* destination,
104  const DtAggregateStateRepository& source,
105  const DtReflectedAggregate& refObj );
106 
108  virtual DtAggregateStateRepository* translate(
109  DtAggregateStateRepository* destination,
110  const DtPortalAggregate& source,
111  const DtPortalReflectedAggregate& refObj );
112 
114  virtual void syncPortalDeadReckonedValues( DtPortalAggregate& destination,
115  const DtAggregateStateRepository& source );
116 
118  virtual void syncRprDeadReckonedValues( DtAggregateStateRepository& destination,
119  const DtPortalAggregate& source );
120 
121  };
122 
123  }
124 }
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
Base class for all RPR object translators.
Definition: rprTranslator.h:93
Provides Aggregate object translation between HLA and the VR-Exchange Portal.
Definition: rprBroker/rprBroker/aggregateTranslator.h:42
virtual T_RprObjectPublisher * instantiateRprPublisher(const T_PortalReflectedObject *refObj, const DtString &name)
Instantiates the publisher for the given reflected object.
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 DtRprObjectTranslator and DtRprInteractionTranslator base classes.
#define DT_DLL_RPRBROKER
Definition: brokers/rprBroker/rprBroker/dllExport.h:22
#define Dt_DEF_TRANSLATOR_NAME(strname)
Definition: translator.h:16
Represents aggregated entity objects in a simulation.
Definition: pAggregate.h:21

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)