Public Member Functions | Private Attributes | Friends | List of all members
psen_scan::Degree Class Reference

Class to model angles in degrees from user's perspective. More...

#include <psen_scan_internal_angle.h>

Public Member Functions

 Degree (const Degree &angle)
 Construct a new Degree:: Degree object from another Degree object. More...
 
 Degree (const double &angle)
 Construct a new Degree:: Degree object from a double precision floating point number. More...
 
 Degree (const PSENscanInternalAngle &angle)
 Construct a new Degree:: Degree object from a PSENscanInternalAngle object. More...
 
 operator double () const noexcept
 Get the saved angle as double (still needs to be explicitly cast to double). More...
 
Degree operator* (const double &rhs)
 Multiply a Degree object by a double precision floating point number. More...
 
Degreeoperator*= (const double &rhs)
 Define multiplying a Degree object by a double precision floating point number. More...
 
Degree operator- (const Degree &rhs)
 Subtract a Degree object by another Degree. More...
 
Degree operator- ()
 Unary Minus Operator switches the sign of the angle. More...
 
Degreeoperator-= (const Degree &rhs)
 Define subtracting a Degree object by another Degree. More...
 
bool operator< (const Degree &rhs) const
 Compare a Degree object with another Degree object. More...
 
Degreeoperator= (const Degree &rhs)=default
 
bool operator== (const Degree &rhs) const
 Compare a Degree object with another Degree object. More...
 
bool operator> (const Degree &rhs) const
 Compare a Degree object with another Degree object. More...
 

Private Attributes

double angle_
 

Friends

std::ostream & operator<< (std::ostream &os, const Degree &deg)
 Define how Degree should behave with stream operator. More...
 

Detailed Description

Class to model angles in degrees from user's perspective.

Definition at line 29 of file psen_scan_internal_angle.h.

Constructor & Destructor Documentation

◆ Degree() [1/3]

psen_scan::Degree::Degree ( const Degree angle)

Construct a new Degree:: Degree object from another Degree object.

Parameters
angleDegree object to copy the angle from.

Definition at line 35 of file psen_scan_internal_angle.cpp.

◆ Degree() [2/3]

psen_scan::Degree::Degree ( const double &  angle)
explicit

Construct a new Degree:: Degree object from a double precision floating point number.

Parameters
angleAngle to convert to Degree object.

Definition at line 26 of file psen_scan_internal_angle.cpp.

◆ Degree() [3/3]

psen_scan::Degree::Degree ( const PSENscanInternalAngle angle)
explicit

Construct a new Degree:: Degree object from a PSENscanInternalAngle object.

Parameters
anglePSENscanInternalAngle object to get the angle from and convert it to Degrees.

Definition at line 44 of file psen_scan_internal_angle.cpp.

Member Function Documentation

◆ operator double()

psen_scan::Degree::operator double ( ) const
explicitnoexcept

Get the saved angle as double (still needs to be explicitly cast to double).

Returns
double Angle (still needs to be explicitly cast to double).

Definition at line 53 of file psen_scan_internal_angle.cpp.

◆ operator*()

Degree psen_scan::Degree::operator* ( const double &  rhs)

Multiply a Degree object by a double precision floating point number.

Parameters
rhsdouble precision floating point number to scale the angle by.
Returns
Degree

Definition at line 109 of file psen_scan_internal_angle.cpp.

◆ operator*=()

Degree & psen_scan::Degree::operator*= ( const double &  rhs)

Define multiplying a Degree object by a double precision floating point number.

Parameters
rhsdouble precision floating point number to scale the angle by.
Returns
Degree

Definition at line 97 of file psen_scan_internal_angle.cpp.

◆ operator-() [1/2]

Degree psen_scan::Degree::operator- ( const Degree rhs)

Subtract a Degree object by another Degree.

Parameters
rhsDegree to subtract the angle by.
Returns
Degree

Definition at line 134 of file psen_scan_internal_angle.cpp.

◆ operator-() [2/2]

Degree psen_scan::Degree::operator- ( )

Unary Minus Operator switches the sign of the angle.

Returns
Degree

Definition at line 146 of file psen_scan_internal_angle.cpp.

◆ operator-=()

Degree & psen_scan::Degree::operator-= ( const Degree rhs)

Define subtracting a Degree object by another Degree.

Parameters
rhsDegree to subtract the angle by.
Returns
Degree

Definition at line 122 of file psen_scan_internal_angle.cpp.

◆ operator<()

bool psen_scan::Degree::operator< ( const Degree rhs) const

Compare a Degree object with another Degree object.

Parameters
rhsDegree object to be compared with
Returns
bool

Definition at line 64 of file psen_scan_internal_angle.cpp.

◆ operator=()

Degree& psen_scan::Degree::operator= ( const Degree rhs)
default

◆ operator==()

bool psen_scan::Degree::operator== ( const Degree rhs) const

Compare a Degree object with another Degree object.

Parameters
rhsDegree object to be compared with
Returns
bool

Definition at line 86 of file psen_scan_internal_angle.cpp.

◆ operator>()

bool psen_scan::Degree::operator> ( const Degree rhs) const

Compare a Degree object with another Degree object.

Parameters
rhsDegree object to be compared with
Returns
bool

Definition at line 75 of file psen_scan_internal_angle.cpp.

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const Degree deg 
)
friend

Define how Degree should behave with stream operator.

Parameters
osOutput Stream
degDegree
Returns
std::ostream& Reference to Output Stream

Definition at line 160 of file psen_scan_internal_angle.cpp.

Member Data Documentation

◆ angle_

double psen_scan::Degree::angle_
private

Definition at line 32 of file psen_scan_internal_angle.h.


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


psen_scan
Author(s):
autogenerated on Mon Feb 28 2022 23:16:20