VR-Forces 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) 2025 MAK Technologies, Inc.
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 DtString& defaultConfigFilePath = DtDefaultConfigFile, const char* appVersion = vrlinkVersion());
26 
27  // Destructor
28  virtual ~DtVrfExtApplicationInitializer() override;
29 
30  virtual void initializeMtlParams() override;
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 DtDIS
75  static void addMulticastAddr(const DtString& s);
76  static DtlObjPtr addMulticastAddr(const DtlObjPtr& args, const DtlObjPtr&);
77 #endif
78 
79 private:
80 
81  // Copy constructor -- not implemented
83 
84  // Assignment operator -- not implemented
86 
87 protected:
88 
89  // Used only when reading from MTL files, then stashed into
90  // command line variables
91 
92 #if DtDIS
93  // Range to use for lower/upper bound of dis app id range which will
94  // tell what range is used to identify a VRF generated object
95  DtConfigVariable<DtString> myAppIdRange;
96 
97  // The default timeout interval for DIS objects published by other
98  // applications.
99  DtConfigVariable<double> myDefaultObjectTimeout;
100 
101  static std::vector<DtString>& mtlMcastAddrList();
102  static std::vector<DtString> theMtlMcastAddrList;
103 #endif
104 
105  // DtMapDatum Variables
112 
114 
115  // HLA only
117 
118  // DIS only
121 
122 };
123 
125 {
126  return myMtlEnv;
127 }
DtFloat64 myDatumShiftY
Definition: vrfExtApplicationInitializer.h:110
DtConfigVariable< double > myDefaultObjectTimeout
Definition: vrfExtApplicationInitializer.h:99
static std::vector< DtString > theMtlMcastAddrList
Definition: vrfExtApplicationInitializer.h:102
double myMinDrainInputTime
Definition: vrfExtApplicationInitializer.h:116
DtFloat64 mySpheroidSemiMajor
Definition: vrfExtApplicationInitializer.h:107
short myUseCustomMapDatum
Definition: vrfExtApplicationInitializer.h:106
DtFloat64 myDatumShiftZ
Definition: vrfExtApplicationInitializer.h:111
double myMaxDrainInputTime
Definition: vrfExtApplicationInitializer.h:113
DtMtlEnvironment * mtlEnvironment()
Definition: vrfExtApplicationInitializer.h:124
DtFloat64 mySpheroidSemiMinor
Definition: vrfExtApplicationInitializer.h:108
double myDefaultHeartbeatThreshold
Definition: vrfExtApplicationInitializer.h:120
DtFloat64 myDatumShiftX
Definition: vrfExtApplicationInitializer.h:109
DtConfigVariable< DtString > myAppIdRange
Definition: vrfExtApplicationInitializer.h:95
Definition: vrfExtApplicationInitializer.h:20
double DtFloat64
Definition: vrvControlStructTypes.h:36
int myMaxDrainInputReads
Definition: vrfExtApplicationInitializer.h:119
#define DT_DLL_vrfExtObjects
Definition: dllExport.h:23

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)