13 #include <tbb/recursive_mutex.h>
14 #include <tbb/atomic.h>
15 #include <vlutil/vlString.h>
41 virtual unsigned int maxNameLengthForType(
const DtObjectType& objectType)
const;
52 virtual DtString nextNameWithPrefix(
int maxLength,
55 virtual DtString nextUnorganizedName();
59 virtual bool parseName(
const DtString& name,
DtString& shortName,
int& number)
const;
67 virtual DtString createPullFrom(
const DtString& current,
int low,
int high)
const;
70 virtual void giveBack(
const DtString& shortName,
int number);
73 virtual void take(
const DtString& shortName,
int number,
bool affectDuplicateCount =
false);
76 virtual int getNextNumber(
const DtString&);
78 typedef std::pair<int, int>
Range;
82 virtual void takeFromRange(
Ranges&,
int number)
const;
boost::signals2::scoped_connection mySimObjectRenamedConnection
Definition: vrfNameGenerator.h:104
Definition: vrfNameGenerator.h:89
Ranges pullFromRanges
Definition: vrfNameGenerator.h:96
tbb::atomic< int > myNextUnorganizedName
Definition: vrfNameGenerator.h:87
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
std::map< DtString, NameGenerationInfo > NameGenerationMap
Definition: vrfNameGenerator.h:99
NameGenerationMap myNameGenerationMap
Definition: vrfNameGenerator.h:100
Definition: objectType.h:27
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DtSimulationServices * mySimulationServices
Definition: vrfNameGenerator.h:85
boost::signals2::scoped_connection mySimObjectDeletedConnection
Definition: vrfNameGenerator.h:103
std::pair< int, int > Range
Definition: vrfNameGenerator.h:78
boost::signals2::scoped_connection mySimObjectAddedConnection
Definition: vrfNameGenerator.h:102
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:90
Represents a single simulation object in the exercise. Object may be VRF simulation, or non-VRF simulated, and may be simulated by the local sim engine, or by a remote sim engine. Only public (external) state of the object is available. All data is read-only. All access to data of the object is thread safe within the simulation frame.
Definition: simObject.h:79
std::map< int, int > countsOfNumbers
Definition: vrfNameGenerator.h:95
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
NameGenerationInfo()
Definition: vrfNameGenerator.h:91
std::vector< Range > Ranges
Definition: vrfNameGenerator.h:79
The DtVrfNameGenerator class will generate a unique name by object type.
Definition: vrfNameGenerator.h:20
tbb::recursive_mutex myMutex
Definition: vrfNameGenerator.h:86