40 lines
985 B
Go
40 lines
985 B
Go
package repository
|
|
|
|
import "joylink.club/rtsssimulation/repository/model/proto"
|
|
|
|
type SectionalCurvature struct {
|
|
Identity
|
|
kms []*proto.Kilometer
|
|
radius int32 //半径 mm
|
|
startLinkPosition *LinkPosition
|
|
endLinkPosition *LinkPosition
|
|
}
|
|
|
|
func NewSectionalCurvature(id string, kms []*proto.Kilometer, radius int32) *SectionalCurvature {
|
|
return &SectionalCurvature{
|
|
Identity: identity{id, proto.DeviceType_DeviceType_SectionalCurvature},
|
|
kms: kms,
|
|
radius: radius,
|
|
}
|
|
}
|
|
|
|
func (s *SectionalCurvature) bindStartLinkPosition(position *LinkPosition) {
|
|
s.startLinkPosition = position
|
|
}
|
|
|
|
func (s *SectionalCurvature) bindEndLinkPosition(position *LinkPosition) {
|
|
s.endLinkPosition = position
|
|
}
|
|
|
|
func (s *SectionalCurvature) StartLinkPosition() *LinkPosition {
|
|
return s.startLinkPosition
|
|
}
|
|
|
|
func (s *SectionalCurvature) EndLinkPosition() *LinkPosition {
|
|
return s.endLinkPosition
|
|
}
|
|
|
|
func (s *SectionalCurvature) Radius() int32 {
|
|
return s.radius
|
|
}
|