DFLib  Release 1.0.0
Public Member Functions | Private Attributes | List of all members
DFLib::Abstract::Report Class Referenceabstract

Abstract interface for DFReport. This is the base class for DF report classes. More...

#include <DF_Abstract_Report.hpp>

Inheritance diagram for DFLib::Abstract::Report:
Inheritance graph
[legend]
Collaboration diagram for DFLib::Abstract::Report:
Collaboration graph
[legend]

Public Member Functions

virtual ~Report ()
 virtual destructor because base classes need one More...
 
 Report (std::string n, bool v)
 constructor for base Report class More...
 
 Report (const Report &right)
 copy constructor for base Report class More...
 
virtual const std::vector< double > & getReceiverLocation ()=0
 return receiver location in double vector of XY coords More...
 
virtual double getReportBearingRadians () const =0
 return reported bearing to target More...
 
virtual double getBearingStandardDeviationRadians () const =0
 
virtual const std::string & getReportName () const
 Return the name of this report. More...
 
virtual void setReportName (const std::string &theName)
 set the name of this report More...
 
virtual void setValid ()
 Set this report as valid. More...
 
virtual void setInvalid ()
 Set this report as invalid. More...
 
virtual void toggleValidity ()
 
virtual bool isValid () const
 check this report's validity More...
 
void computeFixCut (DFLib::Abstract::Report *Report2, Point &returnPoint, double &cutAngle, FixStatus &fs)
 compute point at which the line from this report intersects that from another More...
 
double computeBearingToPoint (std::vector< double > &aPoint)
 compute bearing from this reporting location to some other point More...
 
double computeDistanceToPoint (std::vector< double > &aPoint)
 compute distance from this reporting location to some other point. More...
 

Private Attributes

std::string ReportName_
 
bool validReport_
 

Detailed Description

Abstract interface for DFReport. This is the base class for DF report classes.

Constructor & Destructor Documentation

virtual DFLib::Abstract::Report::~Report ( )
inlinevirtual

virtual destructor because base classes need one

Reimplemented in DFLib::Proj::Report, DFLib::XY::Report, and DFLib::LatLon::Report.

DFLib::Abstract::Report::Report ( std::string  n,
bool  v 
)

constructor for base Report class

This cannot be used to create an abstract report, because this is an abstract class.

DFLib::Abstract::Report::Report ( const Report right)

copy constructor for base Report class

This cannot be used to create an abstract report, because this is an abstract class.

Member Function Documentation

double DFLib::Abstract::Report::computeBearingToPoint ( std::vector< double > &  aPoint)

compute bearing from this reporting location to some other point

Parameters
aPointpoint to which bearing requested.
Returns
bearing in radians, in range $0<\theta<2\pi$

The base class computes the bearing in X-Y coordinates by taking the arctangent of "rise over run." This is certainly the appropriate thing to do when the X-Y coordinate system is a conformal projection. When working with non-conformal projections the computation could possibly be more involved.

Here is the caller graph for this function:

double DFLib::Abstract::Report::computeDistanceToPoint ( std::vector< double > &  aPoint)

compute distance from this reporting location to some other point.

Parameters
aPointpoint to which distance is requested
Returns
distance

The distance returned is the Cartesian distance in X-Y coordinates, $d = \sqrt{\Delta x^2 + \Delta y^2}$. It is not the geodesic distance on the ellipsoid.

void DFLib::Abstract::Report::computeFixCut ( DFLib::Abstract::Report Report2,
Point returnPoint,
double &  cutAngle,
FixStatus fs 
)

compute point at which the line from this report intersects that from another

Parameters
Report2pointer to the other report
returnPointreference to place to store solution point
cutAngleon return, the angle in radians made by the two bearing lines
fsfix status

Here is the call graph for this function:

virtual double DFLib::Abstract::Report::getBearingStandardDeviationRadians ( ) const
pure virtual

Implemented in DFLib::Proj::Report, DFLib::XY::Report, and DFLib::LatLon::Report.

Here is the caller graph for this function:

virtual const std::vector<double>& DFLib::Abstract::Report::getReceiverLocation ( )
pure virtual

return receiver location in double vector of XY coords

Implemented in DFLib::Proj::Report, DFLib::XY::Report, and DFLib::LatLon::Report.

Here is the caller graph for this function:

virtual double DFLib::Abstract::Report::getReportBearingRadians ( ) const
pure virtual

return reported bearing to target

It is essential that getReportBearingRadians always return the bearing in the correct range $0<\theta<2\pi$.

Returns
bearing in radians, always in the range $0<\theta<2\pi$.

Implemented in DFLib::Proj::Report, DFLib::XY::Report, and DFLib::LatLon::Report.

Here is the caller graph for this function:

virtual const std::string& DFLib::Abstract::Report::getReportName ( ) const
inlinevirtual

Return the name of this report.

Here is the caller graph for this function:

virtual bool DFLib::Abstract::Report::isValid ( ) const
inlinevirtual

check this report's validity

Here is the caller graph for this function:

virtual void DFLib::Abstract::Report::setInvalid ( )
inlinevirtual

Set this report as invalid.

Here is the caller graph for this function:

virtual void DFLib::Abstract::Report::setReportName ( const std::string &  theName)
inlinevirtual

set the name of this report

Here is the caller graph for this function:

virtual void DFLib::Abstract::Report::setValid ( )
inlinevirtual

Set this report as valid.

Here is the caller graph for this function:

virtual void DFLib::Abstract::Report::toggleValidity ( )
inlinevirtual

Member Data Documentation

std::string DFLib::Abstract::Report::ReportName_
private
bool DFLib::Abstract::Report::validReport_
private

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