A convex set that contains exactly one element.
Also known as a singleton or unit set.
This set is always nonempty, even in the zero-dimensional case.
#include <drake/geometry/optimization/point.h>
Public Member Functions | |
| Point () | |
| Constructs a default (zero-dimensional, nonempty) set.  More... | |
| Point (const Eigen::Ref< const Eigen::VectorXd > &x) | |
| Constructs a Point.  More... | |
| Point (const QueryObject< double > &query_object, GeometryId geometry_id, std::optional< FrameId > reference_frame=std::nullopt, double maximum_allowable_radius=0.0) | |
Constructs a Point from a SceneGraph geometry and pose in the reference_frame frame, obtained via the QueryObject.  More... | |
| ~Point () final | |
| const Eigen::VectorXd & | x () const | 
| Retrieves the point.  More... | |
| void | set_x (const Eigen::Ref< const Eigen::VectorXd > &x) | 
Changes the element x describing the set.  More... | |
| bool | PointInSet (const Eigen::Ref< const Eigen::VectorXd > &x, double tol=0) const | 
Returns true if the point is within tol of x(), under the L∞-norm.  More... | |
| bool | IsBounded (Parallelism parallelism=Parallelism::None()) const | 
| Every Point is bounded by construction.  More... | |
Implements CopyConstructible, CopyAssignable, MoveConstructible, MoveAssignable  | |
| Point (const Point &)=default | |
| Point & | operator= (const Point &)=default | 
| Point (Point &&)=default | |
| Point & | operator= (Point &&)=default | 
  Public Member Functions inherited from ConvexSet | |
| 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... | |
Additional Inherited Members | |
  Protected Member Functions inherited from ConvexSet | |
| ConvexSet (int ambient_dimension, bool has_exact_volume) | |
| For use by derived classes to construct a ConvexSet.  More... | |
| template<typename Archive > | |
| void | Serialize (Archive *a) | 
| Implements non-virtual base class serialization.  More... | |
| virtual std::optional< bool > | DoIsBoundedShortcutParallel (Parallelism) const | 
| Non-virtual interface implementation for DoIsBoundedShortcutParallel().  More... | |
| virtual std::optional< Eigen::VectorXd > | DoMaybeGetFeasiblePoint () const | 
| Non-virtual interface implementation for MaybeGetFeasiblePoint().  More... | |
| virtual bool | DoPointInSet (const Eigen::Ref< const Eigen::VectorXd > &x, double tol) const | 
| Non-virtual interface implementation for PointInSet().  More... | |
| std::optional< symbolic::Variable > | HandleZeroAmbientDimensionConstraints (solvers::MathematicalProgram *prog, const ConvexSet &set, std::vector< solvers::Binding< solvers::Constraint >> *constraints) const | 
| Instances of subclasses such as CartesianProduct and MinkowskiSum can have constituent sets with zero ambient dimension, which much be handled in a special manner when calling methods such as DoAddPointInSetConstraints.  More... | |
| virtual std::unique_ptr< ConvexSet > | DoAffineHullShortcut (std::optional< double > tol) const | 
| NVI implementation of DoAffineHullShortcut, which trivially returns null.  More... | |
| ConvexSet (const ConvexSet &)=default | |
| ConvexSet & | operator= (const ConvexSet &)=default | 
| ConvexSet (ConvexSet &&)=default | |
| ConvexSet & | operator= (ConvexSet &&)=default | 
  Static Protected Member Functions inherited from ConvexSet | |
| static std::unique_ptr< ConvexSet > | AffineHullShortcut (const ConvexSet &self, std::optional< double > tol) | 
| When there is a more efficient strategy to compute the affine hull of this set, returns affine hull as an AffineSubspace.  More... | |
| Point | ( | ) | 
Constructs a default (zero-dimensional, nonempty) set.
| Point | ( | const QueryObject< double > & | query_object, | 
| GeometryId | geometry_id, | ||
| std::optional< FrameId > | reference_frame = std::nullopt,  | 
        ||
| double | maximum_allowable_radius = 0.0  | 
        ||
| ) | 
Constructs a Point from a SceneGraph geometry and pose in the reference_frame frame, obtained via the QueryObject. 
If reference_frame frame is std::nullopt, then it will be expressed in the world frame. 
      
  | 
  final | 
| bool IsBounded | 
Every Point is bounded by construction.
| parallelism | Ignored – no parallelization is used. | 
| bool PointInSet | 
Returns true if the point is within tol of x(), under the L∞-norm. 
| void set_x | ( | const Eigen::Ref< const Eigen::VectorXd > & | x | ) | 
Changes the element x describing the set. 
| const Eigen::VectorXd& x | ( | ) | const | 
Retrieves the point.