VR-Exchange 2.1 API Documentation
tenaBroker/fireInTrans.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2003 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: fireInTrans.h,v $ $Revision: 1.9 $ $State: Exp $
7 *********************************************************************/
8 #ifndef fireInTrans_H_
9 #define fireInTrans_H_
10 
15 
16 class DtFireInteraction;
17 
18 namespace MAKVrExchange {
19 class DtPortalFireInteraction;
20 }
21 
22 #include "interactionTrans.h" //DtInteractionTranslator
23 
24 #include <list>
25 
26 
27 namespace MAKVrExchange { namespace DtTenaBroker {
28 
29 class DtTenaBroker;
30 
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 
48  virtual ~DtFireInteractionTranslator();
49 
50 private:
51 
54 
56  DtFireInteractionTranslator& operator=( const DtFireInteractionTranslator& rightOperand );
57 
58 public:
59 
60  static const char* translatorName();
61 
62  virtual const char* virtualTranslatorName() const;
63 
65  virtual void enableTranslator(bool enabled);
66 
83  virtual DtPortalFireInteraction* translate( DtPortalFireInteraction* destination,
84  const DtFireInteraction& source );
85 
104  virtual DtFireInteraction* translate( DtFireInteraction* destination,
105  const DtPortalFireInteraction& source );
106 
112  // It is static because
113  // translators don't really have access to each other. This is a bit
114  // unconventional, but its a better design choice than linking the two objects due
115  // to possible problems with overridden translators.
116  static void getStoredFireLocation(const DtGlobalObjectDesignator& id,
117  DtVector& retLocation, bool& found );
118 
119 
120 protected:
121 
122  virtual void createTenaInteraction( const DtPortalFireInteraction& incoming );
123 
124  virtual void createPortalInteraction( const DtFireInteraction& incoming );
125 
126  static void receiveTenaInteraction( DtFireInteraction* interaction, void* userData );
127 
128  static void receivePortalInteraction( const DtPortalFireInteraction& interaction, void* userData );
129 
131  static const char thisTranslatorName[];
132 
134  static std::list<DtIDVectorPair> myOldFireInteractionColl;
135 
136 private:
137 
139  int operator==( const DtFireInteractionTranslator& rightOperand ) const;
140 
142  int operator!=( const DtFireInteractionTranslator& rightOperand ) const;
143 
144 }; //end class DtFireInteractionTranslator
145 
146 
147 }}
148 
149 #endif //end #ifndef fireInTrans_H_

Document ID: Generated on Tue Aug 7 22:07:13 EDT 2012 from SVN revision 117874
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)