VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
reflectedLinearObjectListDIS.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2014 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #if DtDIS
13 
16 
17 class DtLinearObjectStatePdu;
18 
23 {
24 public:
25 
27  DtReflectedLinearObjectList( DtExerciseConn* exConn, int numBucketsPrimeNumber = 503 );
28 
30  virtual ~DtReflectedLinearObjectList();
31 
33  virtual DtReflectedLinearObject* lookup( const DtEntityIdentifier& id ) const;
34 
36  virtual DtReflectedLinearObject* first() const;
37  virtual DtReflectedLinearObject* last() const;
38 
40  virtual void addLinearObjectAdditionCallback(
41  DtLinearObjectCallbackFunction cb, void* usr );
42  virtual void removeLinearObjectAdditionCallback(
43  DtLinearObjectCallbackFunction cb, void* usr );
44 
46  virtual void addLinearObjectRemovalCallback(
47  DtLinearObjectCallbackFunction cb, void* usr );
48  virtual void removeLinearObjectRemovalCallback(
49  DtLinearObjectCallbackFunction cb, void* usr );
50 
52  virtual void print() const;
53 
55  virtual void printDataToStream( std::ostream& stream ) const;
56 
57 protected:
58 
60  virtual DtReflectedObject* newReflectedObj( const DtStateMsg& msg );
61 
64  virtual DtReflectedLinearObject* newReflectedLinearObject(
65  const DtEntityIdentifier& id );
66 
69  virtual int acceptPdu( const DtStateMsg& msg ) const;
70 
72  virtual DtReflectedObject* processStateMessage( const DtStateMsg& msg );
73 
77  virtual void removeAndDelete( DtReflectedObject* obj, char* msg = 0 );
78 
81  virtual void objectAdded( DtReflectedObject* obj );
82 
88  const DtBaseHashKey& hashKeyFromStateMessage( const DtStateMsg* );
89 
91  static void linearObjectCb( DtLinearObjectStatePdu* pdu, void* usr );
92 
93 protected:
94 
97 
100 
101 protected:
102 
103  DtEntityIdentifierHashKey myHashKey;
104 
105 };
106 
107 #endif // DtDIS

Document ID: Generated on Mon Jun 22 21:18:40 EDT 2020 from SVN revision 213785
Copyright © 2005-2018 MAK Technologies. All Rights Reserved (www.mak.com)