ompl::ProlateHyperspheroid Class Reference

A class describing a prolate hyperspheroid, a special symmetric type of n-dimensional ellipse, for use in direct informed sampling for problems seeking to minimize path length. More...

#include <ompl/util/ProlateHyperspheroid.h>

Public Member Functions

 ProlateHyperspheroid (unsigned int n, const double focus1[], const double focus2[])
 The description of an n-dimensional prolate hyperspheroid. More...
 
void setTransverseDiameter (double transverseDiameter)
 Set the transverse diameter of the PHS. More...
 
void transform (const double sphere[], double phs[]) const
 Transform a point from a sphere to PHS. The return variable phs is expected to already exist.
More...
 
bool isInPhs (const double point[]) const
 Check if the given point lies in the PHS. More...
 
bool isOnPhs (const double point[]) const
 Check if the given point lies on the PHS. More...
 
unsigned int getPhsDimension () const
 The dimension of the PHS. More...
 
double getPhsMeasure () const
 The measure of the PHS. More...
 
double getPhsMeasure (double tranDiam) const
 The measure of the PHS for a given transverse diameter. More...
 
double getMinTransverseDiameter () const
 The minimum transverse diameter of the PHS, i.e., the distance between the foci. More...
 
double getPathLength (const double point[]) const
 Calculate length of a line that originates from one focus, passes through the given point, and terminates at the other focus, i.e., the transverse diameter of the ellipse on which the given sample lies. More...
 
unsigned int getDimension () const
 The state dimension of the PHS. More...
 

Detailed Description

A class describing a prolate hyperspheroid, a special symmetric type of n-dimensional ellipse, for use in direct informed sampling for problems seeking to minimize path length.

J. D. Gammell, T. D. Barfoot, S. S. Srinivasa, "Informed sampling for asymptotically optimal path planning."
IEEE Transactions on Robotics (T-RO), 34(4): 966-984, Aug. 2018. DOI: TRO.2018.2830331. arXiv: 1706.06454 [cs.RO]. Illustration video. Short description video.

Definition at line 60 of file ProlateHyperspheroid.h.

Constructor & Destructor Documentation

◆ ProlateHyperspheroid()

ompl::ProlateHyperspheroid::ProlateHyperspheroid ( unsigned int  n,
const double  focus1[],
const double  focus2[] 
)

The description of an n-dimensional prolate hyperspheroid.

Definition at line 87 of file ProlateHyperspheroid.cpp.

Member Function Documentation

◆ getDimension()

unsigned int ompl::ProlateHyperspheroid::getDimension ( ) const

The state dimension of the PHS.

Definition at line 201 of file ProlateHyperspheroid.cpp.

◆ getMinTransverseDiameter()

double ompl::ProlateHyperspheroid::getMinTransverseDiameter ( ) const

The minimum transverse diameter of the PHS, i.e., the distance between the foci.

Definition at line 190 of file ProlateHyperspheroid.cpp.

◆ getPathLength()

double ompl::ProlateHyperspheroid::getPathLength ( const double  point[]) const

Calculate length of a line that originates from one focus, passes through the given point, and terminates at the other focus, i.e., the transverse diameter of the ellipse on which the given sample lies.

Definition at line 195 of file ProlateHyperspheroid.cpp.

◆ getPhsDimension()

unsigned int ompl::ProlateHyperspheroid::getPhsDimension ( ) const

The dimension of the PHS.

Definition at line 167 of file ProlateHyperspheroid.cpp.

◆ getPhsMeasure() [1/2]

double ompl::ProlateHyperspheroid::getPhsMeasure ( ) const

The measure of the PHS.

Definition at line 172 of file ProlateHyperspheroid.cpp.

◆ getPhsMeasure() [2/2]

double ompl::ProlateHyperspheroid::getPhsMeasure ( double  tranDiam) const

The measure of the PHS for a given transverse diameter.

Definition at line 185 of file ProlateHyperspheroid.cpp.

◆ isInPhs()

bool ompl::ProlateHyperspheroid::isInPhs ( const double  point[]) const

Check if the given point lies in the PHS.

Definition at line 145 of file ProlateHyperspheroid.cpp.

◆ isOnPhs()

bool ompl::ProlateHyperspheroid::isOnPhs ( const double  point[]) const

Check if the given point lies on the PHS.

Definition at line 156 of file ProlateHyperspheroid.cpp.

◆ setTransverseDiameter()

void ompl::ProlateHyperspheroid::setTransverseDiameter ( double  transverseDiameter)

Set the transverse diameter of the PHS.

Definition at line 109 of file ProlateHyperspheroid.cpp.

◆ transform()

void ompl::ProlateHyperspheroid::transform ( const double  sphere[],
double  phs[] 
) const

Transform a point from a sphere to PHS. The return variable phs is expected to already exist.

Definition at line 132 of file ProlateHyperspheroid.cpp.


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