17 #include <vlutil/vlFilename.h>
24 #include <matrix/3dBoundingVolume.h>
25 #include <tbb/recursive_mutex.h>
26 #include <tbb/spin_mutex.h>
43 class DtEntityMapperKey;
71 tbb::mutex::scoped_lock* myLock =
nullptr;
85 static std::string className();
94 virtual void clearModelSet();
97 virtual bool load(
const DtFilename&, std::set<DtString>& iconLists,
bool signal =
false);
104 return myVariableBindings;
107 virtual void setSimulationModelSets(
const std::vector<DtSimulationModelSet*>& sets);
108 virtual const std::vector<DtSimulationModelSet*>& simulationModelSets()
const;
114 return mySearchPaths;
125 virtual void getSupportPoints(
const DtEntityType& et,
128 virtual std::string getNavDataPath(
const DtEntityType& et);
134 virtual double getMaximumSpeed(
const DtEntityType& et);
138 virtual double getMinimumSpeed(
const DtEntityType& et);
141 virtual double getDefaultOrderedSpeed(
const DtEntityType& et);
144 virtual double getMaximumAcceleration(
const DtEntityType& et);
147 virtual double getMaximumDeceleration(
const DtEntityType& et);
150 virtual bool loadFromDataFiles(
const DtFilename& entities,
const DtFilename& platforms, std::set<DtString>& iconLists,
bool signal =
true,
DtModelSet* preloadModelSet = 0);
153 virtual void mergeFavorites(
const DtModelSet* f);
162 virtual DtEntityType nameToType(
const DtString&)
const;
170 virtual void setAdditionalKeywords(
const DtEntityMapperKey&,
const std::string&,
bool replace =
false);
195 virtual void statePropertiesFor(
const DtEntityType&,
DtRwProperties&)
const;
198 virtual void parameterPropertiesFor(
const DtEntityType&,
DtRwProperties&);
209 virtual void parameterPropertiesFor(
213 virtual boost::shared_ptr<DtReaderWriter> rwProperty(
const DtEntityType&,
const std::string& prop)
const;
220 virtual void loadPlatforms(
const DtString&);
223 virtual void clearPlatforms();
234 virtual DtObjectType nextAvailableSimulationObjectGroupObjectType()
const;
237 virtual bool enabledRadarCoverageDescriptors(
const DtEntityMapperKey&, std::vector<DtObjectSensorDescriptor*>&);
244 const DtString& c = DtString::nullString())
245 : objectType(ot), label(l), category(c) {};
247 DtObjectType objectType;
255 virtual void signalLoaded();
260 typedef std::map<std::string, boost::shared_ptr<DtReaderWriter> >
PropertiesMap;
272 virtual PlatformsMap::const_iterator availablePlatform(
const DtString& str)
const;
274 virtual void clearSimulationModelSets();
296 std::string myAdditionalKeywords;
Instances of DtVrfObjectParameters are the readable/writeable objects that contain the information ne...
Definition: vrfObjectParameters.h:63
std::pair< DtString, unsigned > EquipmentTypeCountPair
Definition: sharedModelSet.h:239
a read settings lock on a setting object. The object can only get read access aka const functions...
Definition: DtReadSettingsLock.h:48
Definition: entityMapperKey.h:23
DtOrderedKeyList< AdditionalKey * > AdditionalKeywords
Definition: sharedModelSet.h:299
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
Interaction makVrv::DtWriteSettingsLock class.
makVrv::DtWriteSettingsLock< DtSharedModelSet > & operator->()
Definition: sharedModelSet.h:68
DtModelSet * myModelSet
Definition: sharedModelSet.h:277
A signaler for the shared model set changes.
Definition: sharedModelSet.h:308
DtRwNLengthStringVector is a named, readable/writable vector of strings of arbitrary length...
Definition: rwNLengthStringVector.h:28
DtReaderWriter::SearchPaths mySearchPaths
Definition: sharedModelSet.h:288
AdditionalKey(const DtEntityMapperKey &kw)
Definition: sharedModelSet.h:293
DtVariableBindingsSharedPtr myVariableBindings
Definition: sharedModelSet.h:303
ObjectTypeAndLabel(const DtObjectType &ot, const DtString &l, const DtString &c=DtString::nullString())
Definition: sharedModelSet.h:243
List of DtComponentSystemDescriptor instances.
Definition: componentSystemDescriptorList.h:20
std::map< DtString, PlatformStruct > PlatformsMap
Definition: sharedModelSet.h:269
std::multimap< EquipmentTypeCountPair, ObjectTypeAndLabel > EquipmentTypeMap
Definition: sharedModelSet.h:251
Contains makVrv::DtStateView class.
WriteSettingsLock(makVrv::DtSharedSettingsManager &manager)
Definition: sharedModelSet.h:53
std::shared_ptr< DtRwVariableBindings > DtVariableBindingsSharedPtr
Definition: rwVariableBindings.h:149
Instances of DtComponentDescriptorList are readable/writeable lists of DtComponentDescriptor objects...
Definition: componentDescriptorList.h:22
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
DtObjectSensorDescriptor; descriptor for the DtObjectSensor component.
Definition: objectSensorDescriptor.h:28
The shared settings manager, is the global object responsible for managing any shared settings object...
Definition: DtSharedSettingsManager.h:42
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
std::map< std::string, boost::shared_ptr< DtReaderWriter > > PropertiesMap
Definition: sharedModelSet.h:260
Contains makVrv::event_signal class.
The base class for all shared settings. Actual settings class should have the following members/decla...
Definition: DtSharedSettings.h:45
Description: A model is a set of items that defines a model to create in the back-end from the front-...
Definition: simulationObjectGroupModelSetEntry.h:161
virtual ~WriteSettingsLock()
Definition: sharedModelSet.h:59
Interface class used to define minimal interface for a property. The DtPropertyInterface class provid...
Definition: propertyInterface.h:53
AdditionalKeywords myAdditionalKeywords
Definition: sharedModelSet.h:300
tbb::spin_mutex theAvailablePlatformMutex
Definition: sharedModelSet.h:281
The event queue interface is a cross thread event queue used to emit event_signal across thread bound...
Definition: DtEventQueueInterface.h:26
ReaderWriter object that maintains a list of reader-writer variable bindings. It keeps a list of name...
Definition: rwVariableBindings.h:27
Contains the DtRwDIGuyCharacterInfo class declaration.
Definition: modelSetEntry.h:34
ParameterData myParameterData
Parameter data is mutable so that we can cache retrieved data in paramegerDataFor().
Definition: sharedModelSet.h:286
Contains the DtSharedSettings class declaration.
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
DtString category
Definition: sharedModelSet.h:249
Shared information about the current model set and entities/platforms that are available to it...
Definition: sharedModelSet.h:47
Definition: sharedModelSet.h:50
Contains makVrv::DtVrlinkSimulatedEntityState class.
std::vector< DtSimulationModelSet * > mySimulationModelSets
Definition: sharedModelSet.h:301
a write settings lock on a setting object. The object can be read and modified, but no other threads ...
Definition: DtWriteSettingsLock.h:47
ObjectTypeAndLabel()
Definition: sharedModelSet.h:242
A simulation model set contains all the information that can be used to support a scenario either for...
Definition: simulationModelSet.h:31
The DtRwDIGuyCharactertInfo class is a readable/writable class that can store itself and read itself ...
Definition: rwDIGuyCharacterInfo.h:32
Definition: sharedModelSet.h:290
Definition: sharedModelSet.h:240
static tbb::mutex theSafetyMutex
Definition: sharedModelSet.h:304
const DtVariableBindingsSharedPtr & variableBindings() const
Definition: sharedModelSet.h:102
const DtReaderWriter::SearchPaths & searchPaths() const
Definition: sharedModelSet.h:112
A list of properties. A DtPropertyInterface object that is a specialized version of DtRwVariableBindi...
Definition: rwProperties.h:122
std::map< DtModelSetEntry *, DtVrfObjectParameters * > ParameterData
Definition: sharedModelSet.h:282
PlatformsMap myAvailablePlatforms
Definition: sharedModelSet.h:279
Definition: modelSet.h:35
DtString label
Definition: sharedModelSet.h:248
makVrv::event_signal< void()> signal_modelSetLoaded
Definition: sharedModelSet.h:331