Definition of a half space.
In its canonical frame, the plane defining the boundary of the half space is that frame's z = 0 plane. By implication, the plane's normal points in the +z direction and the origin lies on the plane. Other shapes are considered to be penetrating the half space if there exists a point on the test shape that lies on the side of the plane opposite the normal.
#include <drake/geometry/shape_specification.h>
Public Member Functions  
HalfSpace ()  
Implements CopyConstructible, CopyAssignable, MoveConstructible, MoveAssignable  
HalfSpace (const HalfSpace &)=default  
HalfSpace &  operator= (const HalfSpace &)=default 
HalfSpace (HalfSpace &&)=default  
HalfSpace &  operator= (HalfSpace &&)=default 
Public Member Functions inherited from Shape  
virtual  ~Shape () 
void  Reify (ShapeReifier *reifier, void *user_data=nullptr) const 
Causes this description to be reified in the given reifier . More...  
std::unique_ptr< Shape >  Clone () const 
Creates a unique copy of this shape. More...  
Static Public Member Functions  
static math::RigidTransform< double >  MakePose (const Vector3< double > &Hz_dir_F, const Vector3< double > &p_FB) 
Creates the pose of a canonical half space in frame F. More...  
Additional Inherited Members  
Protected Member Functions inherited from Shape  
template<typename S >  
Shape (ShapeTag< S > tag)  
Constructor available for derived class construction. More...  
Shape (const Shape &)=default  
Shape &  operator= (const Shape &)=default 
Shape (Shape &&)=default  
Shape &  operator= (Shape &&)=default 
HalfSpace  (  ) 

static 
Creates the pose of a canonical half space in frame F.
The half space's normal is aligned to the positive zaxis of its canonical frame H. Given a vector that points in the same direction, measured in the F frame (Hz_dir_F) and a position vector to a point on the half space's boundary* expressed in the same frame, p_FB
, creates the pose of the half space in frame F: X_FH
.
Hz_dir_F  A vector in the direction of the positive zaxis of the canonical frame expressed in frame F. It must be a nonzero vector but need not be unit length. 
p_FB  A point B lying on the half space's boundary measured and expressed in frame F. 
X_FH  The pose of the canonical halfspace in frame F. 
std::exception  if the normal is close to a zerovector (e.g., ‖normal_F‖₂ < ε). 