VR-Link API Documentation for DIS
 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) 1992-2025 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  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, const char* msg = 0 );
78 
81  virtual void objectAdded( DtReflectedObject* obj );
82 
89 
91  static void linearObjectCb( DtLinearObjectStatePdu* 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 DtReflectedLinearObject represent Linear Object simulated by remote applications.
Definition: reflectedLinearObjectDIS.h:28
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnDIS.h:62
virtual void removeAndDelete(DtReflectedObject *obj, const char *msg=NULL)
Remove the remote object from the list if found and delete it.
virtual const DtBaseHashKey & hashKeyFromStateMessage(const DtStateMsg *msg)=0
Get a hash key from a state message.
#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.
DtEntityIdentifierHashKey myHashKey
Definition: reflectedLinearObjectListDIS.h:103
DtReflectedObjectList & operator=(const DtReflectedObjectList &orig)
assignment operator – not implemented
void(* DtLinearObjectCallbackFunction)(DtReflectedLinearObject *, void *)
Callback function that takes a DtReflectedLinearObject and user data.
Definition: reflectedLinearObjectDIS.h:23
Instances of DtLinearObjectStatePdu are used to communicate information about the addition/modificati...
Definition: linearObjectStatePdu.h:33
Instances of this class provide a protocol independent interface to a list of reflected Linear Object...
Definition: reflectedLinearObjectListDIS.h:22
Instances of DtReflectedObject are used to represent a simulation entity reflected across a network (...
Definition: reflectedObjectDIS.h:34
This file provides protocol independence for reflected linear object includes.
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
virtual DtReflectedObject * newReflectedObj(const DtStateMsg &msg)=0
Create a new object from a state message.
virtual void objectAdded(DtReflectedObject *object)
Called after a remote object has been added to the list.
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.

Document ID: Generated on Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)