VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
reflectedLandSurfaceListDIS.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc
3 ** All rights reserved.
4 *********************************************************************/
5 
10 
11 #pragma once
12 
13 #if DtDIS
14 
17 #include <vl/metocPdu.h>
19 
20 
22 class DtExerciseConn;
23 
24 
32 {
33 public:
36 
38  virtual ~DtReflectedLandSurfaceList();
39 
40 private:
43 
46 
47 public:
48  virtual DtReflectedLandSurface* first() const;
49  virtual DtReflectedLandSurface* last() const;
50 
52  virtual void addLandSurfaceAdditionCallback(
53  DtLandSurfaceCallbackFunction cb, void* userData);
54  virtual void removeLandSurfaceAdditionCallback(
55  DtLandSurfaceCallbackFunction cb, void* userData);
56 
58  virtual void addLandSurfaceRemovalCallback(
59  DtLandSurfaceCallbackFunction cb, void* userData);
60  virtual void removeLandSurfaceRemovalCallback(
61  DtLandSurfaceCallbackFunction cb, void* userData);
62 
64  virtual void print();
65 
68  virtual DtReflectedLandSurface* processLandSurfaceState(
69  const DtMetocPdu& pdu);
70 
71 protected:
73  virtual DtReflectedObject* newReflectedObj(const DtStateMsg& msg);
74 
77 
80  virtual void objectAdded(DtReflectedObject* obj);
81 
84  virtual int acceptPdu(const DtStateMsg& msg) const;
85 
87  virtual const DtBaseHashKey&
89 
91  virtual DtReflectedLandSurface* newReflectedLandSurface() const;
92 
95  virtual void landSurfaceAdded(DtReflectedLandSurface* agg);
96 
97 protected:
99  static void landSurfaceStateCb(DtMetocPdu* pdu, void* usr);
100 
101 protected:
103 
104 };
105 
106 #endif
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&#39;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.
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Definition: reflectedLandSurfaceDIS.h:30
void(* DtLandSurfaceCallbackFunction)(DtReflectedLandSurface *obj, void *userData)
Definition: reflectedLandSurfaceDIS.h:26
DtBaseHashKey is an abstract base class for hash keys.
Definition: vlHashKeys.h:39
Instances of DtMetocPdu are used for DIS network packets which encode the DtMetocRootStateRepository ...
Definition: metocPdu.h:37
virtual int acceptPdu(const DtStateMsg &) const
Determines if a PDU should be processed or not.
DtReflectedObjectList & operator=(const DtReflectedObjectList &orig)
assignment operator – not implemented
This file declares DtEntityIdentifierHashKey.
Instances of DtReflectedObject are used to represent a simulation entity reflected across a network (...
Definition: reflectedObjectDIS.h:34
Instances of this class provide a protocol independent interface to a list of LandSurface in a DIS en...
Definition: reflectedLandSurfaceListDIS.h:31
Contains the DtMetocPdu class declaration.
DtEntityIdentifierHashKey myHashKey
Definition: reflectedLandSurfaceListDIS.h:102
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 Wed Mar 27 02:04:30 EDT 2024 from SVN revision 264570
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)