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

DF report in user-specified coordinates. More...

#include <DF_Proj_Report.hpp>

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

Public Member Functions

 Report (const std::vector< double > &theLocationUser, const double &bearing, const double &std_dev, const std::string &theName, const std::vector< std::string > &projArgs)
 DF report constructor for user-specified coordinate system.
 
 Report (const Report &right)
 Copy constructor.
 
Reportoperator= (const Report &rhs)
 assignment operator
 
virtual ~Report ()
 virtual destructor because base classes need one
 
virtual const std::vector< double > & getReceiverLocation ()
 return receiver location in double vector of XY coords
 
virtual Point getReceiverPoint () const
 return a copy (yes, a COPY) of the receiver point object
 
virtual double getReportBearingRadians () const
 return reported bearing to target
 
virtual double getBearing () const
 
virtual double getBearingStandardDeviationRadians () const
 
virtual double getSigma () const
 
virtual void setReceiverLocationUser (const std::vector< double > &theLocation)
 
virtual void setReceiverLocationMercator (const std::vector< double > &theLocation)
 
virtual void setBearing (double Bearing)
 set bearing in degrees
 
virtual void setSigma (double Sigma)
 set standard deviation in degrees
 
virtual void setUserProj (const std::vector< std::string > &projArgs)
 allow us to change the projection of the user coordinates
 
- Public Member Functions inherited from DFLib::Abstract::Report
virtual ~Report ()
 virtual destructor because base classes need one
 
 Report (std::string n, bool v)
 constructor for base Report class
 
 Report (const Report &right)
 copy constructor for base Report class
 
virtual const std::vector< double > & getReceiverLocation ()=0
 return receiver location in double vector of XY coords
 
virtual double getReportBearingRadians () const =0
 return reported bearing to target
 
virtual double getBearingStandardDeviationRadians () const =0
 
virtual const std::string & getReportName () const
 Return the name of this report.
 
virtual void setReportName (const std::string &theName)
 set the name of this report
 
virtual void setValid ()
 Set this report as valid.
 
virtual void setInvalid ()
 Set this report as invalid.
 
virtual void toggleValidity ()
 
virtual bool isValid () const
 check this report's validity
 
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
 
double computeBearingToPoint (std::vector< double > &aPoint)
 compute bearing from this reporting location to some other point
 
double computeDistanceToPoint (std::vector< double > &aPoint)
 compute distance from this reporting location to some other point.
 

Private Attributes

PointreceiverLocation
 
double bearing
 
double sigma
 

Detailed Description

DF report in user-specified coordinates.

Constructor & Destructor Documentation

◆ Report() [1/2]

DFLib::Proj::Report::Report ( const std::vector< double > &  theLocation,
const double &  Bearing,
const double &  std_dev,
const std::string &  theName,
const std::vector< std::string > &  projArgs 
)

DF report constructor for user-specified coordinate system.

Parameters
theLocationposition vector in lat/lon of this report.
Bearingbearing IN DEGREES
std_devstandard deviation in degrees
projArgsa vector of strings to pass to proj_create_argv in order to define the user coordinate system.

◆ Report() [2/2]

DFLib::Proj::Report::Report ( const Report right)

Copy constructor.

◆ ~Report()

DFLib::Proj::Report::~Report ( )
virtual

virtual destructor because base classes need one

Reimplemented from DFLib::Abstract::Report.

Member Function Documentation

◆ getBearing()

double DFLib::Proj::Report::getBearing ( ) const
inlinevirtual

◆ getBearingStandardDeviationRadians()

double DFLib::Proj::Report::getBearingStandardDeviationRadians ( ) const
inlinevirtual

Implements DFLib::Abstract::Report.

Here is the caller graph for this function:

◆ getReceiverLocation()

const std::vector< double > & DFLib::Proj::Report::getReceiverLocation ( )
inlinevirtual

return receiver location in double vector of XY coords

Implements DFLib::Abstract::Report.

◆ getReceiverPoint()

Point DFLib::Proj::Report::getReceiverPoint ( ) const
virtual

return a copy (yes, a COPY) of the receiver point object

Here is the caller graph for this function:

◆ getReportBearingRadians()

double DFLib::Proj::Report::getReportBearingRadians ( ) const
inlinevirtual

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$.

Implements DFLib::Abstract::Report.

Here is the caller graph for this function:

◆ getSigma()

double DFLib::Proj::Report::getSigma ( ) const
inlinevirtual

◆ operator=()

Report & DFLib::Proj::Report::operator= ( const Report rhs)

assignment operator

Here is the call graph for this function:

◆ setBearing()

void DFLib::Proj::Report::setBearing ( double  Bearing)
inlinevirtual

set bearing in degrees

Here is the caller graph for this function:

◆ setReceiverLocationMercator()

void DFLib::Proj::Report::setReceiverLocationMercator ( const std::vector< double > &  theLocation)
inlinevirtual

◆ setReceiverLocationUser()

void DFLib::Proj::Report::setReceiverLocationUser ( const std::vector< double > &  theLocation)
inlinevirtual

◆ setSigma()

void DFLib::Proj::Report::setSigma ( double  Sigma)
inlinevirtual

set standard deviation in degrees

◆ setUserProj()

void DFLib::Proj::Report::setUserProj ( const std::vector< std::string > &  projArgs)
inlinevirtual

allow us to change the projection of the user coordinates

Member Data Documentation

◆ bearing

double DFLib::Proj::Report::bearing
private

◆ receiverLocation

Point* DFLib::Proj::Report::receiverLocation
private

◆ sigma

double DFLib::Proj::Report::sigma
private

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