GT RoboCup SSL
Soccer software, robot firmware
SystemState Class Reference

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
 

Detailed Description

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

+ Collaboration diagram for SystemState:

Member Data Documentation

◆ self

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.


The documentation for this class was generated from the following files: