VR-Forces 4.7 Class Documentation
 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 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)