WebLVC 1.7d API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ddsBroker/ddsBroker/entityTranslator.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 <vlDds/entityPublisher.h>
16 #include <portal/pEntity.h>
17 #include <map>
18 
19 class DtEntityStateRepository;
20 
21 namespace MAKVrExchange
22 {
23 
24  namespace DtDdsBroker
25  {
26 
30  : public DtDdsObjectTranslator<DtPortalEntity,DtPortalReflectedEntity,
31  DtReflectedEntity,DtEntityStateRepository,DtEntityPublisher>
32  {
33  public:
34 
35  typedef void (*ddsCallbackFunctionType)( void* object, void* userData );
36 
37  public:
38 
40  Dt_DEF_TRANSLATOR_NAME( "Entity State" );
41 
43  DtEntityTranslator( DtBroker* ddsBroker );
44 
46  virtual ~DtEntityTranslator();
47 
48  protected:
49 
52  virtual bool isDdsPublishable( DtBrokerObject* brokerObj,
53  const DtPortalReflectedEntity* refObj );
54 
57  virtual void createDdsPublisher( DtBrokerObject* brokerObject );
58 
61  virtual DtString ddsObjectName( const DtPortalReflectedEntity* refObj ) const;
62 
66 
67  virtual void updateDdsBrokerObject( DtBrokerObject* brokerObj,
68  const DtEntityStateRepository& sr );
69  virtual void updatePortalBrokerObject( DtBrokerObject* brokerObj,
70  const DtPortalEntity& sr );
71 
73 
76  virtual void updateFilteredState( DtBrokerObject* brokerObj,
77  DtPortalEntityPublisher* publisher, DtReflectedEntity* refObj );
78 
79  virtual void syncPortalDeadReckonedValues( DtPortalEntity* destination,
80  const DtEntityStateRepository& source );
81 
82  virtual void syncDdsDeadReckonedValues( DtEntityStateRepository* destination,
83  const DtPortalEntity& source );
84 
85  public:
86 
88  virtual DtPortalEntity* translate( DtPortalEntity* destination,
89  const DtEntityStateRepository& source, const DtReflectedEntity& refObj );
90 
92  virtual DtEntityStateRepository* translate( DtEntityStateRepository* destination,
93  const DtPortalEntity& source, const DtPortalReflectedEntity& refObj );
94 
95  private:
96 
98  DtEntityTranslator( const DtEntityTranslator& other );
99 
101  DtEntityTranslator& operator = ( const DtEntityTranslator& other );
102 
104  bool operator == ( const DtEntityTranslator& );
105 
107  bool operator != ( const DtEntityTranslator& );
108 
109  };
110 
111  }
112 }
Contains the templated DtPortalReflectedObjectManager types.
Contains the DtDdsObjectTranslator and DtDdsInteractionTranslator base classes.
Provides container to hold pointers to Protocol/Portal objects.
Definition: brokerObject.h:24
A simple template class to hold different types of State Repositories.
Definition: pObjectPublisher.h:68
Definition: ddsBroker/vlDds/reflectedEntity.h:37
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 DtPortalEntity class declaration.
#define Dt_DEF_TRANSLATOR_NAME(strname)
Definition: translator.h:16
Template Instances of DtPortalObjectPublisherTemplate.
DtObjectTranslator instances are responsible for translating between DDS and the Portal for objects...
Definition: ddsTranslator.h:79
Provides Entity State object translation between DDS and the VR-Exchange Portal.
Definition: ddsBroker/ddsBroker/entityTranslator.h:29
Messages which represent Entities with state.
Definition: pEntity.h:26
#define DT_DLL_DDSBROKER
Definition: brokers/ddsBroker/ddsBroker/dllExport.h:20

Document ID: Generated on Wed Jun 21 15:05:44 EDT 2023 from SVN revision 256253
Copyright © 2005-2023 MAK Technologies. All Rights Reserved (www.mak.com)