27 #include <unordered_set>
32 class DtBaseRecordHolder;
56 Features_Stealth = Features_3D | Features_2D,
64 typedef std::vector<std::pair<std::string, DtConfiguration> >
73 typedef std::vector<std::pair<std::string, makArchives::DtObserverStateRecord> >
85 template<
class Archive>
86 void serialize(Archive& ar,
const unsigned int version)
88 ar& BOOST_SERIALIZATION_NVP(port);
89 ar& BOOST_SERIALIZATION_NVP(address);
90 ar& BOOST_SERIALIZATION_NVP(configuration);
118 bool featureSupported(
DeFeatures feature)
const;
155 const std::string& displayName()
const;
158 void setDisplayEngineName(
const std::string& name);
182 void setCoordinateSystem(
const std::string& coordinateSystem,
183 const std::string& parameters);
186 const std::string& coordinateSystem()
const;
189 const std::string& coordinateSystemParameters()
const;
198 void setLogFileName(
const std::string&
filename);
201 const std::string& logFileName()
const;
204 void setModelPreloadFilename(
const std::string&
filename);
207 const std::string& modelPreloadFilename()
const;
210 void setDiscoveredModelPreloadFilename(
const std::string&
filename);
213 const std::string& discoveredModelPreloadFilename()
const;
217 void setAutoLoadDrivers(
bool autoLoad);
221 bool autoLoadDrivers()
const;
224 void setAutoStartDrivers(
const std::vector<std::string>& names);
227 const std::vector<std::string>& autoStartDrivers()
const;
233 void addAuthorizationCodeMapping(
const std::string& key,
234 const std::string& value);
237 void removeAuthorizationCodeMapping(
const std::string& key);
241 const std::string* findAuthorizationCodeValue(
const std::string& key)
const;
251 void setTerrainObserverViewsEnabled(
bool enable);
255 bool terrainObserverViewsEnabled()
const;
258 const std::vector<std::string>& mappingFilesToLoad()
const;
261 void setMappingFilesToLoad(
const std::vector<std::string>&);
265 const std::vector<std::string>& entityElementDefinitionHiersToMerge()
const;
269 void setEntityElementDefinitionHiersToMerge(
const std::vector<std::string>& filesOrDirs);
273 const std::vector<std::string>& entityElementDefinitionLeafsToMerge()
const;
277 void setEntityElementDefinitionLeafsToMerge(
const std::vector<std::string>& filesOrDirs);
281 const std::vector<std::string>& aggregateElementDefinitionHiersToMerge()
const;
285 void setAggregateElementDefinitionHiersToMerge(
const std::vector<std::string>& filesOrDirs);
289 const std::vector<std::string>& aggregateElementDefinitionLeafsToMerge()
const;
293 void setAggregateElementDefinitionLeafsToMerge(
const std::vector<std::string>& filesOrDirs);
297 const std::vector<std::string>& tacticalGraphicsElementDefinitionHiersToMerge()
const;
301 void setTacticalGraphicsElementDefinitionHiersToMerge(
const std::vector<std::string>& filesOrDirs);
305 const std::vector<std::string>& tacticalGraphicsElementDefinitionLeafsToMerge()
const;
309 void setTacticalGraphicsElementDefinitionLeafsToMerge(
const std::vector<std::string>& filesOrDirs);
312 const std::vector<std::string>& modelDefinitionFilesOrDirsToMerge()
const;
315 void setModelDefinitionFilesOrDirsToMerge(
const std::vector<std::string>& filesOrDirs);
318 const std::vector<std::string>& entityTypeMapFilesOrDirsToMerge()
const;
321 void setEntityTypeMapFilesOrDirsToMerge(
const std::vector<std::string>& filesOrDirs);
324 const std::vector<std::string>& aggregateTypeMapFilesOrDirsToMerge()
const;
327 void setAggregateTypeMapFilesOrDirsToMerge(
const std::vector<std::string>& filesOrDirs);
330 const std::vector<std::string>& tacticalGraphicsTypeMapFilesOrDirsToMerge()
const;
333 void setTacticalGraphicsTypeMapFilesOrDirsToMerge(
const std::vector<std::string>& filesOrDirs);
342 void setAutoLoadFile(
const std::string& file);
345 const std::string& autoLoadFile()
const;
348 void setStartFullScreen(
bool);
351 bool startFullScreen()
const;
354 void addDefaultSettingsRecord(
const std::string& recordName,
358 void removeDefaultSettingsRecord(
const std::string& record);
361 template <
typename RecordType>
364 DefaultRecordMap::const_iterator iter = myDefaultRecords.find(name);
365 if (iter != myDefaultRecords.end())
371 record = holder->
record();
380 void setConstrainToTerrain(
bool constrain);
381 bool constrainToTerrain()
const;
384 void setSpeedScaling(
bool scale);
385 bool speedScaling()
const;
388 void setVertexSelectsParent(
bool selectsParent);
389 bool vertexSelectsParent()
const;
392 void setDoubleBuffering(
bool buffer);
393 bool doubleBuffer()
const;
396 void setVSync(
bool sync);
400 void setEnableTracyProfiling(
bool enableProfiling);
401 bool enableTracyProfiling()
const;
405 void setFixedFrameRate(
unsigned int framesPerSecond);
406 unsigned int fixedFrameRate()
const;
409 void setNumDepthBits(
unsigned short numBits);
410 unsigned short numDepthBits()
const;
413 void setNumStencilBits(
unsigned short numBits);
414 unsigned short numStencilBits()
const;
417 void setRealizeMinimapModelSet(
bool val);
420 bool realizeMinimapModelSet()
const;
423 void setIndirectEntityRendering(
bool val);
426 bool indirectEntityRendering()
const;
429 void setEjectGtTextures(
bool val);
432 bool ejectGtTextures()
const;
435 void setEjectGtBuffers(
bool val);
438 bool ejectGtBuffers()
const;
441 void setAllowNvidiaBindlessFix(
bool val);
444 bool allowNvidiaBindlessFix()
const;
447 void setBufferClearUsesCompute(
bool val);
450 bool bufferClearUsesCompute()
const;
453 virtual void setLimitEntityTextures(
const DtVector2<int>& resolution);
460 virtual void setLimitEntityTexturesProportional(
bool proportional);
464 virtual bool limitEntityTexturesProportional(
void)
const;
468 virtual void excludeFromTextureLimits(
const std::string& modelDef);
470 virtual const std::unordered_set<std::string>& modelDefsExcludedFromTextureLimits(
void)
const;
474 virtual void setLimitTerrainTextures(
const DtVector2<int>& resolution);
481 virtual void setLimitGpuMemoryPercentage(
int percentageCutoff);
483 virtual int limitGpuMemoryPercentage(
void)
const;
487 void setNoEntityDefinitionLoading(
bool val);
490 bool noEntityDefinitionLoading()
const;
493 void setNoAggregateDefinitionLoading(
bool val);
496 bool noAggregateDefinitionLoading()
const;
499 void setNoTacticalGraphicsDefinitionLoading(
bool val);
502 bool noTacticalGraphicsDefinitionLoading()
const;
505 void setNoModelDefinitionLoading(
bool val);
508 bool noModelDefinitionLoading()
const;
511 void setNoEntityTypeMapLoading(
bool val);
514 bool noEntityTypeMapLoading()
const;
517 void setNoAggregateTypeMapLoading(
bool val);
520 bool noAggregateTypeMapLoading()
const;
523 void setNoTacticalGraphicsTypeMapLoading(
bool val);
526 bool noTacticalGraphicsTypeMapLoading()
const;
530 void setIgnoreZoomForSpeedtreeLod(
bool val);
534 bool ignoreZoomForSpeedtreeLod()
const;
542 void setSuppressHatIntersectOnAttach(
bool val);
546 bool suppressHatIntersectOnAttach()
const;
550 void setSynchronizedNtpTime(
bool val);
554 bool synchronizedNtpTime()
const;
562 void setDofConstraintsEnabled(
bool enabled);
565 bool dofConstraintsEnabled()
const;
568 virtual void setKdTreesDisabled(
bool disabled);
570 virtual bool kdTreesDisabled()
const;
574 virtual void setForceTextShaping(
bool force);
575 virtual bool forceTextShaping()
const;
581 void setUseNonBlockingSendForSlaves(
bool nonBlocking);
586 bool useNonBlockingSendForSlaves()
const;
589 void setAntiAliasingLevel(
unsigned short level);
590 unsigned short antiAliasingLevel()
const;
603 void setInitLibXml(
bool enabled);
607 bool initLibXml()
const;
610 void setCheckForData(
bool check);
613 bool checkForData()
const;
622 void setUsePseudoFullScreen(
bool enable);
625 bool usePseudoFullScreen()
const;
628 void setUseHighestPriority(
bool enable);
631 bool useHighestPriority()
const;
635 void setTcpSendTimeout(
double timeout);
636 double tcpSendTimeout()
const;
641 void setAutoReconnectPeriod(
double period);
646 double autoReconnectPeriod()
const;
649 bool autoReconnectEnabled()
const;
651 void setUseReverseZBuffer(
bool val);
654 bool useReverseZBuffer()
const;
657 void setExtraArgs(
const std::string& argString);
660 const std::string& extraArgs()
const;
663 void setDisableDynamicTerrain(
bool val);
666 bool disableDynamicTerrain()
const;
669 void setEnableOcclusionCulling(
bool val);
672 bool enableOcclusionCulling()
const;
674 void setShowErrorDialogs(
bool show);
676 bool showErrorDialogs()
const;
680 template<
class Archive>
714 ar& BOOST_SERIALIZATION_NVP(myInitLibXml);
718 ar& BOOST_SERIALIZATION_NVP(myFeatures);
722 ar& BOOST_SERIALIZATION_NVP(myVertexSelectsParentFlag);
727 ar& BOOST_SERIALIZATION_NVP(myCheckForData);
732 ar& BOOST_SERIALIZATION_NVP(myBatchedRenderingFlag);
737 ar& BOOST_SERIALIZATION_NVP(mySynchronizedOceanFlag);
741 ar& BOOST_SERIALIZATION_NVP(mySynchronizedNtpTimeFlag);
745 ar& BOOST_SERIALIZATION_NVP(myIgnoreZoomForSpeedtreeLod);
749 ar& BOOST_SERIALIZATION_NVP(mySuppressHatIntersectOnAttach);
753 ar& BOOST_SERIALIZATION_NVP(myUsePseudoFullScreen);
757 ar& BOOST_SERIALIZATION_NVP(myUseHighestPriorityFlag);
761 ar& BOOST_SERIALIZATION_NVP(myDisableKdTrees);
765 ar& BOOST_SERIALIZATION_NVP(myForceTextShaping);
769 ar& BOOST_SERIALIZATION_NVP(myUseNonBlockingSendForSlaves);
773 ar& BOOST_SERIALIZATION_NVP(myNoEntityDefinitionLoadingFlag);
774 ar& BOOST_SERIALIZATION_NVP(myNoAggregateDefinitionLoadingFlag);
775 ar& BOOST_SERIALIZATION_NVP(myNoTacticalGraphicsDefinitionLoadingFlag);
776 ar& BOOST_SERIALIZATION_NVP(myNoModelDefinitionLoadingFlag);
777 ar& BOOST_SERIALIZATION_NVP(myNoEntityTypeMapLoadingFlag);
778 ar& BOOST_SERIALIZATION_NVP(myNoAggregateTypeMapLoadingFlag);
779 ar& BOOST_SERIALIZATION_NVP(myNoTacticalGraphicsTypeMapLoadingFlag);
780 ar& BOOST_SERIALIZATION_NVP(myEntityElementDefinitionHiersToMerge);
781 ar& BOOST_SERIALIZATION_NVP(myEntityElementDefinitionLeafsToMerge);
782 ar& BOOST_SERIALIZATION_NVP(myAggregateDefinitionHiersToMerge);
783 ar& BOOST_SERIALIZATION_NVP(myAggregateDefinitionLeafsToMerge);
784 ar& BOOST_SERIALIZATION_NVP(myTacticalGraphicsDefinitionHiersToMerge);
785 ar& BOOST_SERIALIZATION_NVP(myTacticalGraphicsDefinitionLeafsToMerge);
786 ar& BOOST_SERIALIZATION_NVP(myModelDefinitionsToMerge);
790 ar& BOOST_SERIALIZATION_NVP(myUseReverseZBuffer);
791 ar& BOOST_SERIALIZATION_NVP(myExtraArgs);
796 ar& BOOST_SERIALIZATION_NVP(myDisableDynamicTerrain);
801 ar& BOOST_SERIALIZATION_NVP(myPreloadClouds);
802 ar& BOOST_SERIALIZATION_NVP(myEnableMetaflightInstancing);
803 ar& BOOST_SERIALIZATION_NVP(myMetaflightMinInstances);
808 ar& BOOST_SERIALIZATION_NVP(myEnableOcclusionCulling);
813 ar& BOOST_SERIALIZATION_NVP(myTerrainObserverViewsEnabled);
818 ar& BOOST_SERIALIZATION_NVP(myDofConstraintsEnabled);
823 ar& BOOST_SERIALIZATION_NVP(myEnableTracyProfiling);
bool myPreloadClouds
Definition: DtDeInitializer.h:919
DtVector2< int > myLimitTerrainTexturesResolution
only mip maps at or below this res will be loaded for terrain
Definition: DtDeInitializer.h:937
double myTcpSendTimeout
Definition: DtDeInitializer.h:896
bool myEnableMetaflightInstancing
Definition: DtDeInitializer.h:921
std::vector< std::string > myModelDefinitionsToMerge
Definition: DtDeInitializer.h:861
DeFeatures myFeatures
Definition: DtDeInitializer.h:914
bool myVSyncFlag
Definition: DtDeInitializer.h:900
bool myCheckForData
Definition: DtDeInitializer.h:907
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 3)
std::vector< DisplayConnection > DisplayConnections
Definition: DtDeInitializer.h:94
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:859
#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:884
DriverInstanceList myDriverInstances
Definition: DtDeInitializer.h:839
std::string myModelPreloadFilename
Definition: DtDeInitializer.h:844
DtDeConfiguration myDeConfiguration
Definition: DtDeInitializer.h:836
std::string myCoordinateSystemParameters
Definition: DtDeInitializer.h:841
bool mySuppressHatIntersectOnAttach
Definition: DtDeInitializer.h:909
DeMode
Definition: DtDeInitializer.h:40
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:847
std::vector< std::string > myTacticalGraphicsTypeMapsToMerge
Definition: DtDeInitializer.h:864
int myNotifyLevel
Definition: DtDeInitializer.h:842
std::unordered_set< std::string > myModelDefsExcludedFromTextureLimits
models excluded from entity texture files
Definition: DtDeInitializer.h:934
bool myAllowNvidiaBindlessFix
Definition: DtDeInitializer.h:879
DtInputDriverConfiguration myInputDriverConfiguration
Definition: DtDeInitializer.h:832
double myAutoReconnectPeriod
Definition: DtDeInitializer.h:897
std::vector< std::string > myAggregateDefinitionLeafsToMerge
Definition: DtDeInitializer.h:858
std::string myExtraArgs
Definition: DtDeInitializer.h:916
bool myLimitEntityTexturesProportional
proportionally limit textures for entities (default is true)
Definition: DtDeInitializer.h:931
unsigned short myNumDepthBits
Definition: DtDeInitializer.h:902
bool myTerrainObserverViewsEnabled
Definition: DtDeInitializer.h:925
bool findDefaultSettingsRecord(const std::string &name, RecordType &record) const
Find a settings default records.
Definition: DtDeInitializer.h:362
bool myEnableTracyProfiling
Definition: DtDeInitializer.h:891
void _serialize(Archive &ar, const unsigned int version)
Definition: DtDeInitializer.h:681
Configuration for the makVrv::DtIgDriver class.
Definition: DtDriverConfiguration.h:19
PrintLevel
Definition: DtDebugLog.h:41
bool myBatchedRenderingFlag
Definition: DtDeInitializer.h:875
bool myEjectGtBuffers
Definition: DtDeInitializer.h:878
bool myForceTextShaping
Definition: DtDeInitializer.h:894
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:86
Abstract base class.
Definition: DtRecordHolder.h:19
std::map< std::string, DtBaseRecordHolder * > DefaultRecordMap
A map of default records.
Definition: DtDeInitializer.h:77
std::string myLogFileName
Definition: DtDeInitializer.h:843
Contains DLL export macros.
bool myShowErrorDialogs
Definition: DtDeInitializer.h:943
AuthorizationCodeMap myAuthorizationCodeMap
Note, this member should probably not be serialized.
Definition: DtDeInitializer.h:850
DtVector2< int > myLimitEntityTexturesResolution
only mip maps at or below this res will be loaded for entities
Definition: DtDeInitializer.h:928
unsigned short myAntiAliasingLevel
Definition: DtDeInitializer.h:905
bool myNoAggregateDefinitionLoadingFlag
Definition: DtDeInitializer.h:882
Contains vrvUtil::DtDePathConfiguration class.
bool myNoEntityDefinitionLoadingFlag
Definition: DtDeInitializer.h:881
bool myIndirectEntityRendering
Definition: DtDeInitializer.h:876
std::vector< std::pair< std::string, makArchives::DtObserverStateRecord > > ObserverStateMap
A map of observer names, to DtObserverStateRecords.
Definition: DtDeInitializer.h:74
DeMode myDeMode
Definition: DtDeInitializer.h:838
Record & record()
Definition: DtRecordHolder.h:51
bool myUsePseudoFullScreen
Definition: DtDeInitializer.h:870
bool myVertexSelectsParentFlag
Definition: DtDeInitializer.h:873
bool myInitLibXml
Definition: DtDeInitializer.h:906
#define DT_DECLARE_serialize_FUNCTIONS
Declare all the serialize functions to use.
Definition: DtSerialize.h:120
std::string myAutoLoadFile
Definition: DtDeInitializer.h:867
DtGuiConfiguration myGuiConfiguration
Definition: DtDeInitializer.h:831
std::string address
Definition: DtDeInitializer.h:82
bool myBufferClearUsesCompute
Definition: DtDeInitializer.h:880
This owns a list of window configurations.
Definition: DtDisplayConfiguration.h:47
std::string myDisplayEngineName
Definition: DtDeInitializer.h:833
std::string myCoordinateSystem
Definition: DtDeInitializer.h:840
bool mySynchronizedNtpTimeFlag
Definition: DtDeInitializer.h:889
bool myEnableOcclusionCulling
Definition: DtDeInitializer.h:924
bool myNoAggregateTypeMapLoadingFlag
Definition: DtDeInitializer.h:886
DeFeatures
Defines the features, features should be masked. By default the DeInitializer only has 3D features...
Definition: DtDeInitializer.h:51
DisplayConnections myDisplayConnections
Definition: DtDeInitializer.h:866
Contains makVrv::DtDisplayConfiguration class.
std::vector< std::string > myAutoStartDrivers
Definition: DtDeInitializer.h:852
Contains makVrv::DtConfiguration class.
bool myUseNonBlockingSendForSlaves
Definition: DtDeInitializer.h:910
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:65
Contains makArchives::DtObserverStateRecord class.
DefaultRecordMap myDefaultRecords
Definition: DtDeInitializer.h:912
DtDePathConfiguration myPathConfiguration
Definition: DtDeInitializer.h:835
bool mySpeedScalingFlag
Definition: DtDeInitializer.h:872
std::vector< std::string > myMappingFilesToLoad
Definition: DtDeInitializer.h:854
bool myRealizeMinimapModelSetFlag
Definition: DtDeInitializer.h:874
The configuration of the Display Engine.
Definition: DtDeConfiguration.h:22
bool myDoubleBufferFlag
Definition: DtDeInitializer.h:899
DtDriverConfiguration myDriverConfiguration
Definition: DtDeInitializer.h:830
unsigned int myFrameRate
Definition: DtDeInitializer.h:901
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:941
unsigned short myNumStencilBits
Definition: DtDeInitializer.h:903
Definition: DtDeInitializer.h:79
const char int mode
Definition: ioapi.h:38
std::vector< std::string > myAggregateTypeMapsToMerge
Definition: DtDeInitializer.h:863
bool myUseHighestPriorityFlag
Definition: DtDeInitializer.h:895
bool myFullScreenFlag
Definition: DtDeInitializer.h:869
bool myDofConstraintsEnabled
Definition: DtDeInitializer.h:890
DtDisplayConfiguration configuration
Definition: DtDeInitializer.h:83
std::vector< std::string > myEntityElementDefinitionLeafsToMerge
Definition: DtDeInitializer.h:856
bool mySynchronizedOceanFlag
Definition: DtDeInitializer.h:888
The base implementation of a configuration.
Definition: DtConfiguration.h:24
bool myDisableKdTrees
Definition: DtDeInitializer.h:893
unsigned short myNumAlphaBits
Definition: DtDeInitializer.h:904
bool myIgnoreZoomForSpeedtreeLod
Definition: DtDeInitializer.h:908
unsigned int myMetaflightMinInstances
Definition: DtDeInitializer.h:922
bool myDisableDynamicTerrain
Definition: DtDeInitializer.h:918
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:70
std::vector< std::string > myEntityElementDefinitionHiersToMerge
Definition: DtDeInitializer.h:855
#define DT_SERIALIZE_MEMBER(NAME)
Serialize a Member whose name starts with 'my' If your member does not have that name, use Dt_SERIALIZE.
Definition: DtSerialize.h:158
bool myNoEntityTypeMapLoadingFlag
Definition: DtDeInitializer.h:885
bool myNoTacticalGraphicsTypeMapLoadingFlag
Definition: DtDeInitializer.h:887
Contains makVrv::DtDeConfiguration class.
bool myEjectGtTextures
Definition: DtDeInitializer.h:877
ObserverStateMap myObserverStateMap
Definition: DtDeInitializer.h:853
std::vector< std::string > myEntityTypeMapsToMerge
Definition: DtDeInitializer.h:862
Contains makVrv::DtIGLogger class.
std::string myDiscoveredModelPreloadFilename
Definition: DtDeInitializer.h:845
bool myNoTacticalGraphicsDefinitionLoadingFlag
Definition: DtDeInitializer.h:883
std::vector< std::string > myAggregateDefinitionHiersToMerge
Definition: DtDeInitializer.h:857
std::vector< std::string > myTacticalGraphicsDefinitionLeafsToMerge
Definition: DtDeInitializer.h:860
bool myConstrainToTerrainFlag
Definition: DtDeInitializer.h:871
int port
Definition: DtDeInitializer.h:81
The initialization configuration for the makVrv::DtDe.
Definition: DtDeInitializer.h:36
bool myUseReverseZBuffer
Definition: DtDeInitializer.h:915