swift
Loading...
Searching...
No Matches
CAngle Class Reference

Physical unit angle (radians, degrees). More...

#include <angle.h>

Inheritance diagram for CAngle:
[legend]

Classes

struct  DegMinSecFractionalSec
 Value as individual values. More...

Public Member Functions

 CAngle ()
 Default constructor.
 CAngle (double value, const CAngleUnit &unit)
 Init by double value.
 CAngle (const QString &unitString)
 CAngle (int degrees, int minutes, double seconds)
 Init as sexagesimal degrees, minutes, seconds The sign of all parameters must be the same, either all positive or all negative.
 CAngle (int degrees, double minutes)
 Init as sexagesimal degrees, minutes The sign of both parameters must be the same, either both positive or both negative.
swift::misc::CIcons::IconIndex toIcon () const
 As icon, not implemented by all classes.
DegMinSecFractionalSec asSexagesimalDegMinSec (bool range180Degrees=false) const
 As individual values.
double piFactor () const
 Value as factor of PI (e.g. 0.5PI).
double sin () const
 Sine of angle.
double cos () const
 Cosine of angle.
double tan () const
 Tangent of angle.
void normalizeToPlusMinus180Degrees ()
 Normalize to +- 180deg, [-179.99, 180.0].
void normalizeTo360Degrees ()
 Normalize to 0-360, [0, 359,99].
CAngle normalizedToPlusMinus180Degrees () const
 As [-179.99, 180.0] normalized angle.
CAngle normalizedTo360Degrees () const
 As [0, 359.99] normalized angle.
Public Member Functions inherited from swift::misc::physical_quantities::CPhysicalQuantity< CAngleUnit, CAngle >
const CAngleUnit & getUnit () const
 Unit.
void setUnit (const CAngleUnit &unit)
 Simply set unit, do no calclulate conversion.
void setUnitBySymbol (const QString &unitName)
 Set unit by string.
QString getUnitSymbol () const
 Unit.
CAngle & switchUnit (const CAngleUnit &newUnit)
 Change unit, and convert value to maintain the same quantity.
CAngle switchedUnit (const CAngleUnit &newUnit) const
 Return copy with switched unit.
bool isNull () const
 Is quantity null?
void setNull ()
 Set null.
double value (CAngleUnit unit) const
 Value in given unit.
void setCurrentUnitValue (double value)
 Set value in current unit.
int valueInteger (CAngleUnit unit) const
 As integer value.
QString valueIntegerAsString (CAngleUnit unit) const
 As integer value.
bool isInteger () const
 Is value an integer.
double valueRounded (CAngleUnit unit, int digits=-1) const
 Rounded value in given unit.
QString valueRoundedAsString (CAngleUnit unit, int digits=-1) const
 Rounded value in given unit.
QString valueRoundedWithUnit (const CAngleUnit &unit, int digits=-1, bool withGroupSeparator=false, bool i18n=false) const
 Value to QString with the given unit, e.g. "5.00m".
void roundToEpsilon ()
 Round current value in current unit to epsilon.
void setValueSameUnit (double value)
 Change value without changing unit.
void addValueSameUnit (double value)
 Add to the value in the current unit.
void substractValueSameUnit (double value)
 Substract from the value in the current unit.
CPhysicalQuantity & operator*= (double multiply)
 Multiply operator *=.
CPhysicalQuantity & operator/= (double divide)
 Divide operator /=.
CAngle operator* (double multiply) const
 Operator *.
CAngle operator/ (double divide) const
 Operator /.
CAngle operator- () const
 Unary operator -.
CPhysicalQuantity & operator+= (const CPhysicalQuantity &other)
 Plus operator +=.
CPhysicalQuantity & operator-= (const CPhysicalQuantity &other)
 Minus operator-=.
bool isZeroEpsilonConsidered () const
 Quantity value <= epsilon.
bool isPositiveWithEpsilonConsidered () const
 Value >= 0 epsilon considered.
