VR-Exchange 2.2 API Documentation
tenaBroker/libTenaBroker/fireInTrans.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2013 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 class DtFireInteraction;
13 
14 
15 #include "interactionTrans.h"
16 
17 #include <list>
18 
19 
20 
21 namespace MAKVrExchange
22 {
23 
24  class DtPortalFireInteraction;
25 
26  namespace DtTenaBroker
27  {
28 
29  class DtTenaBroker;
30 
34  class DT_DLL_TENABROKER DtFireInteractionTranslator : public DtInteractionTranslator
35  {
36  protected:
37  //Used internally to store previously seen fire interactions.
39  {
40  DtGlobalObjectDesignator id;
41  DtVector loc;
42  };
43 
44  public:
45 
47  Dt_DEF_TRANSLATOR_NAME( "Fire" );
48 
51 
53  virtual ~DtFireInteractionTranslator();
54 
56  virtual void enableTranslator(bool enabled);
57 
74  virtual DtPortalFireInteraction* translate( DtPortalFireInteraction* destination,
75  const DtFireInteraction& source );
76 
95  virtual DtFireInteraction* translate( DtFireInteraction* destination,
96  const DtPortalFireInteraction& source );
97 
103  // It is static because
104  // translators don't really have access to each other. This is a bit
105  // unconventional, but its a better design choice than linking the two objects due
106  // to possible problems with overridden translators.
107  static void getStoredFireLocation(const DtGlobalObjectDesignator& id,
108  DtVector& retLocation, bool& found );
109 
110 
111  protected:
112 
113  virtual void createTenaInteraction( const DtPortalFireInteraction& incoming );
114 
115  virtual void createPortalInteraction( const DtFireInteraction& incoming );
116 
117  static void receiveTenaInteraction( DtFireInteraction* interaction, void* userData );
118 
119  static void receivePortalInteraction( const DtPortalFireInteraction& interaction, void* userData );
120 
122  static std::list<DtIDVectorPair> myOldFireInteractionColl;
123 
124  private:
125 
128 
130  DtFireInteractionTranslator& operator=( const DtFireInteractionTranslator& rightOperand );
131 
133  int operator==( const DtFireInteractionTranslator& rightOperand ) const;
134 
136  int operator!=( const DtFireInteractionTranslator& rightOperand ) const;
137 
138  };
139 
140  }
141 }

Document ID: Generated on Mon Apr 15 17:15:50 EDT 2013 from SVN revision 126154
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)