15 #include <boost/unordered_map.hpp>
19 class DtAgentManagerInterface;
43 LightCharacteristicFixed = 1,
44 LightCharacteristicFlashing = 2,
45 LightCharacteristicLongFlashing = 3,
46 LightCharacteristicQuickFlashing = 4,
47 LightCharacteristicVeryQuickFlashing = 5,
48 LightCharacteristicUltraQuickFlashing = 6,
49 LightCharacteristicIsophased = 7,
50 LightCharacteristicOcculting = 8,
51 LightCharacteristicInterruptedQuickFlashing = 9,
52 LightCharacteristicInterruptedVeryQuickFlashing = 10,
53 LightCharacteristicInterruptedUltraQuickFlashing = 11,
54 LightCharacteristicMorse = 12,
55 LightCharacteristicFixedFlash = 13,
56 LightCharacteristicFlashLongFlash = 14,
57 LightCharacteristicOccultingFlash = 15,
58 LightCharacteristicFixedLongFlash = 16,
59 LightCharacteristicOccultingAlternating = 17,
60 LightCharacteristicLongFlashAlternating = 18,
61 LightCharacteristicFlashAlternating = 19,
62 LightCharacteristicGroupAlternating = 20,
64 LightCharacteristicQuickFlashLongFlash = 25,
65 LightCharacteristicVeryQuickFlashLongFlash = 26,
66 LightCharacteristicUntraQuickFlashLongFlash = 27,
67 LightCharacteristicAlternating = 28,
68 LightCharacteristicFixedAlternatingFlashing = 29
81 int lightCharacteristic,
float period,
82 const std::string& signalGroup )
const;
87 void generateMorseCodeSignalSequencesMap();
98 virtual void setDefaultAlternatingPeriod(
float defaultPeriod);
103 virtual void setMaximumLongFlashPeriod(
float maximumPeriod);
108 virtual void setMinimumLongFlashPeriod(
float minimumPeriod);
114 virtual void setMaximumFlashPeriod(
float maximumPeriod);
118 virtual void setMinimumFlashPeriod(
float minimumPeriod);
122 virtual void setMaximumQuickFlashPeriod(
float maximumPeriod);
127 virtual void setMinimumQuickFlashPeriod(
float minimumPeriod);
131 virtual void setMaximumVeryQuickFlashPeriod(
float maximumPeriod);
136 virtual void setMinimumVeryQuickFlashPeriod(
float minimumPeriod);
140 virtual void setMaximumUltraQuickFlashPeriod(
float maximumPeriod);
145 virtual void setMinimumUltraQuickFlashPeriod(
float minimumPeriod);
150 virtual void setOnTimeFraction(
float onTimeFraction );
170 virtual void setDefaultMorseCodeDot(
float defaultTime);
174 virtual void setDefaultMorseCodeDash(
float defaultTime);
178 virtual void setDefaultMorseCodeDotDashSpacing(
float defaultTime);
182 virtual void setDefaultMorseCodeLetterSpacing(
float defaultTime);
186 virtual void setDefaultMorseCodeGroupSpacing(
float defaultTime);
216 float period,
const std::string& signalGroup )
const;
223 flashingSignalSequence(
float period,
224 const std::string& signalGroup )
const;
231 longFlashingSignalSequence(
float period,
232 const std::string& signalGroup )
const;
239 quickFlashingSignalSequence(
float period,
240 const std::string& signalGroup )
const;
247 veryQuickFlashingSignalSequence(
float period,
248 const std::string& signalGroup )
const;
255 ultraQuickFlashingSignalSequence(
float period,
256 const std::string& signalGroup )
const;
266 isophasedSignalSequence(
float period,
267 const std::string& signalGroup )
const;
274 occultingSignalSequence(
float period,
275 const std::string& signalGroup )
const;
280 interruptedQuickFlashingSignalSequence(
281 float period,
const std::string& signalGroup )
const;
286 interruptedVeryQuickFlashingSignalSequence(
287 float period,
const std::string& signalGroup )
const;
292 interruptedUltraQuickFlashingSignalSequence(
293 float period,
const std::string& signalGroup )
const;
314 float period,
const std::string& signalGroup )
const;
321 fixedFlashingSignalSequence(
float period,
322 const std::string& signalGroup )
const;
328 flashingLongFlashingSignalSequence(
float period,
329 const std::string& signalGroup )
const;
334 float period,
const std::string& signalGroup )
const;
341 float period,
const std::string& signalGroup )
const;
355 occultingAlternatingSignalSequence(
356 float period,
const std::string& signalGroup )
const;
370 longFlashAlternatingSignalSequence(
371 float period,
const std::string& signalGroup )
const;
385 float period,
const std::string& signalGroup )
const;
390 float period,
const std::string& signalGroup )
const;
398 float period,
const std::string& signalGroup )
const;
404 float period,
const std::string& signalGroup )
const;
410 float period,
const std::string& signalGroup )
const;
415 float minFlashPeriod,
float maxFlashPeriod,
float period,
423 float period,
const std::string& signalGroup )
const;
428 float period,
const std::string& signalGroup )
const;
580 float minFlashPeriod,
float maxFlashPeriod,
float period,
592 SignalGroupTypeCompositeGroup
596 virtual SignalGroupType signalGroupType(
601 char character )
const;
607 static float sumSignalSequence(
611 static void printSignalSequence(
640 typedef boost::unordered_map
659 static void registerInstance(
DtDe& de,
Contains makVrv::DtLightMarkerStringParser class.
float myDefaultMorseCodeGroupSpacing
Definition: DtLightSignalSequenceGenerator.h:635
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
MorseCodeMap myMorseCodeMap
Definition: DtLightSignalSequenceGenerator.h:643
float myDefaultMorseCodeDot
Definition: DtLightSignalSequenceGenerator.h:631
float myMaximumVeryQuickFlashPeriod
Definition: DtLightSignalSequenceGenerator.h:625
Definition: DtLightSignalSequenceGenerator.h:590
float myMinimumVeryQuickFlashPeriod
Definition: DtLightSignalSequenceGenerator.h:626
SignalGroupType
A SIGGRP group may be empty (or a group of size 1, which is equivalent); a simple group which is just...
Definition: DtLightSignalSequenceGenerator.h:588
float myDefaultMorseCodeDash
Definition: DtLightSignalSequenceGenerator.h:632
DtLightSignalSequenceGenerator generates a sequence of on/off times like the S57 SIGSEQ attribute bas...
Definition: DtLightSignalSequenceGenerator.h:31
float myMaximumFlashPeriod
Definition: DtLightSignalSequenceGenerator.h:619
std::list< int > SiggrpData
Each Signal Group 'group' can have one or more numbers, each of. which is a subgroup within the group...
Definition: DtLightMarkerStringParser.h:55
float myDefaultAlternatingPeriod
Definition: DtLightSignalSequenceGenerator.h:636
float myMaximumLongFlashPeriod
Definition: DtLightSignalSequenceGenerator.h:616
Definition: DtLightSignalSequenceGenerator.h:591
NavigationLightCharacteristic
Definition: DtLightSignalSequenceGenerator.h:41
float myMinimumQuickFlashPeriod
Definition: DtLightSignalSequenceGenerator.h:623
Contains makVrv::DtNavigationLightController class.
std::vector< float > SignalSequence
Type to hold a set of on/off times that define a signal sequence.
Definition: DtNavigationLightController.h:47
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
boost::unordered_map< char, DtNavigationLightController::SignalSequence > MorseCodeMap
Definition: DtLightSignalSequenceGenerator.h:641
float myMaximumQuickFlashPeriod
Definition: DtLightSignalSequenceGenerator.h:622
float myMinimumLongFlashPeriod
Definition: DtLightSignalSequenceGenerator.h:617
DtLightSignalSequenceGenerator creator.
Definition: DtLightSignalSequenceGenerator.h:649
float myMinimumFlashPeriod
Definition: DtLightSignalSequenceGenerator.h:620
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
float myMinimumUltraQuickFlashPeriod
Definition: DtLightSignalSequenceGenerator.h:628
float myMaximumUltraQuickFlashPeriod
Definition: DtLightSignalSequenceGenerator.h:629
float myOnTimeFraction
Definition: DtLightSignalSequenceGenerator.h:638
float myDefaultMorseCodeLetterSpacing
Definition: DtLightSignalSequenceGenerator.h:634
float myDefaultMorseCodeDotDashSpacing
Definition: DtLightSignalSequenceGenerator.h:633
A signal group can contain multiple groups for lights with multiple characteristics, like LITCHR=25 for example, which is Quick flash / Long flash. There can be a group for the Quick flash and another for the Long flash.
Definition: DtLightMarkerStringParser.h:61