QtFit  0.1
Internal library development documentation
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
segmentlapmessage.cpp
Go to the documentation of this file.
1 /*
2  Copyright 2021 Paul Colby
3 
4  This file is part of QtFit.
5 
6  QtFit is free software: you can redistribute it and/or modify
7  it under the terms of the GNU Lesser General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  QtFit is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU Lesser General Public License for more details.
15 
16  You should have received a copy of the GNU Lesser General Public License
17  along with QtFit. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 /*!
21  * \file
22  * \note This file is automatcially generated. Any changes here are likely to be overwritten.
23  */
24 
25 /*!
26  * \file
27  * Defines the SegmentLapMessage, and SegmentLapMessagePrivate classes.
28  */
29 
30 #include "segmentlapmessage.h"
31 #include "segmentlapmessage_p.h"
32 
33 #include <QDebug>
34 #include <QtEndian>
35 
37 
38 /*!
39  * \class SegmentLapMessage
40  *
41  * The SegmentLapMessage class represents a FIT SegmentLapMessage data message.
42  *
43  * \sa DataMessage
44  */
45 
46 /*!
47  * Constructs a SegmentLapMessage object.
48  *
49  * Typically, instances of this class will be returned by FitStreamReader::readNext, but this
50  * constructor may be used, along with the relevant setter methods, to create a valid message.
51  */
53 {
54 
55 }
56 
57 /*!
58  * \internal
59  *
60  * Constructs a SegmentLapMessage object with private implementation \a d.
61  *
62  * \param d Pointer to private implementation.
63  */
65 {
66 
67 }
68 
69 /*!
70  * Returns the SegmentLapMessage data message's \c messageIndex field's current value.
71  *
72  * \return the \c messageIndex field value.
73  */
75 {
76  Q_D(const SegmentLapMessage);
77  return d->messageIndex;
78 }
79 
80 /*!
81  * Returns the SegmentLapMessage data message's \c timestamp field's current value.
82  *
83  * Lap end time.
84  *
85  * \return the \c timestamp field value.
86  */
88 {
89  Q_D(const SegmentLapMessage);
90  return d->timestamp;
91 }
92 
93 /*!
94  * Returns the SegmentLapMessage data message's \c event field's current value.
95  *
96  * \return the \c event field value.
97  */
99 {
100  Q_D(const SegmentLapMessage);
101  return d->event;
102 }
103 
104 /*!
105  * Returns the SegmentLapMessage data message's \c eventType field's current value.
106  *
107  * \return the \c eventType field value.
108  */
110 {
111  Q_D(const SegmentLapMessage);
112  return d->eventType;
113 }
114 
115 /*!
116  * Returns the SegmentLapMessage data message's \c startTime field's current value.
117  *
118  * \return the \c startTime field value.
119  */
121 {
122  Q_D(const SegmentLapMessage);
123  return d->startTime;
124 }
125 
126 /*!
127  * Returns the SegmentLapMessage data message's \c startPositionLat field's current value.
128  *
129  * \return the \c startPositionLat field value.
130  */
132 {
133  Q_D(const SegmentLapMessage);
134  return d->startPositionLat;
135 }
136 
137 /*!
138  * Returns the SegmentLapMessage data message's \c startPositionLong field's current value.
139  *
140  * \return the \c startPositionLong field value.
141  */
143 {
144  Q_D(const SegmentLapMessage);
145  return d->startPositionLong;
146 }
147 
148 /*!
149  * Returns the SegmentLapMessage data message's \c endPositionLat field's current value.
150  *
151  * \return the \c endPositionLat field value.
152  */
154 {
155  Q_D(const SegmentLapMessage);
156  return d->endPositionLat;
157 }
158 
159 /*!
160  * Returns the SegmentLapMessage data message's \c endPositionLong field's current value.
161  *
162  * \return the \c endPositionLong field value.
163  */
165 {
166  Q_D(const SegmentLapMessage);
167  return d->endPositionLong;
168 }
169 
170 /*!
171  * Returns the SegmentLapMessage data message's \c totalElapsedTime field's current value.
172  *
173  * Time (includes pauses)
174  *
175  * \return the \c totalElapsedTime field value.
176  */
178 {
179  Q_D(const SegmentLapMessage);
180  return d->totalElapsedTime;
181 }
182 
183 /*!
184  * Returns the SegmentLapMessage data message's \c totalTimerTime field's current value.
185  *
186  * Timer Time (excludes pauses)
187  *
188  * \return the \c totalTimerTime field value.
189  */
191 {
192  Q_D(const SegmentLapMessage);
193  return d->totalTimerTime;
194 }
195 
196 /*!
197  * Returns the SegmentLapMessage data message's \c totalDistance field's current value.
198  *
199  * \return the \c totalDistance field value.
200  */
202 {
203  Q_D(const SegmentLapMessage);
204  return d->totalDistance;
205 }
206 
207 /*!
208  * Returns the SegmentLapMessage data message's \c totalCycles field's current value.
209  *
210  * \return the \c totalCycles field value.
211  */
213 {
214  Q_D(const SegmentLapMessage);
215  return d->totalCycles;
216 }
217 
218 /*!
219  * Returns the SegmentLapMessage data message's \c totalCalories field's current value.
220  *
221  * \return the \c totalCalories field value.
222  */
224 {
225  Q_D(const SegmentLapMessage);
226  return d->totalCalories;
227 }
228 
229 /*!
230  * Returns the SegmentLapMessage data message's \c totalFatCalories field's current value.
231  *
232  * If New Leaf
233  *
234  * \return the \c totalFatCalories field value.
235  */
237 {
238  Q_D(const SegmentLapMessage);
239  return d->totalFatCalories;
240 }
241 
242 /*!
243  * Returns the SegmentLapMessage data message's \c avgSpeed field's current value.
244  *
245  * \return the \c avgSpeed field value.
246  */
248 {
249  Q_D(const SegmentLapMessage);
250  return d->avgSpeed;
251 }
252 
253 /*!
254  * Returns the SegmentLapMessage data message's \c maxSpeed field's current value.
255  *
256  * \return the \c maxSpeed field value.
257  */
259 {
260  Q_D(const SegmentLapMessage);
261  return d->maxSpeed;
262 }
263 
264 /*!
265  * Returns the SegmentLapMessage data message's \c avgHeartRate field's current value.
266  *
267  * \return the \c avgHeartRate field value.
268  */
270 {
271  Q_D(const SegmentLapMessage);
272  return d->avgHeartRate;
273 }
274 
275 /*!
276  * Returns the SegmentLapMessage data message's \c maxHeartRate field's current value.
277  *
278  * \return the \c maxHeartRate field value.
279  */
281 {
282  Q_D(const SegmentLapMessage);
283  return d->maxHeartRate;
284 }
285 
286 /*!
287  * Returns the SegmentLapMessage data message's \c avgCadence field's current value.
288  *
289  * total_cycles / total_timer_time if non_zero_avg_cadence otherwise total_cycles /
290  * total_elapsed_time
291  *
292  * \return the \c avgCadence field value.
293  */
295 {
296  Q_D(const SegmentLapMessage);
297  return d->avgCadence;
298 }
299 
300 /*!
301  * Returns the SegmentLapMessage data message's \c maxCadence field's current value.
302  *
303  * \return the \c maxCadence field value.
304  */
306 {
307  Q_D(const SegmentLapMessage);
308  return d->maxCadence;
309 }
310 
311 /*!
312  * Returns the SegmentLapMessage data message's \c avgPower field's current value.
313  *
314  * total_power / total_timer_time if non_zero_avg_power otherwise total_power /
315  * total_elapsed_time
316  *
317  * \return the \c avgPower field value.
318  */
320 {
321  Q_D(const SegmentLapMessage);
322  return d->avgPower;
323 }
324 
325 /*!
326  * Returns the SegmentLapMessage data message's \c maxPower field's current value.
327  *
328  * \return the \c maxPower field value.
329  */
331 {
332  Q_D(const SegmentLapMessage);
333  return d->maxPower;
334 }
335 
336 /*!
337  * Returns the SegmentLapMessage data message's \c totalAscent field's current value.
338  *
339  * \return the \c totalAscent field value.
340  */
342 {
343  Q_D(const SegmentLapMessage);
344  return d->totalAscent;
345 }
346 
347 /*!
348  * Returns the SegmentLapMessage data message's \c totalDescent field's current value.
349  *
350  * \return the \c totalDescent field value.
351  */
353 {
354  Q_D(const SegmentLapMessage);
355  return d->totalDescent;
356 }
357 
358 /*!
359  * Returns the SegmentLapMessage data message's \c sport field's current value.
360  *
361  * \return the \c sport field value.
362  */
364 {
365  Q_D(const SegmentLapMessage);
366  return d->sport;
367 }
368 
369 /*!
370  * Returns the SegmentLapMessage data message's \c eventGroup field's current value.
371  *
372  * \return the \c eventGroup field value.
373  */
375 {
376  Q_D(const SegmentLapMessage);
377  return d->eventGroup;
378 }
379 
380 /*!
381  * Returns the SegmentLapMessage data message's \c necLat field's current value.
382  *
383  * North east corner latitude.
384  *
385  * \return the \c necLat field value.
386  */
388 {
389  Q_D(const SegmentLapMessage);
390  return d->necLat;
391 }
392 
393 /*!
394  * Returns the SegmentLapMessage data message's \c necLong field's current value.
395  *
396  * North east corner longitude.
397  *
398  * \return the \c necLong field value.
399  */
401 {
402  Q_D(const SegmentLapMessage);
403  return d->necLong;
404 }
405 
406 /*!
407  * Returns the SegmentLapMessage data message's \c swcLat field's current value.
408  *
409  * South west corner latitude.
410  *
411  * \return the \c swcLat field value.
412  */
414 {
415  Q_D(const SegmentLapMessage);
416  return d->swcLat;
417 }
418 
419 /*!
420  * Returns the SegmentLapMessage data message's \c swcLong field's current value.
421  *
422  * South west corner latitude.
423  *
424  * \return the \c swcLong field value.
425  */
427 {
428  Q_D(const SegmentLapMessage);
429  return d->swcLong;
430 }
431 
432 /*!
433  * Returns the SegmentLapMessage data message's \c name field's current value.
434  *
435  * \return the \c name field value.
436  */
437 QString SegmentLapMessage::name() const
438 {
439  Q_D(const SegmentLapMessage);
440  return d->name;
441 }
442 
443 /*!
444  * Returns the SegmentLapMessage data message's \c normalizedPower field's current value.
445  *
446  * \return the \c normalizedPower field value.
447  */
449 {
450  Q_D(const SegmentLapMessage);
451  return d->normalizedPower;
452 }
453 
454 /*!
455  * Returns the SegmentLapMessage data message's \c leftRightBalance field's current value.
456  *
457  * \return the \c leftRightBalance field value.
458  */
460 {
461  Q_D(const SegmentLapMessage);
462  return d->leftRightBalance;
463 }
464 
465 /*!
466  * Returns the SegmentLapMessage data message's \c subSport field's current value.
467  *
468  * \return the \c subSport field value.
469  */
471 {
472  Q_D(const SegmentLapMessage);
473  return d->subSport;
474 }
475 
476 /*!
477  * Returns the SegmentLapMessage data message's \c totalWork field's current value.
478  *
479  * \return the \c totalWork field value.
480  */
482 {
483  Q_D(const SegmentLapMessage);
484  return d->totalWork;
485 }
486 
487 /*!
488  * Returns the SegmentLapMessage data message's \c avgAltitude field's current value.
489  *
490  * \return the \c avgAltitude field value.
491  */
493 {
494  Q_D(const SegmentLapMessage);
495  return d->avgAltitude;
496 }
497 
498 /*!
499  * Returns the SegmentLapMessage data message's \c maxAltitude field's current value.
500  *
501  * \return the \c maxAltitude field value.
502  */
504 {
505  Q_D(const SegmentLapMessage);
506  return d->maxAltitude;
507 }
508 
509 /*!
510  * Returns the SegmentLapMessage data message's \c gpsAccuracy field's current value.
511  *
512  * \return the \c gpsAccuracy field value.
513  */
515 {
516  Q_D(const SegmentLapMessage);
517  return d->gpsAccuracy;
518 }
519 
520 /*!
521  * Returns the SegmentLapMessage data message's \c avgGrade field's current value.
522  *
523  * \return the \c avgGrade field value.
524  */
526 {
527  Q_D(const SegmentLapMessage);
528  return d->avgGrade;
529 }
530 
531 /*!
532  * Returns the SegmentLapMessage data message's \c avgPosGrade field's current value.
533  *
534  * \return the \c avgPosGrade field value.
535  */
537 {
538  Q_D(const SegmentLapMessage);
539  return d->avgPosGrade;
540 }
541 
542 /*!
543  * Returns the SegmentLapMessage data message's \c avgNegGrade field's current value.
544  *
545  * \return the \c avgNegGrade field value.
546  */
548 {
549  Q_D(const SegmentLapMessage);
550  return d->avgNegGrade;
551 }
552 
553 /*!
554  * Returns the SegmentLapMessage data message's \c maxPosGrade field's current value.
555  *
556  * \return the \c maxPosGrade field value.
557  */
559 {
560  Q_D(const SegmentLapMessage);
561  return d->maxPosGrade;
562 }
563 
564 /*!
565  * Returns the SegmentLapMessage data message's \c maxNegGrade field's current value.
566  *
567  * \return the \c maxNegGrade field value.
568  */
570 {
571  Q_D(const SegmentLapMessage);
572  return d->maxNegGrade;
573 }
574 
575 /*!
576  * Returns the SegmentLapMessage data message's \c avgTemperature field's current value.
577  *
578  * \return the \c avgTemperature field value.
579  */
581 {
582  Q_D(const SegmentLapMessage);
583  return d->avgTemperature;
584 }
585 
586 /*!
587  * Returns the SegmentLapMessage data message's \c maxTemperature field's current value.
588  *
589  * \return the \c maxTemperature field value.
590  */
592 {
593  Q_D(const SegmentLapMessage);
594  return d->maxTemperature;
595 }
596 
597 /*!
598  * Returns the SegmentLapMessage data message's \c totalMovingTime field's current value.
599  *
600  * \return the \c totalMovingTime field value.
601  */
603 {
604  Q_D(const SegmentLapMessage);
605  return d->totalMovingTime;
606 }
607 
608 /*!
609  * Returns the SegmentLapMessage data message's \c avgPosVerticalSpeed field's current value.
610  *
611  * \return the \c avgPosVerticalSpeed field value.
612  */
614 {
615  Q_D(const SegmentLapMessage);
616  return d->avgPosVerticalSpeed;
617 }
618 
619 /*!
620  * Returns the SegmentLapMessage data message's \c avgNegVerticalSpeed field's current value.
621  *
622  * \return the \c avgNegVerticalSpeed field value.
623  */
625 {
626  Q_D(const SegmentLapMessage);
627  return d->avgNegVerticalSpeed;
628 }
629 
630 /*!
631  * Returns the SegmentLapMessage data message's \c maxPosVerticalSpeed field's current value.
632  *
633  * \return the \c maxPosVerticalSpeed field value.
634  */
636 {
637  Q_D(const SegmentLapMessage);
638  return d->maxPosVerticalSpeed;
639 }
640 
641 /*!
642  * Returns the SegmentLapMessage data message's \c maxNegVerticalSpeed field's current value.
643  *
644  * \return the \c maxNegVerticalSpeed field value.
645  */
647 {
648  Q_D(const SegmentLapMessage);
649  return d->maxNegVerticalSpeed;
650 }
651 
652 /*!
653  * Returns the SegmentLapMessage data message's \c timeInHrZone field's current value.
654  *
655  * \return the \c timeInHrZone field value.
656  */
658 {
659  Q_D(const SegmentLapMessage);
660  return d->timeInHrZone;
661 }
662 
663 /*!
664  * Returns the SegmentLapMessage data message's \c timeInSpeedZone field's current value.
665  *
666  * \return the \c timeInSpeedZone field value.
667  */
669 {
670  Q_D(const SegmentLapMessage);
671  return d->timeInSpeedZone;
672 }
673 
674 /*!
675  * Returns the SegmentLapMessage data message's \c timeInCadenceZone field's current value.
676  *
677  * \return the \c timeInCadenceZone field value.
678  */
680 {
681  Q_D(const SegmentLapMessage);
682  return d->timeInCadenceZone;
683 }
684 
685 /*!
686  * Returns the SegmentLapMessage data message's \c timeInPowerZone field's current value.
687  *
688  * \return the \c timeInPowerZone field value.
689  */
691 {
692  Q_D(const SegmentLapMessage);
693  return d->timeInPowerZone;
694 }
695 
696 /*!
697  * Returns the SegmentLapMessage data message's \c repetitionNum field's current value.
698  *
699  * \return the \c repetitionNum field value.
700  */
702 {
703  Q_D(const SegmentLapMessage);
704  return d->repetitionNum;
705 }
706 
707 /*!
708  * Returns the SegmentLapMessage data message's \c minAltitude field's current value.
709  *
710  * \return the \c minAltitude field value.
711  */
713 {
714  Q_D(const SegmentLapMessage);
715  return d->minAltitude;
716 }
717 
718 /*!
719  * Returns the SegmentLapMessage data message's \c minHeartRate field's current value.
720  *
721  * \return the \c minHeartRate field value.
722  */
724 {
725  Q_D(const SegmentLapMessage);
726  return d->minHeartRate;
727 }
728 
729 /*!
730  * Returns the SegmentLapMessage data message's \c activeTime field's current value.
731  *
732  * \return the \c activeTime field value.
733  */
735 {
736  Q_D(const SegmentLapMessage);
737  return d->activeTime;
738 }
739 
740 /*!
741  * Returns the SegmentLapMessage data message's \c wktStepIndex field's current value.
742  *
743  * \return the \c wktStepIndex field value.
744  */
746 {
747  Q_D(const SegmentLapMessage);
748  return d->wktStepIndex;
749 }
750 
751 /*!
752  * Returns the SegmentLapMessage data message's \c sportEvent field's current value.
753  *
754  * \return the \c sportEvent field value.
755  */
757 {
758  Q_D(const SegmentLapMessage);
759  return d->sportEvent;
760 }
761 
762 /*!
763  * Returns the SegmentLapMessage data message's \c avgLeftTorqueEffectiveness field's current value.
764  *
765  * \return the \c avgLeftTorqueEffectiveness field value.
766  */
768 {
769  Q_D(const SegmentLapMessage);
770  return d->avgLeftTorqueEffectiveness;
771 }
772 
773 /*!
774  * Returns the SegmentLapMessage data message's \c avgRightTorqueEffectiveness field's current value.
775  *
776  * \return the \c avgRightTorqueEffectiveness field value.
777  */
779 {
780  Q_D(const SegmentLapMessage);
781  return d->avgRightTorqueEffectiveness;
782 }
783 
784 /*!
785  * Returns the SegmentLapMessage data message's \c avgLeftPedalSmoothness field's current value.
786  *
787  * \return the \c avgLeftPedalSmoothness field value.
788  */
790 {
791  Q_D(const SegmentLapMessage);
792  return d->avgLeftPedalSmoothness;
793 }
794 
795 /*!
796  * Returns the SegmentLapMessage data message's \c avgRightPedalSmoothness field's current value.
797  *
798  * \return the \c avgRightPedalSmoothness field value.
799  */
801 {
802  Q_D(const SegmentLapMessage);
803  return d->avgRightPedalSmoothness;
804 }
805 
806 /*!
807  * Returns the SegmentLapMessage data message's \c avgCombinedPedalSmoothness field's current value.
808  *
809  * \return the \c avgCombinedPedalSmoothness field value.
810  */
812 {
813  Q_D(const SegmentLapMessage);
814  return d->avgCombinedPedalSmoothness;
815 }
816 
817 /*!
818  * Returns the SegmentLapMessage data message's \c status field's current value.
819  *
820  * \return the \c status field value.
821  */
823 {
824  Q_D(const SegmentLapMessage);
825  return d->status;
826 }
827 
828 /*!
829  * Returns the SegmentLapMessage data message's \c uuid field's current value.
830  *
831  * \return the \c uuid field value.
832  */
833 QString SegmentLapMessage::uuid() const
834 {
835  Q_D(const SegmentLapMessage);
836  return d->uuid;
837 }
838 
839 /*!
840  * Returns the SegmentLapMessage data message's \c avgFractionalCadence field's current value.
841  *
842  * fractional part of the avg_cadence
843  *
844  * \return the \c avgFractionalCadence field value.
845  */
847 {
848  Q_D(const SegmentLapMessage);
849  return d->avgFractionalCadence;
850 }
851 
852 /*!
853  * Returns the SegmentLapMessage data message's \c maxFractionalCadence field's current value.
854  *
855  * fractional part of the max_cadence
856  *
857  * \return the \c maxFractionalCadence field value.
858  */
860 {
861  Q_D(const SegmentLapMessage);
862  return d->maxFractionalCadence;
863 }
864 
865 /*!
866  * Returns the SegmentLapMessage data message's \c totalFractionalCycles field's current value.
867  *
868  * fractional part of the total_cycles
869  *
870  * \return the \c totalFractionalCycles field value.
871  */
873 {
874  Q_D(const SegmentLapMessage);
875  return d->totalFractionalCycles;
876 }
877 
878 /*!
879  * Returns the SegmentLapMessage data message's \c frontGearShiftCount field's current value.
880  *
881  * \return the \c frontGearShiftCount field value.
882  */
884 {
885  Q_D(const SegmentLapMessage);
886  return d->frontGearShiftCount;
887 }
888 
889 /*!
890  * Returns the SegmentLapMessage data message's \c rearGearShiftCount field's current value.
891  *
892  * \return the \c rearGearShiftCount field value.
893  */
895 {
896  Q_D(const SegmentLapMessage);
897  return d->rearGearShiftCount;
898 }
899 
900 /*!
901  * Returns the SegmentLapMessage data message's \c timeStanding field's current value.
902  *
903  * Total time spent in the standing position
904  *
905  * \return the \c timeStanding field value.
906  */
908 {
909  Q_D(const SegmentLapMessage);
910  return d->timeStanding;
911 }
912 
913 /*!
914  * Returns the SegmentLapMessage data message's \c standCount field's current value.
915  *
916  * Number of transitions to the standing state
917  *
918  * \return the \c standCount field value.
919  */
921 {
922  Q_D(const SegmentLapMessage);
923  return d->standCount;
924 }
925 
926 /*!
927  * Returns the SegmentLapMessage data message's \c avgLeftPco field's current value.
928  *
929  * Average left platform center offset
930  *
931  * \return the \c avgLeftPco field value.
932  */
934 {
935  Q_D(const SegmentLapMessage);
936  return d->avgLeftPco;
937 }
938 
939 /*!
940  * Returns the SegmentLapMessage data message's \c avgRightPco field's current value.
941  *
942  * Average right platform center offset
943  *
944  * \return the \c avgRightPco field value.
945  */
947 {
948  Q_D(const SegmentLapMessage);
949  return d->avgRightPco;
950 }
951 
952 /*!
953  * Returns the SegmentLapMessage data message's \c avgLeftPowerPhase field's current value.
954  *
955  * Average left power phase angles. Data value indexes defined by power_phase_type.
956  *
957  * \return the \c avgLeftPowerPhase field value.
958  */
960 {
961  Q_D(const SegmentLapMessage);
962  return d->avgLeftPowerPhase;
963 }
964 
965 /*!
966  * Returns the SegmentLapMessage data message's \c avgLeftPowerPhasePeak field's current value.
967  *
968  * Average left power phase peak angles. Data value indexes defined by power_phase_type.
969  *
970  * \return the \c avgLeftPowerPhasePeak field value.
971  */
973 {
974  Q_D(const SegmentLapMessage);
975  return d->avgLeftPowerPhasePeak;
976 }
977 
978 /*!
979  * Returns the SegmentLapMessage data message's \c avgRightPowerPhase field's current value.
980  *
981  * Average right power phase angles. Data value indexes defined by power_phase_type.
982  *
983  * \return the \c avgRightPowerPhase field value.
984  */
986 {
987  Q_D(const SegmentLapMessage);
988  return d->avgRightPowerPhase;
989 }
990 
991 /*!
992  * Returns the SegmentLapMessage data message's \c avgRightPowerPhasePeak field's current value.
993  *
994  * Average right power phase peak angles. Data value indexes defined by power_phase_type.
995  *
996  * \return the \c avgRightPowerPhasePeak field value.
997  */
999 {
1000  Q_D(const SegmentLapMessage);
1001  return d->avgRightPowerPhasePeak;
1002 }
1003 
1004 /*!
1005  * Returns the SegmentLapMessage data message's \c avgPowerPosition field's current value.
1006  *
1007  * Average power by position. Data value indexes defined by rider_position_type.
1008  *
1009  * \return the \c avgPowerPosition field value.
1010  */
1012 {
1013  Q_D(const SegmentLapMessage);
1014  return d->avgPowerPosition;
1015 }
1016 
1017 /*!
1018  * Returns the SegmentLapMessage data message's \c maxPowerPosition field's current value.
1019  *
1020  * Maximum power by position. Data value indexes defined by rider_position_type.
1021  *
1022  * \return the \c maxPowerPosition field value.
1023  */
1025 {
1026  Q_D(const SegmentLapMessage);
1027  return d->maxPowerPosition;
1028 }
1029 
1030 /*!
1031  * Returns the SegmentLapMessage data message's \c avgCadencePosition field's current value.
1032  *
1033  * Average cadence by position. Data value indexes defined by rider_position_type.
1034  *
1035  * \return the \c avgCadencePosition field value.
1036  */
1038 {
1039  Q_D(const SegmentLapMessage);
1040  return d->avgCadencePosition;
1041 }
1042 
1043 /*!
1044  * Returns the SegmentLapMessage data message's \c maxCadencePosition field's current value.
1045  *
1046  * Maximum cadence by position. Data value indexes defined by rider_position_type.
1047  *
1048  * \return the \c maxCadencePosition field value.
1049  */
1051 {
1052  Q_D(const SegmentLapMessage);
1053  return d->maxCadencePosition;
1054 }
1055 
1056 /*!
1057  * Returns the SegmentLapMessage data message's \c manufacturer field's current value.
1058  *
1059  * Manufacturer that produced the segment
1060  *
1061  * \return the \c manufacturer field value.
1062  */
1064 {
1065  Q_D(const SegmentLapMessage);
1066  return d->manufacturer;
1067 }
1068 
1069 /*!
1070  * Returns the SegmentLapMessage data message's \c totalGrit field's current value.
1071  *
1072  * The grit score estimates how challenging a route could be for a cyclist in terms of time
1073  * spent going over sharp turns or large grade slopes.
1074  *
1075  * \return the \c totalGrit field value.
1076  */
1078 {
1079  Q_D(const SegmentLapMessage);
1080  return d->totalGrit;
1081 }
1082 
1083 /*!
1084  * Returns the SegmentLapMessage data message's \c totalFlow field's current value.
1085  *
1086  * The flow score estimates how long distance wise a cyclist deaccelerates over intervals where
1087  * deacceleration is unnecessary such as smooth turns or small grade angle intervals.
1088  *
1089  * \return the \c totalFlow field value.
1090  */
1092 {
1093  Q_D(const SegmentLapMessage);
1094  return d->totalFlow;
1095 }
1096 
1097 /*!
1098  * Returns the SegmentLapMessage data message's \c avgGrit field's current value.
1099  *
1100  * The grit score estimates how challenging a route could be for a cyclist in terms of time
1101  * spent going over sharp turns or large grade slopes.
1102  *
1103  * \return the \c avgGrit field value.
1104  */
1106 {
1107  Q_D(const SegmentLapMessage);
1108  return d->avgGrit;
1109 }
1110 
1111 /*!
1112  * Returns the SegmentLapMessage data message's \c avgFlow field's current value.
1113  *
1114  * The flow score estimates how long distance wise a cyclist deaccelerates over intervals where
1115  * deacceleration is unnecessary such as smooth turns or small grade angle intervals.
1116  *
1117  * \return the \c avgFlow field value.
1118  */
1120 {
1121  Q_D(const SegmentLapMessage);
1122  return d->avgFlow;
1123 }
1124 
1125 /*!
1126  * Returns the SegmentLapMessage data message's \c totalFractionalAscent field's current value.
1127  *
1128  * fractional part of total_ascent
1129  *
1130  * \return the \c totalFractionalAscent field value.
1131  */
1133 {
1134  Q_D(const SegmentLapMessage);
1135  return d->totalFractionalAscent;
1136 }
1137 
1138 /*!
1139  * Returns the SegmentLapMessage data message's \c totalFractionalDescent field's current value.
1140  *
1141  * fractional part of total_descent
1142  *
1143  * \return the \c totalFractionalDescent field value.
1144  */
1146 {
1147  Q_D(const SegmentLapMessage);
1148  return d->totalFractionalDescent;
1149 }
1150 
1151 /*!
1152  * Sets the \c messageIndex field to \a messageIndex.
1153  *
1154  * \param messageIndex The field value to set.
1155  */
1157 {
1158  Q_D(SegmentLapMessage);
1159  d->messageIndex = messageIndex;
1160 }
1161 /*!
1162  * Sets the \c timestamp field to \a timestamp.
1163  *
1164  * \param timestamp The field value to set.
1165  */
1167 {
1168  Q_D(SegmentLapMessage);
1169  d->timestamp = timestamp;
1170 }
1171 /*!
1172  * Sets the \c event field to \a event.
1173  *
1174  * \param event The field value to set.
1175  */
1177 {
1178  Q_D(SegmentLapMessage);
1179  d->event = event;
1180 }
1181 /*!
1182  * Sets the \c eventType field to \a eventType.
1183  *
1184  * \param eventType The field value to set.
1185  */
1187 {
1188  Q_D(SegmentLapMessage);
1189  d->eventType = eventType;
1190 }
1191 /*!
1192  * Sets the \c startTime field to \a startTime.
1193  *
1194  * \param startTime The field value to set.
1195  */
1197 {
1198  Q_D(SegmentLapMessage);
1199  d->startTime = startTime;
1200 }
1201 /*!
1202  * Sets the \c startPositionLat field to \a startPositionLat.
1203  *
1204  * \param startPositionLat The field value to set.
1205  */
1206 void SegmentLapMessage::setStartPositionLat(const qint32 startPositionLat)
1207 {
1208  Q_D(SegmentLapMessage);
1209  d->startPositionLat = startPositionLat;
1210 }
1211 /*!
1212  * Sets the \c startPositionLong field to \a startPositionLong.
1213  *
1214  * \param startPositionLong The field value to set.
1215  */
1216 void SegmentLapMessage::setStartPositionLong(const qint32 startPositionLong)
1217 {
1218  Q_D(SegmentLapMessage);
1219  d->startPositionLong = startPositionLong;
1220 }
1221 /*!
1222  * Sets the \c endPositionLat field to \a endPositionLat.
1223  *
1224  * \param endPositionLat The field value to set.
1225  */
1226 void SegmentLapMessage::setEndPositionLat(const qint32 endPositionLat)
1227 {
1228  Q_D(SegmentLapMessage);
1229  d->endPositionLat = endPositionLat;
1230 }
1231 /*!
1232  * Sets the \c endPositionLong field to \a endPositionLong.
1233  *
1234  * \param endPositionLong The field value to set.
1235  */
1236 void SegmentLapMessage::setEndPositionLong(const qint32 endPositionLong)
1237 {
1238  Q_D(SegmentLapMessage);
1239  d->endPositionLong = endPositionLong;
1240 }
1241 /*!
1242  * Sets the \c totalElapsedTime field to \a totalElapsedTime.
1243  *
1244  * \param totalElapsedTime The field value to set.
1245  */
1246 void SegmentLapMessage::setTotalElapsedTime(const quint32 totalElapsedTime)
1247 {
1248  Q_D(SegmentLapMessage);
1249  d->totalElapsedTime = totalElapsedTime;
1250 }
1251 /*!
1252  * Sets the \c totalTimerTime field to \a totalTimerTime.
1253  *
1254  * \param totalTimerTime The field value to set.
1255  */
1256 void SegmentLapMessage::setTotalTimerTime(const quint32 totalTimerTime)
1257 {
1258  Q_D(SegmentLapMessage);
1259  d->totalTimerTime = totalTimerTime;
1260 }
1261 /*!
1262  * Sets the \c totalDistance field to \a totalDistance.
1263  *
1264  * \param totalDistance The field value to set.
1265  */
1266 void SegmentLapMessage::setTotalDistance(const quint32 totalDistance)
1267 {
1268  Q_D(SegmentLapMessage);
1269  d->totalDistance = totalDistance;
1270 }
1271 /*!
1272  * Sets the \c totalCycles field to \a totalCycles.
1273  *
1274  * \param totalCycles The field value to set.
1275  */
1276 void SegmentLapMessage::setTotalCycles(const quint32 totalCycles)
1277 {
1278  Q_D(SegmentLapMessage);
1279  d->totalCycles = totalCycles;
1280 }
1281 /*!
1282  * Sets the \c totalCalories field to \a totalCalories.
1283  *
1284  * \param totalCalories The field value to set.
1285  */
1286 void SegmentLapMessage::setTotalCalories(const quint16 totalCalories)
1287 {
1288  Q_D(SegmentLapMessage);
1289  d->totalCalories = totalCalories;
1290 }
1291 /*!
1292  * Sets the \c totalFatCalories field to \a totalFatCalories.
1293  *
1294  * \param totalFatCalories The field value to set.
1295  */
1296 void SegmentLapMessage::setTotalFatCalories(const quint16 totalFatCalories)
1297 {
1298  Q_D(SegmentLapMessage);
1299  d->totalFatCalories = totalFatCalories;
1300 }
1301 /*!
1302  * Sets the \c avgSpeed field to \a avgSpeed.
1303  *
1304  * \param avgSpeed The field value to set.
1305  */
1306 void SegmentLapMessage::setAvgSpeed(const quint16 avgSpeed)
1307 {
1308  Q_D(SegmentLapMessage);
1309  d->avgSpeed = avgSpeed;
1310 }
1311 /*!
1312  * Sets the \c maxSpeed field to \a maxSpeed.
1313  *
1314  * \param maxSpeed The field value to set.
1315  */
1316 void SegmentLapMessage::setMaxSpeed(const quint16 maxSpeed)
1317 {
1318  Q_D(SegmentLapMessage);
1319  d->maxSpeed = maxSpeed;
1320 }
1321 /*!
1322  * Sets the \c avgHeartRate field to \a avgHeartRate.
1323  *
1324  * \param avgHeartRate The field value to set.
1325  */
1326 void SegmentLapMessage::setAvgHeartRate(const quint8 avgHeartRate)
1327 {
1328  Q_D(SegmentLapMessage);
1329  d->avgHeartRate = avgHeartRate;
1330 }
1331 /*!
1332  * Sets the \c maxHeartRate field to \a maxHeartRate.
1333  *
1334  * \param maxHeartRate The field value to set.
1335  */
1336 void SegmentLapMessage::setMaxHeartRate(const quint8 maxHeartRate)
1337 {
1338  Q_D(SegmentLapMessage);
1339  d->maxHeartRate = maxHeartRate;
1340 }
1341 /*!
1342  * Sets the \c avgCadence field to \a avgCadence.
1343  *
1344  * \param avgCadence The field value to set.
1345  */
1346 void SegmentLapMessage::setAvgCadence(const quint8 avgCadence)
1347 {
1348  Q_D(SegmentLapMessage);
1349  d->avgCadence = avgCadence;
1350 }
1351 /*!
1352  * Sets the \c maxCadence field to \a maxCadence.
1353  *
1354  * \param maxCadence The field value to set.
1355  */
1356 void SegmentLapMessage::setMaxCadence(const quint8 maxCadence)
1357 {
1358  Q_D(SegmentLapMessage);
1359  d->maxCadence = maxCadence;
1360 }
1361 /*!
1362  * Sets the \c avgPower field to \a avgPower.
1363  *
1364  * \param avgPower The field value to set.
1365  */
1366 void SegmentLapMessage::setAvgPower(const quint16 avgPower)
1367 {
1368  Q_D(SegmentLapMessage);
1369  d->avgPower = avgPower;
1370 }
1371 /*!
1372  * Sets the \c maxPower field to \a maxPower.
1373  *
1374  * \param maxPower The field value to set.
1375  */
1376 void SegmentLapMessage::setMaxPower(const quint16 maxPower)
1377 {
1378  Q_D(SegmentLapMessage);
1379  d->maxPower = maxPower;
1380 }
1381 /*!
1382  * Sets the \c totalAscent field to \a totalAscent.
1383  *
1384  * \param totalAscent The field value to set.
1385  */
1386 void SegmentLapMessage::setTotalAscent(const quint16 totalAscent)
1387 {
1388  Q_D(SegmentLapMessage);
1389  d->totalAscent = totalAscent;
1390 }
1391 /*!
1392  * Sets the \c totalDescent field to \a totalDescent.
1393  *
1394  * \param totalDescent The field value to set.
1395  */
1396 void SegmentLapMessage::setTotalDescent(const quint16 totalDescent)
1397 {
1398  Q_D(SegmentLapMessage);
1399  d->totalDescent = totalDescent;
1400 }
1401 /*!
1402  * Sets the \c sport field to \a sport.
1403  *
1404  * \param sport The field value to set.
1405  */
1407 {
1408  Q_D(SegmentLapMessage);
1409  d->sport = sport;
1410 }
1411 /*!
1412  * Sets the \c eventGroup field to \a eventGroup.
1413  *
1414  * \param eventGroup The field value to set.
1415  */
1416 void SegmentLapMessage::setEventGroup(const quint8 eventGroup)
1417 {
1418  Q_D(SegmentLapMessage);
1419  d->eventGroup = eventGroup;
1420 }
1421 /*!
1422  * Sets the \c necLat field to \a necLat.
1423  *
1424  * \param necLat The field value to set.
1425  */
1426 void SegmentLapMessage::setNecLat(const qint32 necLat)
1427 {
1428  Q_D(SegmentLapMessage);
1429  d->necLat = necLat;
1430 }
1431 /*!
1432  * Sets the \c necLong field to \a necLong.
1433  *
1434  * \param necLong The field value to set.
1435  */
1436 void SegmentLapMessage::setNecLong(const qint32 necLong)
1437 {
1438  Q_D(SegmentLapMessage);
1439  d->necLong = necLong;
1440 }
1441 /*!
1442  * Sets the \c swcLat field to \a swcLat.
1443  *
1444  * \param swcLat The field value to set.
1445  */
1446 void SegmentLapMessage::setSwcLat(const qint32 swcLat)
1447 {
1448  Q_D(SegmentLapMessage);
1449  d->swcLat = swcLat;
1450 }
1451 /*!
1452  * Sets the \c swcLong field to \a swcLong.
1453  *
1454  * \param swcLong The field value to set.
1455  */
1456 void SegmentLapMessage::setSwcLong(const qint32 swcLong)
1457 {
1458  Q_D(SegmentLapMessage);
1459  d->swcLong = swcLong;
1460 }
1461 /*!
1462  * Sets the \c name field to \a name.
1463  *
1464  * \param name The field value to set.
1465  */
1466 void SegmentLapMessage::setName(const QString name)
1467 {
1468  Q_D(SegmentLapMessage);
1469  d->name = name;
1470 }
1471 /*!
1472  * Sets the \c normalizedPower field to \a normalizedPower.
1473  *
1474  * \param normalizedPower The field value to set.
1475  */
1476 void SegmentLapMessage::setNormalizedPower(const quint16 normalizedPower)
1477 {
1478  Q_D(SegmentLapMessage);
1479  d->normalizedPower = normalizedPower;
1480 }
1481 /*!
1482  * Sets the \c leftRightBalance field to \a leftRightBalance.
1483  *
1484  * \param leftRightBalance The field value to set.
1485  */
1487 {
1488  Q_D(SegmentLapMessage);
1489  d->leftRightBalance = leftRightBalance;
1490 }
1491 /*!
1492  * Sets the \c subSport field to \a subSport.
1493  *
1494  * \param subSport The field value to set.
1495  */
1497 {
1498  Q_D(SegmentLapMessage);
1499  d->subSport = subSport;
1500 }
1501 /*!
1502  * Sets the \c totalWork field to \a totalWork.
1503  *
1504  * \param totalWork The field value to set.
1505  */
1506 void SegmentLapMessage::setTotalWork(const quint32 totalWork)
1507 {
1508  Q_D(SegmentLapMessage);
1509  d->totalWork = totalWork;
1510 }
1511 /*!
1512  * Sets the \c avgAltitude field to \a avgAltitude.
1513  *
1514  * \param avgAltitude The field value to set.
1515  */
1516 void SegmentLapMessage::setAvgAltitude(const quint16 avgAltitude)
1517 {
1518  Q_D(SegmentLapMessage);
1519  d->avgAltitude = avgAltitude;
1520 }
1521 /*!
1522  * Sets the \c maxAltitude field to \a maxAltitude.
1523  *
1524  * \param maxAltitude The field value to set.
1525  */
1526 void SegmentLapMessage::setMaxAltitude(const quint16 maxAltitude)
1527 {
1528  Q_D(SegmentLapMessage);
1529  d->maxAltitude = maxAltitude;
1530 }
1531 /*!
1532  * Sets the \c gpsAccuracy field to \a gpsAccuracy.
1533  *
1534  * \param gpsAccuracy The field value to set.
1535  */
1536 void SegmentLapMessage::setGpsAccuracy(const quint8 gpsAccuracy)
1537 {
1538  Q_D(SegmentLapMessage);
1539  d->gpsAccuracy = gpsAccuracy;
1540 }
1541 /*!
1542  * Sets the \c avgGrade field to \a avgGrade.
1543  *
1544  * \param avgGrade The field value to set.
1545  */
1546 void SegmentLapMessage::setAvgGrade(const qint16 avgGrade)
1547 {
1548  Q_D(SegmentLapMessage);
1549  d->avgGrade = avgGrade;
1550 }
1551 /*!
1552  * Sets the \c avgPosGrade field to \a avgPosGrade.
1553  *
1554  * \param avgPosGrade The field value to set.
1555  */
1556 void SegmentLapMessage::setAvgPosGrade(const qint16 avgPosGrade)
1557 {
1558  Q_D(SegmentLapMessage);
1559  d->avgPosGrade = avgPosGrade;
1560 }
1561 /*!
1562  * Sets the \c avgNegGrade field to \a avgNegGrade.
1563  *
1564  * \param avgNegGrade The field value to set.
1565  */
1566 void SegmentLapMessage::setAvgNegGrade(const qint16 avgNegGrade)
1567 {
1568  Q_D(SegmentLapMessage);
1569  d->avgNegGrade = avgNegGrade;
1570 }
1571 /*!
1572  * Sets the \c maxPosGrade field to \a maxPosGrade.
1573  *
1574  * \param maxPosGrade The field value to set.
1575  */
1576 void SegmentLapMessage::setMaxPosGrade(const qint16 maxPosGrade)
1577 {
1578  Q_D(SegmentLapMessage);
1579  d->maxPosGrade = maxPosGrade;
1580 }
1581 /*!
1582  * Sets the \c maxNegGrade field to \a maxNegGrade.
1583  *
1584  * \param maxNegGrade The field value to set.
1585  */
1586 void SegmentLapMessage::setMaxNegGrade(const qint16 maxNegGrade)
1587 {
1588  Q_D(SegmentLapMessage);
1589  d->maxNegGrade = maxNegGrade;
1590 }
1591 /*!
1592  * Sets the \c avgTemperature field to \a avgTemperature.
1593  *
1594  * \param avgTemperature The field value to set.
1595  */
1596 void SegmentLapMessage::setAvgTemperature(const qint8 avgTemperature)
1597 {
1598  Q_D(SegmentLapMessage);
1599  d->avgTemperature = avgTemperature;
1600 }
1601 /*!
1602  * Sets the \c maxTemperature field to \a maxTemperature.
1603  *
1604  * \param maxTemperature The field value to set.
1605  */
1606 void SegmentLapMessage::setMaxTemperature(const qint8 maxTemperature)
1607 {
1608  Q_D(SegmentLapMessage);
1609  d->maxTemperature = maxTemperature;
1610 }
1611 /*!
1612  * Sets the \c totalMovingTime field to \a totalMovingTime.
1613  *
1614  * \param totalMovingTime The field value to set.
1615  */
1616 void SegmentLapMessage::setTotalMovingTime(const quint32 totalMovingTime)
1617 {
1618  Q_D(SegmentLapMessage);
1619  d->totalMovingTime = totalMovingTime;
1620 }
1621 /*!
1622  * Sets the \c avgPosVerticalSpeed field to \a avgPosVerticalSpeed.
1623  *
1624  * \param avgPosVerticalSpeed The field value to set.
1625  */
1626 void SegmentLapMessage::setAvgPosVerticalSpeed(const qint16 avgPosVerticalSpeed)
1627 {
1628  Q_D(SegmentLapMessage);
1629  d->avgPosVerticalSpeed = avgPosVerticalSpeed;
1630 }
1631 /*!
1632  * Sets the \c avgNegVerticalSpeed field to \a avgNegVerticalSpeed.
1633  *
1634  * \param avgNegVerticalSpeed The field value to set.
1635  */
1636 void SegmentLapMessage::setAvgNegVerticalSpeed(const qint16 avgNegVerticalSpeed)
1637 {
1638  Q_D(SegmentLapMessage);
1639  d->avgNegVerticalSpeed = avgNegVerticalSpeed;
1640 }
1641 /*!
1642  * Sets the \c maxPosVerticalSpeed field to \a maxPosVerticalSpeed.
1643  *
1644  * \param maxPosVerticalSpeed The field value to set.
1645  */
1646 void SegmentLapMessage::setMaxPosVerticalSpeed(const qint16 maxPosVerticalSpeed)
1647 {
1648  Q_D(SegmentLapMessage);
1649  d->maxPosVerticalSpeed = maxPosVerticalSpeed;
1650 }
1651 /*!
1652  * Sets the \c maxNegVerticalSpeed field to \a maxNegVerticalSpeed.
1653  *
1654  * \param maxNegVerticalSpeed The field value to set.
1655  */
1656 void SegmentLapMessage::setMaxNegVerticalSpeed(const qint16 maxNegVerticalSpeed)
1657 {
1658  Q_D(SegmentLapMessage);
1659  d->maxNegVerticalSpeed = maxNegVerticalSpeed;
1660 }
1661 /*!
1662  * Sets the \c timeInHrZone field to \a timeInHrZone.
1663  *
1664  * \param timeInHrZone The field value to set.
1665  */
1666 void SegmentLapMessage::setTimeInHrZone(const quint32 timeInHrZone)
1667 {
1668  Q_D(SegmentLapMessage);
1669  d->timeInHrZone = timeInHrZone;
1670 }
1671 /*!
1672  * Sets the \c timeInSpeedZone field to \a timeInSpeedZone.
1673  *
1674  * \param timeInSpeedZone The field value to set.
1675  */
1676 void SegmentLapMessage::setTimeInSpeedZone(const quint32 timeInSpeedZone)
1677 {
1678  Q_D(SegmentLapMessage);
1679  d->timeInSpeedZone = timeInSpeedZone;
1680 }
1681 /*!
1682  * Sets the \c timeInCadenceZone field to \a timeInCadenceZone.
1683  *
1684  * \param timeInCadenceZone The field value to set.
1685  */
1686 void SegmentLapMessage::setTimeInCadenceZone(const quint32 timeInCadenceZone)
1687 {
1688  Q_D(SegmentLapMessage);
1689  d->timeInCadenceZone = timeInCadenceZone;
1690 }
1691 /*!
1692  * Sets the \c timeInPowerZone field to \a timeInPowerZone.
1693  *
1694  * \param timeInPowerZone The field value to set.
1695  */
1696 void SegmentLapMessage::setTimeInPowerZone(const quint32 timeInPowerZone)
1697 {
1698  Q_D(SegmentLapMessage);
1699  d->timeInPowerZone = timeInPowerZone;
1700 }
1701 /*!
1702  * Sets the \c repetitionNum field to \a repetitionNum.
1703  *
1704  * \param repetitionNum The field value to set.
1705  */
1706 void SegmentLapMessage::setRepetitionNum(const quint16 repetitionNum)
1707 {
1708  Q_D(SegmentLapMessage);
1709  d->repetitionNum = repetitionNum;
1710 }
1711 /*!
1712  * Sets the \c minAltitude field to \a minAltitude.
1713  *
1714  * \param minAltitude The field value to set.
1715  */
1716 void SegmentLapMessage::setMinAltitude(const quint16 minAltitude)
1717 {
1718  Q_D(SegmentLapMessage);
1719  d->minAltitude = minAltitude;
1720 }
1721 /*!
1722  * Sets the \c minHeartRate field to \a minHeartRate.
1723  *
1724  * \param minHeartRate The field value to set.
1725  */
1726 void SegmentLapMessage::setMinHeartRate(const quint8 minHeartRate)
1727 {
1728  Q_D(SegmentLapMessage);
1729  d->minHeartRate = minHeartRate;
1730 }
1731 /*!
1732  * Sets the \c activeTime field to \a activeTime.
1733  *
1734  * \param activeTime The field value to set.
1735  */
1736 void SegmentLapMessage::setActiveTime(const quint32 activeTime)
1737 {
1738  Q_D(SegmentLapMessage);
1739  d->activeTime = activeTime;
1740 }
1741 /*!
1742  * Sets the \c wktStepIndex field to \a wktStepIndex.
1743  *
1744  * \param wktStepIndex The field value to set.
1745  */
1747 {
1748  Q_D(SegmentLapMessage);
1749  d->wktStepIndex = wktStepIndex;
1750 }
1751 /*!
1752  * Sets the \c sportEvent field to \a sportEvent.
1753  *
1754  * \param sportEvent The field value to set.
1755  */
1757 {
1758  Q_D(SegmentLapMessage);
1759  d->sportEvent = sportEvent;
1760 }
1761 /*!
1762  * Sets the \c avgLeftTorqueEffectiveness field to \a avgLeftTorqueEffectiveness.
1763  *
1764  * \param avgLeftTorqueEffectiveness The field value to set.
1765  */
1766 void SegmentLapMessage::setAvgLeftTorqueEffectiveness(const quint8 avgLeftTorqueEffectiveness)
1767 {
1768  Q_D(SegmentLapMessage);
1769  d->avgLeftTorqueEffectiveness = avgLeftTorqueEffectiveness;
1770 }
1771 /*!
1772  * Sets the \c avgRightTorqueEffectiveness field to \a avgRightTorqueEffectiveness.
1773  *
1774  * \param avgRightTorqueEffectiveness The field value to set.
1775  */
1776 void SegmentLapMessage::setAvgRightTorqueEffectiveness(const quint8 avgRightTorqueEffectiveness)
1777 {
1778  Q_D(SegmentLapMessage);
1779  d->avgRightTorqueEffectiveness = avgRightTorqueEffectiveness;
1780 }
1781 /*!
1782  * Sets the \c avgLeftPedalSmoothness field to \a avgLeftPedalSmoothness.
1783  *
1784  * \param avgLeftPedalSmoothness The field value to set.
1785  */
1786 void SegmentLapMessage::setAvgLeftPedalSmoothness(const quint8 avgLeftPedalSmoothness)
1787 {
1788  Q_D(SegmentLapMessage);
1789  d->avgLeftPedalSmoothness = avgLeftPedalSmoothness;
1790 }
1791 /*!
1792  * Sets the \c avgRightPedalSmoothness field to \a avgRightPedalSmoothness.
1793  *
1794  * \param avgRightPedalSmoothness The field value to set.
1795  */
1796 void SegmentLapMessage::setAvgRightPedalSmoothness(const quint8 avgRightPedalSmoothness)
1797 {
1798  Q_D(SegmentLapMessage);
1799  d->avgRightPedalSmoothness = avgRightPedalSmoothness;
1800 }
1801 /*!
1802  * Sets the \c avgCombinedPedalSmoothness field to \a avgCombinedPedalSmoothness.
1803  *
1804  * \param avgCombinedPedalSmoothness The field value to set.
1805  */
1806 void SegmentLapMessage::setAvgCombinedPedalSmoothness(const quint8 avgCombinedPedalSmoothness)
1807 {
1808  Q_D(SegmentLapMessage);
1809  d->avgCombinedPedalSmoothness = avgCombinedPedalSmoothness;
1810 }
1811 /*!
1812  * Sets the \c status field to \a status.
1813  *
1814  * \param status The field value to set.
1815  */
1817 {
1818  Q_D(SegmentLapMessage);
1819  d->status = status;
1820 }
1821 /*!
1822  * Sets the \c uuid field to \a uuid.
1823  *
1824  * \param uuid The field value to set.
1825  */
1826 void SegmentLapMessage::setUuid(const QString uuid)
1827 {
1828  Q_D(SegmentLapMessage);
1829  d->uuid = uuid;
1830 }
1831 /*!
1832  * Sets the \c avgFractionalCadence field to \a avgFractionalCadence.
1833  *
1834  * \param avgFractionalCadence The field value to set.
1835  */
1836 void SegmentLapMessage::setAvgFractionalCadence(const quint8 avgFractionalCadence)
1837 {
1838  Q_D(SegmentLapMessage);
1839  d->avgFractionalCadence = avgFractionalCadence;
1840 }
1841 /*!
1842  * Sets the \c maxFractionalCadence field to \a maxFractionalCadence.
1843  *
1844  * \param maxFractionalCadence The field value to set.
1845  */
1846 void SegmentLapMessage::setMaxFractionalCadence(const quint8 maxFractionalCadence)
1847 {
1848  Q_D(SegmentLapMessage);
1849  d->maxFractionalCadence = maxFractionalCadence;
1850 }
1851 /*!
1852  * Sets the \c totalFractionalCycles field to \a totalFractionalCycles.
1853  *
1854  * \param totalFractionalCycles The field value to set.
1855  */
1856 void SegmentLapMessage::setTotalFractionalCycles(const quint8 totalFractionalCycles)
1857 {
1858  Q_D(SegmentLapMessage);
1859  d->totalFractionalCycles = totalFractionalCycles;
1860 }
1861 /*!
1862  * Sets the \c frontGearShiftCount field to \a frontGearShiftCount.
1863  *
1864  * \param frontGearShiftCount The field value to set.
1865  */
1866 void SegmentLapMessage::setFrontGearShiftCount(const quint16 frontGearShiftCount)
1867 {
1868  Q_D(SegmentLapMessage);
1869  d->frontGearShiftCount = frontGearShiftCount;
1870 }
1871 /*!
1872  * Sets the \c rearGearShiftCount field to \a rearGearShiftCount.
1873  *
1874  * \param rearGearShiftCount The field value to set.
1875  */
1876 void SegmentLapMessage::setRearGearShiftCount(const quint16 rearGearShiftCount)
1877 {
1878  Q_D(SegmentLapMessage);
1879  d->rearGearShiftCount = rearGearShiftCount;
1880 }
1881 /*!
1882  * Sets the \c timeStanding field to \a timeStanding.
1883  *
1884  * \param timeStanding The field value to set.
1885  */
1886 void SegmentLapMessage::setTimeStanding(const quint32 timeStanding)
1887 {
1888  Q_D(SegmentLapMessage);
1889  d->timeStanding = timeStanding;
1890 }
1891 /*!
1892  * Sets the \c standCount field to \a standCount.
1893  *
1894  * \param standCount The field value to set.
1895  */
1896 void SegmentLapMessage::setStandCount(const quint16 standCount)
1897 {
1898  Q_D(SegmentLapMessage);
1899  d->standCount = standCount;
1900 }
1901 /*!
1902  * Sets the \c avgLeftPco field to \a avgLeftPco.
1903  *
1904  * \param avgLeftPco The field value to set.
1905  */
1906 void SegmentLapMessage::setAvgLeftPco(const qint8 avgLeftPco)
1907 {
1908  Q_D(SegmentLapMessage);
1909  d->avgLeftPco = avgLeftPco;
1910 }
1911 /*!
1912  * Sets the \c avgRightPco field to \a avgRightPco.
1913  *
1914  * \param avgRightPco The field value to set.
1915  */
1916 void SegmentLapMessage::setAvgRightPco(const qint8 avgRightPco)
1917 {
1918  Q_D(SegmentLapMessage);
1919  d->avgRightPco = avgRightPco;
1920 }
1921 /*!
1922  * Sets the \c avgLeftPowerPhase field to \a avgLeftPowerPhase.
1923  *
1924  * \param avgLeftPowerPhase The field value to set.
1925  */
1926 void SegmentLapMessage::setAvgLeftPowerPhase(const quint8 avgLeftPowerPhase)
1927 {
1928  Q_D(SegmentLapMessage);
1929  d->avgLeftPowerPhase = avgLeftPowerPhase;
1930 }
1931 /*!
1932  * Sets the \c avgLeftPowerPhasePeak field to \a avgLeftPowerPhasePeak.
1933  *
1934  * \param avgLeftPowerPhasePeak The field value to set.
1935  */
1936 void SegmentLapMessage::setAvgLeftPowerPhasePeak(const quint8 avgLeftPowerPhasePeak)
1937 {
1938  Q_D(SegmentLapMessage);
1939  d->avgLeftPowerPhasePeak = avgLeftPowerPhasePeak;
1940 }
1941 /*!
1942  * Sets the \c avgRightPowerPhase field to \a avgRightPowerPhase.
1943  *
1944  * \param avgRightPowerPhase The field value to set.
1945  */
1946 void SegmentLapMessage::setAvgRightPowerPhase(const quint8 avgRightPowerPhase)
1947 {
1948  Q_D(SegmentLapMessage);
1949  d->avgRightPowerPhase = avgRightPowerPhase;
1950 }
1951 /*!
1952  * Sets the \c avgRightPowerPhasePeak field to \a avgRightPowerPhasePeak.
1953  *
1954  * \param avgRightPowerPhasePeak The field value to set.
1955  */
1956 void SegmentLapMessage::setAvgRightPowerPhasePeak(const quint8 avgRightPowerPhasePeak)
1957 {
1958  Q_D(SegmentLapMessage);
1959  d->avgRightPowerPhasePeak = avgRightPowerPhasePeak;
1960 }
1961 /*!
1962  * Sets the \c avgPowerPosition field to \a avgPowerPosition.
1963  *
1964  * \param avgPowerPosition The field value to set.
1965  */
1966 void SegmentLapMessage::setAvgPowerPosition(const quint16 avgPowerPosition)
1967 {
1968  Q_D(SegmentLapMessage);
1969  d->avgPowerPosition = avgPowerPosition;
1970 }
1971 /*!
1972  * Sets the \c maxPowerPosition field to \a maxPowerPosition.
1973  *
1974  * \param maxPowerPosition The field value to set.
1975  */
1976 void SegmentLapMessage::setMaxPowerPosition(const quint16 maxPowerPosition)
1977 {
1978  Q_D(SegmentLapMessage);
1979  d->maxPowerPosition = maxPowerPosition;
1980 }
1981 /*!
1982  * Sets the \c avgCadencePosition field to \a avgCadencePosition.
1983  *
1984  * \param avgCadencePosition The field value to set.
1985  */
1986 void SegmentLapMessage::setAvgCadencePosition(const quint8 avgCadencePosition)
1987 {
1988  Q_D(SegmentLapMessage);
1989  d->avgCadencePosition = avgCadencePosition;
1990 }
1991 /*!
1992  * Sets the \c maxCadencePosition field to \a maxCadencePosition.
1993  *
1994  * \param maxCadencePosition The field value to set.
1995  */
1996 void SegmentLapMessage::setMaxCadencePosition(const quint8 maxCadencePosition)
1997 {
1998  Q_D(SegmentLapMessage);
1999  d->maxCadencePosition = maxCadencePosition;
2000 }
2001 /*!
2002  * Sets the \c manufacturer field to \a manufacturer.
2003  *
2004  * \param manufacturer The field value to set.
2005  */
2007 {
2008  Q_D(SegmentLapMessage);
2009  d->manufacturer = manufacturer;
2010 }
2011 /*!
2012  * Sets the \c totalGrit field to \a totalGrit.
2013  *
2014  * \param totalGrit The field value to set.
2015  */
2016 void SegmentLapMessage::setTotalGrit(const float totalGrit)
2017 {
2018  Q_D(SegmentLapMessage);
2019  d->totalGrit = totalGrit;
2020 }
2021 /*!
2022  * Sets the \c totalFlow field to \a totalFlow.
2023  *
2024  * \param totalFlow The field value to set.
2025  */
2026 void SegmentLapMessage::setTotalFlow(const float totalFlow)
2027 {
2028  Q_D(SegmentLapMessage);
2029  d->totalFlow = totalFlow;
2030 }
2031 /*!
2032  * Sets the \c avgGrit field to \a avgGrit.
2033  *
2034  * \param avgGrit The field value to set.
2035  */
2036 void SegmentLapMessage::setAvgGrit(const float avgGrit)
2037 {
2038  Q_D(SegmentLapMessage);
2039  d->avgGrit = avgGrit;
2040 }
2041 /*!
2042  * Sets the \c avgFlow field to \a avgFlow.
2043  *
2044  * \param avgFlow The field value to set.
2045  */
2046 void SegmentLapMessage::setAvgFlow(const float avgFlow)
2047 {
2048  Q_D(SegmentLapMessage);
2049  d->avgFlow = avgFlow;
2050 }
2051 /*!
2052  * Sets the \c totalFractionalAscent field to \a totalFractionalAscent.
2053  *
2054  * \param totalFractionalAscent The field value to set.
2055  */
2056 void SegmentLapMessage::setTotalFractionalAscent(const quint8 totalFractionalAscent)
2057 {
2058  Q_D(SegmentLapMessage);
2059  d->totalFractionalAscent = totalFractionalAscent;
2060 }
2061 /*!
2062  * Sets the \c totalFractionalDescent field to \a totalFractionalDescent.
2063  *
2064  * \param totalFractionalDescent The field value to set.
2065  */
2066 void SegmentLapMessage::setTotalFractionalDescent(const quint8 totalFractionalDescent)
2067 {
2068  Q_D(SegmentLapMessage);
2069  d->totalFractionalDescent = totalFractionalDescent;
2070 }
2071 
2072 /// \cond internal
2073 
2074 /*!
2075  * \internal
2076  *
2077  * \class SegmentLapMessagePrivate
2078  *
2079  * The SegmentLapMessagePrivate class provides private implementation for the SegmentLapMessage.
2080  *
2081  * \sa SegmentLapMessage
2082  */
2083 
2084 /*!
2085  * \internal
2086  *
2087  * Constructs a SegmentLapMessagePrivate object with public implementation \a q.
2088  *
2089  * \param q Pointer to public implementaton.
2090  */
2091 SegmentLapMessagePrivate::SegmentLapMessagePrivate(SegmentLapMessage * const q)
2093  , messageIndex(static_cast<MessageIndex>(-1))
2094  , timestamp(static_cast<DateTime>(-1))
2095  , event(static_cast<Event>(-1))
2096  , eventType(static_cast<EventType>(-1))
2097  , startTime(static_cast<DateTime>(-1))
2098  , startPositionLat(0x7FFFFFFF)
2099  , startPositionLong(0x7FFFFFFF)
2100  , endPositionLat(0x7FFFFFFF)
2101  , endPositionLong(0x7FFFFFFF)
2102  , totalElapsedTime(0xFFFFFFFF)
2103  , totalTimerTime(0xFFFFFFFF)
2104  , totalDistance(0xFFFFFFFF)
2105  , totalCycles(0xFFFFFFFF)
2106  , totalCalories(0xFFFF)
2107  , totalFatCalories(0xFFFF)
2108  , avgSpeed(0xFFFF)
2109  , maxSpeed(0xFFFF)
2110  , avgHeartRate(0xFF)
2111  , maxHeartRate(0xFF)
2112  , avgCadence(0xFF)
2113  , maxCadence(0xFF)
2114  , avgPower(0xFFFF)
2115  , maxPower(0xFFFF)
2116  , totalAscent(0xFFFF)
2117  , totalDescent(0xFFFF)
2118  , sport(static_cast<Sport>(-1))
2119  , eventGroup(0xFF)
2120  , necLat(0x7FFFFFFF)
2121  , necLong(0x7FFFFFFF)
2122  , swcLat(0x7FFFFFFF)
2123  , swcLong(0x7FFFFFFF)
2124  , normalizedPower(0xFFFF)
2125  , leftRightBalance(static_cast<LeftRightBalance100>(-1))
2126  , subSport(static_cast<SubSport>(-1))
2127  , totalWork(0xFFFFFFFF)
2128  , avgAltitude(0xFFFF)
2129  , maxAltitude(0xFFFF)
2130  , gpsAccuracy(0xFF)
2131  , avgGrade(0x7FFF)
2132  , avgPosGrade(0x7FFF)
2133  , avgNegGrade(0x7FFF)
2134  , maxPosGrade(0x7FFF)
2135  , maxNegGrade(0x7FFF)
2136  , avgTemperature(0x7F)
2137  , maxTemperature(0x7F)
2138  , totalMovingTime(0xFFFFFFFF)
2139  , avgPosVerticalSpeed(0x7FFF)
2140  , avgNegVerticalSpeed(0x7FFF)
2141  , maxPosVerticalSpeed(0x7FFF)
2142  , maxNegVerticalSpeed(0x7FFF)
2143  , timeInHrZone(0xFFFFFFFF)
2144  , timeInSpeedZone(0xFFFFFFFF)
2145  , timeInCadenceZone(0xFFFFFFFF)
2146  , timeInPowerZone(0xFFFFFFFF)
2147  , repetitionNum(0xFFFF)
2148  , minAltitude(0xFFFF)
2149  , minHeartRate(0xFF)
2150  , activeTime(0xFFFFFFFF)
2151  , wktStepIndex(static_cast<MessageIndex>(-1))
2152  , sportEvent(static_cast<SportEvent>(-1))
2153  , avgLeftTorqueEffectiveness(0xFF)
2154  , avgRightTorqueEffectiveness(0xFF)
2155  , avgLeftPedalSmoothness(0xFF)
2156  , avgRightPedalSmoothness(0xFF)
2157  , avgCombinedPedalSmoothness(0xFF)
2158  , status(static_cast<SegmentLapStatus>(-1))
2159  , avgFractionalCadence(0xFF)
2160  , maxFractionalCadence(0xFF)
2161  , totalFractionalCycles(0xFF)
2162  , frontGearShiftCount(0xFFFF)
2163  , rearGearShiftCount(0xFFFF)
2164  , timeStanding(0xFFFFFFFF)
2165  , standCount(0xFFFF)
2166  , avgLeftPco(0x7F)
2167  , avgRightPco(0x7F)
2168  , avgLeftPowerPhase(0xFF)
2169  , avgLeftPowerPhasePeak(0xFF)
2170  , avgRightPowerPhase(0xFF)
2171  , avgRightPowerPhasePeak(0xFF)
2172  , avgPowerPosition(0xFFFF)
2173  , maxPowerPosition(0xFFFF)
2174  , avgCadencePosition(0xFF)
2175  , maxCadencePosition(0xFF)
2176  , manufacturer(static_cast<Manufacturer>(-1))
2177  , totalGrit(static_cast<float>(-1))
2178  , totalFlow(static_cast<float>(-1))
2179  , avgGrit(static_cast<float>(-1))
2180  , avgFlow(static_cast<float>(-1))
2181  , totalFractionalAscent(0xFF)
2182  , totalFractionalDescent(0xFF)
2183 {
2184  globalMessageNumber = MesgNum::SegmentLap;
2185 }
2186 
2187 /*!
2188  * \internal
2189  *
2190  * Destroys the SegmentLapMessagePrivate object.
2191  */
2193 {
2194 
2195 }
2196 
2198  const int fieldId, const QByteArray &data, const FitBaseType baseType, const bool bigEndian)
2199 {
2200  switch (fieldId) {
2201  case 254: // See Profile.xlsx::Messages:segment_lap.messageIndex
2202  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.messageIndex")) return false;
2203  this->messageIndex = static_cast<MessageIndex>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2204  break;
2205  case 253: // See Profile.xlsx::Messages:segment_lap.timestamp
2206  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.timestamp")) return false;
2207  this->timestamp = static_cast<DateTime>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2208  break;
2209  case 0: // See Profile.xlsx::Messages:segment_lap.event
2210  if (!verify(data, baseType, 1, FitBaseType::Enum, "segment_lap.event")) return false;
2211  this->event = static_cast<Event>(data.at(0));
2212  break;
2213  case 1: // See Profile.xlsx::Messages:segment_lap.eventType
2214  if (!verify(data, baseType, 1, FitBaseType::Enum, "segment_lap.eventType")) return false;
2215  this->eventType = static_cast<EventType>(data.at(0));
2216  break;
2217  case 2: // See Profile.xlsx::Messages:segment_lap.startTime
2218  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.startTime")) return false;
2219  this->startTime = static_cast<DateTime>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2220  break;
2221  case 3: // See Profile.xlsx::Messages:segment_lap.startPositionLat
2222  if (!verify(data, baseType, 4, FitBaseType::Sint32, "segment_lap.startPositionLat")) return false;
2223  this->startPositionLat = static_cast<qint32>(bigEndian ? qFromBigEndian< qint32>(data) : qFromLittleEndian< qint32>(data));
2224  break;
2225  case 4: // See Profile.xlsx::Messages:segment_lap.startPositionLong
2226  if (!verify(data, baseType, 4, FitBaseType::Sint32, "segment_lap.startPositionLong")) return false;
2227  this->startPositionLong = static_cast<qint32>(bigEndian ? qFromBigEndian< qint32>(data) : qFromLittleEndian< qint32>(data));
2228  break;
2229  case 5: // See Profile.xlsx::Messages:segment_lap.endPositionLat
2230  if (!verify(data, baseType, 4, FitBaseType::Sint32, "segment_lap.endPositionLat")) return false;
2231  this->endPositionLat = static_cast<qint32>(bigEndian ? qFromBigEndian< qint32>(data) : qFromLittleEndian< qint32>(data));
2232  break;
2233  case 6: // See Profile.xlsx::Messages:segment_lap.endPositionLong
2234  if (!verify(data, baseType, 4, FitBaseType::Sint32, "segment_lap.endPositionLong")) return false;
2235  this->endPositionLong = static_cast<qint32>(bigEndian ? qFromBigEndian< qint32>(data) : qFromLittleEndian< qint32>(data));
2236  break;
2237  case 7: // See Profile.xlsx::Messages:segment_lap.totalElapsedTime
2238  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.totalElapsedTime")) return false;
2239  this->totalElapsedTime = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2240  break;
2241  case 8: // See Profile.xlsx::Messages:segment_lap.totalTimerTime
2242  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.totalTimerTime")) return false;
2243  this->totalTimerTime = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2244  break;
2245  case 9: // See Profile.xlsx::Messages:segment_lap.totalDistance
2246  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.totalDistance")) return false;
2247  this->totalDistance = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2248  break;
2249  case 10: // See Profile.xlsx::Messages:segment_lap.totalCycles
2250  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.totalCycles")) return false;
2251  this->totalCycles = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2252  break;
2253  case 11: // See Profile.xlsx::Messages:segment_lap.totalCalories
2254  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.totalCalories")) return false;
2255  this->totalCalories = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2256  break;
2257  case 12: // See Profile.xlsx::Messages:segment_lap.totalFatCalories
2258  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.totalFatCalories")) return false;
2259  this->totalFatCalories = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2260  break;
2261  case 13: // See Profile.xlsx::Messages:segment_lap.avgSpeed
2262  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.avgSpeed")) return false;
2263  this->avgSpeed = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2264  break;
2265  case 14: // See Profile.xlsx::Messages:segment_lap.maxSpeed
2266  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.maxSpeed")) return false;
2267  this->maxSpeed = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2268  break;
2269  case 15: // See Profile.xlsx::Messages:segment_lap.avgHeartRate
2270  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.avgHeartRate")) return false;
2271  this->avgHeartRate = static_cast<quint8>(data.at(0));
2272  break;
2273  case 16: // See Profile.xlsx::Messages:segment_lap.maxHeartRate
2274  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.maxHeartRate")) return false;
2275  this->maxHeartRate = static_cast<quint8>(data.at(0));
2276  break;
2277  case 17: // See Profile.xlsx::Messages:segment_lap.avgCadence
2278  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.avgCadence")) return false;
2279  this->avgCadence = static_cast<quint8>(data.at(0));
2280  break;
2281  case 18: // See Profile.xlsx::Messages:segment_lap.maxCadence
2282  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.maxCadence")) return false;
2283  this->maxCadence = static_cast<quint8>(data.at(0));
2284  break;
2285  case 19: // See Profile.xlsx::Messages:segment_lap.avgPower
2286  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.avgPower")) return false;
2287  this->avgPower = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2288  break;
2289  case 20: // See Profile.xlsx::Messages:segment_lap.maxPower
2290  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.maxPower")) return false;
2291  this->maxPower = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2292  break;
2293  case 21: // See Profile.xlsx::Messages:segment_lap.totalAscent
2294  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.totalAscent")) return false;
2295  this->totalAscent = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2296  break;
2297  case 22: // See Profile.xlsx::Messages:segment_lap.totalDescent
2298  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.totalDescent")) return false;
2299  this->totalDescent = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2300  break;
2301  case 23: // See Profile.xlsx::Messages:segment_lap.sport
2302  if (!verify(data, baseType, 1, FitBaseType::Enum, "segment_lap.sport")) return false;
2303  this->sport = static_cast<Sport>(data.at(0));
2304  break;
2305  case 24: // See Profile.xlsx::Messages:segment_lap.eventGroup
2306  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.eventGroup")) return false;
2307  this->eventGroup = static_cast<quint8>(data.at(0));
2308  break;
2309  case 25: // See Profile.xlsx::Messages:segment_lap.necLat
2310  if (!verify(data, baseType, 4, FitBaseType::Sint32, "segment_lap.necLat")) return false;
2311  this->necLat = static_cast<qint32>(bigEndian ? qFromBigEndian< qint32>(data) : qFromLittleEndian< qint32>(data));
2312  break;
2313  case 26: // See Profile.xlsx::Messages:segment_lap.necLong
2314  if (!verify(data, baseType, 4, FitBaseType::Sint32, "segment_lap.necLong")) return false;
2315  this->necLong = static_cast<qint32>(bigEndian ? qFromBigEndian< qint32>(data) : qFromLittleEndian< qint32>(data));
2316  break;
2317  case 27: // See Profile.xlsx::Messages:segment_lap.swcLat
2318  if (!verify(data, baseType, 4, FitBaseType::Sint32, "segment_lap.swcLat")) return false;
2319  this->swcLat = static_cast<qint32>(bigEndian ? qFromBigEndian< qint32>(data) : qFromLittleEndian< qint32>(data));
2320  break;
2321  case 28: // See Profile.xlsx::Messages:segment_lap.swcLong
2322  if (!verify(data, baseType, 4, FitBaseType::Sint32, "segment_lap.swcLong")) return false;
2323  this->swcLong = static_cast<qint32>(bigEndian ? qFromBigEndian< qint32>(data) : qFromLittleEndian< qint32>(data));
2324  break;
2325  case 29: // See Profile.xlsx::Messages:segment_lap.name
2326  if (!verify(data, baseType, 1, FitBaseType::String, "segment_lap.name")) return false;
2327  this->name = QString::fromUtf8(data);
2328  break;
2329  case 30: // See Profile.xlsx::Messages:segment_lap.normalizedPower
2330  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.normalizedPower")) return false;
2331  this->normalizedPower = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2332  break;
2333  case 31: // See Profile.xlsx::Messages:segment_lap.leftRightBalance
2334  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.leftRightBalance")) return false;
2335  this->leftRightBalance = static_cast<LeftRightBalance100>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2336  break;
2337  case 32: // See Profile.xlsx::Messages:segment_lap.subSport
2338  if (!verify(data, baseType, 1, FitBaseType::Enum, "segment_lap.subSport")) return false;
2339  this->subSport = static_cast<SubSport>(data.at(0));
2340  break;
2341  case 33: // See Profile.xlsx::Messages:segment_lap.totalWork
2342  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.totalWork")) return false;
2343  this->totalWork = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2344  break;
2345  case 34: // See Profile.xlsx::Messages:segment_lap.avgAltitude
2346  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.avgAltitude")) return false;
2347  this->avgAltitude = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2348  break;
2349  case 35: // See Profile.xlsx::Messages:segment_lap.maxAltitude
2350  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.maxAltitude")) return false;
2351  this->maxAltitude = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2352  break;
2353  case 36: // See Profile.xlsx::Messages:segment_lap.gpsAccuracy
2354  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.gpsAccuracy")) return false;
2355  this->gpsAccuracy = static_cast<quint8>(data.at(0));
2356  break;
2357  case 37: // See Profile.xlsx::Messages:segment_lap.avgGrade
2358  if (!verify(data, baseType, 2, FitBaseType::Sint16, "segment_lap.avgGrade")) return false;
2359  this->avgGrade = static_cast<qint16>(bigEndian ? qFromBigEndian< qint16>(data) : qFromLittleEndian< qint16>(data));
2360  break;
2361  case 38: // See Profile.xlsx::Messages:segment_lap.avgPosGrade
2362  if (!verify(data, baseType, 2, FitBaseType::Sint16, "segment_lap.avgPosGrade")) return false;
2363  this->avgPosGrade = static_cast<qint16>(bigEndian ? qFromBigEndian< qint16>(data) : qFromLittleEndian< qint16>(data));
2364  break;
2365  case 39: // See Profile.xlsx::Messages:segment_lap.avgNegGrade
2366  if (!verify(data, baseType, 2, FitBaseType::Sint16, "segment_lap.avgNegGrade")) return false;
2367  this->avgNegGrade = static_cast<qint16>(bigEndian ? qFromBigEndian< qint16>(data) : qFromLittleEndian< qint16>(data));
2368  break;
2369  case 40: // See Profile.xlsx::Messages:segment_lap.maxPosGrade
2370  if (!verify(data, baseType, 2, FitBaseType::Sint16, "segment_lap.maxPosGrade")) return false;
2371  this->maxPosGrade = static_cast<qint16>(bigEndian ? qFromBigEndian< qint16>(data) : qFromLittleEndian< qint16>(data));
2372  break;
2373  case 41: // See Profile.xlsx::Messages:segment_lap.maxNegGrade
2374  if (!verify(data, baseType, 2, FitBaseType::Sint16, "segment_lap.maxNegGrade")) return false;
2375  this->maxNegGrade = static_cast<qint16>(bigEndian ? qFromBigEndian< qint16>(data) : qFromLittleEndian< qint16>(data));
2376  break;
2377  case 42: // See Profile.xlsx::Messages:segment_lap.avgTemperature
2378  if (!verify(data, baseType, 1, FitBaseType::Sint8, "segment_lap.avgTemperature")) return false;
2379  this->avgTemperature = static_cast<qint8>(data.at(0));
2380  break;
2381  case 43: // See Profile.xlsx::Messages:segment_lap.maxTemperature
2382  if (!verify(data, baseType, 1, FitBaseType::Sint8, "segment_lap.maxTemperature")) return false;
2383  this->maxTemperature = static_cast<qint8>(data.at(0));
2384  break;
2385  case 44: // See Profile.xlsx::Messages:segment_lap.totalMovingTime
2386  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.totalMovingTime")) return false;
2387  this->totalMovingTime = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2388  break;
2389  case 45: // See Profile.xlsx::Messages:segment_lap.avgPosVerticalSpeed
2390  if (!verify(data, baseType, 2, FitBaseType::Sint16, "segment_lap.avgPosVerticalSpeed")) return false;
2391  this->avgPosVerticalSpeed = static_cast<qint16>(bigEndian ? qFromBigEndian< qint16>(data) : qFromLittleEndian< qint16>(data));
2392  break;
2393  case 46: // See Profile.xlsx::Messages:segment_lap.avgNegVerticalSpeed
2394  if (!verify(data, baseType, 2, FitBaseType::Sint16, "segment_lap.avgNegVerticalSpeed")) return false;
2395  this->avgNegVerticalSpeed = static_cast<qint16>(bigEndian ? qFromBigEndian< qint16>(data) : qFromLittleEndian< qint16>(data));
2396  break;
2397  case 47: // See Profile.xlsx::Messages:segment_lap.maxPosVerticalSpeed
2398  if (!verify(data, baseType, 2, FitBaseType::Sint16, "segment_lap.maxPosVerticalSpeed")) return false;
2399  this->maxPosVerticalSpeed = static_cast<qint16>(bigEndian ? qFromBigEndian< qint16>(data) : qFromLittleEndian< qint16>(data));
2400  break;
2401  case 48: // See Profile.xlsx::Messages:segment_lap.maxNegVerticalSpeed
2402  if (!verify(data, baseType, 2, FitBaseType::Sint16, "segment_lap.maxNegVerticalSpeed")) return false;
2403  this->maxNegVerticalSpeed = static_cast<qint16>(bigEndian ? qFromBigEndian< qint16>(data) : qFromLittleEndian< qint16>(data));
2404  break;
2405  case 49: // See Profile.xlsx::Messages:segment_lap.timeInHrZone
2406  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.timeInHrZone")) return false;
2407  this->timeInHrZone = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2408  break;
2409  case 50: // See Profile.xlsx::Messages:segment_lap.timeInSpeedZone
2410  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.timeInSpeedZone")) return false;
2411  this->timeInSpeedZone = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2412  break;
2413  case 51: // See Profile.xlsx::Messages:segment_lap.timeInCadenceZone
2414  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.timeInCadenceZone")) return false;
2415  this->timeInCadenceZone = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2416  break;
2417  case 52: // See Profile.xlsx::Messages:segment_lap.timeInPowerZone
2418  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.timeInPowerZone")) return false;
2419  this->timeInPowerZone = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2420  break;
2421  case 53: // See Profile.xlsx::Messages:segment_lap.repetitionNum
2422  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.repetitionNum")) return false;
2423  this->repetitionNum = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2424  break;
2425  case 54: // See Profile.xlsx::Messages:segment_lap.minAltitude
2426  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.minAltitude")) return false;
2427  this->minAltitude = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2428  break;
2429  case 55: // See Profile.xlsx::Messages:segment_lap.minHeartRate
2430  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.minHeartRate")) return false;
2431  this->minHeartRate = static_cast<quint8>(data.at(0));
2432  break;
2433  case 56: // See Profile.xlsx::Messages:segment_lap.activeTime
2434  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.activeTime")) return false;
2435  this->activeTime = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2436  break;
2437  case 57: // See Profile.xlsx::Messages:segment_lap.wktStepIndex
2438  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.wktStepIndex")) return false;
2439  this->wktStepIndex = static_cast<MessageIndex>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2440  break;
2441  case 58: // See Profile.xlsx::Messages:segment_lap.sportEvent
2442  if (!verify(data, baseType, 1, FitBaseType::Enum, "segment_lap.sportEvent")) return false;
2443  this->sportEvent = static_cast<SportEvent>(data.at(0));
2444  break;
2445  case 59: // See Profile.xlsx::Messages:segment_lap.avgLeftTorqueEffectiveness
2446  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.avgLeftTorqueEffectiveness")) return false;
2447  this->avgLeftTorqueEffectiveness = static_cast<quint8>(data.at(0));
2448  break;
2449  case 60: // See Profile.xlsx::Messages:segment_lap.avgRightTorqueEffectiveness
2450  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.avgRightTorqueEffectiveness")) return false;
2451  this->avgRightTorqueEffectiveness = static_cast<quint8>(data.at(0));
2452  break;
2453  case 61: // See Profile.xlsx::Messages:segment_lap.avgLeftPedalSmoothness
2454  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.avgLeftPedalSmoothness")) return false;
2455  this->avgLeftPedalSmoothness = static_cast<quint8>(data.at(0));
2456  break;
2457  case 62: // See Profile.xlsx::Messages:segment_lap.avgRightPedalSmoothness
2458  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.avgRightPedalSmoothness")) return false;
2459  this->avgRightPedalSmoothness = static_cast<quint8>(data.at(0));
2460  break;
2461  case 63: // See Profile.xlsx::Messages:segment_lap.avgCombinedPedalSmoothness
2462  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.avgCombinedPedalSmoothness")) return false;
2463  this->avgCombinedPedalSmoothness = static_cast<quint8>(data.at(0));
2464  break;
2465  case 64: // See Profile.xlsx::Messages:segment_lap.status
2466  if (!verify(data, baseType, 1, FitBaseType::Enum, "segment_lap.status")) return false;
2467  this->status = static_cast<SegmentLapStatus>(data.at(0));
2468  break;
2469  case 65: // See Profile.xlsx::Messages:segment_lap.uuid
2470  if (!verify(data, baseType, 1, FitBaseType::String, "segment_lap.uuid")) return false;
2471  this->uuid = QString::fromUtf8(data);
2472  break;
2473  case 66: // See Profile.xlsx::Messages:segment_lap.avgFractionalCadence
2474  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.avgFractionalCadence")) return false;
2475  this->avgFractionalCadence = static_cast<quint8>(data.at(0));
2476  break;
2477  case 67: // See Profile.xlsx::Messages:segment_lap.maxFractionalCadence
2478  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.maxFractionalCadence")) return false;
2479  this->maxFractionalCadence = static_cast<quint8>(data.at(0));
2480  break;
2481  case 68: // See Profile.xlsx::Messages:segment_lap.totalFractionalCycles
2482  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.totalFractionalCycles")) return false;
2483  this->totalFractionalCycles = static_cast<quint8>(data.at(0));
2484  break;
2485  case 69: // See Profile.xlsx::Messages:segment_lap.frontGearShiftCount
2486  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.frontGearShiftCount")) return false;
2487  this->frontGearShiftCount = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2488  break;
2489  case 70: // See Profile.xlsx::Messages:segment_lap.rearGearShiftCount
2490  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.rearGearShiftCount")) return false;
2491  this->rearGearShiftCount = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2492  break;
2493  case 71: // See Profile.xlsx::Messages:segment_lap.timeStanding
2494  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.timeStanding")) return false;
2495  this->timeStanding = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2496  break;
2497  case 72: // See Profile.xlsx::Messages:segment_lap.standCount
2498  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.standCount")) return false;
2499  this->standCount = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2500  break;
2501  case 73: // See Profile.xlsx::Messages:segment_lap.avgLeftPco
2502  if (!verify(data, baseType, 1, FitBaseType::Sint8, "segment_lap.avgLeftPco")) return false;
2503  this->avgLeftPco = static_cast<qint8>(data.at(0));
2504  break;
2505  case 74: // See Profile.xlsx::Messages:segment_lap.avgRightPco
2506  if (!verify(data, baseType, 1, FitBaseType::Sint8, "segment_lap.avgRightPco")) return false;
2507  this->avgRightPco = static_cast<qint8>(data.at(0));
2508  break;
2509  case 75: // See Profile.xlsx::Messages:segment_lap.avgLeftPowerPhase
2510  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.avgLeftPowerPhase")) return false;
2511  this->avgLeftPowerPhase = static_cast<quint8>(data.at(0));
2512  break;
2513  case 76: // See Profile.xlsx::Messages:segment_lap.avgLeftPowerPhasePeak
2514  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.avgLeftPowerPhasePeak")) return false;
2515  this->avgLeftPowerPhasePeak = static_cast<quint8>(data.at(0));
2516  break;
2517  case 77: // See Profile.xlsx::Messages:segment_lap.avgRightPowerPhase
2518  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.avgRightPowerPhase")) return false;
2519  this->avgRightPowerPhase = static_cast<quint8>(data.at(0));
2520  break;
2521  case 78: // See Profile.xlsx::Messages:segment_lap.avgRightPowerPhasePeak
2522  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.avgRightPowerPhasePeak")) return false;
2523  this->avgRightPowerPhasePeak = static_cast<quint8>(data.at(0));
2524  break;
2525  case 79: // See Profile.xlsx::Messages:segment_lap.avgPowerPosition
2526  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.avgPowerPosition")) return false;
2527  this->avgPowerPosition = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2528  break;
2529  case 80: // See Profile.xlsx::Messages:segment_lap.maxPowerPosition
2530  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.maxPowerPosition")) return false;
2531  this->maxPowerPosition = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2532  break;
2533  case 81: // See Profile.xlsx::Messages:segment_lap.avgCadencePosition
2534  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.avgCadencePosition")) return false;
2535  this->avgCadencePosition = static_cast<quint8>(data.at(0));
2536  break;
2537  case 82: // See Profile.xlsx::Messages:segment_lap.maxCadencePosition
2538  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.maxCadencePosition")) return false;
2539  this->maxCadencePosition = static_cast<quint8>(data.at(0));
2540  break;
2541  case 83: // See Profile.xlsx::Messages:segment_lap.manufacturer
2542  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.manufacturer")) return false;
2543  this->manufacturer = static_cast<Manufacturer>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2544  break;
2545  case 84: // See Profile.xlsx::Messages:segment_lap.totalGrit
2546  if (!verify(data, baseType, 4, FitBaseType::Float32, "segment_lap.totalGrit")) return false;
2547  #if QT_VERSION < QT_VERSION_CHECK(5, 12, 0)
2548  { // Qt's from-endian functions have no float/double specialisations prior to Qt 5.12.
2549  const quint32 localEndian = bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data);
2550  static_assert(sizeof(localEndian) == 4, "src not expected size");
2551  static_assert(sizeof(this->totalGrit) == 4, "src and dst not the same size");
2552  memcpy(&this->totalGrit, &localEndian, data.size());
2553  }
2554  #else
2555  this->totalGrit = static_cast<float>(bigEndian ? qFromBigEndian<float>(data) : qFromLittleEndian<float>(data));
2556  #endif
2557  break;
2558  case 85: // See Profile.xlsx::Messages:segment_lap.totalFlow
2559  if (!verify(data, baseType, 4, FitBaseType::Float32, "segment_lap.totalFlow")) return false;
2560  #if QT_VERSION < QT_VERSION_CHECK(5, 12, 0)
2561  { // Qt's from-endian functions have no float/double specialisations prior to Qt 5.12.
2562  const quint32 localEndian = bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data);
2563  static_assert(sizeof(localEndian) == 4, "src not expected size");
2564  static_assert(sizeof(this->totalFlow) == 4, "src and dst not the same size");
2565  memcpy(&this->totalFlow, &localEndian, data.size());
2566  }
2567  #else
2568  this->totalFlow = static_cast<float>(bigEndian ? qFromBigEndian<float>(data) : qFromLittleEndian<float>(data));
2569  #endif
2570  break;
2571  case 86: // See Profile.xlsx::Messages:segment_lap.avgGrit
2572  if (!verify(data, baseType, 4, FitBaseType::Float32, "segment_lap.avgGrit")) return false;
2573  #if QT_VERSION < QT_VERSION_CHECK(5, 12, 0)
2574  { // Qt's from-endian functions have no float/double specialisations prior to Qt 5.12.
2575  const quint32 localEndian = bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data);
2576  static_assert(sizeof(localEndian) == 4, "src not expected size");
2577  static_assert(sizeof(this->avgGrit) == 4, "src and dst not the same size");
2578  memcpy(&this->avgGrit, &localEndian, data.size());
2579  }
2580  #else
2581  this->avgGrit = static_cast<float>(bigEndian ? qFromBigEndian<float>(data) : qFromLittleEndian<float>(data));
2582  #endif
2583  break;
2584  case 87: // See Profile.xlsx::Messages:segment_lap.avgFlow
2585  if (!verify(data, baseType, 4, FitBaseType::Float32, "segment_lap.avgFlow")) return false;
2586  #if QT_VERSION < QT_VERSION_CHECK(5, 12, 0)
2587  { // Qt's from-endian functions have no float/double specialisations prior to Qt 5.12.
2588  const quint32 localEndian = bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data);
2589  static_assert(sizeof(localEndian) == 4, "src not expected size");
2590  static_assert(sizeof(this->avgFlow) == 4, "src and dst not the same size");
2591  memcpy(&this->avgFlow, &localEndian, data.size());
2592  }
2593  #else
2594  this->avgFlow = static_cast<float>(bigEndian ? qFromBigEndian<float>(data) : qFromLittleEndian<float>(data));
2595  #endif
2596  break;
2597  case 89: // See Profile.xlsx::Messages:segment_lap.totalFractionalAscent
2598  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.totalFractionalAscent")) return false;
2599  this->totalFractionalAscent = static_cast<quint8>(data.at(0));
2600  break;
2601  case 90: // See Profile.xlsx::Messages:segment_lap.totalFractionalDescent
2602  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.totalFractionalDescent")) return false;
2603  this->totalFractionalDescent = static_cast<quint8>(data.at(0));
2604  break;
2605  default:
2606  qWarning() << "ignoring unknown segment_lap message field number" << fieldId << bigEndian;
2607  // Fall through to return true, as its still 'safe' to continue parsing data messages.
2608  }
2609  return true;
2610 }
2611 
2612 /// \endcond
2613 
#define QTFIT_END_NAMESPACE
Macro for ending the QtFit library's top-most namespace (if one is defined).
Definition: QtFit_global.h:78
#define QTFIT_BEGIN_NAMESPACE
Macro for starting the QtFit library's top-most namespace (if one is defined).
Definition: QtFit_global.h:77
MesgNum globalMessageNumber
FIT Globla Message Number for this FIT Data Message.
bool verify(const QByteArray &data, const FitBaseType actualType, const int expectedSize, const FitBaseType expectedType, const char *messageFieldName)
The AbstractDataMessage class is the polymorphic base class for all FIT Data Message classes.
quint8 minHeartRate
The SegmentLapMessage FIT message's minHeartRate field.
quint32 totalWork
The SegmentLapMessage FIT message's totalWork field.
MessageIndex messageIndex
The SegmentLapMessage FIT message's messageIndex field.
qint8 avgLeftPco
The SegmentLapMessage FIT message's avgLeftPco field.
quint16 avgPower
The SegmentLapMessage FIT message's avgPower field.
quint32 timeInCadenceZone
The SegmentLapMessage FIT message's timeInCadenceZone field.
DateTime timestamp
The SegmentLapMessage FIT message's timestamp field.
quint8 avgCombinedPedalSmoothness
The SegmentLapMessage FIT message's avgCombinedPedalSmoothness field.
EventType eventType
The SegmentLapMessage FIT message's eventType field.
qint8 avgTemperature
The SegmentLapMessage FIT message's avgTemperature field.
quint8 avgLeftTorqueEffectiveness
The SegmentLapMessage FIT message's avgLeftTorqueEffectiveness field.
qint16 maxNegVerticalSpeed
The SegmentLapMessage FIT message's maxNegVerticalSpeed field.
quint32 activeTime
The SegmentLapMessage FIT message's activeTime field.
quint16 avgAltitude
The SegmentLapMessage FIT message's avgAltitude field.
qint16 maxPosVerticalSpeed
The SegmentLapMessage FIT message's maxPosVerticalSpeed field.
quint16 rearGearShiftCount
The SegmentLapMessage FIT message's rearGearShiftCount field.
quint8 avgCadencePosition
The SegmentLapMessage FIT message's avgCadencePosition field.
qint32 swcLong
The SegmentLapMessage FIT message's swcLong field.
quint8 avgCadence
The SegmentLapMessage FIT message's avgCadence field.
quint16 totalDescent
The SegmentLapMessage FIT message's totalDescent field.
quint8 avgRightPowerPhasePeak
The SegmentLapMessage FIT message's avgRightPowerPhasePeak field.
quint8 avgRightPedalSmoothness
The SegmentLapMessage FIT message's avgRightPedalSmoothness field.
qint8 maxTemperature
The SegmentLapMessage FIT message's maxTemperature field.
qint16 avgNegGrade
The SegmentLapMessage FIT message's avgNegGrade field.
quint16 normalizedPower
The SegmentLapMessage FIT message's normalizedPower field.
quint32 totalTimerTime
The SegmentLapMessage FIT message's totalTimerTime field.
quint16 standCount
The SegmentLapMessage FIT message's standCount field.
qint8 avgRightPco
The SegmentLapMessage FIT message's avgRightPco field.
float avgFlow
The SegmentLapMessage FIT message's avgFlow field.
qint32 swcLat
The SegmentLapMessage FIT message's swcLat field.
quint16 avgPowerPosition
The SegmentLapMessage FIT message's avgPowerPosition field.
bool setField(const int fieldId, const QByteArray &data, const FitBaseType baseType, const bool bigEndian) override
SportEvent sportEvent
The SegmentLapMessage FIT message's sportEvent field.
quint8 avgLeftPedalSmoothness
The SegmentLapMessage FIT message's avgLeftPedalSmoothness field.
quint16 avgSpeed
The SegmentLapMessage FIT message's avgSpeed field.
quint16 minAltitude
The SegmentLapMessage FIT message's minAltitude field.
quint16 totalFatCalories
The SegmentLapMessage FIT message's totalFatCalories field.
quint16 maxAltitude
The SegmentLapMessage FIT message's maxAltitude field.
qint32 necLat
The SegmentLapMessage FIT message's necLat field.
quint8 totalFractionalAscent
The SegmentLapMessage FIT message's totalFractionalAscent field.
qint32 endPositionLong
The SegmentLapMessage FIT message's endPositionLong field.
quint32 timeInPowerZone
The SegmentLapMessage FIT message's timeInPowerZone field.
DateTime startTime
The SegmentLapMessage FIT message's startTime field.
Sport sport
The SegmentLapMessage FIT message's sport field.
qint16 avgPosGrade
The SegmentLapMessage FIT message's avgPosGrade field.
quint16 maxPower
The SegmentLapMessage FIT message's maxPower field.
quint16 maxPowerPosition
The SegmentLapMessage FIT message's maxPowerPosition field.
qint16 avgPosVerticalSpeed
The SegmentLapMessage FIT message's avgPosVerticalSpeed field.
quint16 repetitionNum
The SegmentLapMessage FIT message's repetitionNum field.
LeftRightBalance100 leftRightBalance
The SegmentLapMessage FIT message's leftRightBalance field.
quint16 totalAscent
The SegmentLapMessage FIT message's totalAscent field.
Manufacturer manufacturer
The SegmentLapMessage FIT message's manufacturer field.
quint32 totalDistance
The SegmentLapMessage FIT message's totalDistance field.
quint32 totalMovingTime
The SegmentLapMessage FIT message's totalMovingTime field.
MessageIndex wktStepIndex
The SegmentLapMessage FIT message's wktStepIndex field.
qint16 avgNegVerticalSpeed
The SegmentLapMessage FIT message's avgNegVerticalSpeed field.
quint8 maxCadencePosition
The SegmentLapMessage FIT message's maxCadencePosition field.
quint32 totalElapsedTime
The SegmentLapMessage FIT message's totalElapsedTime field.
QString name
The SegmentLapMessage FIT message's name field.
quint8 avgRightTorqueEffectiveness
The SegmentLapMessage FIT message's avgRightTorqueEffectiveness field.
quint8 avgHeartRate
The SegmentLapMessage FIT message's avgHeartRate field.
float totalGrit
The SegmentLapMessage FIT message's totalGrit field.
qint32 startPositionLat
The SegmentLapMessage FIT message's startPositionLat field.
quint16 frontGearShiftCount
The SegmentLapMessage FIT message's frontGearShiftCount field.
qint16 maxNegGrade
The SegmentLapMessage FIT message's maxNegGrade field.
quint8 avgFractionalCadence
The SegmentLapMessage FIT message's avgFractionalCadence field.
quint8 maxFractionalCadence
The SegmentLapMessage FIT message's maxFractionalCadence field.
quint8 avgLeftPowerPhase
The SegmentLapMessage FIT message's avgLeftPowerPhase field.
qint16 avgGrade
The SegmentLapMessage FIT message's avgGrade field.
qint32 necLong
The SegmentLapMessage FIT message's necLong field.
float totalFlow
The SegmentLapMessage FIT message's totalFlow field.
quint32 timeInSpeedZone
The SegmentLapMessage FIT message's timeInSpeedZone field.
quint32 timeStanding
The SegmentLapMessage FIT message's timeStanding field.
quint16 maxSpeed
The SegmentLapMessage FIT message's maxSpeed field.
quint8 maxHeartRate
The SegmentLapMessage FIT message's maxHeartRate field.
quint8 totalFractionalCycles
The SegmentLapMessage FIT message's totalFractionalCycles field.
quint8 avgRightPowerPhase
The SegmentLapMessage FIT message's avgRightPowerPhase field.
quint32 timeInHrZone
The SegmentLapMessage FIT message's timeInHrZone field.
SegmentLapStatus status
The SegmentLapMessage FIT message's status field.
quint32 totalCycles
The SegmentLapMessage FIT message's totalCycles field.
SubSport subSport
The SegmentLapMessage FIT message's subSport field.
quint8 avgLeftPowerPhasePeak
The SegmentLapMessage FIT message's avgLeftPowerPhasePeak field.
quint8 maxCadence
The SegmentLapMessage FIT message's maxCadence field.
quint8 gpsAccuracy
The SegmentLapMessage FIT message's gpsAccuracy field.
quint8 eventGroup
The SegmentLapMessage FIT message's eventGroup field.
QString uuid
The SegmentLapMessage FIT message's uuid field.
qint32 endPositionLat
The SegmentLapMessage FIT message's endPositionLat field.
qint32 startPositionLong
The SegmentLapMessage FIT message's startPositionLong field.
qint16 maxPosGrade
The SegmentLapMessage FIT message's maxPosGrade field.
float avgGrit
The SegmentLapMessage FIT message's avgGrit field.
quint16 totalCalories
The SegmentLapMessage FIT message's totalCalories field.
quint8 totalFractionalDescent
The SegmentLapMessage FIT message's totalFractionalDescent field.
The SegmentLapMessage class represents a FIT SegmentLapMessage data message.
quint16 totalDescent() const
Returns the SegmentLapMessage data message's totalDescent field's current value.
void setTimeInSpeedZone(const quint32 timeInSpeedZone)
Sets the timeInSpeedZone field to timeInSpeedZone.
quint8 avgCadence() const
Returns the SegmentLapMessage data message's avgCadence field's current value.
quint32 timeInHrZone() const
Returns the SegmentLapMessage data message's timeInHrZone field's current value.
DateTime startTime() const
Returns the SegmentLapMessage data message's startTime field's current value.
Event event() const
Returns the SegmentLapMessage data message's event field's current value.
void setEndPositionLong(const qint32 endPositionLong)
Sets the endPositionLong field to endPositionLong.
quint8 avgRightPedalSmoothness() const
Returns the SegmentLapMessage data message's avgRightPedalSmoothness field's current value.
quint8 avgLeftTorqueEffectiveness() const
Returns the SegmentLapMessage data message's avgLeftTorqueEffectiveness field's current value.
void setStandCount(const quint16 standCount)
Sets the standCount field to standCount.
void setTotalFlow(const float totalFlow)
Sets the totalFlow field to totalFlow.
void setAvgPosGrade(const qint16 avgPosGrade)
Sets the avgPosGrade field to avgPosGrade.
quint8 totalFractionalDescent() const
Returns the SegmentLapMessage data message's totalFractionalDescent field's current value.
void setAvgRightPowerPhasePeak(const quint8 avgRightPowerPhasePeak)
Sets the avgRightPowerPhasePeak field to avgRightPowerPhasePeak.
qint16 maxPosGrade() const
Returns the SegmentLapMessage data message's maxPosGrade field's current value.
DateTime timestamp() const
Returns the SegmentLapMessage data message's timestamp field's current value.
quint32 timeInPowerZone() const
Returns the SegmentLapMessage data message's timeInPowerZone field's current value.
qint16 avgPosGrade() const
Returns the SegmentLapMessage data message's avgPosGrade field's current value.
qint16 maxPosVerticalSpeed() const
Returns the SegmentLapMessage data message's maxPosVerticalSpeed field's current value.
void setNecLong(const qint32 necLong)
Sets the necLong field to necLong.
void setTotalFractionalCycles(const quint8 totalFractionalCycles)
Sets the totalFractionalCycles field to totalFractionalCycles.
quint8 maxCadence() const
Returns the SegmentLapMessage data message's maxCadence field's current value.
void setMessageIndex(const MessageIndex messageIndex)
Sets the messageIndex field to messageIndex.
void setSubSport(const SubSport subSport)
Sets the subSport field to subSport.
void setMaxTemperature(const qint8 maxTemperature)
Sets the maxTemperature field to maxTemperature.
void setSportEvent(const SportEvent sportEvent)
Sets the sportEvent field to sportEvent.
quint16 normalizedPower() const
Returns the SegmentLapMessage data message's normalizedPower field's current value.
quint16 totalFatCalories() const
Returns the SegmentLapMessage data message's totalFatCalories field's current value.
void setTotalDistance(const quint32 totalDistance)
Sets the totalDistance field to totalDistance.
void setAvgRightPowerPhase(const quint8 avgRightPowerPhase)
Sets the avgRightPowerPhase field to avgRightPowerPhase.
void setTimeStanding(const quint32 timeStanding)
Sets the timeStanding field to timeStanding.
void setAvgRightPedalSmoothness(const quint8 avgRightPedalSmoothness)
Sets the avgRightPedalSmoothness field to avgRightPedalSmoothness.
SegmentLapMessage()
Constructs a SegmentLapMessage object.
quint8 avgRightPowerPhase() const
Returns the SegmentLapMessage data message's avgRightPowerPhase field's current value.
quint16 minAltitude() const
Returns the SegmentLapMessage data message's minAltitude field's current value.
void setAvgNegVerticalSpeed(const qint16 avgNegVerticalSpeed)
Sets the avgNegVerticalSpeed field to avgNegVerticalSpeed.
void setUuid(const QString uuid)
Sets the uuid field to uuid.
void setTotalCycles(const quint32 totalCycles)
Sets the totalCycles field to totalCycles.
qint32 swcLong() const
Returns the SegmentLapMessage data message's swcLong field's current value.
void setStartPositionLong(const qint32 startPositionLong)
Sets the startPositionLong field to startPositionLong.
void setEndPositionLat(const qint32 endPositionLat)
Sets the endPositionLat field to endPositionLat.
void setAvgLeftPedalSmoothness(const quint8 avgLeftPedalSmoothness)
Sets the avgLeftPedalSmoothness field to avgLeftPedalSmoothness.
void setTotalFractionalAscent(const quint8 totalFractionalAscent)
Sets the totalFractionalAscent field to totalFractionalAscent.
quint8 maxCadencePosition() const
Returns the SegmentLapMessage data message's maxCadencePosition field's current value.
qint16 avgNegGrade() const
Returns the SegmentLapMessage data message's avgNegGrade field's current value.
quint32 activeTime() const
Returns the SegmentLapMessage data message's activeTime field's current value.
QString name() const
Returns the SegmentLapMessage data message's name field's current value.
quint16 avgPowerPosition() const
Returns the SegmentLapMessage data message's avgPowerPosition field's current value.
void setName(const QString name)
Sets the name field to name.
void setMaxCadencePosition(const quint8 maxCadencePosition)
Sets the maxCadencePosition field to maxCadencePosition.
void setStartPositionLat(const qint32 startPositionLat)
Sets the startPositionLat field to startPositionLat.
void setAvgPosVerticalSpeed(const qint16 avgPosVerticalSpeed)
Sets the avgPosVerticalSpeed field to avgPosVerticalSpeed.
void setTotalFractionalDescent(const quint8 totalFractionalDescent)
Sets the totalFractionalDescent field to totalFractionalDescent.
qint32 necLat() const
Returns the SegmentLapMessage data message's necLat field's current value.
quint16 avgAltitude() const
Returns the SegmentLapMessage data message's avgAltitude field's current value.
void setEventType(const EventType eventType)
Sets the eventType field to eventType.
quint8 totalFractionalCycles() const
Returns the SegmentLapMessage data message's totalFractionalCycles field's current value.
void setMaxAltitude(const quint16 maxAltitude)
Sets the maxAltitude field to maxAltitude.
void setAvgTemperature(const qint8 avgTemperature)
Sets the avgTemperature field to avgTemperature.
void setNormalizedPower(const quint16 normalizedPower)
Sets the normalizedPower field to normalizedPower.
quint16 avgSpeed() const
Returns the SegmentLapMessage data message's avgSpeed field's current value.
float totalFlow() const
Returns the SegmentLapMessage data message's totalFlow field's current value.
quint32 totalElapsedTime() const
Returns the SegmentLapMessage data message's totalElapsedTime field's current value.
MessageIndex messageIndex() const
Returns the SegmentLapMessage data message's messageIndex field's current value.
void setTotalAscent(const quint16 totalAscent)
Sets the totalAscent field to totalAscent.
qint16 maxNegVerticalSpeed() const
Returns the SegmentLapMessage data message's maxNegVerticalSpeed field's current value.
quint16 maxPowerPosition() const
Returns the SegmentLapMessage data message's maxPowerPosition field's current value.
void setMaxPower(const quint16 maxPower)
Sets the maxPower field to maxPower.
void setAvgLeftTorqueEffectiveness(const quint8 avgLeftTorqueEffectiveness)
Sets the avgLeftTorqueEffectiveness field to avgLeftTorqueEffectiveness.
quint8 avgFractionalCadence() const
Returns the SegmentLapMessage data message's avgFractionalCadence field's current value.
void setAvgLeftPowerPhase(const quint8 avgLeftPowerPhase)
Sets the avgLeftPowerPhase field to avgLeftPowerPhase.
qint32 swcLat() const
Returns the SegmentLapMessage data message's swcLat field's current value.
void setStatus(const SegmentLapStatus status)
Sets the status field to status.
void setAvgHeartRate(const quint8 avgHeartRate)
Sets the avgHeartRate field to avgHeartRate.
qint32 necLong() const
Returns the SegmentLapMessage data message's necLong field's current value.
void setAvgLeftPco(const qint8 avgLeftPco)
Sets the avgLeftPco field to avgLeftPco.
void setTotalWork(const quint32 totalWork)
Sets the totalWork field to totalWork.
void setTimeInPowerZone(const quint32 timeInPowerZone)
Sets the timeInPowerZone field to timeInPowerZone.
void setLeftRightBalance(const LeftRightBalance100 leftRightBalance)
Sets the leftRightBalance field to leftRightBalance.
quint8 maxHeartRate() const
Returns the SegmentLapMessage data message's maxHeartRate field's current value.
void setAvgCadencePosition(const quint8 avgCadencePosition)
Sets the avgCadencePosition field to avgCadencePosition.
qint8 avgRightPco() const
Returns the SegmentLapMessage data message's avgRightPco field's current value.
void setAvgAltitude(const quint16 avgAltitude)
Sets the avgAltitude field to avgAltitude.
void setTotalFatCalories(const quint16 totalFatCalories)
Sets the totalFatCalories field to totalFatCalories.
quint8 avgLeftPowerPhase() const
Returns the SegmentLapMessage data message's avgLeftPowerPhase field's current value.
void setMaxHeartRate(const quint8 maxHeartRate)
Sets the maxHeartRate field to maxHeartRate.
quint8 maxFractionalCadence() const
Returns the SegmentLapMessage data message's maxFractionalCadence field's current value.
quint16 rearGearShiftCount() const
Returns the SegmentLapMessage data message's rearGearShiftCount field's current value.
void setAvgSpeed(const quint16 avgSpeed)
Sets the avgSpeed field to avgSpeed.
void setTimestamp(const DateTime timestamp)
Sets the timestamp field to timestamp.
Sport sport() const
Returns the SegmentLapMessage data message's sport field's current value.
qint16 maxNegGrade() const
Returns the SegmentLapMessage data message's maxNegGrade field's current value.
void setAvgRightPco(const qint8 avgRightPco)
Sets the avgRightPco field to avgRightPco.
void setSwcLat(const qint32 swcLat)
Sets the swcLat field to swcLat.
void setNecLat(const qint32 necLat)
Sets the necLat field to necLat.
qint32 startPositionLong() const
Returns the SegmentLapMessage data message's startPositionLong field's current value.
float avgGrit() const
Returns the SegmentLapMessage data message's avgGrit field's current value.
quint8 avgRightPowerPhasePeak() const
Returns the SegmentLapMessage data message's avgRightPowerPhasePeak field's current value.
EventType eventType() const
Returns the SegmentLapMessage data message's eventType field's current value.
quint16 avgPower() const
Returns the SegmentLapMessage data message's avgPower field's current value.
void setAvgRightTorqueEffectiveness(const quint8 avgRightTorqueEffectiveness)
Sets the avgRightTorqueEffectiveness field to avgRightTorqueEffectiveness.
void setAvgPower(const quint16 avgPower)
Sets the avgPower field to avgPower.
qint8 avgLeftPco() const
Returns the SegmentLapMessage data message's avgLeftPco field's current value.
void setMaxSpeed(const quint16 maxSpeed)
Sets the maxSpeed field to maxSpeed.
void setMaxFractionalCadence(const quint8 maxFractionalCadence)
Sets the maxFractionalCadence field to maxFractionalCadence.
LeftRightBalance100 leftRightBalance() const
Returns the SegmentLapMessage data message's leftRightBalance field's current value.
void setEventGroup(const quint8 eventGroup)
Sets the eventGroup field to eventGroup.
quint8 avgCombinedPedalSmoothness() const
Returns the SegmentLapMessage data message's avgCombinedPedalSmoothness field's current value.
quint32 timeStanding() const
Returns the SegmentLapMessage data message's timeStanding field's current value.
quint8 minHeartRate() const
Returns the SegmentLapMessage data message's minHeartRate field's current value.
void setAvgGrade(const qint16 avgGrade)
Sets the avgGrade field to avgGrade.
qint16 avgGrade() const
Returns the SegmentLapMessage data message's avgGrade field's current value.
void setMinHeartRate(const quint8 minHeartRate)
Sets the minHeartRate field to minHeartRate.
quint16 totalAscent() const
Returns the SegmentLapMessage data message's totalAscent field's current value.
void setFrontGearShiftCount(const quint16 frontGearShiftCount)
Sets the frontGearShiftCount field to frontGearShiftCount.
quint16 repetitionNum() const
Returns the SegmentLapMessage data message's repetitionNum field's current value.
void setMaxCadence(const quint8 maxCadence)
Sets the maxCadence field to maxCadence.
void setTotalGrit(const float totalGrit)
Sets the totalGrit field to totalGrit.
void setWktStepIndex(const MessageIndex wktStepIndex)
Sets the wktStepIndex field to wktStepIndex.
quint32 timeInSpeedZone() const
Returns the SegmentLapMessage data message's timeInSpeedZone field's current value.
quint8 avgHeartRate() const
Returns the SegmentLapMessage data message's avgHeartRate field's current value.
qint32 startPositionLat() const
Returns the SegmentLapMessage data message's startPositionLat field's current value.
quint8 avgCadencePosition() const
Returns the SegmentLapMessage data message's avgCadencePosition field's current value.
quint8 avgLeftPowerPhasePeak() const
Returns the SegmentLapMessage data message's avgLeftPowerPhasePeak field's current value.
quint8 totalFractionalAscent() const
Returns the SegmentLapMessage data message's totalFractionalAscent field's current value.
quint8 avgLeftPedalSmoothness() const
Returns the SegmentLapMessage data message's avgLeftPedalSmoothness field's current value.
void setAvgFractionalCadence(const quint8 avgFractionalCadence)
Sets the avgFractionalCadence field to avgFractionalCadence.
qint16 avgNegVerticalSpeed() const
Returns the SegmentLapMessage data message's avgNegVerticalSpeed field's current value.
quint8 gpsAccuracy() const
Returns the SegmentLapMessage data message's gpsAccuracy field's current value.
void setAvgFlow(const float avgFlow)
Sets the avgFlow field to avgFlow.
void setManufacturer(const Manufacturer manufacturer)
Sets the manufacturer field to manufacturer.
void setMaxPowerPosition(const quint16 maxPowerPosition)
Sets the maxPowerPosition field to maxPowerPosition.
SegmentLapStatus status() const
Returns the SegmentLapMessage data message's status field's current value.
Manufacturer manufacturer() const
Returns the SegmentLapMessage data message's manufacturer field's current value.
void setEvent(const Event event)
Sets the event field to event.
quint32 totalWork() const
Returns the SegmentLapMessage data message's totalWork field's current value.
quint16 standCount() const
Returns the SegmentLapMessage data message's standCount field's current value.
quint32 totalTimerTime() const
Returns the SegmentLapMessage data message's totalTimerTime field's current value.
void setTotalDescent(const quint16 totalDescent)
Sets the totalDescent field to totalDescent.
float avgFlow() const
Returns the SegmentLapMessage data message's avgFlow field's current value.
void setStartTime(const DateTime startTime)
Sets the startTime field to startTime.
void setAvgNegGrade(const qint16 avgNegGrade)
Sets the avgNegGrade field to avgNegGrade.
void setTimeInCadenceZone(const quint32 timeInCadenceZone)
Sets the timeInCadenceZone field to timeInCadenceZone.
void setMaxPosVerticalSpeed(const qint16 maxPosVerticalSpeed)
Sets the maxPosVerticalSpeed field to maxPosVerticalSpeed.
qint8 avgTemperature() const
Returns the SegmentLapMessage data message's avgTemperature field's current value.
void setMaxPosGrade(const qint16 maxPosGrade)
Sets the maxPosGrade field to maxPosGrade.
SubSport subSport() const
Returns the SegmentLapMessage data message's subSport field's current value.
qint8 maxTemperature() const
Returns the SegmentLapMessage data message's maxTemperature field's current value.
void setAvgPowerPosition(const quint16 avgPowerPosition)
Sets the avgPowerPosition field to avgPowerPosition.
void setTotalCalories(const quint16 totalCalories)
Sets the totalCalories field to totalCalories.
void setSwcLong(const qint32 swcLong)
Sets the swcLong field to swcLong.
void setGpsAccuracy(const quint8 gpsAccuracy)
Sets the gpsAccuracy field to gpsAccuracy.
quint8 eventGroup() const
Returns the SegmentLapMessage data message's eventGroup field's current value.
QString uuid() const
Returns the SegmentLapMessage data message's uuid field's current value.
void setRepetitionNum(const quint16 repetitionNum)
Sets the repetitionNum field to repetitionNum.
quint16 maxSpeed() const
Returns the SegmentLapMessage data message's maxSpeed field's current value.
void setAvgGrit(const float avgGrit)
Sets the avgGrit field to avgGrit.
quint32 totalCycles() const
Returns the SegmentLapMessage data message's totalCycles field's current value.
void setAvgCombinedPedalSmoothness(const quint8 avgCombinedPedalSmoothness)
Sets the avgCombinedPedalSmoothness field to avgCombinedPedalSmoothness.
void setSport(const Sport sport)
Sets the sport field to sport.
void setTotalMovingTime(const quint32 totalMovingTime)
Sets the totalMovingTime field to totalMovingTime.
void setTotalElapsedTime(const quint32 totalElapsedTime)
Sets the totalElapsedTime field to totalElapsedTime.
quint32 totalMovingTime() const
Returns the SegmentLapMessage data message's totalMovingTime field's current value.
void setMinAltitude(const quint16 minAltitude)
Sets the minAltitude field to minAltitude.
quint8 avgRightTorqueEffectiveness() const
Returns the SegmentLapMessage data message's avgRightTorqueEffectiveness field's current value.
SportEvent sportEvent() const
Returns the SegmentLapMessage data message's sportEvent field's current value.
void setAvgLeftPowerPhasePeak(const quint8 avgLeftPowerPhasePeak)
Sets the avgLeftPowerPhasePeak field to avgLeftPowerPhasePeak.
void setMaxNegGrade(const qint16 maxNegGrade)
Sets the maxNegGrade field to maxNegGrade.
void setTimeInHrZone(const quint32 timeInHrZone)
Sets the timeInHrZone field to timeInHrZone.
quint16 frontGearShiftCount() const
Returns the SegmentLapMessage data message's frontGearShiftCount field's current value.
qint16 avgPosVerticalSpeed() const
Returns the SegmentLapMessage data message's avgPosVerticalSpeed field's current value.
qint32 endPositionLat() const
Returns the SegmentLapMessage data message's endPositionLat field's current value.
quint32 totalDistance() const
Returns the SegmentLapMessage data message's totalDistance field's current value.
float totalGrit() const
Returns the SegmentLapMessage data message's totalGrit field's current value.
void setActiveTime(const quint32 activeTime)
Sets the activeTime field to activeTime.
quint16 maxPower() const
Returns the SegmentLapMessage data message's maxPower field's current value.
quint16 totalCalories() const
Returns the SegmentLapMessage data message's totalCalories field's current value.
void setTotalTimerTime(const quint32 totalTimerTime)
Sets the totalTimerTime field to totalTimerTime.
void setRearGearShiftCount(const quint16 rearGearShiftCount)
Sets the rearGearShiftCount field to rearGearShiftCount.
quint16 maxAltitude() const
Returns the SegmentLapMessage data message's maxAltitude field's current value.
void setMaxNegVerticalSpeed(const qint16 maxNegVerticalSpeed)
Sets the maxNegVerticalSpeed field to maxNegVerticalSpeed.
quint32 timeInCadenceZone() const
Returns the SegmentLapMessage data message's timeInCadenceZone field's current value.
void setAvgCadence(const quint8 avgCadence)
Sets the avgCadence field to avgCadence.
qint32 endPositionLong() const
Returns the SegmentLapMessage data message's endPositionLong field's current value.
MessageIndex wktStepIndex() const
Returns the SegmentLapMessage data message's wktStepIndex field's current value.
Declares the SegmentLapMessage class.
Declares the SegmentLapMessagePrivate class.
EventType
Garmin FIT EventType type.
Definition: types.h:1182
Event
Garmin FIT Event type.
Definition: types.h:1133
FitBaseType
Garmin FIT FitBaseType type.
Definition: types.h:3388
SportEvent
Garmin FIT SportEvent type.
Definition: types.h:959
LeftRightBalance100
Garmin FIT LeftRightBalance100 type.
Definition: types.h:2377
Sport
Garmin FIT Sport type.
Definition: types.h:685
SegmentLapStatus
Garmin FIT SegmentLapStatus type.
Definition: types.h:2723
MessageIndex
Garmin FIT MessageIndex type.
Definition: types.h:263
Manufacturer
Garmin FIT Manufacturer type.
Definition: types.h:1484
SubSport
Garmin FIT SubSport type.
Definition: types.h:881
DateTime
Seconds since UTC 00:00 Dec 31 1989.
Definition: types.h:237