2023-11-09 14:04:36 +08:00
|
|
|
|
package component
|
2023-11-09 14:59:18 +08:00
|
|
|
|
|
2023-11-13 13:53:46 +08:00
|
|
|
|
import (
|
|
|
|
|
"fmt"
|
|
|
|
|
"joylink.club/ecs"
|
|
|
|
|
)
|
2023-11-09 14:59:18 +08:00
|
|
|
|
|
|
|
|
|
// TrainPositionInfo 列车当前位置信息
|
|
|
|
|
type TrainPositionInfo struct {
|
2023-11-10 16:03:33 +08:00
|
|
|
|
//列车头当前运行方向(true偏移量增大/false减小方向)
|
|
|
|
|
//link 由a->b偏移量增大
|
|
|
|
|
Up bool
|
2023-11-10 10:39:41 +08:00
|
|
|
|
//列车长度 mm
|
2023-11-10 16:03:33 +08:00
|
|
|
|
Len int64
|
2024-07-31 17:08:53 +08:00
|
|
|
|
|
2023-11-10 10:39:41 +08:00
|
|
|
|
//列车所在轨道link
|
2023-11-10 16:03:33 +08:00
|
|
|
|
HeadLink string
|
2023-11-10 10:39:41 +08:00
|
|
|
|
//列车所在link偏移量(mm)
|
2023-11-10 16:03:33 +08:00
|
|
|
|
HeadLinkOffset int64
|
|
|
|
|
//列车所在轨道link
|
|
|
|
|
TailLink string
|
|
|
|
|
//列车所在link偏移量(mm)
|
|
|
|
|
TailLinkOffset int64
|
2024-07-31 17:08:53 +08:00
|
|
|
|
|
|
|
|
|
//车头所在物理区段
|
|
|
|
|
HeadSectionId string
|
|
|
|
|
//车头所在物理区段偏移量
|
|
|
|
|
HeadSectionOffset uint32
|
|
|
|
|
//车尾所在物理区段
|
|
|
|
|
TailSectionId string
|
|
|
|
|
//车尾所在物理区段偏移量
|
|
|
|
|
TailSectionOffset uint32
|
2023-11-09 14:59:18 +08:00
|
|
|
|
}
|
|
|
|
|
|
2023-11-13 13:53:46 +08:00
|
|
|
|
func (t *TrainPositionInfo) ToString() string {
|
|
|
|
|
return fmt.Sprintf("Up=%t len=%d headLink=%s headOff=%d tailLink=%s tailOff=%d", t.Up, t.Len, t.HeadLink, t.HeadLinkOffset, t.TailLink, t.TailLinkOffset)
|
|
|
|
|
}
|
|
|
|
|
|
2023-11-09 14:59:18 +08:00
|
|
|
|
var (
|
|
|
|
|
TrainPositionInfoType = ecs.NewComponentType[TrainPositionInfo]()
|
|
|
|
|
)
|