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 setBufferClearUsesCompute(
bool val);
444 bool bufferClearUsesCompute()
const;
447 virtual void setLimitEntityTextures(
const DtVector2<int>& resolution);
454 virtual void setLimitEntityTexturesProportional(
bool proportional);
458 virtual bool limitEntityTexturesProportional(
void)
const;
462 virtual void excludeFromTextureLimits(
const std::string& modelDef);
464 virtual const std::unordered_set<std::string>& modelDefsExcludedFromTextureLimits(
void)
const;
468 virtual void setLimitTerrainTextures(
const DtVector2<int>& resolution);
475 virtual void setLimitGpuMemoryPercentage(
int percentageCutoff);
477 virtual int limitGpuMemoryPercentage(
void)
const;
481 void setNoEntityDefinitionLoading(
bool val);
484 bool noEntityDefinitionLoading()
const;
487 void setNoAggregateDefinitionLoading(
bool val);
490 bool noAggregateDefinitionLoading()
const;
493 void setNoTacticalGraphicsDefinitionLoading(
bool val);
496 bool noTacticalGraphicsDefinitionLoading()
const;
499 void setNoModelDefinitionLoading(
bool val);
502 bool noModelDefinitionLoading()
const;
505 void setNoEntityTypeMapLoading(
bool val);
508 bool noEntityTypeMapLoading()
const;
511 void setNoAggregateTypeMapLoading(
bool val);
514 bool noAggregateTypeMapLoading()
const;
517 void setNoTacticalGraphicsTypeMapLoading(
bool val);
520 bool noTacticalGraphicsTypeMapLoading()
const;
524 void setIgnoreZoomForSpeedtreeLod(
bool val);
528 bool ignoreZoomForSpeedtreeLod()
const;
536 void setSuppressHatIntersectOnAttach(
bool val);
540 bool suppressHatIntersectOnAttach()
const;
544 void setSynchronizedNtpTime(
bool val);
548 bool synchronizedNtpTime()
const;
556 void setDofConstraintsEnabled(
bool enabled);
559 bool dofConstraintsEnabled()
const;
562 virtual void setKdTreesDisabled(
bool disabled);
564 virtual bool kdTreesDisabled()
const;
568 virtual void setForceTextShaping(
bool force);
569 virtual bool forceTextShaping()
const;
575 void setUseNonBlockingSendForSlaves(
bool nonBlocking);
580 bool useNonBlockingSendForSlaves()
const;
583 void setAntiAliasingLevel(
unsigned short level);
584 unsigned short antiAliasingLevel()
const;
597 void setInitLibXml(
bool enabled);
601 bool initLibXml()
const;
604 void setCheckForData(
bool check);
607 bool checkForData()
const;
616 void setUsePseudoFullScreen(
bool enable);
619 bool usePseudoFullScreen()
const;
622 void setUseHighestPriority(
bool enable);
625 bool useHighestPriority()
const;
629 void setTcpSendTimeout(
double timeout);
630 double tcpSendTimeout()
const;
635 void setAutoReconnectPeriod(
double period);
640 double autoReconnectPeriod()
const;
643 bool autoReconnectEnabled()
const;
645 void setUseReverseZBuffer(
bool val);
648 bool useReverseZBuffer()
const;
651 void setExtraArgs(
const std::string& argString);
654 const std::string& extraArgs()
const;
657 void setDisableDynamicTerrain(
bool val);
660 bool disableDynamicTerrain()
const;
663 void setEnableOcclusionCulling(
bool val);
666 bool enableOcclusionCulling()
const;
668 void setShowErrorDialogs(
bool show);
670 bool showErrorDialogs()
const;
674 template<
class Archive>
708 ar& BOOST_SERIALIZATION_NVP(myInitLibXml);
712 ar& BOOST_SERIALIZATION_NVP(myFeatures);
716 ar& BOOST_SERIALIZATION_NVP(myVertexSelectsParentFlag);
721 ar& BOOST_SERIALIZATION_NVP(myCheckForData);
726 ar& BOOST_SERIALIZATION_NVP(myBatchedRenderingFlag);
731 ar& BOOST_SERIALIZATION_NVP(mySynchronizedOceanFlag);
735 ar& BOOST_SERIALIZATION_NVP(mySynchronizedNtpTimeFlag);
739 ar& BOOST_SERIALIZATION_NVP(myIgnoreZoomForSpeedtreeLod);
743 ar& BOOST_SERIALIZATION_NVP(mySuppressHatIntersectOnAttach);
747 ar& BOOST_SERIALIZATION_NVP(myUsePseudoFullScreen);
751 ar& BOOST_SERIALIZATION_NVP(myUseHighestPriorityFlag);
755 ar& BOOST_SERIALIZATION_NVP(myDisableKdTrees);
759 ar& BOOST_SERIALIZATION_NVP(myForceTextShaping);
763 ar& BOOST_SERIALIZATION_NVP(myUseNonBlockingSendForSlaves);
767 ar& BOOST_SERIALIZATION_NVP(myNoEntityDefinitionLoadingFlag);
768 ar& BOOST_SERIALIZATION_NVP(myNoAggregateDefinitionLoadingFlag);
769 ar& BOOST_SERIALIZATION_NVP(myNoTacticalGraphicsDefinitionLoadingFlag);
770 ar& BOOST_SERIALIZATION_NVP(myNoModelDefinitionLoadingFlag);
771 ar& BOOST_SERIALIZATION_NVP(myNoEntityTypeMapLoadingFlag);
772 ar& BOOST_SERIALIZATION_NVP(myNoAggregateTypeMapLoadingFlag);
773 ar& BOOST_SERIALIZATION_NVP(myNoTacticalGraphicsTypeMapLoadingFlag);
774 ar& BOOST_SERIALIZATION_NVP(myEntityElementDefinitionHiersToMerge);
775 ar& BOOST_SERIALIZATION_NVP(myEntityElementDefinitionLeafsToMerge);
776 ar& BOOST_SERIALIZATION_NVP(myAggregateDefinitionHiersToMerge);
777 ar& BOOST_SERIALIZATION_NVP(myAggregateDefinitionLeafsToMerge);
778 ar& BOOST_SERIALIZATION_NVP(myTacticalGraphicsDefinitionHiersToMerge);
779 ar& BOOST_SERIALIZATION_NVP(myTacticalGraphicsDefinitionLeafsToMerge);
780 ar& BOOST_SERIALIZATION_NVP(myModelDefinitionsToMerge);
784 ar& BOOST_SERIALIZATION_NVP(myUseReverseZBuffer);
785 ar& BOOST_SERIALIZATION_NVP(myExtraArgs);
790 ar& BOOST_SERIALIZATION_NVP(myDisableDynamicTerrain);
795 ar& BOOST_SERIALIZATION_NVP(myPreloadClouds);
796 ar& BOOST_SERIALIZATION_NVP(myEnableMetaflightInstancing);
797 ar& BOOST_SERIALIZATION_NVP(myMetaflightMinInstances);
802 ar& BOOST_SERIALIZATION_NVP(myEnableOcclusionCulling);
807 ar& BOOST_SERIALIZATION_NVP(myTerrainObserverViewsEnabled);
812 ar& BOOST_SERIALIZATION_NVP(myDofConstraintsEnabled);
817 ar& BOOST_SERIALIZATION_NVP(myEnableTracyProfiling);
bool myPreloadClouds
Definition: DtDeInitializer.h:912
DtVector2< int > myLimitTerrainTexturesResolution
only mip maps at or below this res will be loaded for terrain
Definition: DtDeInitializer.h:930
double myTcpSendTimeout
Definition: DtDeInitializer.h:889
bool myEnableMetaflightInstancing
Definition: DtDeInitializer.h:914
std::vector< std::string > myModelDefinitionsToMerge
Definition: DtDeInitializer.h:855
DeFeatures myFeatures
Definition: DtDeInitializer.h:907
bool myVSyncFlag
Definition: DtDeInitializer.h:893
bool myCheckForData
Definition: DtDeInitializer.h:900
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:853
#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:877
DriverInstanceList myDriverInstances
Definition: DtDeInitializer.h:833
std::string myModelPreloadFilename
Definition: DtDeInitializer.h:838
DtDeConfiguration myDeConfiguration
Definition: DtDeInitializer.h:830
std::string myCoordinateSystemParameters
Definition: DtDeInitializer.h:835
bool mySuppressHatIntersectOnAttach
Definition: DtDeInitializer.h:902
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:841
std::vector< std::string > myTacticalGraphicsTypeMapsToMerge
Definition: DtDeInitializer.h:858
int myNotifyLevel
Definition: DtDeInitializer.h:836
std::unordered_set< std::string > myModelDefsExcludedFromTextureLimits
models excluded from entity texture files
Definition: DtDeInitializer.h:927
DtInputDriverConfiguration myInputDriverConfiguration
Definition: DtDeInitializer.h:826
double myAutoReconnectPeriod
Definition: DtDeInitializer.h:890
std::vector< std::string > myAggregateDefinitionLeafsToMerge
Definition: DtDeInitializer.h:852
std::string myExtraArgs
Definition: DtDeInitializer.h:909
bool myLimitEntityTexturesProportional
proportionally limit textures for entities (default is true)
Definition: DtDeInitializer.h:924
unsigned short myNumDepthBits
Definition: DtDeInitializer.h:895
bool myTerrainObserverViewsEnabled
Definition: DtDeInitializer.h:918
bool findDefaultSettingsRecord(const std::string &name, RecordType &record) const
Find a settings default records.
Definition: DtDeInitializer.h:362
bool myEnableTracyProfiling
Definition: DtDeInitializer.h:884
void _serialize(Archive &ar, const unsigned int version)
Definition: DtDeInitializer.h:675
Configuration for the makVrv::DtIgDriver class.
Definition: DtDriverConfiguration.h:19
PrintLevel
Definition: DtDebugLog.h:41
bool myBatchedRenderingFlag
Definition: DtDeInitializer.h:869
bool myEjectGtBuffers
Definition: DtDeInitializer.h:872
bool myForceTextShaping
Definition: DtDeInitializer.h:887
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:837
Contains DLL export macros.
bool myShowErrorDialogs
Definition: DtDeInitializer.h:936
AuthorizationCodeMap myAuthorizationCodeMap
Note, this member should probably not be serialized.
Definition: DtDeInitializer.h:844
DtVector2< int > myLimitEntityTexturesResolution
only mip maps at or below this res will be loaded for entities
Definition: DtDeInitializer.h:921
unsigned short myAntiAliasingLevel
Definition: DtDeInitializer.h:898
bool myNoAggregateDefinitionLoadingFlag
Definition: DtDeInitializer.h:875
Contains vrvUtil::DtDePathConfiguration class.
bool myNoEntityDefinitionLoadingFlag
Definition: DtDeInitializer.h:874
bool myIndirectEntityRendering
Definition: DtDeInitializer.h:870
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:832
Record & record()
Definition: DtRecordHolder.h:51
bool myUsePseudoFullScreen
Definition: DtDeInitializer.h:864
bool myVertexSelectsParentFlag
Definition: DtDeInitializer.h:867
bool myInitLibXml
Definition: DtDeInitializer.h:899
#define DT_DECLARE_serialize_FUNCTIONS
Declare all the serialize functions to use.
Definition: DtSerialize.h:120
std::string myAutoLoadFile
Definition: DtDeInitializer.h:861
DtGuiConfiguration myGuiConfiguration
Definition: DtDeInitializer.h:825
std::string address
Definition: DtDeInitializer.h:82
bool myBufferClearUsesCompute
Definition: DtDeInitializer.h:873
This owns a list of window configurations.
Definition: DtDisplayConfiguration.h:47
std::string myDisplayEngineName
Definition: DtDeInitializer.h:827
std::string myCoordinateSystem
Definition: DtDeInitializer.h:834
bool mySynchronizedNtpTimeFlag
Definition: DtDeInitializer.h:882
bool myEnableOcclusionCulling
Definition: DtDeInitializer.h:917
bool myNoAggregateTypeMapLoadingFlag
Definition: DtDeInitializer.h:879
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:860
Contains makVrv::DtDisplayConfiguration class.
std::vector< std::string > myAutoStartDrivers
Definition: DtDeInitializer.h:846
Contains makVrv::DtConfiguration class.
bool myUseNonBlockingSendForSlaves
Definition: DtDeInitializer.h:903
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:905
DtDePathConfiguration myPathConfiguration
Definition: DtDeInitializer.h:829
bool mySpeedScalingFlag
Definition: DtDeInitializer.h:866
std::vector< std::string > myMappingFilesToLoad
Definition: DtDeInitializer.h:848
bool myRealizeMinimapModelSetFlag
Definition: DtDeInitializer.h:868
The configuration of the Display Engine.
Definition: DtDeConfiguration.h:22
bool myDoubleBufferFlag
Definition: DtDeInitializer.h:892
DtDriverConfiguration myDriverConfiguration
Definition: DtDeInitializer.h:824
unsigned int myFrameRate
Definition: DtDeInitializer.h:894
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:934
unsigned short myNumStencilBits
Definition: DtDeInitializer.h:896
Definition: DtDeInitializer.h:79
const char int mode
Definition: ioapi.h:38
std::vector< std::string > myAggregateTypeMapsToMerge
Definition: DtDeInitializer.h:857
bool myUseHighestPriorityFlag
Definition: DtDeInitializer.h:888
bool myFullScreenFlag
Definition: DtDeInitializer.h:863
bool myDofConstraintsEnabled
Definition: DtDeInitializer.h:883
DtDisplayConfiguration configuration
Definition: DtDeInitializer.h:83
std::vector< std::string > myEntityElementDefinitionLeafsToMerge
Definition: DtDeInitializer.h:850
bool mySynchronizedOceanFlag
Definition: DtDeInitializer.h:881
The base implementation of a configuration.
Definition: DtConfiguration.h:24
bool myDisableKdTrees
Definition: DtDeInitializer.h:886
unsigned short myNumAlphaBits
Definition: DtDeInitializer.h:897
bool myIgnoreZoomForSpeedtreeLod
Definition: DtDeInitializer.h:901
unsigned int myMetaflightMinInstances
Definition: DtDeInitializer.h:915
bool myDisableDynamicTerrain
Definition: DtDeInitializer.h:911
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:849
#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:878
bool myNoTacticalGraphicsTypeMapLoadingFlag
Definition: DtDeInitializer.h:880
Contains makVrv::DtDeConfiguration class.
bool myEjectGtTextures
Definition: DtDeInitializer.h:871
ObserverStateMap myObserverStateMap
Definition: DtDeInitializer.h:847
std::vector< std::string > myEntityTypeMapsToMerge
Definition: DtDeInitializer.h:856
Contains makVrv::DtIGLogger class.
std::string myDiscoveredModelPreloadFilename
Definition: DtDeInitializer.h:839
bool myNoTacticalGraphicsDefinitionLoadingFlag
Definition: DtDeInitializer.h:876
std::vector< std::string > myAggregateDefinitionHiersToMerge
Definition: DtDeInitializer.h:851
std::vector< std::string > myTacticalGraphicsDefinitionLeafsToMerge
Definition: DtDeInitializer.h:854
bool myConstrainToTerrainFlag
Definition: DtDeInitializer.h:865
int port
Definition: DtDeInitializer.h:81
The initialization configuration for the makVrv::DtDe.
Definition: DtDeInitializer.h:36
bool myUseReverseZBuffer
Definition: DtDeInitializer.h:908