@glandais/vcyclist-engine 6.0.0 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fit-kotlin-sdk.js +122 -122
- package/index.d.ts +12 -1
- package/kotlin-kotlin-stdlib.js +1049 -425
- package/kotlin-kotlin-stdlib.js.map +1 -1
- package/kotlinx-atomicfu.js +9 -9
- package/kotlinx-coroutines-core.js +199 -97
- package/kotlinx-coroutines-core.js.map +1 -1
- package/kotlinx-serialization-kotlinx-serialization-core.js +1 -1
- package/package.json +1 -1
- package/vcyclist-elevation.js +1285 -196
- package/vcyclist-elevation.js.map +1 -1
- package/vcyclist-engine.d.ts +1 -0
- package/vcyclist-engine.js +334 -249
- package/vcyclist-engine.js.map +1 -1
- package/vcyclist-fit.js +134 -135
- package/vcyclist-fit.js.map +1 -1
- package/vcyclist-gpx.js +406 -172
- package/vcyclist-gpx.js.map +1 -1
- package/xmlutil-core.js +102 -102
package/vcyclist-engine.js
CHANGED
|
@@ -30,123 +30,125 @@
|
|
|
30
30
|
var imul = Math.imul;
|
|
31
31
|
var hypot = Math.hypot;
|
|
32
32
|
var sign = Math.sign;
|
|
33
|
-
var protoOf = kotlin_kotlin.$_$.
|
|
34
|
-
var initMetadataForCompanion = kotlin_kotlin.$_$.
|
|
33
|
+
var protoOf = kotlin_kotlin.$_$.s7;
|
|
34
|
+
var initMetadataForCompanion = kotlin_kotlin.$_$.e7;
|
|
35
35
|
var VOID = kotlin_kotlin.$_$.a;
|
|
36
|
-
var getNumberHashCode = kotlin_kotlin.$_$.
|
|
37
|
-
var equals = kotlin_kotlin.$_$.
|
|
38
|
-
var initMetadataForClass = kotlin_kotlin.$_$.
|
|
39
|
-
var toString = kotlin_kotlin.$_$.
|
|
40
|
-
var hashCode = kotlin_kotlin.$_$.
|
|
36
|
+
var getNumberHashCode = kotlin_kotlin.$_$.z6;
|
|
37
|
+
var equals = kotlin_kotlin.$_$.w6;
|
|
38
|
+
var initMetadataForClass = kotlin_kotlin.$_$.d7;
|
|
39
|
+
var toString = kotlin_kotlin.$_$.v7;
|
|
40
|
+
var hashCode = kotlin_kotlin.$_$.c7;
|
|
41
41
|
var ElevationGainPreset_DEM_getInstance = kotlin_io_github_glandais_gpx.$_$.c;
|
|
42
|
-
var initMetadataForObject = kotlin_kotlin.$_$.
|
|
43
|
-
var getBooleanHashCode = kotlin_kotlin.$_$.
|
|
44
|
-
var isFinite = kotlin_kotlin.$_$.
|
|
45
|
-
var IllegalArgumentException_init_$Create$ = kotlin_kotlin.$_$.
|
|
46
|
-
var Unit_instance = kotlin_kotlin.$_$.
|
|
42
|
+
var initMetadataForObject = kotlin_kotlin.$_$.j7;
|
|
43
|
+
var getBooleanHashCode = kotlin_kotlin.$_$.y6;
|
|
44
|
+
var isFinite = kotlin_kotlin.$_$.hb;
|
|
45
|
+
var IllegalArgumentException_init_$Create$ = kotlin_kotlin.$_$.e2;
|
|
46
|
+
var Unit_instance = kotlin_kotlin.$_$.k1;
|
|
47
47
|
var ElevationGainOptions = kotlin_io_github_glandais_gpx.$_$.y;
|
|
48
|
-
var CoroutineImpl = kotlin_kotlin.$_$.
|
|
48
|
+
var CoroutineImpl = kotlin_kotlin.$_$.l5;
|
|
49
49
|
var PointPerDistance_instance = kotlin_io_github_glandais_gpx.$_$.o;
|
|
50
50
|
var ElevationStep_instance = kotlin_io_github_glandais_gpx.$_$.l;
|
|
51
|
-
var get_COROUTINE_SUSPENDED = kotlin_kotlin.$_$.
|
|
51
|
+
var get_COROUTINE_SUSPENDED = kotlin_kotlin.$_$.w4;
|
|
52
52
|
var PointPerSecond_instance = kotlin_io_github_glandais_gpx.$_$.p;
|
|
53
53
|
var PathSimplifier_instance = kotlin_io_github_glandais_gpx.$_$.m;
|
|
54
54
|
var ElevationGain_instance = kotlin_io_github_glandais_gpx.$_$.k;
|
|
55
|
-
var initMetadataForCoroutine = kotlin_kotlin.$_$.
|
|
56
|
-
var Companion_instance = kotlin_kotlin.$_$.
|
|
57
|
-
var collectionSizeOrDefault = kotlin_kotlin.$_$.
|
|
58
|
-
var ArrayList_init_$Create$ = kotlin_kotlin.$_$.
|
|
59
|
-
var enumEntries = kotlin_kotlin.$_$.
|
|
60
|
-
var Enum = kotlin_kotlin.$_$.
|
|
61
|
-
var noWhenBranchMatchedException = kotlin_kotlin.$_$.
|
|
62
|
-
var last = kotlin_kotlin.$_$.
|
|
63
|
-
var toIntArray = kotlin_kotlin.$_$.
|
|
64
|
-
var sortedWith = kotlin_kotlin.$_$.
|
|
65
|
-
var toMutableList = kotlin_kotlin.$_$.
|
|
66
|
-
var ArrayList_init_$Create$_0 = kotlin_kotlin.$_$.
|
|
67
|
-
var first = kotlin_kotlin.$_$.
|
|
68
|
-
var removeAll = kotlin_kotlin.$_$.
|
|
69
|
-
var numberRangeToNumber = kotlin_kotlin.$_$.
|
|
70
|
-
var Vector3D = kotlin_io_github_glandais_elevation.$_$.
|
|
71
|
-
var emptyList = kotlin_kotlin.$_$.
|
|
72
|
-
var coerceIn = kotlin_kotlin.$_$.
|
|
55
|
+
var initMetadataForCoroutine = kotlin_kotlin.$_$.f7;
|
|
56
|
+
var Companion_instance = kotlin_kotlin.$_$.i1;
|
|
57
|
+
var collectionSizeOrDefault = kotlin_kotlin.$_$.c3;
|
|
58
|
+
var ArrayList_init_$Create$ = kotlin_kotlin.$_$.m1;
|
|
59
|
+
var enumEntries = kotlin_kotlin.$_$.n5;
|
|
60
|
+
var Enum = kotlin_kotlin.$_$.na;
|
|
61
|
+
var noWhenBranchMatchedException = kotlin_kotlin.$_$.lb;
|
|
62
|
+
var last = kotlin_kotlin.$_$.w3;
|
|
63
|
+
var toIntArray = kotlin_kotlin.$_$.n4;
|
|
64
|
+
var sortedWith = kotlin_kotlin.$_$.j4;
|
|
65
|
+
var toMutableList = kotlin_kotlin.$_$.r4;
|
|
66
|
+
var ArrayList_init_$Create$_0 = kotlin_kotlin.$_$.n1;
|
|
67
|
+
var first = kotlin_kotlin.$_$.p3;
|
|
68
|
+
var removeAll = kotlin_kotlin.$_$.e4;
|
|
69
|
+
var numberRangeToNumber = kotlin_kotlin.$_$.o7;
|
|
70
|
+
var Vector3D = kotlin_io_github_glandais_elevation.$_$.g;
|
|
71
|
+
var emptyList = kotlin_kotlin.$_$.l3;
|
|
72
|
+
var coerceIn = kotlin_kotlin.$_$.d8;
|
|
73
73
|
var DouglasPeucker_instance = kotlin_io_github_glandais_elevation.$_$.b;
|
|
74
|
-
var FunctionAdapter = kotlin_kotlin.$_$.
|
|
75
|
-
var isInterface = kotlin_kotlin.$_$.
|
|
76
|
-
var Comparator = kotlin_kotlin.$_$.
|
|
77
|
-
var compareValues = kotlin_kotlin.$_$.
|
|
78
|
-
var until = kotlin_kotlin.$_$.
|
|
79
|
-
var Pair = kotlin_kotlin.$_$.
|
|
80
|
-
var listOf = kotlin_kotlin.$_$.
|
|
81
|
-
var initMetadataForInterface = kotlin_kotlin.$_$.
|
|
82
|
-
var Default_getInstance = kotlin_kotlin.$_$.
|
|
83
|
-
var equals_0 = kotlin_kotlin.$_$.
|
|
84
|
-
var isNaN_0 = kotlin_kotlin.$_$.
|
|
74
|
+
var FunctionAdapter = kotlin_kotlin.$_$.k6;
|
|
75
|
+
var isInterface = kotlin_kotlin.$_$.l7;
|
|
76
|
+
var Comparator = kotlin_kotlin.$_$.ma;
|
|
77
|
+
var compareValues = kotlin_kotlin.$_$.u4;
|
|
78
|
+
var until = kotlin_kotlin.$_$.j8;
|
|
79
|
+
var Pair = kotlin_kotlin.$_$.ua;
|
|
80
|
+
var listOf = kotlin_kotlin.$_$.x3;
|
|
81
|
+
var initMetadataForInterface = kotlin_kotlin.$_$.h7;
|
|
82
|
+
var Default_getInstance = kotlin_kotlin.$_$.e1;
|
|
83
|
+
var equals_0 = kotlin_kotlin.$_$.b9;
|
|
84
|
+
var isNaN_0 = kotlin_kotlin.$_$.jb;
|
|
85
85
|
var PointField_TEMPERATURE_getInstance = kotlin_io_github_glandais_gpx.$_$.d;
|
|
86
86
|
var get_entries = kotlin_io_github_glandais_gpx.$_$.a1;
|
|
87
87
|
var Path = kotlin_io_github_glandais_gpx.$_$.z;
|
|
88
|
-
var arrayCopy = kotlin_kotlin.$_$.
|
|
89
|
-
var sort = kotlin_kotlin.$_$.
|
|
90
|
-
var numberToInt = kotlin_kotlin.$_$.
|
|
91
|
-
var coerceIn_0 = kotlin_kotlin.$_$.
|
|
92
|
-
var lastOrNull = kotlin_kotlin.$_$.
|
|
93
|
-
var HashMap_init_$Create$ = kotlin_kotlin.$_$.
|
|
94
|
-
var fromInt = kotlin_kotlin.$_$.
|
|
95
|
-
var add = kotlin_kotlin.$_$.
|
|
96
|
-
var numberToLong = kotlin_kotlin.$_$.
|
|
97
|
-
var shiftLeft = kotlin_kotlin.$_$.
|
|
98
|
-
var Long = kotlin_kotlin.$_$.
|
|
99
|
-
var bitwiseAnd = kotlin_kotlin.$_$.
|
|
100
|
-
var bitwiseXor = kotlin_kotlin.$_$.
|
|
101
|
-
var copyOf = kotlin_kotlin.$_$.
|
|
102
|
-
var coerceAtLeast = kotlin_kotlin.$_$.
|
|
103
|
-
var
|
|
104
|
-
var
|
|
105
|
-
var
|
|
106
|
-
var
|
|
107
|
-
var
|
|
108
|
-
var
|
|
88
|
+
var arrayCopy = kotlin_kotlin.$_$.y2;
|
|
89
|
+
var sort = kotlin_kotlin.$_$.l4;
|
|
90
|
+
var numberToInt = kotlin_kotlin.$_$.q7;
|
|
91
|
+
var coerceIn_0 = kotlin_kotlin.$_$.e8;
|
|
92
|
+
var lastOrNull = kotlin_kotlin.$_$.v3;
|
|
93
|
+
var HashMap_init_$Create$ = kotlin_kotlin.$_$.p1;
|
|
94
|
+
var fromInt = kotlin_kotlin.$_$.a6;
|
|
95
|
+
var add = kotlin_kotlin.$_$.q5;
|
|
96
|
+
var numberToLong = kotlin_kotlin.$_$.e6;
|
|
97
|
+
var shiftLeft = kotlin_kotlin.$_$.f6;
|
|
98
|
+
var Long = kotlin_kotlin.$_$.sa;
|
|
99
|
+
var bitwiseAnd = kotlin_kotlin.$_$.r5;
|
|
100
|
+
var bitwiseXor = kotlin_kotlin.$_$.t5;
|
|
101
|
+
var copyOf = kotlin_kotlin.$_$.h3;
|
|
102
|
+
var coerceAtLeast = kotlin_kotlin.$_$.a8;
|
|
103
|
+
var fill = kotlin_kotlin.$_$.m3;
|
|
104
|
+
var round = kotlin_kotlin.$_$.y7;
|
|
105
|
+
var booleanArray = kotlin_kotlin.$_$.m6;
|
|
106
|
+
var listOf_0 = kotlin_kotlin.$_$.y3;
|
|
107
|
+
var Collection = kotlin_kotlin.$_$.s2;
|
|
108
|
+
var zipWithNext = kotlin_kotlin.$_$.t4;
|
|
109
|
+
var toDoubleArray = kotlin_kotlin.$_$.m4;
|
|
110
|
+
var joinToString = kotlin_kotlin.$_$.s3;
|
|
109
111
|
var GpxParser_instance = kotlin_io_github_glandais_gpx.$_$.e;
|
|
110
|
-
var copyToArray = kotlin_kotlin.$_$.
|
|
112
|
+
var copyToArray = kotlin_kotlin.$_$.k3;
|
|
111
113
|
var firstTrackAsPath = kotlin_io_github_glandais_gpx.$_$.r;
|
|
112
114
|
var tracksAsPaths = kotlin_io_github_glandais_gpx.$_$.v;
|
|
113
115
|
var segmentsAsPaths = kotlin_io_github_glandais_gpx.$_$.t;
|
|
114
116
|
var GpxPathKind_TRACK_getInstance = kotlin_io_github_glandais_gpx.$_$.b;
|
|
115
|
-
var setOf = kotlin_kotlin.$_$.
|
|
117
|
+
var setOf = kotlin_kotlin.$_$.h4;
|
|
116
118
|
var GpxPathKind_ROUTE_getInstance = kotlin_io_github_glandais_gpx.$_$.a;
|
|
117
119
|
var GpxWriter_instance = kotlin_io_github_glandais_gpx.$_$.g;
|
|
118
|
-
var toList = kotlin_kotlin.$_$.
|
|
119
|
-
var Companion_getInstance = kotlin_kotlin.$_$.
|
|
120
|
+
var toList = kotlin_kotlin.$_$.q4;
|
|
121
|
+
var Companion_getInstance = kotlin_kotlin.$_$.g1;
|
|
120
122
|
var pathsToGpxDocument = kotlin_io_github_glandais_gpx.$_$.s;
|
|
121
123
|
var toGpxDocument = kotlin_io_github_glandais_gpx.$_$.u;
|
|
122
124
|
var GlobalScope_instance = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.a;
|
|
123
|
-
var promise = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.
|
|
125
|
+
var promise = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.m;
|
|
124
126
|
var Companion_getInstance_0 = kotlin_io_github_glandais_gpx.$_$.n;
|
|
125
|
-
var IllegalStateException_init_$Create$ = kotlin_kotlin.$_$.
|
|
127
|
+
var IllegalStateException_init_$Create$ = kotlin_kotlin.$_$.h2;
|
|
126
128
|
var CsvOptions = kotlin_io_github_glandais_gpx.$_$.w;
|
|
127
129
|
var CsvWriter_instance = kotlin_io_github_glandais_gpx.$_$.h;
|
|
128
|
-
var firstOrNull = kotlin_kotlin.$_$.
|
|
129
|
-
var Char = kotlin_kotlin.$_$.
|
|
130
|
-
var charSequenceLength = kotlin_kotlin.$_$.
|
|
130
|
+
var firstOrNull = kotlin_kotlin.$_$.c9;
|
|
131
|
+
var Char = kotlin_kotlin.$_$.la;
|
|
132
|
+
var charSequenceLength = kotlin_kotlin.$_$.r6;
|
|
131
133
|
var JsonOptions = kotlin_io_github_glandais_gpx.$_$.x;
|
|
132
134
|
var JsonWriter_instance = kotlin_io_github_glandais_gpx.$_$.i;
|
|
133
135
|
var toFitBytes = kotlin_io_github_glandais_fit.$_$.a;
|
|
134
|
-
var Companion_getInstance_1 = kotlin_kotlin.$_$.
|
|
135
|
-
var DurationUnit_MILLISECONDS_getInstance = kotlin_kotlin.$_$.
|
|
136
|
-
var toDuration = kotlin_kotlin.$_$.
|
|
136
|
+
var Companion_getInstance_1 = kotlin_kotlin.$_$.f1;
|
|
137
|
+
var DurationUnit_MILLISECONDS_getInstance = kotlin_kotlin.$_$.z;
|
|
138
|
+
var toDuration = kotlin_kotlin.$_$.ka;
|
|
137
139
|
var toFitBytes_0 = kotlin_io_github_glandais_fit.$_$.b;
|
|
138
|
-
var toNumber = kotlin_kotlin.$_$.
|
|
140
|
+
var toNumber = kotlin_kotlin.$_$.j6;
|
|
139
141
|
var Companion_getInstance_2 = kotlin_io_github_glandais_gpx.$_$.f;
|
|
140
142
|
var GpxWaypoint = kotlin_io_github_glandais_gpx.$_$.q;
|
|
141
143
|
var Companion_instance_0 = kotlin_io_github_glandais_gpx.$_$.j;
|
|
142
|
-
var
|
|
143
|
-
var
|
|
144
|
-
var sorted = kotlin_kotlin.$_$.
|
|
145
|
-
var THROW_CCE = kotlin_kotlin.$_$.
|
|
146
|
-
var CoroutineScope = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.
|
|
147
|
-
var initMetadataForLambda = kotlin_kotlin.$_$.
|
|
148
|
-
var constructCallableReference = kotlin_kotlin.$_$.
|
|
149
|
-
var setOf_0 = kotlin_kotlin.$_$.
|
|
144
|
+
var Companion_getInstance_3 = kotlin_io_github_glandais_elevation.$_$.d;
|
|
145
|
+
var provider = kotlin_io_github_glandais_elevation.$_$.h;
|
|
146
|
+
var sorted = kotlin_kotlin.$_$.k4;
|
|
147
|
+
var THROW_CCE = kotlin_kotlin.$_$.xa;
|
|
148
|
+
var CoroutineScope = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.k;
|
|
149
|
+
var initMetadataForLambda = kotlin_kotlin.$_$.i7;
|
|
150
|
+
var constructCallableReference = kotlin_kotlin.$_$.t6;
|
|
151
|
+
var setOf_0 = kotlin_kotlin.$_$.i4;
|
|
150
152
|
//endregion
|
|
151
153
|
//region block: pre-declaration
|
|
152
154
|
initMetadataForCompanion(Companion);
|
|
@@ -240,13 +242,13 @@
|
|
|
240
242
|
this.DEFAULT_1 = new Bike();
|
|
241
243
|
}
|
|
242
244
|
var Companion_instance_1;
|
|
243
|
-
function
|
|
245
|
+
function Companion_getInstance_4() {
|
|
244
246
|
if (Companion_instance_1 == null)
|
|
245
247
|
new Companion();
|
|
246
248
|
return Companion_instance_1;
|
|
247
249
|
}
|
|
248
250
|
function Bike(crr, inertiaFront, inertiaRear, wheelRadiusM, efficiency, maxPedalingLeanAngleDeg) {
|
|
249
|
-
|
|
251
|
+
Companion_getInstance_4();
|
|
250
252
|
crr = crr === VOID ? 0.004 : crr;
|
|
251
253
|
inertiaFront = inertiaFront === VOID ? 0.05 : inertiaFront;
|
|
252
254
|
inertiaRear = inertiaRear === VOID ? 0.07 : inertiaRear;
|
|
@@ -303,8 +305,8 @@
|
|
|
303
305
|
return true;
|
|
304
306
|
};
|
|
305
307
|
function Course(path, cyclist, bike) {
|
|
306
|
-
cyclist = cyclist === VOID ?
|
|
307
|
-
bike = bike === VOID ?
|
|
308
|
+
cyclist = cyclist === VOID ? Companion_getInstance_6().DEFAULT_1 : cyclist;
|
|
309
|
+
bike = bike === VOID ? Companion_getInstance_4().DEFAULT_1 : bike;
|
|
308
310
|
this.path_1 = path;
|
|
309
311
|
this.cyclist_1 = cyclist;
|
|
310
312
|
this.bike_1 = bike;
|
|
@@ -345,17 +347,17 @@
|
|
|
345
347
|
this.DEFAULT_CYCLIST_POWER_PROVIDER_1 = new PowerProviderConstant(280.0);
|
|
346
348
|
}
|
|
347
349
|
var Companion_instance_2;
|
|
348
|
-
function
|
|
350
|
+
function Companion_getInstance_5() {
|
|
349
351
|
if (Companion_instance_2 == null)
|
|
350
352
|
new Companion_0();
|
|
351
353
|
return Companion_instance_2;
|
|
352
354
|
}
|
|
353
355
|
function CoursePhysics(course, rhoProvider, aeroProvider, windProvider, cyclistPowerProvider) {
|
|
354
|
-
|
|
356
|
+
Companion_getInstance_5();
|
|
355
357
|
rhoProvider = rhoProvider === VOID ? RhoProviderDefault_instance : rhoProvider;
|
|
356
358
|
aeroProvider = aeroProvider === VOID ? AeroProviderConstant_instance : aeroProvider;
|
|
357
359
|
windProvider = windProvider === VOID ? WindProviderNone_instance : windProvider;
|
|
358
|
-
cyclistPowerProvider = cyclistPowerProvider === VOID ?
|
|
360
|
+
cyclistPowerProvider = cyclistPowerProvider === VOID ? Companion_getInstance_5().DEFAULT_CYCLIST_POWER_PROVIDER_1 : cyclistPowerProvider;
|
|
359
361
|
this.course_1 = course;
|
|
360
362
|
this.rhoProvider_1 = rhoProvider;
|
|
361
363
|
this.aeroProvider_1 = aeroProvider;
|
|
@@ -415,13 +417,13 @@
|
|
|
415
417
|
this.DEFAULT_1 = new Cyclist();
|
|
416
418
|
}
|
|
417
419
|
var Companion_instance_3;
|
|
418
|
-
function
|
|
420
|
+
function Companion_getInstance_6() {
|
|
419
421
|
if (Companion_instance_3 == null)
|
|
420
422
|
new Companion_1();
|
|
421
423
|
return Companion_instance_3;
|
|
422
424
|
}
|
|
423
425
|
function Cyclist(massKg, maxBrakeG, cd, frontalAreaM2, maxLeanAngleDeg, maxSpeedKmH) {
|
|
424
|
-
|
|
426
|
+
Companion_getInstance_6();
|
|
425
427
|
massKg = massKg === VOID ? 80.0 : massKg;
|
|
426
428
|
maxBrakeG = maxBrakeG === VOID ? 0.4 : maxBrakeG;
|
|
427
429
|
cd = cd === VOID ? 0.7 : cd;
|
|
@@ -602,13 +604,13 @@
|
|
|
602
604
|
this.DEFAULT_1 = new EnhanceOptions();
|
|
603
605
|
}
|
|
604
606
|
var Companion_instance_4;
|
|
605
|
-
function
|
|
607
|
+
function Companion_getInstance_7() {
|
|
606
608
|
if (Companion_instance_4 == null)
|
|
607
609
|
new Companion_2();
|
|
608
610
|
return Companion_instance_4;
|
|
609
611
|
}
|
|
610
612
|
function EnhanceOptions(fixElevation, computeMaxSpeeds, virtualizeTrack, computeOnePointPerSecond, simplifyPath, wPrimeBalance, curvature, racingLine, elevationGain, elevationSmoothWindowM) {
|
|
611
|
-
|
|
613
|
+
Companion_getInstance_7();
|
|
612
614
|
fixElevation = fixElevation === VOID ? true : fixElevation;
|
|
613
615
|
computeMaxSpeeds = computeMaxSpeeds === VOID ? true : computeMaxSpeeds;
|
|
614
616
|
virtualizeTrack = virtualizeTrack === VOID ? true : virtualizeTrack;
|
|
@@ -865,7 +867,7 @@
|
|
|
865
867
|
return destination;
|
|
866
868
|
};
|
|
867
869
|
var Companion_instance_5;
|
|
868
|
-
function
|
|
870
|
+
function Companion_getInstance_8() {
|
|
869
871
|
static_init();
|
|
870
872
|
return Companion_instance_5;
|
|
871
873
|
}
|
|
@@ -1036,13 +1038,13 @@
|
|
|
1036
1038
|
this.DEFAULT_1 = new ClimbOptions();
|
|
1037
1039
|
}
|
|
1038
1040
|
var Companion_instance_6;
|
|
1039
|
-
function
|
|
1041
|
+
function Companion_getInstance_9() {
|
|
1040
1042
|
if (Companion_instance_6 == null)
|
|
1041
1043
|
new Companion_4();
|
|
1042
1044
|
return Companion_instance_6;
|
|
1043
1045
|
}
|
|
1044
1046
|
function ClimbOptions(minMinClimbElevationM, maxMinClimbElevationM, minClimbElevationRatio, minGradePercent, maxDiffRealGradeRatio, booster, maxAnalysisPoints) {
|
|
1045
|
-
|
|
1047
|
+
Companion_getInstance_9();
|
|
1046
1048
|
minMinClimbElevationM = minMinClimbElevationM === VOID ? 10.0 : minMinClimbElevationM;
|
|
1047
1049
|
maxMinClimbElevationM = maxMinClimbElevationM === VOID ? 35.0 : maxMinClimbElevationM;
|
|
1048
1050
|
minClimbElevationRatio = minClimbElevationRatio === VOID ? 100.0 : minClimbElevationRatio;
|
|
@@ -1144,7 +1146,7 @@
|
|
|
1144
1146
|
return new Profile(tmp_6, tmp_10, indices);
|
|
1145
1147
|
};
|
|
1146
1148
|
var Companion_instance_7;
|
|
1147
|
-
function
|
|
1149
|
+
function Companion_getInstance_10() {
|
|
1148
1150
|
return Companion_instance_7;
|
|
1149
1151
|
}
|
|
1150
1152
|
function Profile(distance, elevation, sourceIndex) {
|
|
@@ -1443,7 +1445,7 @@
|
|
|
1443
1445
|
return destination_0;
|
|
1444
1446
|
};
|
|
1445
1447
|
protoOf(ClimbDetector).detect$default_6ml3ny_k$ = function (path, options, $super) {
|
|
1446
|
-
options = options === VOID ?
|
|
1448
|
+
options = options === VOID ? Companion_getInstance_9().DEFAULT_1 : options;
|
|
1447
1449
|
return $super === VOID ? this.detect_llooq2_k$(path, options) : $super.detect_llooq2_k$.call(this, path, options);
|
|
1448
1450
|
};
|
|
1449
1451
|
var ClimbDetector_instance;
|
|
@@ -1494,7 +1496,7 @@
|
|
|
1494
1496
|
$l$loop: do {
|
|
1495
1497
|
var i = inductionVariable;
|
|
1496
1498
|
inductionVariable = inductionVariable + 1 | 0;
|
|
1497
|
-
var dx = (_this__u8e3s4.longitude_a9xl_k$(i) - lon0) * cosLat0;
|
|
1499
|
+
var dx = LocalFrame_instance.unwrap_i6c8al_k$(_this__u8e3s4.longitude_a9xl_k$(i) - lon0) * cosLat0;
|
|
1498
1500
|
var dy = _this__u8e3s4.latitude_gb4iok_k$(i) - lat0;
|
|
1499
1501
|
// Inline function 'kotlin.math.hypot' call
|
|
1500
1502
|
var length = hypot(dx, dy);
|
|
@@ -1603,7 +1605,7 @@
|
|
|
1603
1605
|
this.MAX_MULTIPLIER_1 = 3.0;
|
|
1604
1606
|
}
|
|
1605
1607
|
var Companion_instance_8;
|
|
1606
|
-
function
|
|
1608
|
+
function Companion_getInstance_11() {
|
|
1607
1609
|
return Companion_instance_8;
|
|
1608
1610
|
}
|
|
1609
1611
|
function CyclistPowerProviderBase(useHarmonics, random) {
|
|
@@ -1702,7 +1704,7 @@
|
|
|
1702
1704
|
return tmp$ret$0;
|
|
1703
1705
|
};
|
|
1704
1706
|
var Companion_instance_9;
|
|
1705
|
-
function
|
|
1707
|
+
function Companion_getInstance_12() {
|
|
1706
1708
|
return Companion_instance_9;
|
|
1707
1709
|
}
|
|
1708
1710
|
function values_0() {
|
|
@@ -2137,7 +2139,7 @@
|
|
|
2137
2139
|
this.DEFAULT_TAPER_START_FRACTION_1 = 0.5;
|
|
2138
2140
|
}
|
|
2139
2141
|
var Companion_instance_10;
|
|
2140
|
-
function
|
|
2142
|
+
function Companion_getInstance_13() {
|
|
2141
2143
|
return Companion_instance_10;
|
|
2142
2144
|
}
|
|
2143
2145
|
function PowerProviderCriticalPower(powerW, criticalPowerW, wPrimeJ, taperStartFraction, useHarmonics, random) {
|
|
@@ -2225,7 +2227,7 @@
|
|
|
2225
2227
|
this.DEFAULT_MAX_DECLINE_1 = 0.2;
|
|
2226
2228
|
}
|
|
2227
2229
|
var Companion_instance_11;
|
|
2228
|
-
function
|
|
2230
|
+
function Companion_getInstance_14() {
|
|
2229
2231
|
return Companion_instance_11;
|
|
2230
2232
|
}
|
|
2231
2233
|
function PowerProviderDurability(powerW, criticalPowerW, declinePerKjPerKg, maxDecline, useHarmonics, random) {
|
|
@@ -2322,6 +2324,7 @@
|
|
|
2322
2324
|
this.lastIndex_1 = -1;
|
|
2323
2325
|
this.lastElapsedS_1 = 0.0;
|
|
2324
2326
|
this.lastPowerW_1 = 0.0;
|
|
2327
|
+
this.lastLimitedW_1 = 0.0;
|
|
2325
2328
|
}
|
|
2326
2329
|
protoOf(PowerProviderSlewLimited).powerAt_ejucaq_k$ = function (course, path, pointIndex) {
|
|
2327
2330
|
var target = this.delegate_1.powerAt_ejucaq_k$(course, path, pointIndex);
|
|
@@ -2329,8 +2332,8 @@
|
|
|
2329
2332
|
this.reset_5u6xz3_k$();
|
|
2330
2333
|
}
|
|
2331
2334
|
if (pointIndex === this.lastIndex_1) {
|
|
2332
|
-
this.delegate_1.onDelivered_drn2rh_k$(pointIndex, this.
|
|
2333
|
-
return this.
|
|
2335
|
+
this.delegate_1.onDelivered_drn2rh_k$(pointIndex, this.lastLimitedW_1);
|
|
2336
|
+
return this.lastLimitedW_1;
|
|
2334
2337
|
}
|
|
2335
2338
|
var elapsedS = path.elapsed_7307rw_k$(pointIndex);
|
|
2336
2339
|
var dtS = elapsedS - this.lastElapsedS_1;
|
|
@@ -2354,16 +2357,20 @@
|
|
|
2354
2357
|
this.lastElapsedS_1 = elapsedS;
|
|
2355
2358
|
this.lastIndex_1 = pointIndex;
|
|
2356
2359
|
this.lastPowerW_1 = limited;
|
|
2360
|
+
this.lastLimitedW_1 = limited;
|
|
2357
2361
|
this.delegate_1.onDelivered_drn2rh_k$(pointIndex, limited);
|
|
2358
2362
|
return limited;
|
|
2359
2363
|
};
|
|
2360
2364
|
protoOf(PowerProviderSlewLimited).onDelivered_drn2rh_k$ = function (pointIndex, powerW) {
|
|
2361
|
-
|
|
2365
|
+
if (pointIndex === this.lastIndex_1 && isFinite(powerW))
|
|
2366
|
+
this.lastPowerW_1 = powerW;
|
|
2367
|
+
this.delegate_1.onDelivered_drn2rh_k$(pointIndex, powerW);
|
|
2362
2368
|
};
|
|
2363
2369
|
protoOf(PowerProviderSlewLimited).reset_5u6xz3_k$ = function () {
|
|
2364
2370
|
this.lastIndex_1 = -1;
|
|
2365
2371
|
this.lastElapsedS_1 = 0.0;
|
|
2366
2372
|
this.lastPowerW_1 = 0.0;
|
|
2373
|
+
this.lastLimitedW_1 = 0.0;
|
|
2367
2374
|
};
|
|
2368
2375
|
function Companion_10() {
|
|
2369
2376
|
this.DEFAULT_GRADIENT_GAIN_1 = 3.0;
|
|
@@ -2374,7 +2381,7 @@
|
|
|
2374
2381
|
this.DEFAULT_ENERGY_BUDGET_SECONDS_1 = 600.0;
|
|
2375
2382
|
}
|
|
2376
2383
|
var Companion_instance_12;
|
|
2377
|
-
function
|
|
2384
|
+
function Companion_getInstance_15() {
|
|
2378
2385
|
return Companion_instance_12;
|
|
2379
2386
|
}
|
|
2380
2387
|
function PowerProviderTerrainPacing(delegate, gradientGain, headwindGainPerMS, minMultiplier, maxMultiplier, rampDistanceM, energyBudgetSeconds) {
|
|
@@ -2646,13 +2653,13 @@
|
|
|
2646
2653
|
this.NONE_1 = new Wind(0.0, 0.0);
|
|
2647
2654
|
}
|
|
2648
2655
|
var Companion_instance_13;
|
|
2649
|
-
function
|
|
2656
|
+
function Companion_getInstance_16() {
|
|
2650
2657
|
if (Companion_instance_13 == null)
|
|
2651
2658
|
new Companion_11();
|
|
2652
2659
|
return Companion_instance_13;
|
|
2653
2660
|
}
|
|
2654
2661
|
function Wind(speedMS, directionRad) {
|
|
2655
|
-
|
|
2662
|
+
Companion_getInstance_16();
|
|
2656
2663
|
this.speedMS_1 = speedMS;
|
|
2657
2664
|
this.directionRad_1 = directionRad;
|
|
2658
2665
|
}
|
|
@@ -2678,7 +2685,7 @@
|
|
|
2678
2685
|
function WindProviderNone() {
|
|
2679
2686
|
}
|
|
2680
2687
|
protoOf(WindProviderNone).wind_umf2tf_k$ = function (course, path, pointIndex) {
|
|
2681
|
-
return
|
|
2688
|
+
return Companion_getInstance_16().NONE_1;
|
|
2682
2689
|
};
|
|
2683
2690
|
var WindProviderNone_instance;
|
|
2684
2691
|
function WindProviderNone_getInstance() {
|
|
@@ -3426,31 +3433,38 @@
|
|
|
3426
3433
|
var previous = NaN;
|
|
3427
3434
|
var inductionVariable = 0;
|
|
3428
3435
|
if (inductionVariable < n)
|
|
3429
|
-
do {
|
|
3436
|
+
$l$loop: do {
|
|
3430
3437
|
var i = inductionVariable;
|
|
3431
3438
|
inductionVariable = inductionVariable + 1 | 0;
|
|
3432
3439
|
var a = i > 0 ? i - 1 | 0 : 0;
|
|
3433
3440
|
var b = i < (n - 1 | 0) ? i + 1 | 0 : n - 1 | 0;
|
|
3434
3441
|
var dx = frame.x_1[b] - frame.x_1[a];
|
|
3435
3442
|
var dy = frame.y_1[b] - frame.y_1[a];
|
|
3436
|
-
var tmp;
|
|
3437
3443
|
if (dx === 0.0 && dy === 0.0) {
|
|
3438
|
-
|
|
3439
|
-
|
|
3440
|
-
// Inline function 'kotlin.math.atan2' call
|
|
3441
|
-
tmp = Math.atan2(dy, dx);
|
|
3444
|
+
theta[i] = previous;
|
|
3445
|
+
continue $l$loop;
|
|
3442
3446
|
}
|
|
3443
|
-
|
|
3444
|
-
var
|
|
3445
|
-
if (
|
|
3446
|
-
|
|
3447
|
+
// Inline function 'kotlin.math.atan2' call
|
|
3448
|
+
var raw = Math.atan2(dy, dx);
|
|
3449
|
+
if (isNaN_0(previous)) {
|
|
3450
|
+
theta[i] = raw;
|
|
3451
|
+
var inductionVariable_0 = 0;
|
|
3452
|
+
if (inductionVariable_0 < i)
|
|
3453
|
+
do {
|
|
3454
|
+
var j = inductionVariable_0;
|
|
3455
|
+
inductionVariable_0 = inductionVariable_0 + 1 | 0;
|
|
3456
|
+
theta[j] = raw;
|
|
3457
|
+
}
|
|
3458
|
+
while (inductionVariable_0 < i);
|
|
3447
3459
|
} else {
|
|
3448
|
-
|
|
3460
|
+
theta[i] = previous + LocalFrame_instance.unwrap_i6c8al_k$(raw - previous);
|
|
3449
3461
|
}
|
|
3450
|
-
theta[i] = tmp_0;
|
|
3451
3462
|
previous = theta[i];
|
|
3452
3463
|
}
|
|
3453
3464
|
while (inductionVariable < n);
|
|
3465
|
+
if (isNaN_0(previous)) {
|
|
3466
|
+
fill(theta, 0.0);
|
|
3467
|
+
}
|
|
3454
3468
|
};
|
|
3455
3469
|
protoOf(CurvatureEstimator).computeCurvature_emiphc_k$ = function (frame, windowsM, sigmaThetaRad, curvatureSmoothM) {
|
|
3456
3470
|
var n = frame.get_size_woubt6_k$();
|
|
@@ -3505,15 +3519,7 @@
|
|
|
3505
3519
|
}
|
|
3506
3520
|
}
|
|
3507
3521
|
while (0 <= inductionVariable_1);
|
|
3508
|
-
|
|
3509
|
-
if (!isNaN_0(chosen)) {
|
|
3510
|
-
tmp = chosen;
|
|
3511
|
-
} else if (!isNaN_0(widest)) {
|
|
3512
|
-
tmp = widest;
|
|
3513
|
-
} else {
|
|
3514
|
-
tmp = 0.0;
|
|
3515
|
-
}
|
|
3516
|
-
raw[i] = tmp;
|
|
3522
|
+
raw[i] = !isNaN_0(chosen) ? chosen : widest;
|
|
3517
3523
|
}
|
|
3518
3524
|
while (inductionVariable < n);
|
|
3519
3525
|
var smoothed = LocalFrame_instance.smooth_kce7pb_k$(raw, frame.s_1, curvatureSmoothM);
|
|
@@ -3521,10 +3527,10 @@
|
|
|
3521
3527
|
var endIndex = smoothed.length;
|
|
3522
3528
|
// Inline function 'kotlin.js.unsafeCast' call
|
|
3523
3529
|
// Inline function 'kotlin.js.asDynamic' call
|
|
3524
|
-
var
|
|
3530
|
+
var tmp = smoothed;
|
|
3525
3531
|
// Inline function 'kotlin.js.unsafeCast' call
|
|
3526
3532
|
// Inline function 'kotlin.js.asDynamic' call
|
|
3527
|
-
arrayCopy(
|
|
3533
|
+
arrayCopy(tmp, kappa, 0, 0, endIndex);
|
|
3528
3534
|
};
|
|
3529
3535
|
protoOf(CurvatureEstimator).radiusAt_umgvjz_k$ = function (kappa) {
|
|
3530
3536
|
var tmp;
|
|
@@ -3587,7 +3593,7 @@
|
|
|
3587
3593
|
};
|
|
3588
3594
|
protoOf(LocalFrame).unproject_ym27oh_k$ = function (frame, x, y) {
|
|
3589
3595
|
var lat = frame.lat0__1 + y / 6371000.0;
|
|
3590
|
-
var lon = frame.lon0__1 + x / (6371000.0 * frame.k_1);
|
|
3596
|
+
var lon = this.unwrap_i6c8al_k$(frame.lon0__1 + x / (6371000.0 * frame.k_1));
|
|
3591
3597
|
// Inline function 'kotlin.doubleArrayOf' call
|
|
3592
3598
|
return new Float64Array([lat, lon]);
|
|
3593
3599
|
};
|
|
@@ -3609,7 +3615,8 @@
|
|
|
3609
3615
|
while (inductionVariable < last);
|
|
3610
3616
|
};
|
|
3611
3617
|
protoOf(LocalFrame).unwrap_i6c8al_k$ = function (a) {
|
|
3612
|
-
|
|
3618
|
+
var r = a - 2.0 * 3.141592653589793 * round(a / (2.0 * 3.141592653589793));
|
|
3619
|
+
return r <= -3.141592653589793 ? r + 2.0 * 3.141592653589793 : r;
|
|
3613
3620
|
};
|
|
3614
3621
|
protoOf(LocalFrame).smooth_kce7pb_k$ = function (v, s, windowM) {
|
|
3615
3622
|
var n = v.length;
|
|
@@ -3646,13 +3653,13 @@
|
|
|
3646
3653
|
// Inline function 'kotlin.math.abs' call
|
|
3647
3654
|
var x = s[j] - c;
|
|
3648
3655
|
var w = 1.0 - Math.abs(x) / windowM;
|
|
3649
|
-
if (w <= 0.0)
|
|
3656
|
+
if (w <= 0.0 || isNaN_0(v[j]))
|
|
3650
3657
|
continue $l$loop;
|
|
3651
3658
|
weightSum = weightSum + w;
|
|
3652
3659
|
valueSum = valueSum + v[j] * w;
|
|
3653
3660
|
}
|
|
3654
3661
|
while (!(j === last));
|
|
3655
|
-
out[i] = weightSum
|
|
3662
|
+
out[i] = isNaN_0(v[i]) || weightSum <= 0.0 ? v[i] : valueSum / weightSum;
|
|
3656
3663
|
}
|
|
3657
3664
|
while (inductionVariable < n);
|
|
3658
3665
|
return out;
|
|
@@ -3663,15 +3670,16 @@
|
|
|
3663
3670
|
}
|
|
3664
3671
|
function Companion_12() {
|
|
3665
3672
|
}
|
|
3666
|
-
protoOf(Companion_12).
|
|
3673
|
+
protoOf(Companion_12).assemble_7bjwpt_k$ = function (frame, center, rho, steeringLengthM, centeringLengthM, fixed) {
|
|
3667
3674
|
var n = frame.get_size_woubt6_k$();
|
|
3668
3675
|
var h0 = new Float64Array(n);
|
|
3669
3676
|
var h1 = new Float64Array(n);
|
|
3670
3677
|
var h2 = new Float64Array(n);
|
|
3671
3678
|
var linear = new Float64Array(n);
|
|
3672
|
-
var constant = 0.0;
|
|
3673
3679
|
var lambdaR = 1.0 / (steeringLengthM * steeringLengthM);
|
|
3674
3680
|
var lambdaC = 1.0 / (centeringLengthM * centeringLengthM * centeringLengthM * centeringLengthM);
|
|
3681
|
+
var meanSpacing = n > 1 ? (frame.s_1[n - 1 | 0] - frame.s_1[0]) / (n - 1 | 0) : 0.0;
|
|
3682
|
+
var tie = meanSpacing > 0.0 ? lambdaR / meanSpacing : lambdaR;
|
|
3675
3683
|
var a = new Float64Array(3);
|
|
3676
3684
|
var b = new Float64Array(3);
|
|
3677
3685
|
var inductionVariable = 0;
|
|
@@ -3684,7 +3692,13 @@
|
|
|
3684
3692
|
var weight = 0.5 * (hMinus + hPlus);
|
|
3685
3693
|
h0[i] = h0[i] + 2.0 * weight * lambdaC;
|
|
3686
3694
|
linear[i] = linear[i] - 2.0 * weight * lambdaC * center[i];
|
|
3687
|
-
|
|
3695
|
+
if (weight <= 0.0 && i >= 1 && !fixed[i]) {
|
|
3696
|
+
h0[i] = h0[i] + 2.0 * tie;
|
|
3697
|
+
var _index_0__fvwizt = i - 1 | 0;
|
|
3698
|
+
h0[_index_0__fvwizt] = h0[_index_0__fvwizt] + 2.0 * tie;
|
|
3699
|
+
var _index_0__fvwizt_0 = i - 1 | 0;
|
|
3700
|
+
h1[_index_0__fvwizt_0] = h1[_index_0__fvwizt_0] - 2.0 * tie;
|
|
3701
|
+
}
|
|
3688
3702
|
if (i < 1 || (i + 1 | 0) >= n)
|
|
3689
3703
|
continue $l$loop_0;
|
|
3690
3704
|
var denom = hPlus * hMinus * (hPlus + hMinus);
|
|
@@ -3728,37 +3742,44 @@
|
|
|
3728
3742
|
while (inductionVariable_1 <= 2);
|
|
3729
3743
|
}
|
|
3730
3744
|
while (inductionVariable_0 <= 2);
|
|
3731
|
-
constant = constant + wRho * kappaI * kappaI;
|
|
3732
3745
|
}
|
|
3733
3746
|
while (inductionVariable < n);
|
|
3734
|
-
return new OffsetEnergy(h0, h1, h2, linear
|
|
3747
|
+
return new OffsetEnergy(h0, h1, h2, linear);
|
|
3735
3748
|
};
|
|
3736
3749
|
var Companion_instance_14;
|
|
3737
|
-
function
|
|
3750
|
+
function Companion_getInstance_17() {
|
|
3738
3751
|
return Companion_instance_14;
|
|
3739
3752
|
}
|
|
3740
|
-
function OffsetEnergy(h0, h1, h2, linear
|
|
3753
|
+
function OffsetEnergy(h0, h1, h2, linear) {
|
|
3741
3754
|
this.h0__1 = h0;
|
|
3742
3755
|
this.h1__1 = h1;
|
|
3743
3756
|
this.h2__1 = h2;
|
|
3744
3757
|
this.linear_1 = linear;
|
|
3745
|
-
this.constant_1 = constant;
|
|
3746
3758
|
}
|
|
3747
3759
|
protoOf(OffsetEnergy).get_size_woubt6_k$ = function () {
|
|
3748
3760
|
return this.h0__1.length;
|
|
3749
3761
|
};
|
|
3750
|
-
protoOf(OffsetEnergy).
|
|
3751
|
-
BandedLdl_instance.multiply_dwj15t_k$(this.h0__1, this.h1__1, this.h2__1, n, scratch);
|
|
3752
|
-
var acc = this.constant_1;
|
|
3762
|
+
protoOf(OffsetEnergy).change_z3fx8j_k$ = function (from, to, gradient, delta, scratch) {
|
|
3753
3763
|
var inductionVariable = 0;
|
|
3754
|
-
var last =
|
|
3764
|
+
var last = delta.length - 1 | 0;
|
|
3755
3765
|
if (inductionVariable <= last)
|
|
3756
3766
|
do {
|
|
3757
3767
|
var i = inductionVariable;
|
|
3758
3768
|
inductionVariable = inductionVariable + 1 | 0;
|
|
3759
|
-
|
|
3769
|
+
delta[i] = to[i] - from[i];
|
|
3760
3770
|
}
|
|
3761
3771
|
while (inductionVariable <= last);
|
|
3772
|
+
BandedLdl_instance.multiply_dwj15t_k$(this.h0__1, this.h1__1, this.h2__1, delta, scratch);
|
|
3773
|
+
var acc = 0.0;
|
|
3774
|
+
var inductionVariable_0 = 0;
|
|
3775
|
+
var last_0 = delta.length - 1 | 0;
|
|
3776
|
+
if (inductionVariable_0 <= last_0)
|
|
3777
|
+
do {
|
|
3778
|
+
var i_0 = inductionVariable_0;
|
|
3779
|
+
inductionVariable_0 = inductionVariable_0 + 1 | 0;
|
|
3780
|
+
acc = acc + (gradient[i_0] + 0.5 * scratch[i_0]) * delta[i_0];
|
|
3781
|
+
}
|
|
3782
|
+
while (inductionVariable_0 <= last_0);
|
|
3762
3783
|
return acc;
|
|
3763
3784
|
};
|
|
3764
3785
|
protoOf(OffsetEnergy).gradient_zecmby_k$ = function (n, out) {
|
|
@@ -3781,7 +3802,7 @@
|
|
|
3781
3802
|
this.activeConstraints_1 = activeConstraints;
|
|
3782
3803
|
}
|
|
3783
3804
|
function isFree($this, x, lo, hi, g, epsilon) {
|
|
3784
|
-
if (
|
|
3805
|
+
if ($this.isFixed_s6zw2k_k$(lo, hi, epsilon))
|
|
3785
3806
|
return false;
|
|
3786
3807
|
if (x <= lo + epsilon && g > 0.0)
|
|
3787
3808
|
return false;
|
|
@@ -3863,7 +3884,10 @@
|
|
|
3863
3884
|
var f1 = new Float64Array(n);
|
|
3864
3885
|
var f2 = new Float64Array(n);
|
|
3865
3886
|
var rhs = new Float64Array(n);
|
|
3866
|
-
|
|
3887
|
+
var solveIndex = new Int32Array(n);
|
|
3888
|
+
var held = booleanArray(n);
|
|
3889
|
+
var delta = new Float64Array(n);
|
|
3890
|
+
$l$loop_5: while (iterations < maxIterations) {
|
|
3867
3891
|
energy.gradient_zecmby_k$(x, g);
|
|
3868
3892
|
var freeCount = 0;
|
|
3869
3893
|
var residual = 0.0;
|
|
@@ -3889,81 +3913,124 @@
|
|
|
3889
3913
|
relativeResidual = residual / referenceGradient;
|
|
3890
3914
|
if (freeCount === 0 || relativeResidual <= gradientTolerance) {
|
|
3891
3915
|
converged = true;
|
|
3892
|
-
break $l$
|
|
3893
|
-
}
|
|
3894
|
-
buildFreeSystem(this, energy, freeIndex, freeCount, f0, f1, f2);
|
|
3895
|
-
var fa0 = copyOf(f0, freeCount);
|
|
3896
|
-
var fa1 = copyOf(f1, freeCount);
|
|
3897
|
-
var fa2 = copyOf(f2, freeCount);
|
|
3898
|
-
if (!BandedLdl_instance.factor_n459o6_k$(fa0, fa1, fa2)) {
|
|
3899
|
-
break $l$loop_3;
|
|
3916
|
+
break $l$loop_5;
|
|
3900
3917
|
}
|
|
3901
3918
|
var inductionVariable_1 = 0;
|
|
3902
|
-
|
|
3903
|
-
if (inductionVariable_1 < last)
|
|
3919
|
+
if (inductionVariable_1 < n)
|
|
3904
3920
|
do {
|
|
3905
|
-
var
|
|
3921
|
+
var i_1 = inductionVariable_1;
|
|
3906
3922
|
inductionVariable_1 = inductionVariable_1 + 1 | 0;
|
|
3907
|
-
|
|
3908
|
-
}
|
|
3909
|
-
while (inductionVariable_1 < last);
|
|
3910
|
-
BandedLdl_instance.solveInPlace_jrw92v_k$(fa0, fa1, fa2, rhs);
|
|
3911
|
-
var inductionVariable_2 = 0;
|
|
3912
|
-
if (inductionVariable_2 < n)
|
|
3913
|
-
do {
|
|
3914
|
-
var i_1 = inductionVariable_2;
|
|
3915
|
-
inductionVariable_2 = inductionVariable_2 + 1 | 0;
|
|
3916
|
-
direction[i_1] = 0.0;
|
|
3917
|
-
}
|
|
3918
|
-
while (inductionVariable_2 < n);
|
|
3919
|
-
var inductionVariable_3 = 0;
|
|
3920
|
-
var last_0 = freeCount;
|
|
3921
|
-
if (inductionVariable_3 < last_0)
|
|
3922
|
-
do {
|
|
3923
|
-
var p_0 = inductionVariable_3;
|
|
3924
|
-
inductionVariable_3 = inductionVariable_3 + 1 | 0;
|
|
3925
|
-
direction[freeIndex[p_0]] = rhs[p_0];
|
|
3926
|
-
}
|
|
3927
|
-
while (inductionVariable_3 < last_0);
|
|
3928
|
-
var directionalDerivative = 0.0;
|
|
3929
|
-
var inductionVariable_4 = 0;
|
|
3930
|
-
var last_1 = freeCount;
|
|
3931
|
-
if (inductionVariable_4 < last_1)
|
|
3932
|
-
do {
|
|
3933
|
-
var p_1 = inductionVariable_4;
|
|
3934
|
-
inductionVariable_4 = inductionVariable_4 + 1 | 0;
|
|
3935
|
-
var i_2 = freeIndex[p_1];
|
|
3936
|
-
directionalDerivative = directionalDerivative + g[i_2] * direction[i_2];
|
|
3923
|
+
held[i_1] = false;
|
|
3937
3924
|
}
|
|
3938
|
-
while (
|
|
3939
|
-
if (directionalDerivative >= 0.0)
|
|
3940
|
-
break $l$loop_3;
|
|
3941
|
-
var current = energy.value_6wg803_k$(x, scratch);
|
|
3942
|
-
var step = 1.0;
|
|
3925
|
+
while (inductionVariable_1 < n);
|
|
3943
3926
|
var accepted = false;
|
|
3944
|
-
|
|
3945
|
-
|
|
3946
|
-
|
|
3947
|
-
|
|
3948
|
-
|
|
3949
|
-
|
|
3950
|
-
|
|
3951
|
-
|
|
3952
|
-
|
|
3953
|
-
|
|
3954
|
-
|
|
3927
|
+
$l$loop_4: while (true) {
|
|
3928
|
+
var solveCount = 0;
|
|
3929
|
+
var inductionVariable_2 = 0;
|
|
3930
|
+
var last = freeCount;
|
|
3931
|
+
if (inductionVariable_2 < last)
|
|
3932
|
+
do {
|
|
3933
|
+
var p = inductionVariable_2;
|
|
3934
|
+
inductionVariable_2 = inductionVariable_2 + 1 | 0;
|
|
3935
|
+
if (!held[freeIndex[p]]) {
|
|
3936
|
+
var _unary__edvuaz_0 = solveCount;
|
|
3937
|
+
solveCount = _unary__edvuaz_0 + 1 | 0;
|
|
3938
|
+
solveIndex[_unary__edvuaz_0] = freeIndex[p];
|
|
3955
3939
|
}
|
|
3956
|
-
while (inductionVariable_6 < n);
|
|
3957
|
-
var trial = energy.value_6wg803_k$(candidate, scratch);
|
|
3958
|
-
if (trial <= current + 1.0E-4 * step * directionalDerivative) {
|
|
3959
|
-
accepted = true;
|
|
3960
|
-
break $l$loop_2;
|
|
3961
3940
|
}
|
|
3962
|
-
|
|
3941
|
+
while (inductionVariable_2 < last);
|
|
3942
|
+
buildFreeSystem(this, energy, solveIndex, solveCount, f0, f1, f2);
|
|
3943
|
+
var fa0 = copyOf(f0, solveCount);
|
|
3944
|
+
var fa1 = copyOf(f1, solveCount);
|
|
3945
|
+
var fa2 = copyOf(f2, solveCount);
|
|
3946
|
+
if (!BandedLdl_instance.factor_n459o6_k$(fa0, fa1, fa2)) {
|
|
3947
|
+
break $l$loop_4;
|
|
3963
3948
|
}
|
|
3964
|
-
|
|
3949
|
+
var inductionVariable_3 = 0;
|
|
3950
|
+
var last_0 = solveCount;
|
|
3951
|
+
if (inductionVariable_3 < last_0)
|
|
3952
|
+
do {
|
|
3953
|
+
var p_0 = inductionVariable_3;
|
|
3954
|
+
inductionVariable_3 = inductionVariable_3 + 1 | 0;
|
|
3955
|
+
rhs[p_0] = -g[solveIndex[p_0]];
|
|
3956
|
+
}
|
|
3957
|
+
while (inductionVariable_3 < last_0);
|
|
3958
|
+
BandedLdl_instance.solveInPlace_jrw92v_k$(fa0, fa1, fa2, rhs);
|
|
3959
|
+
var inductionVariable_4 = 0;
|
|
3960
|
+
if (inductionVariable_4 < n)
|
|
3961
|
+
do {
|
|
3962
|
+
var i_2 = inductionVariable_4;
|
|
3963
|
+
inductionVariable_4 = inductionVariable_4 + 1 | 0;
|
|
3964
|
+
direction[i_2] = 0.0;
|
|
3965
|
+
}
|
|
3966
|
+
while (inductionVariable_4 < n);
|
|
3967
|
+
var inductionVariable_5 = 0;
|
|
3968
|
+
var last_1 = solveCount;
|
|
3969
|
+
if (inductionVariable_5 < last_1)
|
|
3970
|
+
do {
|
|
3971
|
+
var p_1 = inductionVariable_5;
|
|
3972
|
+
inductionVariable_5 = inductionVariable_5 + 1 | 0;
|
|
3973
|
+
direction[solveIndex[p_1]] = rhs[p_1];
|
|
3974
|
+
}
|
|
3975
|
+
while (inductionVariable_5 < last_1);
|
|
3976
|
+
var directionalDerivative = 0.0;
|
|
3977
|
+
var inductionVariable_6 = 0;
|
|
3978
|
+
var last_2 = solveCount;
|
|
3979
|
+
if (inductionVariable_6 < last_2)
|
|
3980
|
+
do {
|
|
3981
|
+
var p_2 = inductionVariable_6;
|
|
3982
|
+
inductionVariable_6 = inductionVariable_6 + 1 | 0;
|
|
3983
|
+
var i_3 = solveIndex[p_2];
|
|
3984
|
+
directionalDerivative = directionalDerivative + g[i_3] * direction[i_3];
|
|
3985
|
+
}
|
|
3986
|
+
while (inductionVariable_6 < last_2);
|
|
3987
|
+
if (directionalDerivative >= 0.0)
|
|
3988
|
+
break $l$loop_4;
|
|
3989
|
+
var step = 1.0;
|
|
3990
|
+
var lastStep = step;
|
|
3991
|
+
var inductionVariable_7 = 0;
|
|
3992
|
+
if (inductionVariable_7 < 20)
|
|
3993
|
+
$l$loop_2: do {
|
|
3994
|
+
var attempt = inductionVariable_7;
|
|
3995
|
+
inductionVariable_7 = inductionVariable_7 + 1 | 0;
|
|
3996
|
+
var inductionVariable_8 = 0;
|
|
3997
|
+
if (inductionVariable_8 < n)
|
|
3998
|
+
do {
|
|
3999
|
+
var i_4 = inductionVariable_8;
|
|
4000
|
+
inductionVariable_8 = inductionVariable_8 + 1 | 0;
|
|
4001
|
+
candidate[i_4] = coerceIn(x[i_4] + step * direction[i_4], lo[i_4], hi[i_4]);
|
|
4002
|
+
}
|
|
4003
|
+
while (inductionVariable_8 < n);
|
|
4004
|
+
if (energy.change_z3fx8j_k$(x, candidate, g, delta, scratch) <= 1.0E-4 * step * directionalDerivative) {
|
|
4005
|
+
accepted = true;
|
|
4006
|
+
break $l$loop_2;
|
|
4007
|
+
}
|
|
4008
|
+
lastStep = step;
|
|
4009
|
+
step = step / 2.0;
|
|
4010
|
+
}
|
|
4011
|
+
while (inductionVariable_7 < 20);
|
|
4012
|
+
if (accepted)
|
|
4013
|
+
break $l$loop_4;
|
|
4014
|
+
var newlyHeld = 0;
|
|
4015
|
+
var inductionVariable_9 = 0;
|
|
4016
|
+
var last_3 = solveCount;
|
|
4017
|
+
if (inductionVariable_9 < last_3)
|
|
4018
|
+
do {
|
|
4019
|
+
var p_3 = inductionVariable_9;
|
|
4020
|
+
inductionVariable_9 = inductionVariable_9 + 1 | 0;
|
|
4021
|
+
var i_5 = solveIndex[p_3];
|
|
4022
|
+
var target = x[i_5] + lastStep * direction[i_5];
|
|
4023
|
+
if (target < lo[i_5] || target > hi[i_5]) {
|
|
4024
|
+
held[i_5] = true;
|
|
4025
|
+
newlyHeld = newlyHeld + 1 | 0;
|
|
4026
|
+
}
|
|
4027
|
+
}
|
|
4028
|
+
while (inductionVariable_9 < last_3);
|
|
4029
|
+
if (newlyHeld === 0)
|
|
4030
|
+
break $l$loop_4;
|
|
4031
|
+
}
|
|
3965
4032
|
if (!accepted)
|
|
3966
|
-
break $l$
|
|
4033
|
+
break $l$loop_5;
|
|
3967
4034
|
// Inline function 'kotlin.collections.copyInto' call
|
|
3968
4035
|
var endIndex = candidate.length;
|
|
3969
4036
|
// Inline function 'kotlin.js.unsafeCast' call
|
|
@@ -3975,18 +4042,21 @@
|
|
|
3975
4042
|
iterations = iterations + 1 | 0;
|
|
3976
4043
|
}
|
|
3977
4044
|
var active = 0;
|
|
3978
|
-
var
|
|
3979
|
-
if (
|
|
4045
|
+
var inductionVariable_10 = 0;
|
|
4046
|
+
if (inductionVariable_10 < n)
|
|
3980
4047
|
do {
|
|
3981
|
-
var
|
|
3982
|
-
|
|
3983
|
-
if (x[
|
|
4048
|
+
var i_6 = inductionVariable_10;
|
|
4049
|
+
inductionVariable_10 = inductionVariable_10 + 1 | 0;
|
|
4050
|
+
if (x[i_6] <= lo[i_6] + boundEpsilonM || x[i_6] >= hi[i_6] - boundEpsilonM) {
|
|
3984
4051
|
active = active + 1 | 0;
|
|
3985
4052
|
}
|
|
3986
4053
|
}
|
|
3987
|
-
while (
|
|
4054
|
+
while (inductionVariable_10 < n);
|
|
3988
4055
|
return new QpResult(x, iterations, relativeResidual, converged, active);
|
|
3989
4056
|
};
|
|
4057
|
+
protoOf(OffsetQp).isFixed_s6zw2k_k$ = function (lo, hi, epsilon) {
|
|
4058
|
+
return hi - lo <= 2.0 * epsilon;
|
|
4059
|
+
};
|
|
3990
4060
|
var OffsetQp_instance;
|
|
3991
4061
|
function OffsetQp_getInstance() {
|
|
3992
4062
|
return OffsetQp_instance;
|
|
@@ -3996,13 +4066,13 @@
|
|
|
3996
4066
|
this.DEFAULT_1 = new CurvatureOptions();
|
|
3997
4067
|
}
|
|
3998
4068
|
var Companion_instance_15;
|
|
3999
|
-
function
|
|
4069
|
+
function Companion_getInstance_18() {
|
|
4000
4070
|
if (Companion_instance_15 == null)
|
|
4001
4071
|
new Companion_13();
|
|
4002
4072
|
return Companion_instance_15;
|
|
4003
4073
|
}
|
|
4004
4074
|
function CurvatureOptions(enabled, geometrySmoothWindowM, curvatureWindowsM, headingNoiseRad, curvatureSmoothWindowM) {
|
|
4005
|
-
|
|
4075
|
+
Companion_getInstance_18();
|
|
4006
4076
|
enabled = enabled === VOID ? true : enabled;
|
|
4007
4077
|
geometrySmoothWindowM = geometrySmoothWindowM === VOID ? 3.0 : geometrySmoothWindowM;
|
|
4008
4078
|
curvatureWindowsM = curvatureWindowsM === VOID ? listOf_0([3.0, 6.0, 12.0, 25.0]) : curvatureWindowsM;
|
|
@@ -4217,6 +4287,17 @@
|
|
|
4217
4287
|
var frame = tmp;
|
|
4218
4288
|
CurvatureEstimator_instance.computeHeadings_ev7p13_k$(frame);
|
|
4219
4289
|
CurvatureEstimator_instance.computeCurvature_emiphc_k$(frame, toDoubleArray(options.curvature_1.curvatureWindowsM_1), options.curvature_1.headingNoiseRad_1, options.curvature_1.curvatureSmoothWindowM_1);
|
|
4290
|
+
var inductionVariable = 0;
|
|
4291
|
+
var last = frame.get_size_woubt6_k$();
|
|
4292
|
+
if (inductionVariable < last)
|
|
4293
|
+
do {
|
|
4294
|
+
var i = inductionVariable;
|
|
4295
|
+
inductionVariable = inductionVariable + 1 | 0;
|
|
4296
|
+
if (isNaN_0(frame.kappa_1[i])) {
|
|
4297
|
+
frame.kappa_1[i] = 0.0;
|
|
4298
|
+
}
|
|
4299
|
+
}
|
|
4300
|
+
while (inductionVariable < last);
|
|
4220
4301
|
return frame;
|
|
4221
4302
|
}
|
|
4222
4303
|
function analyzeFrame($this, path, frame, options) {
|
|
@@ -4250,15 +4331,24 @@
|
|
|
4250
4331
|
tmp_3 = tmp_3 + 1 | 0;
|
|
4251
4332
|
}
|
|
4252
4333
|
var rho = tmp_5;
|
|
4253
|
-
var
|
|
4334
|
+
var tmp_8 = Companion_instance_14;
|
|
4335
|
+
var tmp_9 = 0;
|
|
4336
|
+
var tmp_10 = frame.get_size_woubt6_k$();
|
|
4337
|
+
var tmp_11 = booleanArray(tmp_10);
|
|
4338
|
+
while (tmp_9 < tmp_10) {
|
|
4339
|
+
var tmp_12 = tmp_9;
|
|
4340
|
+
tmp_11[tmp_12] = OffsetQp_instance.isFixed_s6zw2k_k$(bounds.lo_1[tmp_12], bounds.hi_1[tmp_12], options.boundEpsilonM_1);
|
|
4341
|
+
tmp_9 = tmp_9 + 1 | 0;
|
|
4342
|
+
}
|
|
4343
|
+
var energy = tmp_8.assemble_7bjwpt_k$(frame, center, rho, options.steeringLengthM_1, options.centeringLengthM_1, tmp_11);
|
|
4254
4344
|
var seed = center;
|
|
4255
4345
|
var solved = OffsetQp_instance.solve_j37bz7_k$(energy, bounds.lo_1, bounds.hi_1, seed, options.maxNewtonIterations_1, options.gradientTolerance_1, options.boundEpsilonM_1);
|
|
4256
4346
|
var trajectoryCurvature = measureOffsetCurvature($this, frame, solved.offset_1, options);
|
|
4257
|
-
var
|
|
4347
|
+
var tmp_13 = frame.get_size_woubt6_k$();
|
|
4258
4348
|
// Inline function 'kotlin.collections.copyOf' call
|
|
4259
4349
|
// Inline function 'kotlin.js.asDynamic' call
|
|
4260
|
-
var tmp$ret$
|
|
4261
|
-
return new RacingLineReport(
|
|
4350
|
+
var tmp$ret$4 = frame.kappa_1.slice();
|
|
4351
|
+
return new RacingLineReport(tmp_13, corners, tmp$ret$4, bounds.lo_1, bounds.hi_1, bounds.halfWidthM_1, solved.offset_1, trajectoryCurvature, solved.iterations_1, solved.gradientInfNorm_1, solved.converged_1, solved.activeConstraints_1);
|
|
4262
4352
|
}
|
|
4263
4353
|
function measureOffsetCurvature($this, frame, offset, options) {
|
|
4264
4354
|
var size = frame.get_size_woubt6_k$();
|
|
@@ -4405,7 +4495,7 @@
|
|
|
4405
4495
|
return tmp;
|
|
4406
4496
|
};
|
|
4407
4497
|
var Companion_instance_16;
|
|
4408
|
-
function
|
|
4498
|
+
function Companion_getInstance_19() {
|
|
4409
4499
|
return Companion_instance_16;
|
|
4410
4500
|
}
|
|
4411
4501
|
function values_1() {
|
|
@@ -4460,13 +4550,13 @@
|
|
|
4460
4550
|
this.DEFAULT_1 = new RacingLineOptions();
|
|
4461
4551
|
}
|
|
4462
4552
|
var Companion_instance_17;
|
|
4463
|
-
function
|
|
4553
|
+
function Companion_getInstance_20() {
|
|
4464
4554
|
if (Companion_instance_17 == null)
|
|
4465
4555
|
new Companion_15();
|
|
4466
4556
|
return Companion_instance_17;
|
|
4467
4557
|
}
|
|
4468
4558
|
function RacingLineOptions(enabled, defaultRoadWidthM, edgeMarginM, corridor, cornerEnterRadiusM, cornerExitRadiusM, minCornerLengthM, minCornerTurnDeg, hairpinTurnDeg, gentleRadiusM, regularityFactor, selfProximityGapM, straightRunM, straightRadiusM, widthSmoothWindowM, objectiveRadiusM, steeringLengthM, centeringLengthM, maxNewtonIterations, gradientTolerance, boundEpsilonM, curvature, simplifyToleranceCapM) {
|
|
4469
|
-
|
|
4559
|
+
Companion_getInstance_20();
|
|
4470
4560
|
enabled = enabled === VOID ? false : enabled;
|
|
4471
4561
|
defaultRoadWidthM = defaultRoadWidthM === VOID ? 6.0 : defaultRoadWidthM;
|
|
4472
4562
|
edgeMarginM = edgeMarginM === VOID ? 0.5 : edgeMarginM;
|
|
@@ -4488,7 +4578,7 @@
|
|
|
4488
4578
|
maxNewtonIterations = maxNewtonIterations === VOID ? 200 : maxNewtonIterations;
|
|
4489
4579
|
gradientTolerance = gradientTolerance === VOID ? 1.0E-8 : gradientTolerance;
|
|
4490
4580
|
boundEpsilonM = boundEpsilonM === VOID ? 1.0E-6 : boundEpsilonM;
|
|
4491
|
-
curvature = curvature === VOID ?
|
|
4581
|
+
curvature = curvature === VOID ? Companion_getInstance_18().DEFAULT_1 : curvature;
|
|
4492
4582
|
simplifyToleranceCapM = simplifyToleranceCapM === VOID ? 2.0 : simplifyToleranceCapM;
|
|
4493
4583
|
this.enabled_1 = enabled;
|
|
4494
4584
|
this.defaultRoadWidthM_1 = defaultRoadWidthM;
|
|
@@ -5158,19 +5248,14 @@
|
|
|
5158
5248
|
}
|
|
5159
5249
|
function elevationProviderFor(options) {
|
|
5160
5250
|
_init_properties_EngineJsApi_kt__9bputf();
|
|
5161
|
-
var
|
|
5162
|
-
var
|
|
5163
|
-
|
|
5164
|
-
|
|
5165
|
-
} else {
|
|
5166
|
-
tmp = tmp1_elvis_lhs;
|
|
5167
|
-
}
|
|
5168
|
-
var zoom = tmp;
|
|
5169
|
-
return new ElevationProvider(new ElevationProviderConfig(zoom));
|
|
5251
|
+
var tmp = Companion_getInstance_3();
|
|
5252
|
+
var tmp1_elvis_lhs = options == null ? null : options.demSource;
|
|
5253
|
+
var tmp_0 = tmp.byId_8gmd94_k$(tmp1_elvis_lhs == null ? Companion_getInstance_3().DEFAULT_1.id_1 : tmp1_elvis_lhs);
|
|
5254
|
+
return provider(tmp_0, options == null ? null : options.demZoom);
|
|
5170
5255
|
}
|
|
5171
5256
|
function parseCorridor(name) {
|
|
5172
5257
|
_init_properties_EngineJsApi_kt__9bputf();
|
|
5173
|
-
return name == null ?
|
|
5258
|
+
return name == null ? Companion_getInstance_20().DEFAULT_1.corridor_1 : Companion_instance_16.byId_8gmd94_k$(name);
|
|
5174
5259
|
}
|
|
5175
5260
|
function defaultJsOptions() {
|
|
5176
5261
|
_init_properties_EngineJsApi_kt__9bputf();
|
|
@@ -5186,11 +5271,11 @@
|
|
|
5186
5271
|
}
|
|
5187
5272
|
function toRoadCondition(_this__u8e3s4) {
|
|
5188
5273
|
_init_properties_EngineJsApi_kt__9bputf();
|
|
5189
|
-
var tmp0_elvis_lhs =
|
|
5274
|
+
var tmp0_elvis_lhs = Companion_getInstance_8().fromWire_2092k5_k$(_this__u8e3s4);
|
|
5190
5275
|
var tmp;
|
|
5191
5276
|
if (tmp0_elvis_lhs == null) {
|
|
5192
5277
|
// Inline function 'kotlin.error' call
|
|
5193
|
-
var message = 'Unknown CyclistDto.roadCondition: ' + _this__u8e3s4 + ' (expected one of ' + toString(
|
|
5278
|
+
var message = 'Unknown CyclistDto.roadCondition: ' + _this__u8e3s4 + ' (expected one of ' + toString(Companion_getInstance_8().get_wireNames_7fokbq_k$()) + ')';
|
|
5194
5279
|
throw IllegalStateException_init_$Create$(toString(message));
|
|
5195
5280
|
} else {
|
|
5196
5281
|
tmp = tmp0_elvis_lhs;
|
|
@@ -5462,7 +5547,7 @@
|
|
|
5462
5547
|
CYCLIST_KEYS = setOf_0(['massKg', 'cd', 'frontalAreaM2', 'maxLeanAngleDeg', 'maxBrakeG', 'maxSpeedKmH', 'roadCondition']);
|
|
5463
5548
|
BIKE_KEYS = setOf_0(['crr', 'inertiaFront', 'inertiaRear', 'wheelRadiusM', 'efficiency', 'maxPedalingLeanAngleDeg']);
|
|
5464
5549
|
WIND_KEYS = setOf_0(['windSpeed', 'windDirection']);
|
|
5465
|
-
ENHANCE_OPTIONS_KEYS = setOf_0(['fixElevation', 'computeMaxSpeeds', 'virtualizeTrack', 'computeOnePointPerSecond', 'simplifyEnabled', 'simplifyToleranceM', 'simplifyZExaggeration', 'wPrimeBalanceEnabled', 'wPrimeBalanceCriticalPower', 'wPrimeBalanceWPrime', 'curvatureEnabled', 'racingLineEnabled', 'racingLineCorridor', 'racingLineRoadWidthM', 'elevationGainPreset', 'elevationGainThresholdM', 'elevationGainEnabled', 'elevationSmoothWindowM', 'demZoom']);
|
|
5550
|
+
ENHANCE_OPTIONS_KEYS = setOf_0(['fixElevation', 'computeMaxSpeeds', 'virtualizeTrack', 'computeOnePointPerSecond', 'simplifyEnabled', 'simplifyToleranceM', 'simplifyZExaggeration', 'wPrimeBalanceEnabled', 'wPrimeBalanceCriticalPower', 'wPrimeBalanceWPrime', 'curvatureEnabled', 'racingLineEnabled', 'racingLineCorridor', 'racingLineRoadWidthM', 'elevationGainPreset', 'elevationGainThresholdM', 'elevationGainEnabled', 'elevationSmoothWindowM', 'demZoom', 'demSource']);
|
|
5466
5551
|
}
|
|
5467
5552
|
}
|
|
5468
5553
|
//region block: post-declaration
|