JSim 2026.06.01-p(1)
Loading...
Searching...
No Matches
frcsim::FieldWall Struct Reference

Helper factory for perimeter wall obstacles. More...

#include <field_wall.hpp>

Static Public Member Functions

static std::array< FieldObstacle, 4 > makeAxisAlignedPerimeter (const Vector3 &min_corner_m, const Vector3 &max_corner_m, double wall_height_m, double restitution=0.25, double friction=0.6)
 Creates four axis-aligned box walls around a rectangular field footprint.

Detailed Description

Helper factory for perimeter wall obstacles.

Coordinate conventions follow WPILib field coordinates (blue-alliance origin):

  • Origin is at the blue-alliance right-corner wall intersection when viewed from above.
  • +X points from blue toward red downfield.
  • +Y points across the field width.
  • +Z points upward.

Member Function Documentation

◆ makeAxisAlignedPerimeter()

std::array< FieldObstacle, 4 > frcsim::FieldWall::makeAxisAlignedPerimeter ( const Vector3 & min_corner_m,
const Vector3 & max_corner_m,
double wall_height_m,
double restitution = 0.25,
double friction = 0.6 )
inlinestatic

Creates four axis-aligned box walls around a rectangular field footprint.

Parameters
min_corner_mLower world-space corner of the field bounds.
max_corner_mUpper world-space corner of the field bounds.
wall_height_mWall height in meters.
restitutionWall restitution for collisions. Default is 0.25, which models mostly energy-absorbing perimeter walls so balls lose speed on impact instead of ping-ponging around the field. Lower values (near 0) make impacts deaden quickly; higher values (near 1) preserve more normal velocity and increase bounce height/distance.
frictionWall friction coefficient for tangential damping. Default is 0.6 to provide noticeable sliding resistance at contact. This balances "roll and settle" behavior versus prolonged wall-skimming.

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