Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Arak::SonarImpact Struct Reference

#include <sonar_obs.hpp>

List of all members.


Detailed Description

Impact objects represent those aspects of a sonar impact that are relevant for likelihood computations.

Definition at line 17 of file sonar_obs.hpp.

Public Member Functions

 SonarImpact ()
 Default constructor.

 SonarImpact (const Geometry::Point &source, const Geometry::Direction &dmin, const Geometry::Direction &dmax, const Geometry::Point &pmin, const Geometry::Point &pmax)
 Constructor for a face impact.

 SonarImpact (const Geometry::Point &source, const Geometry::Point &pmin, const Geometry::Direction &dir, const Geometry::Point &corner, const Geometry::Point &pmax)
 Constructor for a corner impact.

bool isCorner () const
 Returns true if this impact is a corner impact, and false if it is a face impact.

bool operator< (const SonarImpact &other) const
 Places a total ordering on sonar impacts.


Public Attributes

double proj_angle
 The angle between the face and the segment joining the sensor location with its projection on the face.

double min_range
 The distance from the sensor to the closest point on the visible portion of the face.

double visible_angle
 The angle subtended by the visible portion of the face, expressed in positive radians (< 2 * pi).

Geometry::Direction dmin
 The direction to the first point visible on the face.

Geometry::Direction dmax
 The direction to the last point visible on the face.

Geometry::Point pmin
 The point visible on the face with minimum angle.

Geometry::Point pmax
 The point visible on the face with maximum angle.

Geometry::Point projection
 The point on the visible portion of the face that is closest to the sonar sensor.


Constructor & Destructor Documentation

Arak::SonarImpact::SonarImpact  )  [inline]
 

Default constructor.

Definition at line 74 of file sonar_obs.hpp.

References min_range, proj_angle, projection, and visible_angle.

Arak::SonarImpact::SonarImpact const Geometry::Point source,
const Geometry::Direction dmin,
const Geometry::Direction dmax,
const Geometry::Point pmin,
const Geometry::Point pmax
[inline]
 

Constructor for a face impact.

Parameters:
source the location of the sensor
dmin the direction to the start of the visible portion of the face
dmax the direction to the end of the visible portion of the face
pmin the start of the visible portion of the face
pmax the end of the visible portion of the face

Definition at line 92 of file sonar_obs.hpp.

References Arak::Geometry::Direction, Line, Arak::Geometry::Line, min_range, Arak::Geometry::Point, proj_angle, projection, and visible_angle.

Arak::SonarImpact::SonarImpact const Geometry::Point source,
const Geometry::Point pmin,
const Geometry::Direction dir,
const Geometry::Point corner,
const Geometry::Point pmax
[inline]
 

Constructor for a corner impact.

Parameters:
source the location of the sensor
pmin the start of the visible portion of the first face
dir the direction to the corner
corner the corner that joins the two faces
pmax the end of the visible portion of the second face

Definition at line 143 of file sonar_obs.hpp.

References Arak::Geometry::Direction, min_range, Arak::Geometry::Point, proj_angle, projection, and visible_angle.


Member Function Documentation

bool Arak::SonarImpact::isCorner  )  const [inline]
 

Returns true if this impact is a corner impact, and false if it is a face impact.

Definition at line 159 of file sonar_obs.hpp.

References visible_angle.

Referenced by Arak::ArakPosteriorSonarObs::distLikelihood(), operator<(), and Arak::ArakPosteriorSonarObs::returnProb().

bool Arak::SonarImpact::operator< const SonarImpact other  )  const [inline]
 

Places a total ordering on sonar impacts.

Impacts are first ordered by depth, and if two impacts have the same depth, corners precede faces.

Definition at line 166 of file sonar_obs.hpp.

References isCorner(), and min_range.


Member Data Documentation

Geometry::Direction Arak::SonarImpact::dmax
 

The direction to the last point visible on the face.

Definition at line 49 of file sonar_obs.hpp.

Referenced by Arak::computeFirstSonarImpact().

Geometry::Direction Arak::SonarImpact::dmin
 

The direction to the first point visible on the face.

Definition at line 44 of file sonar_obs.hpp.

Referenced by Arak::computeFirstSonarImpact().

double Arak::SonarImpact::min_range
 

The distance from the sensor to the closest point on the visible portion of the face.

Definition at line 32 of file sonar_obs.hpp.

Referenced by Arak::computeFirstSonarImpact(), Arak::ArakPosteriorSonarObs::distLikelihood(), operator<(), Arak::ArakPosteriorSonarObs::returnProb(), SonarImpact(), and Arak::ArakPosteriorSonarObs::updateObsLP().

Geometry::Point Arak::SonarImpact::pmax
 

The point visible on the face with maximum angle.

This member is not used for likelihood computations---only debugging.

Definition at line 63 of file sonar_obs.hpp.

Referenced by Arak::computeFirstSonarImpact().

Geometry::Point Arak::SonarImpact::pmin
 

The point visible on the face with minimum angle.

This member is not used for likelihood computations---only debugging.

Definition at line 56 of file sonar_obs.hpp.

Referenced by Arak::computeFirstSonarImpact().

double Arak::SonarImpact::proj_angle
 

The angle between the face and the segment joining the sensor location with its projection on the face.

If the projection lies on the face then this angle is $\pi / 2$, or 90 degrees. Otherwise, it is the angle to the closest endpoint of the visible portion of the face.

Definition at line 26 of file sonar_obs.hpp.

Referenced by Arak::ArakPosteriorSonarObs::returnProb(), and SonarImpact().

Geometry::Point Arak::SonarImpact::projection
 

The point on the visible portion of the face that is closest to the sonar sensor.

Definition at line 69 of file sonar_obs.hpp.

Referenced by Arak::computeFirstSonarImpact(), and SonarImpact().

double Arak::SonarImpact::visible_angle
 

The angle subtended by the visible portion of the face, expressed in positive radians (< 2 * pi).

This is zero if this impact is a corner impact.

Definition at line 39 of file sonar_obs.hpp.

Referenced by Arak::computeFirstSonarImpact(), isCorner(), Arak::ArakPosteriorSonarObs::returnProb(), and SonarImpact().


The documentation for this struct was generated from the following file:
Generated on Wed May 25 14:41:33 2005 for Arak by doxygen 1.3.6