NRF SDK 0.9

Référence

ToolTopology

Parcours des voies avec distances et connexions observées.

Contexte d’utilisation

ModulePackageSource SDK
Kotlin/Nativenimbykotlin/src/nimby/ToolTopology.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.

Imports de cette page
import nimby.ToolTrackEnd
import nimby.ToolTrackConnection
import nimby.ToolRouteTrack
import nimby.ToolTopology
import nimby.topology

ToolTrackEnd

nimby · class
enum class ToolTrackEnd {
    A,
    B
}

Extrémité géométrique d’une voie, indépendante de la direction actuelle d’un train.

ToolTrackEnd.A

nimby · enum-entry
A

Origine géométrique : fraction zéro et distance zéro. Un parcours entrant par A continue vers B.

ToolTrackEnd.B

nimby · enum-entry
B

Autre extrémité : fraction un et distance égale à la longueur. Un parcours entrant par B continue vers A.

ToolTrackConnection

nimby · interface
sealed interface ToolTrackConnection

Résultat typé d’un raccordement observé : Join exploitable, Junction à traiter explicitement ou Unknown. Ne choisit aucune branche d’aiguille.

ToolTrackConnection.Unknown

nimby · object
data object Unknown : ToolTrackConnection

Raccord insuffisamment connu, absent, ambigu ou vers une voie sans longueur exploitable. Ne signifie pas fin de voie ; arrêtez le parcours.

ToolTrackConnection.Junction

nimby · object
data object Junction : ToolTrackConnection

Une aiguille occupe cette extrémité. Le SDK ne sélectionne pas de branche ; votre outil doit refuser ou appliquer une politique de route explicite.

ToolTrackConnection.Join

nimby · class
data class Join(val trackId: Long, val entry: ToolTrackEnd) : ToolTrackConnection

Raccord réciproque vers une voie connue avec longueur exploitable. entry identifie l’extrémité d’arrivée sur cette autre voie.

ToolTrackConnection.Join.trackId

nimby · val
val trackId: Long

Identifiant de la voie suivante dans cette topologie, à résoudre avec track(trackId).

ToolTrackConnection.Join.entry

nimby · val
val entry: ToolTrackEnd

Extrémité par laquelle le parcours entre sur la voie suivante. A implique un parcours vers B, et inversement.

ToolRouteTrack

nimby · class
data class ToolRouteTrack(
    val id: Long,
    val lengthM: Double,
    val a: ToolTrackConnection,
    val b: ToolTrackConnection,
    val junctionOffsetsM: List<Double>,
)

Vue de voie exploitable pour un calcul de distance : longueur connue, raccords typés et positions d’aiguilles. Les aiguilles intérieures doivent aussi être contrôlées.

ToolRouteTrack.id

nimby · val
val id: Long

Identifiant stable dans la copie de topologie ; ne vaut pas autorisation de poser dans l’état actuel du monde.

ToolRouteTrack.lengthM

nimby · val
val lengthM: Double

Longueur finie strictement positive, en mètres ; les voies sans longueur connue sont exclues de cette vue.

ToolRouteTrack.a

nimby · val
val a: ToolTrackConnection

Raccordement typé à l’extrémité A ; consulter aussi junctionOffsetsM avant d’atteindre cette extrémité.

ToolRouteTrack.b

nimby · val
val b: ToolTrackConnection

Raccordement typé à l’extrémité B ; aucune branche n’est choisie implicitement.

ToolRouteTrack.junctionOffsetsM

nimby · val
val junctionOffsetsM: List<Double>

Positions d’aiguilles triées, en mètres depuis A, y compris les raccords abordés en talon. Une liste vide concerne cette copie seulement.

ToolRouteTrack.connection

nimby · fun
fun connection(end: ToolTrackEnd): ToolTrackConnection

Retourne a ou b selon l’extrémité demandée, sans relire le réseau et sans choisir de branche.

ToolTopology

nimby · class
class ToolTopology

Copie indexée obtenue par ToolNetwork.topology. Omet voies sans longueur connue et leurs signaux, laissant les raccords inconnus. Réutilisez-la pour le calcul puis relisez avant une mutation ; constructeur réservé au SDK.

ToolTopology.worldId

nimby · val
val worldId: String

Identité de la partie de la copie d’origine. À comparer au contexte avant toute réutilisation d’un plan.

ToolTopology.generation

nimby · val
val generation: Long

Génération de session de la topologie, conservée depuis ToolNetwork.

ToolTopology.tracks

nimby · val
val tracks: List<ToolRouteTrack>

Voies de longueur connue avec connexions typées. Pour un parcours court, préférez track(id) à une nouvelle recherche dans toute la liste.

ToolTopology.signals

nimby · val
val signals: List<ToolSignal>

Signaux rattachés aux voies exploitables de cette topologie ; ceux des voies omises ne sont pas conservés ici.

ToolTopology.track

nimby · fun
fun track(id: Long): ToolRouteTrack?

Recherche une voie par identifiant dans la copie ; null si absente ou sans longueur connue. Ne déclenche aucune lecture de la partie.

ToolTopology.signal

nimby · fun
fun signal(id: Long): ToolSignal?

Recherche un signal conservé dans la copie ; null s’il est absent ou rattaché à une voie omise. Ne prouve pas qu’il a été supprimé en jeu.

topology

nimby · fun
fun ToolNetwork.topology(): ToolTopology

Valide la copie et prépare ses recherches de distances, aiguilles et raccordements. Refuse identités dupliquées, longueurs, fractions ou directions invalides. Les liens absents ou ambigus deviennent Unknown ; aucune capture supplémentaire.