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;
32  };
33 
34  enum Operation
35  {
36  TerrainPaging = 0x00000001,
37  NavOperation = 0x00000002,
38  ClutterOperation = 0x00000004,
39  MovementOrCreateOperation = 0x00000008
40  };
41 
44 
46  virtual ~DtIfSimOperationsInProgress();
47 
50 
53 
55  virtual int type() const;
56 
57  virtual DtSimInterfaceContent * clone() const;
58 
61  virtual bool setOperationInProgress(Operation flag, bool on);
62  virtual bool operationIsInProgress(Operation) const;
63 
64  unsigned int operations() const
65  {
66  return myOperations;
67  }
68 
69  typedef std::map<int, FluxStatus> ObjectsInFlux;
71  {
72  return myObjectsInFlux;
73  }
74 
75  virtual int netRepSize() const override;
76  virtual bool setFromNet(const char* contentBuffer,
77  unsigned contentSize) override;
78  virtual bool setToNet() override;
79 
80  virtual void printDataToString(DtString& str);
81 
82  virtual void clearAllOperations();
83 
85  virtual int addObjectInFlux(const DtUUID& moving, const DtVector& movingTo, int replace = -1);
86  virtual int addObjectInFlux(const DtString& markingText, int force, const DtEntityType& type, const DtVector& creatingAt, int replace = -1);
87  virtual bool removeObjectInFlux(int);
88 
90  virtual void setFluxCap(int);
91  int fluxCap() const
92  {
93  return myFluxCap;
94  }
95 
96  static DtSimInterfaceContent* creator();
97 
98 protected:
99  DtU32 myOperations;
101  int myFluxIndex = 0;
102  int myFluxCap = 100;
103 };
104 
106 
107 namespace DtBufferSerialize
108 {
111  DT_DLL_vrfmsgs const char* decode(DtIfSimOperationsInProgress::FluxStatus&, const char* buffer);
112 }
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:105
ObjectsInFlux myObjectsInFlux
Definition: ifSimOperationsInProgress.h:100
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:69
const ObjectsInFlux & objectsInFlux() const
Definition: ifSimOperationsInProgress.h:70
virtual void printDataToString(DtString &str)
DtU32 myOperations
Definition: ifSimOperationsInProgress.h:99
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:91
unsigned int operations() const
Definition: ifSimOperationsInProgress.h:64
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 Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)