Drake
HalfSpace Class Referencefinal

Definition of a half space. More...

#include <drake/geometry/shape_specification.h>

Public Member Functions

 HalfSpace ()
 
Implements CopyConstructible, CopyAssignable, MoveConstructible, MoveAssignable
 HalfSpace (const HalfSpace &)=default
 
HalfSpaceoperator= (const HalfSpace &)=default
 
 HalfSpace (HalfSpace &&)=default
 
HalfSpaceoperator= (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< ShapeClone () const
 Creates a unique copy of this shape. More...
 

Static Public Member Functions

static Isometry3< doubleMakePose (const Vector3< double > &Cz_F, const Vector3< double > &p_FC)
 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
 
Shapeoperator= (const Shape &)=default
 
 Shape (Shape &&)=default
 
Shapeoperator= (Shape &&)=default
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ HalfSpace() [1/3]

HalfSpace ( const HalfSpace )
default

◆ HalfSpace() [2/3]

HalfSpace ( HalfSpace &&  )
default

◆ HalfSpace() [3/3]

HalfSpace ( )

Member Function Documentation

◆ MakePose()

Isometry3< double > MakePose ( const Vector3< double > &  Cz_F,
const Vector3< double > &  p_FC 
)
static

Creates the pose of a canonical half space in frame F.

The half space's normal is aligned to the positive z-axis of its canonical frame C. Given the measure of that axis in frame F (Cz_F) and a position vector to a point on the plane expressed in the same frame, p_FC, creates the pose of the half space in frame F: X_FC.

Parameters
Cz_FThe positive z-axis of the canonical frame expressed in frame F. It must be a non-zero vector but need not be unit length.
p_FCA point lying on the half-space's boundary measured and expressed in frame F.
Return values
X_FCThe pose of the canonical half-space in frame F.
Exceptions
std::logic_errorif the normal is close to a zero-vector (e.g., ‖normal_F‖₂ < ε).

◆ operator=() [1/2]

HalfSpace& operator= ( const HalfSpace )
default

◆ operator=() [2/2]

HalfSpace& operator= ( HalfSpace &&  )
default

The documentation for this class was generated from the following files: