VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfExtApplicationInitializer.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2017 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
13 #include <vl/exerciseConnInitializer.h>
14 #include <vlutil/vlMachineTypes.h>
15 #include <mtl/mtl.h>
16 #include <vector>
17 
18 // class DtVrfExtApplicationInitializer:
19 // Instances of DtVrfExtApplicationInitializer are
21 {
22 public:
23 
24  // Default constructor
25  DtVrfExtApplicationInitializer(int argc, char** argv,const char* appName, const char* appVersion);
26 
27  // Destructor
29 
30  virtual void initializeMtlParams();
31 
32  // Returns mtl environment variable to be able to add new mtl environment items to
33  DtMtlEnvironment* mtlEnvironment();
34 
35 public:
36 
37  // Returns true if a custom DtMapDatum has been specified
38  virtual bool useCustomMapDatum() const;
39  // Returns the spheroid semiMajor axis for a custom DtMapDatum
40  virtual DtFloat64 spheroidSemiMajor() const;
41  // Returns the spheroid semiMinor axis for a custom DtMapDatum
42  virtual DtFloat64 spheroidSemiMinor() const;
43  // Returns the x datumShift for a custom DtMapDatum
44  virtual DtFloat64 datumShiftX() const;
45  // Returns the y datumShift for a custom DtMapDatum
46  virtual DtFloat64 datumShiftY() const;
47  // Returns the z datumShift for a custom DtMapDatum
48  virtual DtFloat64 datumShiftZ() const;
49 
50  virtual void setMaxDrainInputTime(double maxTime);
51  virtual double maxDrainInputTime() const;
52 
53  virtual void setMinDrainInputTime(double minTime);
54  virtual double minDrainInputTime() const;
55 
56  virtual void setMaxDrainInputReads(int reads);
57  virtual int maxDrainInputReads() const;
58 
59 #if DtDIS
60  virtual std::vector<DtString>& multicastAddresses();
61 
62  virtual void setDefaultHeartbeatThreshold(double);
63  virtual double defaultHeartbeatThreshold(void) const;
64 
65  virtual void setDefaultObjectTimeout(double);
66  virtual double defaultObjectTimeout() const;
67 
68  // Returns lower/upper range of DIS app id for VRF published objects. Default is 3000-4000
69  virtual void appIdRange(int& lower, int& upper);
70  virtual void setAppIdRange(int lower, int upper);
71 
72 #endif
73 
74 #ifdef DtHLA
75  virtual void setApplicationNumber(int);
76  virtual int applicationNumber() const;
77  virtual void setSiteId(int);
78  virtual int siteId() const;
79 #endif
80 
81 #ifdef DtDIS
82  static void addMulticastAddr(const DtString& s);
83  static DtlObjPtr addMulticastAddr(const DtlObjPtr& args, const DtlObjPtr&);
84 #endif
85 
86 private:
87 
88  // Copy constructor -- not implemented
90 
91  // Assignment operator -- not implemented
93 
94 protected:
95 
96  // Used only when reading from MTL files, then stashed into
97  // command line variables
98 
99 #if DtDIS
100  // Range to use for lower/upper bound of dis app id range which will
101  // tell what range is used to identify a VRF generated object
102  DtConfigVariable<DtString> myAppIdRange;
103 
104  // The default timeout interval for DIS objects published by other
105  // applications.
106  DtConfigVariable<double> myDefaultObjectTimeout;
107 
108  static std::vector<DtString>& mtlMcastAddrList();
109  static std::vector<DtString> theMtlMcastAddrList;
110 #endif
111 
112 #if DtHLA
113  // This is already in the DIS base-class... For the PVD,
114  // make one for HLA
115  DtConfigVariable<int> myApplicationNumber;
116  DtConfigVariable<int> mySiteId;
117 #endif
118  // DtMapDatum Variables
125 
127 
128  // HLA only
130 
131  // DIS only
134 
135 };
136 
138 {
139  return myMtlEnv;
140 }
DtFloat64 myDatumShiftY
Definition: vrfExtApplicationInitializer.h:123
DtConfigVariable< int > mySiteId
Definition: vrfExtApplicationInitializer.h:116
DtConfigVariable< double > myDefaultObjectTimeout
Definition: vrfExtApplicationInitializer.h:106
static std::vector< DtString > theMtlMcastAddrList
Definition: vrfExtApplicationInitializer.h:109
double myMinDrainInputTime
Definition: vrfExtApplicationInitializer.h:129
DtFloat64 mySpheroidSemiMajor
Definition: vrfExtApplicationInitializer.h:120
short myUseCustomMapDatum
Definition: vrfExtApplicationInitializer.h:119
DtConfigVariable< int > myApplicationNumber
Definition: vrfExtApplicationInitializer.h:115
DtFloat64 myDatumShiftZ
Definition: vrfExtApplicationInitializer.h:124
double myMaxDrainInputTime
Definition: vrfExtApplicationInitializer.h:126
DtMtlEnvironment * mtlEnvironment()
Definition: vrfExtApplicationInitializer.h:137
DtFloat64 mySpheroidSemiMinor
Definition: vrfExtApplicationInitializer.h:121
double myDefaultHeartbeatThreshold
Definition: vrfExtApplicationInitializer.h:133
DtFloat64 myDatumShiftX
Definition: vrfExtApplicationInitializer.h:122
DtConfigVariable< DtString > myAppIdRange
Definition: vrfExtApplicationInitializer.h:102
Definition: vrfExtApplicationInitializer.h:20
double DtFloat64
Definition: vrvControlStructTypes.h:36
int myMaxDrainInputReads
Definition: vrfExtApplicationInitializer.h:132
#define DT_DLL_vrfExtObjects
Definition: dllExport.h:23

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)