This class tries to find large axis-aligned bounding boxes in the configuration space, such that all configurations in the boxes are collision free. 
Note that we don't guarantee to find the largest box. 
 
 | 
|   | ~CspaceFreeBox () override | 
|   | 
|   | CspaceFreeBox (const multibody::MultibodyPlant< double > *plant, const geometry::SceneGraph< double > *scene_graph, SeparatingPlaneOrder plane_order, const Options &options=Options{}) | 
|   | 
| bool  | FindSeparationCertificateGivenBox (const Eigen::Ref< const Eigen::VectorXd > &q_box_lower, const Eigen::Ref< const Eigen::VectorXd > &q_box_upper, const IgnoredCollisionPairs &ignored_collision_pairs, const FindSeparationCertificateOptions &options, std::unordered_map< SortedPair< geometry::GeometryId >, SeparationCertificateResult > *certificates) const | 
|   | Finds the certificates that the C-space box {q | q_box_lower <= q <= q_box_upper} is collision free.  More...
  | 
|   | 
 | 
|   | CspaceFreeBox (const CspaceFreeBox &)=delete | 
|   | 
| CspaceFreeBox &  | operator= (const CspaceFreeBox &)=delete | 
|   | 
|   | CspaceFreeBox (CspaceFreeBox &&)=delete | 
|   | 
| CspaceFreeBox &  | operator= (CspaceFreeBox &&)=delete | 
|   | 
| virtual  | ~CspaceFreePolytopeBase () | 
|   | 
| const multibody::RationalForwardKinematics &  | rational_forward_kin () const | 
|   | Getter for the rational forward kinematics object that computes the forward kinematics as rational functions.  More...
  | 
|   | 
| const std::unordered_map< SortedPair< geometry::GeometryId >, int > &  | map_geometries_to_separating_planes () const | 
|   | separating_planes()[map_geometries_to_separating_planes.at(geometry1_id, geometry2_id)] is the separating plane that separates geometry 1 and geometry 2.  More...
  | 
|   | 
| const std::vector< CSpaceSeparatingPlane< symbolic::Variable > > &  | separating_planes () const | 
|   | All the separating planes between each pair of geometries.  More...
  | 
|   | 
| const Vector3< symbolic::Variable > &  | y_slack () const | 
|   | Get the slack variable used for non-polytopic collision geometries.  More...
  | 
|   | 
|   | CspaceFreePolytopeBase (const CspaceFreePolytopeBase &)=delete | 
|   | 
| CspaceFreePolytopeBase &  | operator= (const CspaceFreePolytopeBase &)=delete | 
|   | 
|   | CspaceFreePolytopeBase (CspaceFreePolytopeBase &&)=delete | 
|   | 
| CspaceFreePolytopeBase &  | operator= (CspaceFreePolytopeBase &&)=delete | 
|   | 
 | 
| enum   | SForPlane { kAll, 
kOnChain
 } | 
|   | When we set up the separating plane {x | a(s)ᵀx + b(s) = 0} between a pair of geometries, we need to determine which s are used in a(s) and b(s).  More...
  | 
|   | 
|   | CspaceFreePolytopeBase (const multibody::MultibodyPlant< double > *plant, const geometry::SceneGraph< double > *scene_graph, SeparatingPlaneOrder plane_order, SForPlane s_for_plane_enum, const Options &options=Options{}) | 
|   | Constructor.  More...
  | 
|   | 
| template<typename T >  | 
| void  | CalcSBoundsPolynomial (const VectorX< T > &s_lower, const VectorX< T > &s_upper, VectorX< symbolic::Polynomial > *s_minus_s_lower, VectorX< symbolic::Polynomial > *s_upper_minus_s) const | 
|   | Computes s-s_lower and s_upper - s as polynomials of s.  More...
  | 
|   | 
| int  | GetSeparatingPlaneIndex (const SortedPair< geometry::GeometryId > &pair) const | 
|   | Returns the index of the plane which will separate the geometry pair.  More...
  | 
|   | 
| const symbolic::Variables &  | get_s_set () const | 
|   | 
| const geometry::SceneGraph< double > &  | scene_graph () const | 
|   | 
| const std::map< multibody::BodyIndex, std::vector< std::unique_ptr< CIrisCollisionGeometry > > > &  | link_geometries () const | 
|   | 
| SeparatingPlaneOrder  | plane_order () const | 
|   | 
| const std::unordered_map< SortedPair< multibody::BodyIndex >, std::array< VectorX< symbolic::Monomial >, 4 > > &  | map_body_to_monomial_basis_array () const | 
|   | Maps a pair of body (body1, body2) to an array of monomial basis monomial_basis_array.  More...
  | 
|   | 
| bool  | with_cross_y () const | 
|   | Check Options::with_cross_y for more details.  More...
  | 
|   | 
| const std::unordered_map< SortedPair< multibody::BodyIndex >, std::vector< int > > &  | map_body_pair_to_s_on_chain () const | 
|   | For a pair of bodies body_pair, returns the indices of all s on the kinematics chain from body_pair.first() to body_pair.second().  More...
  | 
|   | 
| VectorX< symbolic::Variable >  | GetSForPlane (const SortedPair< multibody::BodyIndex > &body_pair, SForPlane s_for_plane_enum) const | 
|   | Returns a vector of s variable used in a(s), b(s), which parameterize the separating plane {x | a(s)ᵀx+b(s) = 0}.  More...
  | 
|   | 
| void  | SolveCertificationForEachPlaneInParallel (const std::vector< int > &active_plane_indices, const std::function< std::pair< bool, int >(int)> &solve_plane_sos, Parallelism parallelism, bool verbose, bool terminate_at_failure) const | 
|   | For each pair of geometries, solve the certification problem to find their separation plane in parallel.  More...
  | 
|   | 
| int  | GetGramVarSizeForPolytopeSearchProgram (const std::vector< PlaneSeparatesGeometries > &plane_geometries_vec, const IgnoredCollisionPairs &ignored_collision_pairs, const std::function< int(const symbolic::RationalFunction &rational, const std::array< VectorX< symbolic::Monomial >, 4 > &monomial_basis_array)> &count_gram_per_rational) const | 
|   | Get the total size of all the decision variables for the Gram matrices, so as to search for the polytope with given Lagrangian multipliers.  More...
  | 
|   |