Skip to content

Commit a376ff6

Browse files
committed
Overwrite tracker state for GC with each new tracker frame
1 parent 891871d commit a376ff6

File tree

1 file changed

+2
-41
lines changed

1 file changed

+2
-41
lines changed

internal/app/engine/tracker.go

Lines changed: 2 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package engine
22

33
import (
4-
"github.com/RoboCup-SSL/ssl-game-controller/internal/app/geom"
54
"github.com/RoboCup-SSL/ssl-game-controller/internal/app/tracker"
65
)
76

@@ -17,7 +16,8 @@ func (e *Engine) ProcessTrackerFrame(wrapperFrame *tracker.TrackerWrapperPacket)
1716
}
1817
e.gcState.TrackerState[*wrapperFrame.Uuid] = &state
1918

20-
// TODO update tracker GC state as well
19+
// for now, all tracker sources update the GC state
20+
e.gcState.TrackerStateGc = &state
2121
}
2222

2323
func convertRobots(robots []*tracker.TrackedRobot) (rs []*Robot) {
@@ -40,42 +40,3 @@ func convertBalls(balls []*tracker.TrackedBall) *Ball {
4040
}
4141
return &ball
4242
}
43-
44-
//func (e *Engine) steadyCommonlyAgreedOnBallPos() *geom.Vector2 {
45-
// var ballPos *geom.Vector2
46-
// for _, trackerState := range e.gcState.TrackerState {
47-
// if trackerState.BallPos != nil &&
48-
// trackerState.BallVel != nil {
49-
// if trackerState.BallVel.Length() > ballSteadyThreshold {
50-
// // ball is still moving
51-
// return nil
52-
// }
53-
// if ballPos == nil {
54-
// // first steady ball pos
55-
// ballPos = trackerState.BallPos
56-
// } else if ballPos.DistanceTo(trackerState.BallPos) > 0.1 {
57-
// // additional steady ball pos that differs from the first one
58-
// return nil
59-
// }
60-
// }
61-
// }
62-
// return ballPos
63-
//}
64-
65-
//func (e *Engine) uniqueBallPoss() (ballPoss []*geom.Vector2) {
66-
// for _, trackerState := range e.gcState.TrackerState {
67-
// if trackerState.BallPos != nil && !containsPos(ballPoss, trackerState.BallPos) {
68-
// ballPoss = append(ballPoss, trackerState.BallPos)
69-
// }
70-
// }
71-
// return
72-
//}
73-
74-
func containsPos(l []*geom.Vector2, v *geom.Vector2) bool {
75-
for _, ballPos := range l {
76-
if ballPos.DistanceTo(v) < 0.1 {
77-
return true
78-
}
79-
}
80-
return false
81-
}

0 commit comments

Comments
 (0)