Référence
TrackMetric
Convertir les fractions de voie et les distances en mètres.
Contexte d’utilisation
| Module | Package | Source SDK |
|---|---|---|
| Kotlin/JVM | fr.nimby.sdk | kotlin-client/src/main/kotlin/fr/nimby/sdk/TrackMetric.kt |
API publique du SDK 0.9.0-alpha.2. Chaque entrée donne la signature Kotlin et son contrat : sens de la valeur, conditions d’utilisation et effets à connaître. Choisissez les imports du module indiqué ci-dessus.
import fr.nimby.sdk.TrackMetric
import fr.nimby.sdk.TrackDirectionUnités et validation
| Élément | Type / unité | Validation |
|---|---|---|
| trackId | Long opaque | Non nul. |
| lengthM | Double · mètres | Fini et strictement positif. |
| offsetM(fraction) | Double · mètres | fraction finie dans [0, 1]. |
| fraction(offsetM) | Double · fraction | offsetM fini dans [0, lengthM]. |
| distanceM(fromFraction, toFraction) | Double · mètres | Distance absolue, sans notion d’itinéraire. |
val metric = fr.nimby.sdk.TrackMetric(trackId = 1L, lengthM = 800.0)
check(metric.offsetM(0.25) == 200.0)
check(metric.fraction(400.0) == 0.5)
check(metric.distanceM(0.75, 0.25) == 400.0)TrackMetric
data class TrackMetric(val trackId: Long, val lengthM: Double)Longueur longitudinale observée en mètres : identifiant non nul, longueur finie strictement positive. Convertit localement fractions et mètres ; ne prouve pas une autorisation de construction.
TrackMetric.trackId
val trackId: LongIdentité de la voie mesurée, non nulle.
TrackMetric.lengthM
val lengthM: DoubleLongueur longitudinale en mètres, finie et strictement positive.
TrackMetric.offsetM
fun offsetM(fraction: Double): DoubleConvertit une fraction finie entre 0 et 1 en mètres depuis l’origine de la voie ; argument invalide rejeté.
TrackMetric.fraction
fun fraction(offsetM: Double): DoubleConvertit une distance finie entre 0 et lengthM en fraction ; ne renverse pas le sens.
TrackMetric.distanceM
fun distanceM(fromFraction: Double, toFraction: Double): DoubleDistance absolue en mètres entre deux fractions valides sur cette même voie ; pas une distance d’itinéraire.
TrackMetric.positionAtMetres
fun positionAtMetres(offsetM: Double, direction: TrackDirection): PositionConstruit une Position à la distance donnée depuis l’origine, avec le sens choisi. Les limites de construction restent à vérifier séparément.
TrackDirection
enum class TrackDirection(val nativeValue: Int) {
Forward(1),
Backward(-1)
}Sens longitudinal dans la représentation de la voie, indépendant de son orientation sur la carte.
TrackDirection.nativeValue
val nativeValue: IntValeur +1 pour Forward, -1 pour Backward, utilisable dans Position.direction.
TrackDirection.Forward
Forward(1)Sens des fractions croissantes, de 0 vers 1.
TrackDirection.Backward
Backward(-1)Sens des fractions décroissantes, de 1 vers 0.