bool isNegativeWithEpsilonConsidered () const
 Value <= 0 epsilon considered.
const CAngle & makePositive ()
 Make value always positive.
const CAngle & makeNegative ()
 Make value always negative.
CAngle abs () const
 Absolute value (always >=0).
void marshallToDbus (QDBusArgument &argument) const
 Marshall without begin/endStructure, for when composed within another object.
void unmarshallFromDbus (const QDBusArgument &argument)
 Unmarshall without begin/endStructure, for when composed within another object.
void marshalToDataStream (QDataStream &stream) const
 Marshal a value to a QDataStream.
void unmarshalFromDataStream (QDataStream &stream)
 Unmarshal a value from a QDataStream.
size_t getValueHash () const
 qHash overload, needed for storing value in a QSet.
QJsonObject toJson () const
 Cast to JSON object.
void convertFromJson (const QJsonObject &json)
 Assign from JSON object.
QVariant propertyByIndex (CPropertyIndexRef index) const
 Property by index.
void setPropertyByIndex (CPropertyIndexRef index, const QVariant &variant)
 Set property by index.
int comparePropertyByIndex (CPropertyIndexRef index, const CAngle &pq) const
 Compare for index.
QString convertToQString (bool i18n=false) const
 Cast as QString.
void parseFromString (const QString &value)
 Parse value from string.
Public Member Functions inherited from swift::misc::mixin::Index< CAngle >
CPropertyIndexList apply (const CPropertyIndexVariantMap &indexMap, bool skipEqualValues=false)
 Update by variant map.
void setPropertyByIndex (CPropertyIndexRef index, const QVariant &variant)
 Set property by index.
QVariant propertyByIndex (CPropertyIndexRef index) const
 Property by index.
int comparePropertyByIndex (CPropertyIndexRef index, const CAngle &compareValue) const
 Compare for index.
bool equalsPropertyByIndex (const QVariant &compareValue, CPropertyIndexRef index) const
 Is given variant equal to value of property index?
Public Member Functions inherited from swift::misc::mixin::MetaType< CAngle >
int getMetaTypeId () const
 Returns the Qt meta type ID of this object.
QString getClassName () const
 Class name.
bool isA (int metaTypeId) const
 Returns true if this object is an instance of the class with the given meta type ID, or one of its subclasses.
Public Member Functions inherited from swift::misc::mixin::String< CAngle >
QString toQString (bool i18n=false) const
 Cast as QString.
std::string toStdString (bool i18n=false) const
 To std string.
QString stringForStreaming () const
 String for streaming operators.
Public Member Functions inherited from swift::misc::mixin::Icon< CPhysicalQuantity< CAngleUnit, CAngle > >
CIcons::CIcons::StandardIconUnknown16 toIcon () const
 As icon, not implemented by all classes.

Static Public Member Functions

static void unifySign (int degrees, int &minutes, double &seconds)
 Minutes and secods will get same sign as degrees.
static void unifySign (int degrees, int &minutes)
 Minutes will get same sign as degrees.
static const double & PI ()
 PI as convenience method.
static double normalizeDegrees180 (double degrees, int roundDigits=-1)
 Normalize: -180< degrees ≤180.
static double normalizeDegrees360 (double degrees, int roundDigits=-1)
 Normalize: 0≤ degrees <360.
Static Public Member Functions inherited from swift::misc::physical_quantities::CPhysicalQuantity< CAngleUnit, CAngle >
static const CAngle & maxValue (const CAngle &pq1, const CAngle &pq2)
 Maximum of 2 quantities.
static const CAngle & minValue (const CAngle &pq1, const CAngle &pq2)
 Minimum of 2 quantities.
static const CAngle & null ()
 NULL PQ.
static CAngle parsedFromString (const QString &value, CPqString::SeparatorMode mode=CPqString::SeparatorBestGuess)
 Parsed from given string.
Static Public Member Functions inherited from swift::misc::mixin::MetaType< CAngle >
static void registerMetadata ()
 Register metadata.

