18 #include <vlutil/vlFilename.h>
23 #include <matrix/3dBoundingVolume.h>
25 #include <tbb/spin_mutex.h>
42 class DtEntityMapperKey;
70 std::unique_lock<std::mutex> * myLock =
nullptr;
84 static std::string className();
93 virtual void clearModelSet();
96 virtual bool load(
const DtFilename&, std::set<DtString>& iconLists,
bool signal =
false);
103 return myVariableBindings;
106 virtual void setSimulationModelSets(
const std::vector<DtSimulationModelSet*>& sets);
107 virtual const std::vector<DtSimulationModelSet*>& simulationModelSets()
const;
113 return mySearchPaths;
124 virtual void getSupportPoints(
const DtEntityType& et,
125 DtVector& left, DtVector& right, DtVector& other);
127 virtual std::string getNavDataPath(
const DtEntityType& et);
133 virtual double getMaximumSpeed(
const DtEntityType& et);
137 virtual double getMinimumSpeed(
const DtEntityType& et);
140 virtual double getDefaultOrderedSpeed(
const DtEntityType& et);
143 virtual double getMaximumAcceleration(
const DtEntityType& et);
146 virtual double getMaximumDeceleration(
const DtEntityType& et);
149 virtual bool loadFromDataFiles(
const DtFilename& entities,
const DtFilename& platforms, std::set<DtString>& iconLists,
bool signal =
true,
DtModelSet* preloadModelSet = 0);
152 virtual void mergeFavorites(
const DtModelSet* f);
161 virtual DtEntityType nameToType(
const DtString&)
const;
169 virtual void setAdditionalKeywords(
const DtEntityMapperKey&,
const std::string&,
bool replace =
false);
194 virtual void statePropertiesFor(
const DtEntityType&,
DtRwProperties&)
const;
197 virtual void parameterPropertiesFor(
const DtEntityType&,
DtRwProperties&);
208 virtual void parameterPropertiesFor(
212 virtual std::shared_ptr<DtReaderWriter> rwProperty(
const DtEntityType&,
const std::string& prop)
const;
219 virtual void loadPlatforms(
const DtString&);
222 virtual void clearPlatforms();
233 virtual DtEntityType nextAvailableSimulationObjectGroupObjectType()
const;
236 virtual bool enabledRadarCoverageDescriptors(
const DtEntityMapperKey&, std::vector<DtObjectSensorDescriptor*>&);
243 const DtString& c = DtString::nullString())
244 : objectType(ot), label(l), category(c) {};
246 DtEntityType objectType;
254 virtual void signalLoaded();
259 typedef std::map<std::string, std::shared_ptr<DtReaderWriter> >
PropertiesMap;
271 virtual PlatformsMap::const_iterator availablePlatform(
const DtString& str)
const;
273 virtual void clearSimulationModelSets();
295 std::string myAdditionalKeywords;
Instances of DtVrfObjectParameters are the readable/writeable objects that contain the information ne...
Definition: vrfObjectParameters.h:64
std::pair< DtString, unsigned > EquipmentTypeCountPair
Definition: sharedModelSet.h:238
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:19
DtOrderedKeyList< AdditionalKey * > AdditionalKeywords
Definition: sharedModelSet.h:298
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:67
std::map< std::string, std::shared_ptr< DtReaderWriter > > PropertiesMap
Definition: sharedModelSet.h:259
DtModelSet * myModelSet
Definition: sharedModelSet.h:276
A signaler for the shared model set changes.
Definition: sharedModelSet.h:307
DtRwNLengthStringVector is a named, readable/writable vector of strings of arbitrary length...
Definition: rwNLengthStringVector.h:28
DtReaderWriter::SearchPaths mySearchPaths
Definition: sharedModelSet.h:287
AdditionalKey(const DtEntityMapperKey &kw)
Definition: sharedModelSet.h:292
DtVariableBindingsSharedPtr myVariableBindings
Definition: sharedModelSet.h:302
List of DtComponentSystemDescriptor instances.
Definition: componentSystemDescriptorList.h:20
std::map< DtString, PlatformStruct > PlatformsMap
Definition: sharedModelSet.h:268
std::multimap< EquipmentTypeCountPair, ObjectTypeAndLabel > EquipmentTypeMap
Definition: sharedModelSet.h:250
WriteSettingsLock(makVrv::DtSharedSettingsManager &manager)
Definition: sharedModelSet.h:52
std::shared_ptr< DtRwVariableBindings > DtVariableBindingsSharedPtr
Definition: rwVariableBindings.h:152
static std::mutex theSafetyMutex
Definition: sharedModelSet.h:303
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:27
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
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:157
virtual ~WriteSettingsLock()
Definition: sharedModelSet.h:58
Interface class used to define minimal interface for a property. The DtPropertyInterface class provid...
Definition: propertyInterface.h:53
AdditionalKeywords myAdditionalKeywords
Definition: sharedModelSet.h:299
tbb::spin_mutex theAvailablePlatformMutex
Definition: sharedModelSet.h:280
The event queue interface is a cross thread event queue used to emit event_signal across thread bound...
Definition: DtEventQueueInterface.h:27
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:285
Contains the DtSharedSettings class declaration.
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
DtString category
Definition: sharedModelSet.h:248
Shared information about the current model set and entities/platforms that are available to it...
Definition: sharedModelSet.h:46
Definition: sharedModelSet.h:49
std::vector< DtSimulationModelSet * > mySimulationModelSets
Definition: sharedModelSet.h:300
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:241
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:289
Definition: sharedModelSet.h:239
const DtVariableBindingsSharedPtr & variableBindings() const
Definition: sharedModelSet.h:101
const DtReaderWriter::SearchPaths & searchPaths() const
Definition: sharedModelSet.h:111
A list of properties. A DtPropertyInterface object that is a specialized version of DtRwVariableBindi...
Definition: rwProperties.h:122
ObjectTypeAndLabel(const DtEntityType &ot, const DtString &l, const DtString &c=DtString::nullString())
Definition: sharedModelSet.h:242
std::map< DtModelSetEntry *, DtVrfObjectParameters * > ParameterData
Definition: sharedModelSet.h:281
PlatformsMap myAvailablePlatforms
Definition: sharedModelSet.h:278
Definition: modelSet.h:35
DtString label
Definition: sharedModelSet.h:247
makVrv::event_signal< void()> signal_modelSetLoaded
Definition: sharedModelSet.h:330