JSim 2026.06.01-p(1)
Loading...
Searching...
No Matches
frcsim::IntakeSimulation Class Reference

Lightweight intake interaction model that consumes nearby balls into robot inventory. More...

#include <intake_simulation.hpp>

Classes

struct  Config
 Runtime configuration for intake behavior. More...
struct  ContactEvent
 Contact event generated during update() proximity checks. More...

Public Member Functions

 IntakeSimulation ()=default
 IntakeSimulation (const Config &config)
 Constructs intake simulation with explicit config.
void setConfig (const Config &config)
 Replaces intake configuration.
const Configconfig () const
 Returns current configuration.
void setRunning (bool running)
 Enables/disables intake processing.
bool isRunning () const
 Returns whether intake processing is active.
void setCustomIntakeCondition (const std::function< bool(std::size_t, const BallGamepieceSim &)> &predicate)
 Sets optional custom acceptance predicate for candidate balls.
std::size_t gamePiecesInIntakeCount () const
 Returns current intake inventory count.
bool obtainGamePieceFromIntake ()
 Removes one stored piece from intake inventory.
const std::deque< ContactEvent > & recentEvents () const
 Returns contact events generated during the most recent update call.
void update (BallGamepieceSim &sim)
 Performs proximity scanning and intake processing for one simulation step.

Detailed Description

Lightweight intake interaction model that consumes nearby balls into robot inventory.

Constructor & Destructor Documentation

◆ IntakeSimulation() [1/2]

frcsim::IntakeSimulation::IntakeSimulation ( )
default

◆ IntakeSimulation() [2/2]

frcsim::IntakeSimulation::IntakeSimulation ( const Config & config)
inlineexplicit

Constructs intake simulation with explicit config.

Parameters
configIntake configuration to store.

Member Function Documentation

◆ config()

const Config & frcsim::IntakeSimulation::config ( ) const
inline

Returns current configuration.

Returns
Immutable config reference.

◆ gamePiecesInIntakeCount()

std::size_t frcsim::IntakeSimulation::gamePiecesInIntakeCount ( ) const
inline

Returns current intake inventory count.

Returns
Number of stored pieces.

◆ isRunning()

bool frcsim::IntakeSimulation::isRunning ( ) const
inline

Returns whether intake processing is active.

Returns
True if running.

◆ obtainGamePieceFromIntake()

bool frcsim::IntakeSimulation::obtainGamePieceFromIntake ( )
inline

Removes one stored piece from intake inventory.

Returns
True when a piece was available and consumed.

◆ recentEvents()

const std::deque< ContactEvent > & frcsim::IntakeSimulation::recentEvents ( ) const
inline

Returns contact events generated during the most recent update call.

Returns
Event deque.

◆ setConfig()

void frcsim::IntakeSimulation::setConfig ( const Config & config)
inline

Replaces intake configuration.

Parameters
configNew configuration.

◆ setCustomIntakeCondition()

void frcsim::IntakeSimulation::setCustomIntakeCondition ( const std::function< bool(std::size_t, const BallGamepieceSim &)> & predicate)
inline

Sets optional custom acceptance predicate for candidate balls.

Parameters
predicateCallable receiving gamepiece index and simulator state.

◆ setRunning()

void frcsim::IntakeSimulation::setRunning ( bool running)
inline

Enables/disables intake processing.

Parameters
runningTrue to enable update processing.

◆ update()

void frcsim::IntakeSimulation::update ( BallGamepieceSim & sim)
inline

Performs proximity scanning and intake processing for one simulation step.

Parameters
simMutable gamepiece simulator state.

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