libmove3d-planners
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
HRICS::Distance Class Reference

Public Member Functions

 Distance ()
 Constructor that sets the Human and Robot structures.
 
 Distance (Robot *rob, std::vector< Robot * > humans)
 
 ~Distance ()
 Destructor sets back the safety radius.
 
void drawZones ()
 
void parseHumans ()
 Goes through the Human (p3d_rob) structure to find the safety zones.
 
double getDistance ()
 
void offSetPrim (p3d_poly *poly, double offset)
 Changes dynamically the size of the zone shown in the OpenGl display.
 
void activateSafetyZonesMode ()
 Changes the collision context to compute distance only to the pritimives that represent the human.
 
void activateNormalMode ()
 Changes the collision context to compute the CD with the finer representation of the Human.
 
double computeCost (double distance)
 
double getWorkspaceCost (const Eigen::Vector3d &WSPoint)
 Get Workspace Cost.
 
std::vector< double > getDistToZones ()
 Main function computing the distance between the Human and the Robot.
 
std::vector< double > getVectorJim ()
 
void setVector (std::vector< double > toDrawVector)
 
double computeBBDist (p3d_vector3 robot, p3d_vector3 human)
 Bounding Box Distance.
 
bool computeCylinderZone (Eigen::Vector3d &p1, Eigen::Vector3d &p2)
 Computes the cylinder associated with the human (body)
 
double pointToLineSegmentDistance (const Eigen::Vector3d &p, const Eigen::Vector3d &p1, const Eigen::Vector3d &p2, Eigen::Vector3d &closestPoint)
 Computes the closest point of a point to a segment line. More...
 
double computeBoundingBalls (const Eigen::Vector3d &WSPoint, p3d_vector3 robot, p3d_vector3 human)
 Bounding Balls Distance computes the distance to a line and a sphere The Line is the body and the sphere is the head.
 
Eigen::Vector3d getColsestPointToHuman ()
 
void setSafeRadius (double radius)
 
void drawInteractionZone ()
 
int isPointInInteractionZone (const Eigen::Vector3d &WSPoint)
 

Member Function Documentation

double Distance::pointToLineSegmentDistance ( const Eigen::Vector3d &  p,
const Eigen::Vector3d &  p1,
const Eigen::Vector3d &  p2,
Eigen::Vector3d &  closestPoint 
)

Computes the closest point of a point to a segment line.

Parameters
pthe point
p1the first point of the segment line
p2the second point of the segment line
closestPointthe point on the segment that is the closest to p
Returns
the minimimal distance between the segment and the point

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