Implements the convex hull of a set of convex sets. 
The convex hull of multiple sets is defined as the smallest convex set that contains all the sets. Given non-empty convex sets {X₁, X₂, ..., Xₙ}, the convex hull is the set of all convex combinations of points in the sets, i.e. {∑ᵢ λᵢ xᵢ | xᵢ ∈ Xᵢ, λᵢ ≥ 0, ∑ᵢ λᵢ = 1}. 
 
 | 
|   | ConvexHull (const ConvexSets &sets, const bool remove_empty_sets=true) | 
|   | Constructs the convex hull from a vector of convex sets.  More...
  | 
|   | 
|   | ~ConvexHull () final | 
|   | 
| const ConvexSets &  | sets () const | 
|   | Returns the participating convex sets.  More...
  | 
|   | 
| const ConvexSets &  | participating_sets () const | 
|   | Returns the participating sets in the convex hull.  More...
  | 
|   | 
| bool  | empty_sets_removed () const | 
|   | Returns true if this was constructed with remove_empty_sets=true.  More...
  | 
|   | 
| const ConvexSet &  | element (int index) const | 
|   | Returns a reference to the convex set at the given index (including empty sets).  More...
  | 
|   | 
| int  | num_elements () const | 
|   | Returns the number of convex sets defining the convex hull (including empty sets).  More...
  | 
|   | 
| bool  | IsEmpty () const | 
|   | 
| double  | CalcVolume () const | 
|   | 
| bool  | IsBounded (Parallelism parallelism=Parallelism::None()) const | 
|   | A ConvexHull is bounded if and only if each constituent set is bounded.  More...
  | 
|   | 
 | 
|   | ConvexHull (const ConvexHull &)=default | 
|   | 
| ConvexHull &  | operator= (const ConvexHull &)=default | 
|   | 
|   | ConvexHull (ConvexHull &&)=default | 
|   | 
| ConvexHull &  | operator= (ConvexHull &&)=default | 
|   | 
| virtual  | ~ConvexSet () | 
|   | 
| std::unique_ptr< ConvexSet >  | Clone () const | 
|   | Creates a unique deep copy of this set.  More...
  | 
|   | 
| int  | ambient_dimension () const | 
|   | Returns the dimension of the vector space in which the elements of this set are evaluated.  More...
  | 
|   | 
| bool  | IntersectsWith (const ConvexSet &other) const | 
|   | Returns true iff the intersection between this and other is non-empty.  More...
  | 
|   | 
| bool  | IsBounded (Parallelism parallelism=Parallelism::None()) const | 
|   | Returns true iff the set is bounded, e.g., there exists an element-wise finite lower and upper bound for the set.  More...
  | 
|   | 
| bool  | IsEmpty () const | 
|   | Returns true iff the set is empty.  More...
  | 
|   | 
| std::optional< Eigen::VectorXd >  | MaybeGetPoint () const | 
|   | If this set trivially contains exactly one point, returns the value of that point.  More...
  | 
|   | 
| std::optional< Eigen::VectorXd >  | MaybeGetFeasiblePoint () const | 
|   | Returns a feasible point within this convex set if it is nonempty, and nullopt otherwise.  More...
  | 
|   | 
| bool  | PointInSet (const Eigen::Ref< const Eigen::VectorXd > &x, double tol=0) const | 
|   | Returns true iff the point x is contained in the set.  More...
  | 
|   | 
| std::pair< VectorX< symbolic::Variable >, std::vector< solvers::Binding< solvers::Constraint > > >  | AddPointInSetConstraints (solvers::MathematicalProgram *prog, const Eigen::Ref< const solvers::VectorXDecisionVariable > &vars) const | 
|   | Adds a constraint to an existing MathematicalProgram enforcing that the point defined by vars is inside the set.  More...
  | 
|   | 
| std::vector< solvers::Binding< solvers::Constraint > >  | AddPointInNonnegativeScalingConstraints (solvers::MathematicalProgram *prog, const Eigen::Ref< const solvers::VectorXDecisionVariable > &x, const symbolic::Variable &t) const | 
|   | Let S be this convex set.  More...
  | 
|   | 
| std::vector< solvers::Binding< solvers::Constraint > >  | AddPointInNonnegativeScalingConstraints (solvers::MathematicalProgram *prog, const Eigen::Ref< const Eigen::MatrixXd > &A, const Eigen::Ref< const Eigen::VectorXd > &b, const Eigen::Ref< const Eigen::VectorXd > &c, double d, const Eigen::Ref< const solvers::VectorXDecisionVariable > &x, const Eigen::Ref< const solvers::VectorXDecisionVariable > &t) const | 
|   | Let S be this convex set.  More...
  | 
|   | 
| std::pair< std::unique_ptr< Shape >, math::RigidTransformd >  | ToShapeWithPose () const | 
|   | Constructs a Shape and a pose of the set in the world frame for use in the SceneGraph geometry ecosystem.  More...
  | 
|   | 
| double  | CalcVolume () const | 
|   | Computes the exact volume for the convex set.  More...
  | 
|   | 
| SampledVolume  | CalcVolumeViaSampling (RandomGenerator *generator, const double desired_rel_accuracy=1e-2, const int max_num_samples=1e4) const | 
|   | Calculates an estimate of the volume of the convex set using sampling and performing Monte Carlo integration.  More...
  | 
|   | 
| std::optional< std::pair< std::vector< double >, Eigen::MatrixXd > >  | Projection (const Eigen::Ref< const Eigen::MatrixXd > &points) const | 
|   | Computes in the L₂ norm the distance and the nearest point in this convex set to every column of points.  More...
  | 
|   | 
| bool  | has_exact_volume () const | 
|   | Returns true if the exact volume can be computed for this convex set instance.  More...
  | 
|   |