VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
makVrv::DtWorldMagneticModel Class Reference

Contains the interface to the world magnetic model. More...

Public Member Functions

 DtWorldMagneticModel ()
 Constructor note: Must call init() to use the object. More...
 
virtual ~DtWorldMagneticModel ()
 Destructor. More...
 
 DtWorldMagneticModel (const DtWorldMagneticModel &other)=delete
 Copy Constructor not implemented - Copy not allowed. More...
 
DtWorldMagneticModeloperator= (const DtWorldMagneticModel &other)=delete
 Assignment Operator not implemented - Assignment not allowed. More...
 
virtual bool init (const time_t unixTime)
 Initialize the WMM model using the "WMM.COF" located in the bin(platform) folder. More...
 
virtual bool badInit () const
 Returns false if initialization was unsucessful. More...
 
virtual void setTime (const time_t unixTime)
 Sets the current time used for the WMM model. More...
 
virtual const time_t unixTime () const
 Returns the time used for the WMM model. More...
 
virtual double positionToMagneticNorth (const DtGeodeticCoord &pos)
 Computes magnetic north declination at the given radian geodetic coordinates. More...
 

Protected Member Functions

virtual bool computeYearMonthDay (const time_t unixTime, int &year, int &month, int &day) const
 Computes the (year, month, day) from the given time. More...
 

Protected Attributes

MAGtype_MagneticModel * myMagneticModels [1]
 
MAGtype_MagneticModel * myTimedMagneticModel
 
MAGtype_Ellipsoid myEllip
 
MAGtype_Geoid myGeoid
 
MAGtype_Date myDate
 
time_t myUnixTime
 
bool myBadInit
 

Detailed Description

Contains the interface to the world magnetic model.

The class utilizes the WMM c code provided by NOAA which has been wrapped into makWMM.

This class is initialized using a coefficients file called WMM.COF which resides in the bin(platform) folder. Note that the parameters are good until the year 2025. The parameters have a 5 year epoch that deteriorates over the 5 year period (2020 - 2024). The WMM.COF file will need to be updated after the epoch ends. see this link for more information: https://www.ngdc.noaa.gov/geomag/WMM/limit.shtml

The basic use of this class is to compute the magnetic north declination at any given location on the globe. See the positionToMagneticNorth method.

Constructor & Destructor Documentation

makVrv::DtWorldMagneticModel::DtWorldMagneticModel ( )

Constructor note: Must call init() to use the object.

virtual makVrv::DtWorldMagneticModel::~DtWorldMagneticModel ( )
virtual

Destructor.

makVrv::DtWorldMagneticModel::DtWorldMagneticModel ( const DtWorldMagneticModel other)
delete

Copy Constructor not implemented - Copy not allowed.

Member Function Documentation

DtWorldMagneticModel& makVrv::DtWorldMagneticModel::operator= ( const DtWorldMagneticModel other)
delete

Assignment Operator not implemented - Assignment not allowed.

virtual bool makVrv::DtWorldMagneticModel::init ( const time_t  unixTime)
virtual

Initialize the WMM model using the "WMM.COF" located in the bin(platform) folder.

This is required to be called before using the object.

virtual bool makVrv::DtWorldMagneticModel::badInit ( ) const
virtual

Returns false if initialization was unsucessful.

virtual void makVrv::DtWorldMagneticModel::setTime ( const time_t  unixTime)
virtual

Sets the current time used for the WMM model.

This will update the model time.

virtual const time_t makVrv::DtWorldMagneticModel::unixTime ( ) const
virtual

Returns the time used for the WMM model.

virtual double makVrv::DtWorldMagneticModel::positionToMagneticNorth ( const DtGeodeticCoord &  pos)
virtual

Computes magnetic north declination at the given radian geodetic coordinates.

Returns declination in radians. declination is the angle between true north and magnetic north, positive east rotation.

Parameters
posThe location radian geodetic coordinates.
virtual bool makVrv::DtWorldMagneticModel::computeYearMonthDay ( const time_t  unixTime,
int year,
int month,
int day 
) const
protectedvirtual

Computes the (year, month, day) from the given time.

Returns true on success.

Parameters
unixTimeThe input time.
yearThe computed output year.
monthThe computed output month (1 - 12); 1 = january.
dayThe computed output day or the month (1 - 31).

Member Data Documentation

MAGtype_MagneticModel* makVrv::DtWorldMagneticModel::myMagneticModels[1]
protected
MAGtype_MagneticModel* makVrv::DtWorldMagneticModel::myTimedMagneticModel
protected
MAGtype_Ellipsoid makVrv::DtWorldMagneticModel::myEllip
protected
MAGtype_Geoid makVrv::DtWorldMagneticModel::myGeoid
protected
MAGtype_Date makVrv::DtWorldMagneticModel::myDate
protected
time_t makVrv::DtWorldMagneticModel::myUnixTime
protected
bool makVrv::DtWorldMagneticModel::myBadInit
protected

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

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)