VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtDeInitializer.h
Go to the documentation of this file.
1 /*****************************************************************************
2 * Copyright (c) 2024 MAK Technologies, Inc.
3 * All rights reserved.
4 *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvUtil/DtDebugLog.h>
20 #include <vrvUtil/DtRecordHolder.h>
21 #include <vrvUtil/vrvUtil.h>
22 
23 #include <vrvMath/DtVector2.h>
24 #include <vrvMath/DtVector3.h>
25 
27 
29 
30 #include <unordered_set>
31 
32 namespace makVrv
33 {
34 
35  class DtBaseRecordHolder;
36 
40  {
41  public:
42 
43  enum DeMode
44  {
45  NoMode = 0,
46  MasterMode = 1,
47  SlaveMode = 2,
48  DeMode_end
49  };
51 
55  {
56  Features_None = 0,
57  Features_2D = 1,
58  Features_3D = 2,
59  Features_Stealth = Features_3D | Features_2D,
60  DeFeatures_end
61  };
62 
63 
67  typedef std::vector<std::pair<std::string, DtConfiguration> >
69 
73  typedef std::map<std::string, std::string> AuthorizationCodeMap;
74 
76  typedef std::vector<std::pair<std::string, makArchives::DtObserverStateRecord> >
78 
80  typedef std::map<std::string, DtBaseRecordHolder*> DefaultRecordMap;
81 
83  {
84  int port;
85  std::string address;
87 
88  template<class Archive>
89  void serialize(Archive& ar, const unsigned int version)
90  {
91  ar& BOOST_SERIALIZATION_NVP(port);
92  ar& BOOST_SERIALIZATION_NVP(address);
93  ar& BOOST_SERIALIZATION_NVP(configuration);
94  }
95  };
96 
97  typedef std::vector<DisplayConnection> DisplayConnections;
98 
99  public:
100 
103  DtDeInitializer(const std::string& name = "");
104 
106  DtDeInitializer(const DtDeInitializer& initializer);
107 
109  DtDeInitializer& operator = (const DtDeInitializer& initializer);
110 
112  virtual ~DtDeInitializer();
113 
115  void setFeatures(DeFeatures features);
116 
118  DeFeatures features() const;
119 
121  bool featureSupported(DeFeatures feature) const;
122 
129 
132  const DtDriverConfiguration& driverConfiguration() const;
133  DtDriverConfiguration& driverConfiguration();
135 
137  void setDriverConfiguration(const DtDriverConfiguration&);
138 
141  const DtGuiConfiguration& guiConfiguration() const;
142  DtGuiConfiguration& guiConfiguration();
144 
146  void setGuiConfiguration(const DtGuiConfiguration& config);
147 
150  const DtInputDriverConfiguration& inputDriverConfiguration() const;
151  DtInputDriverConfiguration& inputDriverConfiguration();
153 
155  void setInputDriverConfiguration(const DtInputDriverConfiguration& config);
156 
158  const std::string& displayName() const;
159 
161  void setDisplayEngineName(const std::string& name);
162 
164  DtDeInitializer::DeMode deMode() const;
165 
167  void setDeMode(DtDeInitializer::DeMode mode);
168 
170  void setDefaultDrivers(const DriverInstanceList& drivers);
171 
173  const DriverInstanceList& defaultDrivers() const;
174 
176  void setDeConfiguration(const DtDeConfiguration& config);
177 
179  DtDeConfiguration& deConfiguration();
180 
182  const DtDeConfiguration& deConfiguration() const;
183 
185  void setCoordinateSystem(const std::string& coordinateSystem,
186  const std::string& parameters);
187 
189  const std::string& coordinateSystem() const;
190 
192  const std::string& coordinateSystemParameters() const;
193 
195  void setNotifyLevel(DtDebugLog::PrintLevel level);
196 
198  DtDebugLog::PrintLevel notifyLevel() const;
199 
201  void setLogFileName(const std::string& filename);
202 
204  const std::string& logFileName() const;
205 
207  void setModelPreloadFilename(const std::string& filename);
208 
210  const std::string& modelPreloadFilename() const;
211 
213  void setDiscoveredModelPreloadFilename(const std::string& filename);
214 
216  const std::string& discoveredModelPreloadFilename() const;
217 
220  void setAutoLoadDrivers(bool autoLoad);
221 
224  bool autoLoadDrivers() const;
225 
227  void setAutoStartDrivers(const std::vector<std::string>& names);
228 
230  const std::vector<std::string>& autoStartDrivers() const;
231 
233  void setAuthorizationCodeMap(const AuthorizationCodeMap& map);
234 
236  void addAuthorizationCodeMapping(const std::string& key,
237  const std::string& value);
238 
240  void removeAuthorizationCodeMapping(const std::string& key);
241 
244  const std::string* findAuthorizationCodeValue(const std::string& key) const;
245 
247  void setObserverStateMap(const ObserverStateMap& osm);
248 
250  const ObserverStateMap& observerStateMap() const;
251 
254  void setTerrainObserverViewsEnabled(bool enable);
255 
258  bool terrainObserverViewsEnabled() const;
259 
261  const std::vector<std::string>& mappingFilesToLoad() const;
262 
264  void setMappingFilesToLoad(const std::vector<std::string>&);
265 
269  const std::vector<std::string>& entityElementDefinitionHiersToMerge() const;
270  void setEntityElementDefinitionHiersToMerge(const std::vector<std::string>& filesOrDirs);
272 
276  const std::vector<std::string>& entityElementDefinitionLeafsToMerge() const;
277  void setEntityElementDefinitionLeafsToMerge(const std::vector<std::string>& filesOrDirs);
279 
283  const std::vector<std::string>& aggregateElementDefinitionHiersToMerge() const;
284  void setAggregateElementDefinitionHiersToMerge(const std::vector<std::string>& filesOrDirs);
286 
290  const std::vector<std::string>& aggregateElementDefinitionLeafsToMerge() const;
291  void setAggregateElementDefinitionLeafsToMerge(const std::vector<std::string>& filesOrDirs);
293 
297  const std::vector<std::string>& tacticalGraphicsElementDefinitionHiersToMerge() const;
298  void setTacticalGraphicsElementDefinitionHiersToMerge(const std::vector<std::string>& filesOrDirs);
300 
304  const std::vector<std::string>& tacticalGraphicsElementDefinitionLeafsToMerge() const;
305  void setTacticalGraphicsElementDefinitionLeafsToMerge(const std::vector<std::string>& filesOrDirs);
307 
310  const std::vector<std::string>& modelDefinitionFilesOrDirsToMerge() const;
311  void setModelDefinitionFilesOrDirsToMerge(const std::vector<std::string>& filesOrDirs);
313 
316  const std::vector<std::string>& entityTypeMapFilesOrDirsToMerge() const;
317  void setEntityTypeMapFilesOrDirsToMerge(const std::vector<std::string>& filesOrDirs);
319 
322  const std::vector<std::string>& aggregateTypeMapFilesOrDirsToMerge() const;
323  void setAggregateTypeMapFilesOrDirsToMerge(const std::vector<std::string>& filesOrDirs);
325 
328  const std::vector<std::string>& tacticalGraphicsTypeMapFilesOrDirsToMerge() const;
329  void setTacticalGraphicsTypeMapFilesOrDirsToMerge(const std::vector<std::string>& filesOrDirs);
331 
335  const bool overwriteMappingsOnMerge() const;
336  void setOverwriteMappingsOnMerge( bool overwrite );
338 
340  const DisplayConnections& displayConnections() const;
341  DisplayConnections& displayConnections();
342 
343  void setDisplayConnections(const DisplayConnections& displayConnections);
344 
346  void setAutoLoadFile(const std::string& file);
347 
349  const std::string& autoLoadFile() const;
350 
352  void setStartFullScreen(bool);
353 
355  bool startFullScreen() const;
356 
358  void addDefaultSettingsRecord(const std::string& recordName,
359  const DtBaseRecordHolder& record);
360 
362  void removeDefaultSettingsRecord(const std::string& record);
363 
365  template <typename RecordType>
366  bool findDefaultSettingsRecord(const std::string& name, RecordType& record) const
367  {
368  DefaultRecordMap::const_iterator iter = myDefaultRecords.find(name);
369  if (iter != myDefaultRecords.end())
370  {
371  const DtRecordHolder<RecordType>* holder =
372  dynamic_cast<const DtRecordHolder<RecordType>*>(iter->second);
373  if (holder)
374  {
375  record = holder->record();
376  return true;
377  }
378  }
379 
380  return false;
381  }
382 
384  void setConstrainToTerrain(bool constrain);
385  bool constrainToTerrain() const;
386 
388  void setSpeedScaling(bool scale);
389  bool speedScaling() const;
390 
392  void setVertexSelectsParent(bool selectsParent);
393  bool vertexSelectsParent() const;
394 
396  void setDoubleBuffering(bool buffer);
397  bool doubleBuffer() const;
398 
400  void setVSync(bool sync);
401  bool vsync() const;
402 
404  void setEnableTracyProfiling(bool enableProfiling);
405  bool enableTracyProfiling() const;
406 
409  void setFixedFrameRate(unsigned int framesPerSecond);
410  unsigned int fixedFrameRate() const;
411 
413  void setNumDepthBits(unsigned short numBits);
414  unsigned short numDepthBits() const;
415 
417  void setNumStencilBits(unsigned short numBits);
418  unsigned short numStencilBits() const;
419 
421  void setRealizeMinimapModelSet(bool val);
422 
424  bool realizeMinimapModelSet() const;
425 
427  void setIndirectEntityRendering(bool val);
428 
430  bool indirectEntityRendering() const;
431 
433  void setBufferClearUsesCompute(bool val);
434 
436  bool bufferClearUsesCompute() const;
437 
439  virtual void setLimitEntityTextures(const DtVector2<int>& resolution);
442  virtual const DtVector2<int>& limitEntityTextures(void) const;
444 
446  virtual void setLimitEntityTexturesProportional(bool proportional);
450  virtual bool limitEntityTexturesProportional(void) const;
452 
454  virtual void excludeFromTextureLimits(const std::string& modelDef);
456  virtual const std::unordered_set<std::string>& modelDefsExcludedFromTextureLimits(void) const;
458 
460  virtual void setLimitTerrainTextures(const DtVector2<int>& resolution);
463  virtual const DtVector2<int>& limitTerrainTextures() const;
465 
467  virtual void setLimitEarthTerrainTextures(int resolution);
470  virtual int limitEarthTerrainTextures() const;
472 
473 
475  virtual void setLimitEarthSplattingTextures(int resolution);
478  virtual int limitEarthSplattingTextures() const;
480 
482  virtual void setLimitEarthVegetationTextures(int resolution);
485  virtual int limitEarthVegetationTextures() const;
487 
489  virtual void setLimitGpuMemoryPercentage(int percentageCutoff);
491  virtual int limitGpuMemoryPercentage(void) const;
493 
495  virtual void setEntityGridCellSize(const DtVector3<int>& cellSize);
499  virtual DtVector3<int> entityGridCellSize(void) const;
501 
503  void setNoEntityDefinitionLoading(bool val);
504 
506  bool noEntityDefinitionLoading() const;
507 
509  void setNoAggregateDefinitionLoading(bool val);
510 
512  bool noAggregateDefinitionLoading() const;
513 
515  void setNoTacticalGraphicsDefinitionLoading(bool val);
516 
518  bool noTacticalGraphicsDefinitionLoading() const;
519 
521  void setNoModelDefinitionLoading(bool val);
522 
524  bool noModelDefinitionLoading() const;
525 
527  void setNoEntityTypeMapLoading(bool val);
528 
530  bool noEntityTypeMapLoading() const;
531 
533  void setNoAggregateTypeMapLoading(bool val);
534 
536  bool noAggregateTypeMapLoading() const;
537 
539  void setNoTacticalGraphicsTypeMapLoading(bool val);
540 
542  bool noTacticalGraphicsTypeMapLoading() const;
543 
546  void setIgnoreZoomForSpeedtreeLod(bool val);
547 
550  bool ignoreZoomForSpeedtreeLod() const;
551 
558  void setSuppressHatIntersectOnAttach(bool val);
559 
562  bool suppressHatIntersectOnAttach() const;
563 
566  void setSynchronizedNtpTime(bool val);
567 
570  bool synchronizedNtpTime() const;
571 
578  void setDofConstraintsEnabled(bool enabled);
579 
581  bool dofConstraintsEnabled() const;
582 
584  virtual void setKdTreesDisabled(bool disabled);
586  virtual bool kdTreesDisabled() const;
588 
590  virtual void setForceTextShaping(bool force);
591  virtual bool forceTextShaping() const;
593 
597  void setUseNonBlockingSendForSlaves(bool nonBlocking);
598 
602  bool useNonBlockingSendForSlaves() const;
603 
605  void setAntiAliasingLevel(unsigned short level);
606  unsigned short antiAliasingLevel() const;
607 
609  void setPathConfiguration(const DtDePathConfiguration& pathConfig);
610 
612  DtDePathConfiguration& pathConfiguration();
613 
615  const DtDePathConfiguration& pathConfiguration() const;
616 
619  void setInitLibXml(bool enabled);
620 
623  bool initLibXml() const;
624 
626  void setCheckForData(bool check);
627 
629  bool checkForData() const;
630 
638  void setUsePseudoFullScreen(bool enable);
639 
641  bool usePseudoFullScreen() const;
642 
644  void setUseHighestPriority(bool enable);
645 
647  bool useHighestPriority() const;
648 
651  void setTcpSendTimeout(double timeout);
652  double tcpSendTimeout() const;
653 
657  void setAutoReconnectPeriod(double period);
658 
662  double autoReconnectPeriod() const;
663 
665  bool autoReconnectEnabled() const;
667  void setUseReverseZBuffer(bool val);
668 
670  bool useReverseZBuffer() const;
671 
673  void setExtraArgs(const std::string& argString);
674 
676  const std::string& extraArgs() const;
677 
679  void setDisableDynamicTerrain(bool val);
680 
682  bool disableDynamicTerrain() const;
683 
685  bool indirectUsesExternalRenderer(void) const;
686 
688  void setindirectUsesExternalRenderer(bool val);
689 
691  bool enablePersistentShadowTechnique(void) const;
692 
694  void setEnablePersistentShadowTechnique(bool val);
695 
697  void setRendererThreadingModel(DtRendererThreadingModel threadingModel);
698 
700  DtRendererThreadingModel rendererThreadingModel(void) const;
701 
702  void setShowErrorDialogs(bool show);
703 
704  bool showErrorDialogs() const;
705 
708  void disableModelSet( unsigned int );
709  bool modelSetDisabled( unsigned int ) const;
710  const std::set<unsigned int>& disabledModelSets() const;
712 
718  const std::vector<std::string>& translationFileNameBases() const;
719  void setAdditionalTranslationFileNameBases( const std::vector<std::string>& bases );
721 
724  void setDisableGlBufferTracking( bool disable );
725  bool disableGlBufferTracking() const;
727 
728  protected:
729 
730  template<class Archive>
731  void _serialize(Archive& ar, const unsigned int version)
732  {
734  ar& DT_SERIALIZE_MEMBER(myDriverConfiguration);
735  ar& DT_SERIALIZE_MEMBER(myGuiConfiguration);
736  ar& DT_SERIALIZE_MEMBER(myInputDriverConfiguration);
737  ar& DT_SERIALIZE_MEMBER(myDisplayEngineName);
738 
739  ar& DT_SERIALIZE_MEMBER(myDeMode);
740  ar& DT_SERIALIZE_MEMBER(myDriverInstances);
741  ar& DT_SERIALIZE_MEMBER(myCoordinateSystem);
742  ar& DT_SERIALIZE_MEMBER(myCoordinateSystemParameters);
743 
744  ar& DT_SERIALIZE_MEMBER(myDeConfiguration);
745 
746  ar& DT_SERIALIZE_MEMBER(myAutoLoadDriversFlag);
747 
748  ar& DT_SERIALIZE_MEMBER(myAutoStartDrivers);
749  ar& DT_SERIALIZE_MEMBER(myMappingFilesToLoad);
750 
751  ar& DT_SERIALIZE_MEMBER(myDisplayConnections);
752  ar& DT_SERIALIZE_MEMBER(myAutoLoadFile);
753  ar& DT_SERIALIZE_MEMBER(myFullScreenFlag);
754  ar& DT_SERIALIZE_MEMBER(myConstrainToTerrainFlag);
755  ar& DT_SERIALIZE_MEMBER(mySpeedScalingFlag);
756 
757  ar& DT_SERIALIZE_MEMBER(myDoubleBufferFlag);
758  ar& DT_SERIALIZE_MEMBER(myVSyncFlag);
759 
760  ar& DT_SERIALIZE_MEMBER(myDefaultRecords);
761 
762  if (version >= 2)
763  {
764  ar& BOOST_SERIALIZATION_NVP(myInitLibXml);
765  }
766  if (version >= 3)
767  {
768  ar& BOOST_SERIALIZATION_NVP(myFeatures);
769  }
770  if (version >= 4)
771  {
772  ar& BOOST_SERIALIZATION_NVP(myVertexSelectsParentFlag);
773  }
774 
775  if (version >= 5)
776  {
777  ar& BOOST_SERIALIZATION_NVP(myCheckForData);
778  }
779 
780  if (version >= 6)
781  {
782  ar& BOOST_SERIALIZATION_NVP(myBatchedRenderingFlag); // NOT USED
783  }
784 
785  if (version >= 7)
786  {
787  ar& BOOST_SERIALIZATION_NVP(mySynchronizedOceanFlag);
788  }
789  if (version >= 8)
790  {
791  ar& BOOST_SERIALIZATION_NVP(mySynchronizedNtpTimeFlag);
792  }
793  if (version >= 9)
794  {
795  ar& BOOST_SERIALIZATION_NVP(myIgnoreZoomForSpeedtreeLod);
796  }
797  if (version >= 10)
798  {
799  ar& BOOST_SERIALIZATION_NVP(mySuppressHatIntersectOnAttach);
800  }
801  if (version >= 11)
802  {
803  ar& BOOST_SERIALIZATION_NVP(myUsePseudoFullScreen);
804  }
805  if (version >= 12)
806  {
807  ar& BOOST_SERIALIZATION_NVP(myUseHighestPriorityFlag);
808  }
809  if (version >= 13)
810  {
811  ar& BOOST_SERIALIZATION_NVP(myDisableKdTrees);
812  }
813  if (version >= 14)
814  {
815  ar& BOOST_SERIALIZATION_NVP(myForceTextShaping);
816  }
817  if (version >= 15)
818  {
819  ar& BOOST_SERIALIZATION_NVP(myUseNonBlockingSendForSlaves);
820  }
821  if (version >= 16)
822  {
823  ar& BOOST_SERIALIZATION_NVP(myNoEntityDefinitionLoadingFlag);
824  ar& BOOST_SERIALIZATION_NVP(myNoAggregateDefinitionLoadingFlag);
825  ar& BOOST_SERIALIZATION_NVP(myNoTacticalGraphicsDefinitionLoadingFlag);
826  ar& BOOST_SERIALIZATION_NVP(myNoModelDefinitionLoadingFlag);
827  ar& BOOST_SERIALIZATION_NVP(myNoEntityTypeMapLoadingFlag);
828  ar& BOOST_SERIALIZATION_NVP(myNoAggregateTypeMapLoadingFlag);
829  ar& BOOST_SERIALIZATION_NVP(myNoTacticalGraphicsTypeMapLoadingFlag);
830  ar& BOOST_SERIALIZATION_NVP(myEntityElementDefinitionHiersToMerge);
831  ar& BOOST_SERIALIZATION_NVP(myEntityElementDefinitionLeafsToMerge);
832  ar& BOOST_SERIALIZATION_NVP(myAggregateDefinitionHiersToMerge);
833  ar& BOOST_SERIALIZATION_NVP(myAggregateDefinitionLeafsToMerge);
834  ar& BOOST_SERIALIZATION_NVP(myTacticalGraphicsDefinitionHiersToMerge);
835  ar& BOOST_SERIALIZATION_NVP(myTacticalGraphicsDefinitionLeafsToMerge);
836  ar& BOOST_SERIALIZATION_NVP(myModelDefinitionsToMerge);
837  }
838  if (version >= 17)
839  {
840  ar& BOOST_SERIALIZATION_NVP(myUseReverseZBuffer);
841  ar& BOOST_SERIALIZATION_NVP(myExtraArgs);
842  }
843 
844  if (version >= 18)
845  {
846  ar& BOOST_SERIALIZATION_NVP(myDisableDynamicTerrain);
847  }
848 
849  if (version >= 19)
850  {
851  ar& BOOST_SERIALIZATION_NVP(myPreloadClouds);
852  ar& BOOST_SERIALIZATION_NVP(myEnableMetaflightInstancing); // NOT USED
853  ar& BOOST_SERIALIZATION_NVP(myMetaflightMinInstances); // NOT USED
854  }
855 
856  if (version >= 20 && version <= 23)
857  {
858  bool myEnableOcclusionCulling = false;
859  ar& BOOST_SERIALIZATION_NVP(myEnableOcclusionCulling); // NOT USED: https://jira.mak.com/browse/VRV-4698
860  }
861 
862  if (version >= 21)
863  {
864  ar& BOOST_SERIALIZATION_NVP(myTerrainObserverViewsEnabled);
865  }
866 
867  if (version >= 22)
868  {
869  ar& BOOST_SERIALIZATION_NVP(myDofConstraintsEnabled);
870  }
871 
872  if (version >= 23)
873  {
874  ar& BOOST_SERIALIZATION_NVP(myEnableTracyProfiling);
875  }
876 
877  }
878 
879  protected:
880 
884  std::string myDisplayEngineName;
885 
888 
891  std::string myCoordinateSystem;
894  std::string myLogFileName;
897 
899 
902 
903  std::vector<std::string> myAutoStartDrivers;
905  std::vector<std::string> myMappingFilesToLoad;
906  std::vector<std::string> myEntityElementDefinitionHiersToMerge;
907  std::vector<std::string> myEntityElementDefinitionLeafsToMerge;
908  std::vector<std::string> myAggregateDefinitionHiersToMerge;
909  std::vector<std::string> myAggregateDefinitionLeafsToMerge;
912  std::vector<std::string> myModelDefinitionsToMerge;
913  std::vector<std::string> myEntityTypeMapsToMerge;
914  std::vector<std::string> myAggregateTypeMapsToMerge;
915  std::vector<std::string> myTacticalGraphicsTypeMapsToMerge;
916  std::vector<std::string> myAdditionalTranslationFileNameBases;
917  std::set<unsigned int> myDisabledModelSets;
918 
920  std::string myAutoLoadFile;
921 
929  bool myBatchedRenderingFlag; // NOT USED
944 
950 
953  unsigned int myFrameRate;
954  unsigned short myNumDepthBits;
955  unsigned short myNumStencilBits;
956  unsigned short myAntiAliasingLevel;
962 
964 
967  std::string myExtraArgs;
968 
970  bool myPreloadClouds; //NOT USED
971 
973  unsigned int myMetaflightMinInstances; // NOT USED
974 
976 
979 
982 
984  std::unordered_set<std::string> myModelDefsExcludedFromTextureLimits;
985 
988 
992 
993  DtVector3<int> myEntityGridCellSize = DtVector3<int>(5000, 5000, 5000);
994 
996 
997  bool myIndirectUsesExternalRenderer = true;
998 
999  bool myEnablePersistentShadowTechnique = true;
1000 
1001  int myLimitEarthTerrainTextures = -1;
1002  int myLimitEarthSplattingTextures = -1;
1003  int myLimitEarthVegetationTextures = -1;
1004 
1005  DtRendererThreadingModel myRendererThreadingModel = RTM_SingleThreaded;
1006  };
1007 
1008 }
1009 
bool myPreloadClouds
Definition: DtDeInitializer.h:970
DtVector2< int > myLimitTerrainTexturesResolution
only mip maps at or below this res will be loaded for terrain
Definition: DtDeInitializer.h:987
double myTcpSendTimeout
Definition: DtDeInitializer.h:948
bool myEnableMetaflightInstancing
Definition: DtDeInitializer.h:972
std::vector< std::string > myModelDefinitionsToMerge
Definition: DtDeInitializer.h:912
DeFeatures myFeatures
Definition: DtDeInitializer.h:965
bool myVSyncFlag
Definition: DtDeInitializer.h:952
bool myCheckForData
Definition: DtDeInitializer.h:958
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 3)
std::vector< DisplayConnection > DisplayConnections
Definition: DtDeInitializer.h:97
Contains makVrv::DtRecordHolder class.
Contains makVrv::DtDriverConfiguration class.
#define DT_SERIALIZE_BASE(BASE_CLASS)
Serialize the base class implementation.
Definition: DtSerialize.h:161
std::vector< std::string > myTacticalGraphicsDefinitionHiersToMerge
Definition: DtDeInitializer.h:910
bool myDisableGlBufferTracking
Definition: DtDeInitializer.h:943
#define DT_DLL_VRVUTIL
Definition: vrvUtil.h:34
A generic configuration for configuring the GUI. Each GUI element is responsible for checking this co...
Definition: DtGuiConfiguration.h:22
bool myNoModelDefinitionLoadingFlag
Definition: DtDeInitializer.h:935
DriverInstanceList myDriverInstances
Definition: DtDeInitializer.h:890
std::string myModelPreloadFilename
Definition: DtDeInitializer.h:895
bool myOverwriteMappingsOnMerge
Definition: DtDeInitializer.h:922
DtDeConfiguration myDeConfiguration
Definition: DtDeInitializer.h:887
std::string myCoordinateSystemParameters
Definition: DtDeInitializer.h:892
2 dimensional vector
Definition: DtRendererThreadingModel.h:18
bool mySuppressHatIntersectOnAttach
Definition: DtDeInitializer.h:960
DeMode
Definition: DtDeInitializer.h:43
DT_DLL_VRVCORE DtTaitBryan level(const DtCoordinateSystem &cs, const DtVector &localOrigin, double topoHeading)
Returns a level orientation with the topographic heading.
bool myAutoLoadDriversFlag
Definition: DtDeInitializer.h:898
std::vector< std::string > myTacticalGraphicsTypeMapsToMerge
Definition: DtDeInitializer.h:915
int myNotifyLevel
Definition: DtDeInitializer.h:893
std::unordered_set< std::string > myModelDefsExcludedFromTextureLimits
models excluded from entity texture files
Definition: DtDeInitializer.h:984
DtInputDriverConfiguration myInputDriverConfiguration
Definition: DtDeInitializer.h:883
double myAutoReconnectPeriod
Definition: DtDeInitializer.h:949
std::vector< std::string > myAggregateDefinitionLeafsToMerge
Definition: DtDeInitializer.h:909
std::string myExtraArgs
Definition: DtDeInitializer.h:967
bool myLimitEntityTexturesProportional
proportionally limit textures for entities (default is true)
Definition: DtDeInitializer.h:981
unsigned short myNumDepthBits
Definition: DtDeInitializer.h:954
bool myTerrainObserverViewsEnabled
Definition: DtDeInitializer.h:975
bool findDefaultSettingsRecord(const std::string &name, RecordType &record) const
Find a settings default records.
Definition: DtDeInitializer.h:366
bool myEnableTracyProfiling
Definition: DtDeInitializer.h:942
void _serialize(Archive &ar, const unsigned int version)
Definition: DtDeInitializer.h:731
DtRendererThreadingModel
Definition: DtRendererThreadingModel.h:16
Configuration for the makVrv::DtIgDriver class.
Definition: DtDriverConfiguration.h:19
PrintLevel
Definition: DtDebugLog.h:42
bool myBatchedRenderingFlag
Definition: DtDeInitializer.h:929
bool myForceTextShaping
Definition: DtDeInitializer.h:946
The DtDePathConfiguration contains paths to various files, and can resolve the path macros ...
Definition: DtDePathConfiguration.h:23
Contains makVrv::DtGuiConfiguration class.
void serialize(Archive &ar, const unsigned int version)
Definition: DtDeInitializer.h:89
Abstract base class.
Definition: DtRecordHolder.h:19
std::map< std::string, DtBaseRecordHolder * > DefaultRecordMap
A map of default records.
Definition: DtDeInitializer.h:80
3 dimensional vector
std::string myLogFileName
Definition: DtDeInitializer.h:894
Contains DLL export macros.
bool myShowErrorDialogs
Definition: DtDeInitializer.h:995
AuthorizationCodeMap myAuthorizationCodeMap
Note, this member should probably not be serialized.
Definition: DtDeInitializer.h:901
DtVector2< int > myLimitEntityTexturesResolution
only mip maps at or below this res will be loaded for entities
Definition: DtDeInitializer.h:978
unsigned short myAntiAliasingLevel
Definition: DtDeInitializer.h:956
bool myNoAggregateDefinitionLoadingFlag
Definition: DtDeInitializer.h:933
Contains vrvUtil::DtDePathConfiguration class.
bool myNoEntityDefinitionLoadingFlag
Definition: DtDeInitializer.h:932
Contains makVrv::DtInputDriverConfiguration class.
bool myIndirectEntityRendering
Definition: DtDeInitializer.h:930
std::vector< std::pair< std::string, makArchives::DtObserverStateRecord > > ObserverStateMap
A map of observer names, to DtObserverStateRecords.
Definition: DtDeInitializer.h:77
DeMode myDeMode
Definition: DtDeInitializer.h:889
Record & record()
Definition: DtRecordHolder.h:51
bool myUsePseudoFullScreen
Definition: DtDeInitializer.h:924
bool myVertexSelectsParentFlag
Definition: DtDeInitializer.h:927
bool myInitLibXml
Definition: DtDeInitializer.h:957
#define DT_DECLARE_serialize_FUNCTIONS
Declare all the serialize functions to use.
Definition: DtSerialize.h:120
std::string myAutoLoadFile
Definition: DtDeInitializer.h:920
DtGuiConfiguration myGuiConfiguration
Definition: DtDeInitializer.h:882
std::string address
Definition: DtDeInitializer.h:85
bool myBufferClearUsesCompute
Definition: DtDeInitializer.h:931
This owns a list of window configurations.
Definition: DtDisplayConfiguration.h:43
std::string myDisplayEngineName
Definition: DtDeInitializer.h:884
std::string myCoordinateSystem
Definition: DtDeInitializer.h:891
bool mySynchronizedNtpTimeFlag
Definition: DtDeInitializer.h:940
bool myNoAggregateTypeMapLoadingFlag
Definition: DtDeInitializer.h:937
DeFeatures
Defines the features, features should be masked. By default the DeInitializer only has 3D features...
Definition: DtDeInitializer.h:54
DisplayConnections myDisplayConnections
Definition: DtDeInitializer.h:919
Contains makVrv::DtDisplayConfiguration class.
std::vector< std::string > myAutoStartDrivers
Definition: DtDeInitializer.h:903
Contains makVrv::DtConfiguration class.
bool myUseNonBlockingSendForSlaves
Definition: DtDeInitializer.h:961
std::vector< std::pair< std::string, DtConfiguration > > DriverInstanceList
A driver instance list is a list of pairs where the first parameter is the class name of the driver a...
Definition: DtDeInitializer.h:68
Contains makArchives::DtObserverStateRecord class.
DefaultRecordMap myDefaultRecords
Definition: DtDeInitializer.h:963
DtDePathConfiguration myPathConfiguration
Definition: DtDeInitializer.h:886
bool mySpeedScalingFlag
Definition: DtDeInitializer.h:926
std::vector< std::string > myMappingFilesToLoad
Definition: DtDeInitializer.h:905
bool myRealizeMinimapModelSetFlag
Definition: DtDeInitializer.h:928
The configuration of the Display Engine.
Definition: DtDeConfiguration.h:22
bool myDoubleBufferFlag
Definition: DtDeInitializer.h:951
DtDriverConfiguration myDriverConfiguration
Definition: DtDeInitializer.h:881
unsigned int myFrameRate
Definition: DtDeInitializer.h:953
Templated class, used to store makArchive Records.
Definition: DtRecordHolder.h:29
int myLimitGpuMemoryPercentage
the cutoff, beyond which vrv will not make new textures / buffers, as a % of total available video ra...
Definition: DtDeInitializer.h:991
unsigned short myNumStencilBits
Definition: DtDeInitializer.h:955
Definition: DtDeInitializer.h:82
const char int mode
Definition: ioapi.h:38
std::vector< std::string > myAggregateTypeMapsToMerge
Definition: DtDeInitializer.h:914
bool myUseHighestPriorityFlag
Definition: DtDeInitializer.h:947
bool myFullScreenFlag
Definition: DtDeInitializer.h:923
bool myDofConstraintsEnabled
Definition: DtDeInitializer.h:941
DtDisplayConfiguration configuration
Definition: DtDeInitializer.h:86
std::vector< std::string > myEntityElementDefinitionLeafsToMerge
Definition: DtDeInitializer.h:907
Serializable configuration for the input driver Contains observer settings and the current default ke...
Definition: DtInputDriverConfiguration.h:27
bool mySynchronizedOceanFlag
Definition: DtDeInitializer.h:939
The base implementation of a configuration.
Definition: DtConfiguration.h:24
bool myDisableKdTrees
Definition: DtDeInitializer.h:945
bool myIgnoreZoomForSpeedtreeLod
Definition: DtDeInitializer.h:959
unsigned int myMetaflightMinInstances
Definition: DtDeInitializer.h:973
bool myDisableDynamicTerrain
Definition: DtDeInitializer.h:969
std::map< std::string, std::string > AuthorizationCodeMap
A map of authorization keys and their values. Certain plug-ins check and validate their key and value...
Definition: DtDeInitializer.h:73
std::vector< std::string > myEntityElementDefinitionHiersToMerge
Definition: DtDeInitializer.h:906
#define DT_SERIALIZE_MEMBER(NAME)
Serialize a Member whose name starts with &#39;my&#39; If your member does not have that name, use Dt_SERIALIZE.
Definition: DtSerialize.h:158
bool myNoEntityTypeMapLoadingFlag
Definition: DtDeInitializer.h:936
bool myNoTacticalGraphicsTypeMapLoadingFlag
Definition: DtDeInitializer.h:938
Contains makVrv::DtDeConfiguration class.
ObserverStateMap myObserverStateMap
Definition: DtDeInitializer.h:904
std::vector< std::string > myEntityTypeMapsToMerge
Definition: DtDeInitializer.h:913
Contains makVrv::DtIGLogger class.
std::string myDiscoveredModelPreloadFilename
Definition: DtDeInitializer.h:896
bool myNoTacticalGraphicsDefinitionLoadingFlag
Definition: DtDeInitializer.h:934
std::vector< std::string > myAggregateDefinitionHiersToMerge
Definition: DtDeInitializer.h:908
std::vector< std::string > myTacticalGraphicsDefinitionLeafsToMerge
Definition: DtDeInitializer.h:911
bool myConstrainToTerrainFlag
Definition: DtDeInitializer.h:925
int port
Definition: DtDeInitializer.h:84
The initialization configuration for the makVrv::DtDe.
Definition: DtDeInitializer.h:39
std::set< unsigned int > myDisabledModelSets
Definition: DtDeInitializer.h:917
std::vector< std::string > myAdditionalTranslationFileNameBases
Definition: DtDeInitializer.h:916
bool myUseReverseZBuffer
Definition: DtDeInitializer.h:966

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)