Additional Inherited Members

Public Types inherited from swift::misc::physical_quantities::CPhysicalQuantity< CAngleUnit, CAngle >
enum  ColumnIndex
 Index. More...
Public Types inherited from swift::misc::mixin::Index< CAngle >
enum  ColumnIndex
 Base class enums. More...
Protected Member Functions inherited from swift::misc::physical_quantities::CPhysicalQuantity< CAngleUnit, CAngle >
 CPhysicalQuantity (double value, CAngleUnit unit)
 Constructor with double.

Detailed Description

Physical unit angle (radians, degrees).

Definition at line 22 of file angle.h.

Constructor & Destructor Documentation

◆ CAngle() [1/5]

Default constructor.

Definition at line 26 of file angle.h.

◆ CAngle() [2/5]

swift::misc::physical_quantities::CAngle::CAngle ( double value,
const CAngleUnit & unit )
inline

Init by double value.

Definition at line 29 of file angle.h.

◆ CAngle() [3/5]

Definition at line 32 of file angle.h.

◆ CAngle() [4/5]

swift::misc::physical_quantities::CAngle::CAngle ( int degrees,
int minutes,
double seconds )

Init as sexagesimal degrees, minutes, seconds The sign of all parameters must be the same, either all positive or all negative.

See also
CAngle::unifySign(int &, int &, double &)

Definition at line 17 of file angle.cpp.

◆ CAngle() [5/5]

swift::misc::physical_quantities::CAngle::CAngle ( int degrees,
double minutes )

Init as sexagesimal degrees, minutes The sign of both parameters must be the same, either both positive or both negative.

See also
CAngle::unifySign(int &, double &)

Definition at line 24 of file angle.cpp.

Member Function Documentation

◆ asSexagesimalDegMinSec()

As individual values.

Definition at line 47 of file angle.cpp.

◆ cos()

Cosine of angle.

Definition at line 78 of file angle.cpp.

◆ normalizeDegrees180()

double swift::misc::physical_quantities::CAngle::normalizeDegrees180 ( double degrees,
int roundDigits = -1 )
static

Normalize: -180< degrees ≤180.

Definition at line 112 of file angle.cpp.

◆ normalizeDegrees360()

double swift::misc::physical_quantities::CAngle::normalizeDegrees360 ( double degrees,
int roundDigits = -1 )
static

Normalize: 0≤ degrees <360.

Definition at line 122 of file angle.cpp.

◆ normalizedTo360Degrees()

As [0, 359.99] normalized angle.

Definition at line 105 of file angle.cpp.

◆ normalizedToPlusMinus180Degrees()

As [-179.99, 180.0] normalized angle.

Definition at line 98 of file angle.cpp.

◆ normalizeTo360Degrees()

Normalize to 0-360, [0, 359,99].

Definition at line 90 of file angle.cpp.

◆ normalizeToPlusMinus180Degrees()

Normalize to +- 180deg, [-179.99, 180.0].

Definition at line 82 of file angle.cpp.

◆ PI()

PI as convenience method.

Definition at line 74 of file angle.cpp.

◆ piFactor()

Value as factor of PI (e.g. 0.5PI).

Definition at line 72 of file angle.cpp.

◆ sin()

Sine of angle.

Definition at line 76 of file angle.cpp.

◆ tan()

Tangent of angle.

Definition at line 80 of file angle.cpp.

◆ toIcon()

As icon, not implemented by all classes.

Definition at line 45 of file angle.cpp.

◆ unifySign() [1/2]

void swift::misc::physical_quantities::CAngle::unifySign ( int degrees,
int & minutes )
static

Minutes will get same sign as degrees.

Definition at line 36 of file angle.cpp.

◆ unifySign() [2/2]

void swift::misc::physical_quantities::CAngle::unifySign ( int degrees,
int & minutes,
double & seconds )
static

Minutes and secods will get same sign as degrees.

Definition at line 30 of file angle.cpp.


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