VR-Exchange 2.8 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rprBroker/rprBroker/arealObjectTranslator.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2015 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
13 #include <portal/pArealObject.h>
14 #include <vl/arealObjectPublisher.h>
15 #include <vl/reflectedArealObject.h>
16 #include <vl/reflectedArealObjectList.h>
17 
18 #define AREALOBJ_TEMPLATE_ARGS \
19  DtPortalArealObject, DtPortalReflectedArealObject, \
20  DtReflectedArealObject, DtReflectedArealObjectList, \
21  DtArealObjectRepository, DtArealObjectPublisher
22 
23 namespace MAKVrExchange
24 {
25 
26  namespace DtRprBroker
27  {
28 
29  // Template specialization to avoid compilation errors
30  // resulting from areal object publisher CTOR.
31  template <>
32  DtArealObjectPublisher*
34  const DtPortalReflectedArealObject* refObj, const DtString& name );
35 
37  : public DtRprObjectTranslator<AREALOBJ_TEMPLATE_ARGS>
38  {
39  public:
40 
42  Dt_DEF_TRANSLATOR_NAME( "Areal Object" );
43 
46 
48  virtual ~DtArealObjectTranslator();
49 
50  protected:
51 
53  virtual void updatePortalBrokerObject( DtBrokerObject* brokerObj,
54  const DtPortalArealObject& sr );
55 
56  public:
57 
60  const DtArealObjectRepository& src, const DtReflectedArealObject& refObj );
61 
63  virtual DtArealObjectRepository* translate( DtArealObjectRepository* dest,
64  const DtPortalArealObject& src, const DtPortalReflectedArealObject& refObj );
65 
66  private:
67 
70 
73 
74  };
75 
76  }
77 }
DtArealObjectTranslator & operator=(const DtArealObjectTranslator &other)
Assignment Operator not implemented – do not copy!
Provides container to hold pointers to Protocol/Portal objects.
Definition: brokerObject.h:24
Contains the DtPortalArealObject class declaration.
Base class for all RPR object translators.
Definition: rprTranslator.h:93
virtual void updatePortalBrokerObject(DtBrokerObject *brokerObj, const DtPortalArealObject &sr)
Updates the broker object with the latest information.
virtual T_RprObjectPublisher * instantiateRprPublisher(const T_PortalReflectedObject *refObj, const DtString &name)
Instantiates the publisher for the given reflected object.
Definition: rprBroker/rprBroker/arealObjectTranslator.h:36
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.
Portal areal object for sending areal object types (minefield, etc.).
Definition: pArealObject.h:29
DtPortalReflectedObjectTemplate< DtPortalArealObject > DtPortalReflectedArealObject
An Areal Object template instance.
Definition: pReflectedObjectTypes.h:60
Dt_DEF_TRANSLATOR_NAME("Areal Object")
Static translatorName method returns the translator name.
virtual DtPortalArealObject * translate(DtPortalArealObject *dest, const DtArealObjectRepository &src, const DtReflectedArealObject &refObj)
Translates an HLA areal object to a portal areal object.

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)