![]() |
VR-Forces 4.6.1 Class Documentation
|
DtLightSignalSequenceGenerator generates a sequence of on/off times like the S57 SIGSEQ attribute based on the LITCHR, SIGPER, and SIGGRP atributes. More...

Public Member Functions | |
| virtual | ~DtLightSignalSequenceGenerator () |
| virtual DTOR | |
| DtNavigationLightController::SignalSequence | generateSigseq (int lightCharacteristic, float period, const std::string &signalGroup) const |
| Geerate a signal sequence based on the S-57 light characteristic, period, and signal group parameters. | |
| void | generateMorseCodeSignalSequencesMap () |
| Called by the constructor to initialize a map of Morse Code sequences one for each letter and digit. | |
| virtual void | setDefaultAlternatingPeriod (float defaultPeriod) |
| Set defaults used for generating signal sequences. | |
| virtual void | setMaximumLongFlashPeriod (float maximumPeriod) |
| Set the maximum period for long flashing lights Defaults to 8s (this is not part of the standard, but lets us treat long flashes the way we handle other flash lengths. | |
| virtual void | setMinimumLongFlashPeriod (float minimumPeriod) |
| Set the minimum period for long flashing lights Defaults to 6s (to conform to the standard, and because we use 1/3 period for the light on-time, must be 6s or more) | |
| virtual void | setMaximumFlashPeriod (float maximumPeriod) |
| Set the maximum period for flashing lights Defaults to 4s (to conform to the standard, must be less than 6. | |
| virtual void | setMinimumFlashPeriod (float minimumPeriod) |
| Set the minimum period for flashing lights Defaults to 2s (to conform to the standard, must be 2. | |
| virtual void | setMaximumQuickFlashPeriod (float maximumPeriod) |
| Set the maximum period for quick flashing lights Defaults to 1s (to conform to the standard, must be 1s or less) | |
| virtual void | setMinimumQuickFlashPeriod (float minimumPeriod) |
| Set the minimum period for quick flashing lights Defaults to 0.8s (to conform to the standard, must be > than 0.6 to not be Very Quick) | |
| virtual void | setMaximumVeryQuickFlashPeriod (float maximumPeriod) |
| Set the maximum period for very quick flashing lights Defaults to 0.6s (to conform to the standard, must be 0.6s or less) | |
| virtual void | setMinimumVeryQuickFlashPeriod (float minimumPeriod) |
| Set the minimum period for very quick flashing lights Defaults to 0.5s (to conform to the standard, must be > than 0.375 by enough to not be Very Quick) | |
| virtual void | setMaximumUltraQuickFlashPeriod (float maximumPeriod) |
| Set the maximum period for ultra quick flashing lights Defaults to 0.375s (to conform to the standard, must be 0.375s or less) | |
| virtual void | setMinimumUltraQuickFlashPeriod (float minimumPeriod) |
| Set the maimimum period for ultra quick flashing lights Defaults to 0.2s (not part of the standard, but lets us treat ultra quick flashes the way we do the other kinds) | |
| virtual void | setOnTimeFraction (float onTimeFraction) |
| For lights that aren't isophased, this is the portion of the light's period that will be on. | |
| virtual void | setDefaultMorseCodeDot (float defaultTime) |
| Set default values used for generating Morse code signal sequences The international Morse code standards states: short mark (·) — "dot duration" is one time unit long longer mark (–) — three time units long inter-element gap between the dots and dashes within a character — one dot duration or one unit long short gap (between letters) — three time units long The defaults used do NOT conform strictly to these rules, but follow the example sequences found on all Morse-code signalling buoys in Boston and Honolulu harbors. | |
| virtual void | setDefaultMorseCodeDash (float defaultTime) |
| Set the default on-time for a Morse code 'dash' Initialized to 2.0s. | |
| virtual void | setDefaultMorseCodeDotDashSpacing (float defaultTime) |
| Set the default Morse code inter-element gap Initialized to 0.6s. | |
| virtual void | setDefaultMorseCodeLetterSpacing (float defaultTime) |
| Set the default Morse code inter-letter gap. | |
| virtual void | setDefaultMorseCodeGroupSpacing (float defaultTime) |
| Set the off time at the end of a Morse code group. | |
Public Member Functions inherited from makVrv::DtVirtualBaseClass | |
| DtVirtualBaseClass () | |
| Do nothing constructor. | |
| virtual | ~DtVirtualBaseClass () |
| Virtual do nothing destructor. | |
Static Public Member Functions | |
| static DtLightSignalSequenceGenerator & | instance (DtDe &de) |
| Access a DtLightSignalSequenceGenerator. | |
| static float | sumSignalSequence (DtNavigationLightController::SignalSequence sequence) |
| Calculate the total time for the specified sequence or sequence fragment. | |
| static void | printSignalSequence (const DtNavigationLightController::SignalSequence &seq) |
| Prints the sequence to std::cout. No newline is printed. | |
Protected Types | |
| enum | SignalGroupType { SignalGroupTypeNoGroup, SignalGroupTypeSimpleGroup, SignalGroupTypeCompositeGroup } |
| A SIGGRP group may be empty (or a group of size 1, which is equivalent); a simple group which is just the number of flashes in the group; or a composite group, which is used with light characteristics the have different flash types (like 14-16 and 25-27) More... | |
| typedef boost::unordered_map < char, DtNavigationLightController::SignalSequence > | MorseCodeMap |
Protected Member Functions | |
| DtLightSignalSequenceGenerator () | |
| CTOR. | |
| DtLightSignalSequenceGenerator (const DtLightSignalSequenceGenerator &rhs) | |
| Unimplemented Copy CTOR. | |
| DtLightSignalSequenceGenerator & | operator= (const DtLightSignalSequenceGenerator &orig) |
| Unimplemented Assignment Operator. | |
| virtual DtNavigationLightController::SignalSequence | flashNoGroup (float period, const DtLightMarkerStringParser::SignalGroup &signalGroup) const |
| Group type-specific implementations. | |
| virtual DtNavigationLightController::SignalSequence | flashSimpleGroup (float period, const DtLightMarkerStringParser::SignalGroup &signalGroup) const |
| Generate a simple flash group signal sequence, A simple group is one that just indicates a group size, like (4). | |
| virtual DtNavigationLightController::SignalSequence | flashCompositeGroup (float period, const DtLightMarkerStringParser::SignalGroup &signalGroup) const |
| Generate a flash composite group signal sequence. | |
| virtual DtNavigationLightController::SignalSequence | longFlashNoGroup (float period, const DtLightMarkerStringParser::SignalGroup &signalGroup) const |
| Generate a long flash signal sequence Ontime = P/10. | |
| virtual DtNavigationLightController::SignalSequence | longFlashSimpleGroup (float period, const DtLightMarkerStringParser::SignalGroup &signalGroup) const |
| Generate a simple long flash group signal sequence, A simple group is one that just indicates a group size, like (4). | |
| virtual DtNavigationLightController::SignalSequence | longFlashCompositeGroup (float period, const DtLightMarkerStringParser::SignalGroup &signalGroup) const |
| Generate a long flash composite group signal sequence Returns baseCompositeGroup called with minimum and maximum periods for a long flash. | |
| virtual DtNavigationLightController::SignalSequence | quickFlashNoGroup (float period, const DtLightMarkerStringParser::SignalGroup &signalGroup) const |
| Generate a quick flash signal sequence Ontime = P/10. | |
| virtual DtNavigationLightController::SignalSequence | quickFlashSimpleGroup (float period, const DtLightMarkerStringParser::SignalGroup &signalGroup) const |
| Generate a simple quick flash group signal sequence, A simple group is one that just indicates a group size, like (4). | |
| virtual DtNavigationLightController::SignalSequence | quickFlashCompositeGroup (float period, const DtLightMarkerStringParser::SignalGroup &signalGroup) const |
| Generate a quick flash composite group signal sequence Returns baseCompositeGroup called with minimum and maximum periods for a quick flash. | |
| virtual DtNavigationLightController::SignalSequence | veryQuickFlashNoGroup (float period, const DtLightMarkerStringParser::SignalGroup &signalGroup) const |
| Generate a very quick flash signal sequence Ontime = offtime = P/2. | |
| virtual DtNavigationLightController::SignalSequence | veryQuickFlashSimpleGroup (float period, const DtLightMarkerStringParser::SignalGroup &signalGroup) const |
| Generate a simple very flash group signal sequence, A simple group is one that just indicates a group size, like (4). | |
| virtual DtNavigationLightController::SignalSequence | veryQuickFlashCompositeGroup (float period, const DtLightMarkerStringParser::SignalGroup &signalGroup) const |
| Generate a very quick flash composite group signal sequence Rreturns baseCompositeGroup called with minimum and maximum periods for a very quick flash. | |
| virtual DtNavigationLightController::SignalSequence | ultraQuickFlashNoGroup (float period, const DtLightMarkerStringParser::SignalGroup &signalGroup) const |
| Generate an ultra quick flash signal sequence Ontime = offtime = P/2. | |
| virtual DtNavigationLightController::SignalSequence | ultraQuickFlashSimpleGroup (float period, const DtLightMarkerStringParser::SignalGroup &signalGroup) const |
| Generate a simple ultra flash group signal sequence, A simple group is one that just indicates a group size, like (4). | |
| virtual DtNavigationLightController::SignalSequence | ultraQuickFlashCompositeGroup (float period, const DtLightMarkerStringParser::SignalGroup &signalGroup) const |
| Generate an ultra quick flash composite group signal sequence Returns baseCompositeGroup called with minimum and maximum periods for an ultra quick flash. | |
| virtual DtNavigationLightController::SignalSequence | occultingNoGroup (float period, const DtLightMarkerStringParser::SignalGroup &signalGroup) const |
| Generate an occulting signal sequence Offtime = P/10. | |
| virtual DtNavigationLightController::SignalSequence | occultingSimpleGroup (float period, const DtLightMarkerStringParser::SignalGroup &signalGroup) const |
| Generate an occulting group signal sequence, A simple group is one that just indicates a group size, like (4). | |
| virtual DtNavigationLightController::SignalSequence | occultingCompositeGroup (float period, const DtLightMarkerStringParser::SignalGroup &signalGroup) const |
| Generate an occulting composite group signal sequence. | |
| virtual DtNavigationLightController::SignalSequence | alternatingNoGroup (float period, const DtLightMarkerStringParser::SignalGroup &signalGroup) const |
| Generate an alternating signal sequence Offtime = 0. | |
| virtual DtNavigationLightController::SignalSequence | alternatingSimpleGroup (float period, const DtLightMarkerStringParser::SignalGroup &signalGroup) const |
| Generate an alternating group signal sequence, A simple group is one that just indicates a group size, like (4). | |
| virtual DtNavigationLightController::SignalSequence | alternatingCompositeGroup (float period, const DtLightMarkerStringParser::SignalGroup &signalGroup) const |
| Generate an alternating composite group signal sequence. | |
| virtual DtNavigationLightController::SignalSequence | baseCompositeGroup (float minFlashPeriod, float maxFlashPeriod, float period, const DtLightMarkerStringParser::SignalGroup &signalGroup) const |
| virtual SignalGroupType | signalGroupType (const DtLightMarkerStringParser::SiggrpData &data) const |
| Determine the signal group type based on the parsed signal group data. | |
| virtual DtNavigationLightController::SignalSequence | morseCodeSequence (char character) const |
| Get the morse code sequence for the indicated character. | |
| virtual DtNavigationLightController::SignalSequence | fixedSignalSequence (float period, const std::string &signalGroup) const |
| Light Characteristic Implementations. | |
| virtual DtNavigationLightController::SignalSequence | flashingSignalSequence (float period, const std::string &signalGroup) const |
| LITCHR == 2. | |
| virtual DtNavigationLightController::SignalSequence | longFlashingSignalSequence (float period, const std::string &signalGroup) const |
| LITCHR == 3. | |
| virtual DtNavigationLightController::SignalSequence | quickFlashingSignalSequence (float period, const std::string &signalGroup) const |
| LITCHR == 4. | |
| virtual DtNavigationLightController::SignalSequence | veryQuickFlashingSignalSequence (float period, const std::string &signalGroup) const |
| LITCHR == 5. | |
| virtual DtNavigationLightController::SignalSequence | ultraQuickFlashingSignalSequence (float period, const std::string &signalGroup) const |
| LITCHR == 6. | |
| virtual DtNavigationLightController::SignalSequence | isophasedSignalSequence (float period, const std::string &signalGroup) const |
| LITCHR == 7. | |
| virtual DtNavigationLightController::SignalSequence | occultingSignalSequence (float period, const std::string &signalGroup) const |
| LITCHR == 8. | |
| virtual DtNavigationLightController::SignalSequence | interruptedQuickFlashingSignalSequence (float period, const std::string &signalGroup) const |
| LITCHR == 9. | |
| virtual DtNavigationLightController::SignalSequence | interruptedVeryQuickFlashingSignalSequence (float period, const std::string &signalGroup) const |
| LITCHR == 10. | |
| virtual DtNavigationLightController::SignalSequence | interruptedUltraQuickFlashingSignalSequence (float period, const std::string &signalGroup) const |
| LITCHR == 11. | |
| virtual DtNavigationLightController::SignalSequence | morseSignalSequence (float period, const std::string &signalGroup) const |
| LITCHR == 12. | |
| virtual DtNavigationLightController::SignalSequence | fixedFlashingSignalSequence (float period, const std::string &signalGroup) const |
| LITCHR == 13. | |
| virtual DtNavigationLightController::SignalSequence | flashingLongFlashingSignalSequence (float period, const std::string &signalGroup) const |
| LITCHR == 14. | |
| virtual DtNavigationLightController::SignalSequence | occultingFlashingSignalSequence (float period, const std::string &signalGroup) const |
| LITCHR == 15. | |
| virtual DtNavigationLightController::SignalSequence | fixedLongFlashingSignalSequence (float period, const std::string &signalGroup) const |
| LITCHR == 16. | |
| virtual DtNavigationLightController::SignalSequence | occultingAlternatingSignalSequence (float period, const std::string &signalGroup) const |
| LITCHR == 17. | |
| virtual DtNavigationLightController::SignalSequence | longFlashAlternatingSignalSequence (float period, const std::string &signalGroup) const |
| LITCHR == 18. | |
| virtual DtNavigationLightController::SignalSequence | flashAlternatingSignalSequence (float period, const std::string &signalGroup) const |
| LITCHR == 19. | |
| virtual DtNavigationLightController::SignalSequence | groupAlternatingSignalSequence (float period, const std::string &signalGroup) const |
| LITCHR == 20. | |
| virtual DtNavigationLightController::SignalSequence | quickFlashLongFlashSignalSequence (float period, const std::string &signalGroup) const |
| LITCHR == 25. | |
| virtual DtNavigationLightController::SignalSequence | veryQuickFlashLongFlashSignalSequence (float period, const std::string &signalGroup) const |
| LITCHR == 26. | |
| virtual DtNavigationLightController::SignalSequence | ultraQuickFlashLongFlashSignalSequence (float period, const std::string &signalGroup) const |
| LITCHR == 27. | |
| virtual DtNavigationLightController::SignalSequence | baseFlashLongFlashSignalSequence (float minFlashPeriod, float maxFlashPeriod, float period, const DtLightMarkerStringParser::SignalGroup &signalGroup) const |
| The actual implementation of LITCHR 25, 26, and 27 is done here. | |
| virtual DtNavigationLightController::SignalSequence | alternatingSignalSequence (float period, const std::string &signalGroup) const |
| LITCHR == 28. | |
| virtual DtNavigationLightController::SignalSequence | fixedAlternatingSignalSequence (float period, const std::string &signalGroup) const |
| LITCHR == 29. | |
Protected Attributes | |
| float | myMaximumLongFlashPeriod |
| float | myMinimumLongFlashPeriod |
| float | myMaximumFlashPeriod |
| float | myMinimumFlashPeriod |
| float | myMaximumQuickFlashPeriod |
| float | myMinimumQuickFlashPeriod |
| float | myMaximumVeryQuickFlashPeriod |
| float | myMinimumVeryQuickFlashPeriod |
| float | myMinimumUltraQuickFlashPeriod |
| float | myMaximumUltraQuickFlashPeriod |
| float | myDefaultMorseCodeDot |
| float | myDefaultMorseCodeDash |
| float | myDefaultMorseCodeDotDashSpacing |
| float | myDefaultMorseCodeLetterSpacing |
| float | myDefaultMorseCodeGroupSpacing |
| float | myDefaultAlternatingPeriod |
| float | myOnTimeFraction |
| MorseCodeMap | myMorseCodeMap |
Friends | |
| class | DtLightSignalSequenceGeneratorCreator |
| The class may only be instantiated through the friend creator. | |
DtLightSignalSequenceGenerator generates a sequence of on/off times like the S57 SIGSEQ attribute based on the LITCHR, SIGPER, and SIGGRP atributes.
While the S57 SIGSEQ attribute provides the most accuracy as to how a navigation light operates, it is an optional parameter and not always included. An instance of this class can be used to approximate the light sequence to the point where the light's sequence properties should be recognizable.
|
protected |
|
protected |
A SIGGRP group may be empty (or a group of size 1, which is equivalent); a simple group which is just the number of flashes in the group; or a composite group, which is used with light characteristics the have different flash types (like 14-16 and 25-27)
|
virtual |
virtual DTOR
|
protected |
CTOR.
Only callable by friend creator
|
protected |
Unimplemented Copy CTOR.
|
static |
Access a DtLightSignalSequenceGenerator.
| DtNavigationLightController::SignalSequence makVrv::DtLightSignalSequenceGenerator::generateSigseq | ( | int | lightCharacteristic, |
| float | period, | ||
| const std::string & | signalGroup | ||
| ) | const |
Geerate a signal sequence based on the S-57 light characteristic, period, and signal group parameters.
A signal sequence is a vector of floats which represent light on and off times, respectively
| void makVrv::DtLightSignalSequenceGenerator::generateMorseCodeSignalSequencesMap | ( | ) |
Called by the constructor to initialize a map of Morse Code sequences one for each letter and digit.
This needs to be called again if any of the Morse code-related defaults are changed
|
virtual |
Set defaults used for generating signal sequences.
The min and max periods are technically not necessary, since this is a required attribute for all non-fixed lights. The are included for completeness in the case(s) where data may be incomplete. Set the default period for alternating lights Initialized to 4s
|
virtual |
Set the maximum period for long flashing lights Defaults to 8s (this is not part of the standard, but lets us treat long flashes the way we handle other flash lengths.
|
virtual |
Set the minimum period for long flashing lights Defaults to 6s (to conform to the standard, and because we use 1/3 period for the light on-time, must be 6s or more)
|
virtual |
Set the maximum period for flashing lights Defaults to 4s (to conform to the standard, must be less than 6.
by enough to be distinguishable from a long flash)
|
virtual |
Set the minimum period for flashing lights Defaults to 2s (to conform to the standard, must be 2.
or more)
|
virtual |
Set the maximum period for quick flashing lights Defaults to 1s (to conform to the standard, must be 1s or less)
|
virtual |
Set the minimum period for quick flashing lights Defaults to 0.8s (to conform to the standard, must be > than 0.6 to not be Very Quick)
|
virtual |
Set the maximum period for very quick flashing lights Defaults to 0.6s (to conform to the standard, must be 0.6s or less)
|
virtual |
Set the minimum period for very quick flashing lights Defaults to 0.5s (to conform to the standard, must be > than 0.375 by enough to not be Very Quick)
|
virtual |
Set the maximum period for ultra quick flashing lights Defaults to 0.375s (to conform to the standard, must be 0.375s or less)
|
virtual |
Set the maimimum period for ultra quick flashing lights Defaults to 0.2s (not part of the standard, but lets us treat ultra quick flashes the way we do the other kinds)
|
virtual |
For lights that aren't isophased, this is the portion of the light's period that will be on.
Note that for occulting lights, this is actually the 'off' time fraction. Default is 1/3.
|
virtual |
Set default values used for generating Morse code signal sequences The international Morse code standards states: short mark (·) — "dot duration" is one time unit long longer mark (–) — three time units long inter-element gap between the dots and dashes within a character — one dot duration or one unit long short gap (between letters) — three time units long The defaults used do NOT conform strictly to these rules, but follow the example sequences found on all Morse-code signalling buoys in Boston and Honolulu harbors.
If you change them, call generateMorseCodeSignalSequencesMap() to regenerate the character map. Set the default on-time for a Morse code 'dot' Initialized to 0.4s
|
virtual |
Set the default on-time for a Morse code 'dash' Initialized to 2.0s.
|
virtual |
Set the default Morse code inter-element gap Initialized to 0.6s.
|
virtual |
Set the default Morse code inter-letter gap.
Initialized to 2.0s
|
virtual |
Set the off time at the end of a Morse code group.
Initialized to 9.0s
|
protected |
Unimplemented Assignment Operator.
|
protectedvirtual |
Light Characteristic Implementations.
For this documentation, on and off times are indicated between '[]'. The first is always an 'on'time, and then alternating 'off', 'on' etc. Abbreviations used: P = Period, G = group sizeLITCHR == 1. Fixed. Returns an empty sequence, which is interpreted as fixed by the light controller
|
protectedvirtual |
LITCHR == 2.
Flashing. Based on the Signal Group Type:
|
protectedvirtual |
LITCHR == 3.
Long Flashing. Based on the Signal Group Type:
|
protectedvirtual |
LITCHR == 4.
Quick Flashing. Based on the Signal Group Type:
|
protectedvirtual |
LITCHR == 5.
Very Quick Flashing. Based on the Signal Group Type:
|
protectedvirtual |
LITCHR == 6.
Ultra Quick Flashing. Based on the Signal Group Type:
|
protectedvirtual |
LITCHR == 7.
Isophased. Based on the Signal Group Type:
|
protectedvirtual |
LITCHR == 8.
Occulting. Based on the Signal Group Type:
|
protectedvirtual |
LITCHR == 9.
Interrupted Very Quick Flashing.
|
protectedvirtual |
LITCHR == 10.
Interrupted Very Quick Flashing.
|
protectedvirtual |
LITCHR == 11.
Interrupted Ultra Quick Flashing.
|
protectedvirtual |
LITCHR == 12.
Morse Code.
|
protectedvirtual |
LITCHR == 13.
Fixed Flashing.
|
protectedvirtual |
LITCHR == 14.
Flashing Long Flashing. Returns baseFlashLongFlashSignalSequence called with min and max periods for standard Flash
|
protectedvirtual |
LITCHR == 15.
Occulting Long Flashing.
|
protectedvirtual |
LITCHR == 16.
Fixed Long Flashing
|
protectedvirtual |
LITCHR == 17.
Occulting Alternating. Based on the Signal Group Type:
|
protectedvirtual |
LITCHR == 18.
Long Flash Alternating. Based on the Signal Group Type:
|
protectedvirtual |
LITCHR == 19.
Flash Alternating. Based on the Signal Group Type:
|
protectedvirtual |
LITCHR == 20.
Group Alternating.
|
protectedvirtual |
LITCHR == 25.
Quick Flashing Long Flashing. Returns baseFlashLongFlashSignalSequence called with min and max periods for Quick Flash
|
protectedvirtual |
LITCHR == 26.
Very Quick Flashing Long Flashing. Returns baseFlashLongFlashSignalSequence called with min and max periods for Very Quick Flash
|
protectedvirtual |
LITCHR == 27.
Ultra Quick Flashing Long Flashing. Returns baseFlashLongFlashSignalSequence called with min and max periods for Ultra Quick Flash
|
protectedvirtual |
The actual implementation of LITCHR 25, 26, and 27 is done here.
Each calls this method with the min and max periods for its starting flash type
|
protectedvirtual |
LITCHR == 28.
Alternating. Based on the Signal Group Type:
|
protectedvirtual |
LITCHR == 29.
Fixed Alternating.
|
protectedvirtual |
Group type-specific implementations.
It is expected that these might be reusable when implementing some of the compound light characteristics. Generate a flash signal sequence Ontime = P/10. (or the minimum flash time); offtime = P - ontime Returns [ontime][offtime]
|
protectedvirtual |
Generate a simple flash group signal sequence, A simple group is one that just indicates a group size, like (4).
Ontime = P/(20.*G) (or the minimum flash time); offtime = P/(2.*G) - ontime Returns [ontime][offtime] for all but the last group, then [ontime], then [P/2. + offtime]
|
protectedvirtual |
Generate a flash composite group signal sequence.
A composite group is a group with 2 or more subgroups, like (2 + 1) Returns baseCompositeGroup called with minimum and maximum periods for a standard flash
|
protectedvirtual |
Generate a long flash signal sequence Ontime = P/10.
(or the minimum long flash time); offtime = P - ontime Returns [ontime][offtime]
|
protectedvirtual |
Generate a simple long flash group signal sequence, A simple group is one that just indicates a group size, like (4).
Ontime = P/(20.*G) (or the minimum long flash time); offtime = P/(2.*G) - ontime Returns [ontime][offtime] for all but the last group, then [ontime], then [P/2. + offtime]
|
protectedvirtual |
Generate a long flash composite group signal sequence Returns baseCompositeGroup called with minimum and maximum periods for a long flash.
|
protectedvirtual |
Generate a quick flash signal sequence Ontime = P/10.
(or the minimum flash time); offtime = P - ontime Returns [ontime][offtime]
|
protectedvirtual |
Generate a simple quick flash group signal sequence, A simple group is one that just indicates a group size, like (4).
Ontime = P/(4.*G); offtime = P/(4.*G) Returns [ontime][offtime] for all but the last group, then [ontime], then [P/2. + offtime]
|
protectedvirtual |
Generate a quick flash composite group signal sequence Returns baseCompositeGroup called with minimum and maximum periods for a quick flash.
|
protectedvirtual |
Generate a very quick flash signal sequence Ontime = offtime = P/2.
Returns [ontime][offtime]
|
protectedvirtual |
Generate a simple very flash group signal sequence, A simple group is one that just indicates a group size, like (4).
Ontime = P/(4.*G); offtime = P/(4.*G) Returns [ontime][offtime] for all but the last group, then [ontime], then [P/2. + offtime]
|
protectedvirtual |
Generate a very quick flash composite group signal sequence Rreturns baseCompositeGroup called with minimum and maximum periods for a very quick flash.
|
protectedvirtual |
Generate an ultra quick flash signal sequence Ontime = offtime = P/2.
Returns [ontime][offtime]
|
protectedvirtual |
Generate a simple ultra flash group signal sequence, A simple group is one that just indicates a group size, like (4).
Ontime = P/(4.*G); offtime = P/(4.*G) Returns [ontime][offtime] for all but the last group, then [ontime], then [P/2. + offtime]
|
protectedvirtual |
Generate an ultra quick flash composite group signal sequence Returns baseCompositeGroup called with minimum and maximum periods for an ultra quick flash.
|
protectedvirtual |
Generate an occulting signal sequence Offtime = P/10.
(or the minimum flash time); ontime = P - offtime Returns [ontime][offtime]
|
protectedvirtual |
Generate an occulting group signal sequence, A simple group is one that just indicates a group size, like (4).
Offtime = P/(20.*G) (or the minimum flash time); ontime = P/(2.*G) - offtime Returns [ontime][offtime] for all but the last group, then [ontime], then [P/2. + offtime]
|
protectedvirtual |
Generate an occulting composite group signal sequence.
|
protectedvirtual |
Generate an alternating signal sequence Offtime = 0.
; ontime = P/2. Returns [ontime][offtime][ontime][offtime] Note: a color switch happens ach time a multicolor light switches from off to on; the existence of the offtime, even though it is 0., will cause the light to switch to the next color
|
protectedvirtual |
Generate an alternating group signal sequence, A simple group is one that just indicates a group size, like (4).
Ontime = P/(4.*G); offtime = 0. Returns [ontime][offtime][ontime][offtime] for all but the last group, then [ontime][offtime][ontime], then [P/2. + offtime]
|
protectedvirtual |
Generate an alternating composite group signal sequence.
|
protectedvirtual |
|
protectedvirtual |
Determine the signal group type based on the parsed signal group data.
|
protectedvirtual |
Get the morse code sequence for the indicated character.
|
static |
Calculate the total time for the specified sequence or sequence fragment.
|
static |
Prints the sequence to std::cout. No newline is printed.
|
friend |
The class may only be instantiated through the friend creator.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |