GT RoboCup SSL
Soccer software, robot firmware
|
Holds the positions of everything on the field. More...
Public Member Functions | |
SystemState (Context *const context) | |
RJ::Timestamp | timestamp () const |
std::vector< int > | ourValidIds () |
Public Attributes | |
RJ::Time | time |
std::vector< OurRobot * > | self |
All possible robots. More... | |
std::vector< OpponentRobot * > | opp |
Ball | ball |
std::shared_ptr< Packet::LogFrame > | logFrame |
Holds the positions of everything on the field.
this has the debugging drawer for the gui but it also contains the game state, so this is passed game state information contains essentially everything data wise used in all threads, this is the class that is passed to for data
std::vector<OurRobot*> SystemState::self |
All possible robots.
Robots that aren't on the field are present here because a robot may be removed and replaced, and that particular robot may be important (e.g. goalie).
Plays need to keep Robot*'s around, so we can't just delete the robot since the play needs to see that it is no longer visible. We don't want multiple Robots for the same shell because that would give the appearance that a new robot appeared when it was actually just pushed back on the field.