VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ifSimOperationsInProgress.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1999 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #pragma once
7 
11 #include "vrfmsgs/messageTypes.h"
12 #include <vlutil/vlMachineTypes.h>
13 #include <vrfutil/rwUUID.h>
14 #include <matrix/vlVector.h>
15 #include <vlpi/entityType.h>
16 
17 #include <map>
18 
21 {
22 public:
23  struct FluxStatus
24  {
25  bool identifierIsUUID = false;
27  bool entityTypePresent = false;
28  DtEntityType entityType;
29  bool forcePresent = false;
30  int force = 0;
31  DtVector fluxLocation;
32  };
33 
34  enum Operation
35  {
36  TerrainPaging = 0x00000001,
37  NavOperation = 0x00000002,
38  ClutterOperation = 0x00000004,
39  MovementOrCreateOperation = 0x00000008,
40  TransferOperation = 0x00000010
41  };
42 
45 
47  virtual ~DtIfSimOperationsInProgress() override;
48 
51 
54 
56  virtual int type() const override;
57 
58  virtual DtSimInterfaceContent * clone() const override;
59 
62  virtual bool setOperationInProgress(Operation flag, bool on);
63  virtual bool operationIsInProgress(Operation) const;
64 
65  unsigned int operations() const
66  {
67  return myOperations;
68  }
69 
70  typedef std::map<int, FluxStatus> ObjectsInFlux;
72  {
73  return myObjectsInFlux;
74  }
75 
76  virtual int netRepSize() const override;
77  virtual bool setFromNet(const char* contentBuffer,
78  unsigned contentSize) override;
79  virtual bool setToNet() override;
80 
81  virtual void printDataToString(DtString& str) override;
82 
83  virtual void clearAllOperations();
84 
86  virtual int addObjectInFlux(const DtUUID& moving, const DtVector& movingTo, int replace = -1);
87  virtual int addObjectInFlux(const DtString& markingText, int force, const DtEntityType& type, const DtVector& creatingAt, int replace = -1);
88  virtual bool removeObjectInFlux(int);
89 
91  virtual void setFluxCap(int);
92  int fluxCap() const
93  {
94  return myFluxCap;
95  }
96 
97  static DtSimInterfaceContent* creator();
98 
99 protected:
102  int myFluxIndex = 0;
103  int myFluxCap = 100;
104 };
105 
107 
108 namespace DtBufferSerialize
109 {
112  DT_DLL_vrfmsgs const char* decode(DtIfSimOperationsInProgress::FluxStatus&, const char* buffer);
113 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
virtual bool setFromNet(const char *contentBuffer, unsigned contentSize)
Definition: simInterfaceContent.h:78
DtNoDataInterfaceContent< DtSimOperationsInProgressRequestMessageType > DtIfSimOperationsInProgressRequest
Definition: ifSimOperationsInProgress.h:106
ObjectsInFlux myObjectsInFlux
Definition: ifSimOperationsInProgress.h:101
virtual int netRepSize() const
Definition: simInterfaceContent.h:76
DT_DLL_readerWriter int getSize(const DtString &val)
The number of bytes required to encode the value.
#define DT_DLL_vrfmsgs
This file is used to determine how to build.
Definition: vrfmsgsDefines.h:28
virtual int type() const =0
Contains the DtUUID class declaration.
std::map< int, FluxStatus > ObjectsInFlux
Definition: ifSimOperationsInProgress.h:70
const ObjectsInFlux & objectsInFlux() const
Definition: ifSimOperationsInProgress.h:71
virtual void printDataToString(DtString &str)
DtU32 myOperations
Definition: ifSimOperationsInProgress.h:100
class DtNoDataInterfaceContent:
Definition: noDataInterfaceContent.h:25
DtString objectIdentifier
Definition: ifSimOperationsInProgress.h:26
const DtSimInterfaceContent & operator=(const DtSimInterfaceContent &orig)
Operation
Definition: ifSimOperationsInProgress.h:34
DT_DLL_readerWriter char * encode(const DtFilename &val, char *buffer)
Serializes the provided value val into buffer. buffer must have at least the number of bytes returned...
DtVector fluxLocation
Definition: ifSimOperationsInProgress.h:31
int fluxCap() const
Definition: ifSimOperationsInProgress.h:92
unsigned int operations() const
Definition: ifSimOperationsInProgress.h:65
Definition: ifSimOperationsInProgress.h:23
virtual bool setToNet()
Definition: simInterfaceContent.h:83
Definition: simInterfaceContent.h:45
DT_DLL_readerWriter const char * decode(DtString &val, const char *buffer)
Decodes a value from buffer and places the result in val of the type specified by val...
virtual DtSimInterfaceContent * clone() const =0
DtEntityType entityType
Definition: ifSimOperationsInProgress.h:28
Bit flags which will contain a particular sim operation in progress that the GUI can use to display i...
Definition: ifSimOperationsInProgress.h:20

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)