VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
reflectedPointObjectListDIS.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2013 MAK Technologies, Inc
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #if DtDIS
13 
16 
18 
23 {
24 public:
25 
27  DtReflectedPointObjectList( DtExerciseConn* exConn, int numBucketsPrimeNumber = 503 );
28 
30  virtual ~DtReflectedPointObjectList();
31 
33  virtual DtReflectedPointObject* lookup( const DtEntityIdentifier& id ) const;
34 
36  virtual DtReflectedPointObject* first() const;
37  virtual DtReflectedPointObject* last() const;
38 
40  virtual void addPointObjectAdditionCallback(
41  DtPointObjectCallbackFunction cb, void* usr );
42  virtual void removePointObjectAdditionCallback(
43  DtPointObjectCallbackFunction cb, void* usr );
44 
46  virtual void addPointObjectRemovalCallback(
47  DtPointObjectCallbackFunction cb, void* usr );
48  virtual void removePointObjectRemovalCallback(
49  DtPointObjectCallbackFunction 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 DtReflectedPointObject* newReflectedPointObject(
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 
89 
91  static void pointObjectCb( DtPointObjectStatePdu* pdu, void* usr );
92 
93 protected:
94 
97 
100 
101 protected:
102 
104 
105 };
106 
107 #endif // DtDIS
Instances of DtEntityIdentifierHashKey are hash keys made from DtEntityIdentifiers.
Definition: entityIdentifierHashKey.h:21
virtual void print() const
Print the SRs of all objects.
Instances of DtReflectedObjectList are lists of instances of classes derived from DtReflectedObject...
Definition: reflectedObjectListDIS.h:38
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnDIS.h:62
virtual const DtBaseHashKey & hashKeyFromStateMessage(const DtStateMsg *msg)=0
Get a hash key from a state message.
Instances of DtPointObjectStatePdu are used to state information for synthetic environment objects...
Definition: pointObjectStatePdu.h:29
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
DtBaseHashKey is an abstract base class for hash keys.
Definition: vlHashKeys.h:39
virtual int acceptPdu(const DtStateMsg &) const
Determines if a PDU should be processed or not.
DtReflectedObjectList & operator=(const DtReflectedObjectList &orig)
assignment operator – not implemented
DtEntityIdentifierHashKey myHashKey
Definition: reflectedPointObjectListDIS.h:103
Instances of this class provide a protocol independent interface to a list of reflected Point Objects...
Definition: reflectedPointObjectListDIS.h:22
Instances of DtReflectedObject are used to represent a simulation entity reflected across a network (...
Definition: reflectedObjectDIS.h:34
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
virtual void removeAndDelete(DtReflectedObject *obj, char *msg=NULL)
Remove the remote object from the list if found and delete it.
virtual DtReflectedObject * newReflectedObj(const DtStateMsg &msg)=0
Create a new object from a state message.
void(* DtPointObjectCallbackFunction)(DtReflectedPointObject *, void *)
Callback function that takes a DtReflectedPointObject and user data.
Definition: reflectedPointObjectDIS.h:24
virtual void objectAdded(DtReflectedObject *object)
Called after a remote object has been added to the list.
This file provides protocol independence for reflected point object includes.
Instances of DtStateMsg are used to represent state data communicated via the network in a DIS (as op...
Definition: stateMsgDIS.h:21
virtual DtReflectedObject * processStateMessage(const DtStateMsg &msg)
Process an incoming state message.
Instances of DtReflectedPointObject represent Point Object simulated by remote applications.
Definition: reflectedPointObjectDIS.h:29

Document ID: Generated on Wed Mar 27 02:04:30 EDT 2024 from SVN revision 264570
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)