ad_physics
Classes | Typedefs | Functions | Variables
ad::physics Namespace Reference

namespace physics More...

Classes

class  Acceleration
 DataType Acceleration. More...
 
struct  Acceleration3D
 DataType Acceleration3D. More...
 
struct  AccelerationRange
 DataType AccelerationRange. More...
 
class  Angle
 DataType Angle. More...
 
struct  AngleRange
 DataType AngleRange. More...
 
class  AngularAcceleration
 DataType AngularAcceleration. More...
 
class  AngularVelocity
 DataType AngularVelocity. More...
 
struct  AngularVelocity3D
 DataType AngularVelocity3D. More...
 
struct  Dimension2D
 DataType Dimension2D. More...
 
struct  Dimension3D
 DataType Dimension3D. More...
 
class  Distance
 DataType Distance. More...
 
struct  Distance2D
 DataType Distance2D. More...
 
struct  Distance3D
 DataType Distance3D. More...
 
class  DistanceSquared
 DataType DistanceSquared. More...
 
class  Duration
 DataType Duration. More...
 
class  DurationSquared
 DataType DurationSquared. More...
 
struct  MetricRange
 DataType MetricRange. More...
 
struct  ParametricRange
 DataType ParametricRange. More...
 
class  ParametricValue
 DataType ParametricValue. More...
 
class  Probability
 DataType Probability. More...
 
class  RatioValue
 DataType RatioValue. More...
 
class  Speed
 DataType Speed. More...
 
struct  SpeedRange
 DataType SpeedRange. More...
 
class  SpeedSquared
 DataType SpeedSquared. More...
 
struct  Velocity
 DataType Velocity. More...
 
class  Weight
 DataType Weight. More...
 

Typedefs

typedef std::vector<::ad::physics::Acceleration3DAcceleration3DList
 DataType Acceleration3DList. More...
 
typedef std::vector<::ad::physics::AccelerationAccelerationList
 DataType AccelerationList. More...
 
typedef std::vector<::ad::physics::AccelerationRangeAccelerationRangeList
 DataType AccelerationRangeList. More...
 
typedef std::vector<::ad::physics::AngleAngleList
 DataType AngleList. More...
 
typedef std::vector<::ad::physics::AngleRangeAngleRangeList
 DataType AngleRangeList. More...
 
typedef std::vector<::ad::physics::AngularAccelerationAngularAccelerationList
 DataType AngularAccelerationList. More...
 
typedef std::vector<::ad::physics::AngularVelocity3DAngularVelocity3DList
 DataType AngularVelocity3DList. More...
 
typedef std::vector<::ad::physics::AngularVelocityAngularVelocityList
 DataType AngularVelocityList. More...
 
typedef std::vector<::ad::physics::Dimension2DDimension2DList
 DataType Dimension2DList. More...
 
typedef std::vector<::ad::physics::Dimension3DDimension3DList
 DataType Dimension3DList. More...
 
typedef std::vector<::ad::physics::Distance2DDistance2DList
 DataType Distance2DList. More...
 
typedef std::vector<::ad::physics::Distance3DDistance3DList
 DataType Distance3DList. More...
 
typedef std::vector<::ad::physics::DistanceDistanceList
 DataType DistanceList. More...
 
typedef std::vector<::ad::physics::DistanceSquaredDistanceSquaredList
 DataType DistanceSquaredList. More...
 
typedef std::vector<::ad::physics::DurationDurationList
 DataType DurationList. More...
 
typedef std::vector<::ad::physics::DurationSquaredDurationSquaredList
 DataType DurationSquaredList. More...
 
typedef std::vector<::ad::physics::MetricRangeMetricRangeList
 DataType MetricRangeList. More...
 
typedef std::vector<::ad::physics::ParametricRangeParametricRangeList
 DataType ParametricRangeList. More...
 
typedef std::vector<::ad::physics::ParametricValueParametricValueList
 DataType ParametricValueList. More...
 
typedef std::vector<::ad::physics::ProbabilityProbabilityList
 DataType ProbabilityList. More...
 
typedef std::vector<::ad::physics::RatioValueRatioValueList
 DataType RatioValueList. More...
 
typedef std::vector<::ad::physics::SpeedSpeedList
 DataType SpeedList. More...
 
typedef std::vector<::ad::physics::SpeedRangeSpeedRangeList
 DataType SpeedRangeList. More...
 
typedef std::vector<::ad::physics::SpeedSquaredSpeedSquaredList
 DataType SpeedSquaredList. More...
 
typedef std::vector<::ad::physics::VelocityVelocityList
 DataType VelocityList. More...
 
typedef std::vector<::ad::physics::WeightWeightList
 DataType WeightList. More...
 

Functions

std::ostream & operator<< (std::ostream &os, Acceleration const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, Acceleration3D const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, AccelerationRange const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, Angle const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, AngleRange const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, AngularAcceleration const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, AngularVelocity const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, AngularVelocity3D const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, Dimension2D const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, Dimension3D const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, Distance const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, Distance2D const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, Distance3D const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, DistanceSquared const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, Duration const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, DurationSquared const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, MetricRange const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, ParametricRange const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, ParametricValue const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, Probability const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, RatioValue const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, Speed const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, SpeedRange const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, SpeedSquared const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, Velocity const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, Weight const &_value)
 standard ostream operator More...
 
static const Angle c2PI (2. *M_PI)
 constant 2*PI
 
Angle normalizeAngle (Angle const &angle)
 
Angle normalizeAngleSigned (Angle const &angle)
 
template<typename RangeType >
bool isRangeValid (RangeType const &range)
 
template<typename RangeType >
bool isRangeEmpty (RangeType const &range)
 
template<typename RangeType , typename RangeBaseType >
bool isWithinRange (RangeType const &range, RangeBaseType const &value)
 Checks if value of RangeBaseType is within range. More...
 
template<typename RangeType >
bool isRangeContained (RangeType const &left, RangeType const &right)
 Checks if right range is contained in left one. More...
 
template<typename RangeType >
bool doRangesOverlap (RangeType const &left, RangeType const &right)
 Checks left range overlaps right one. More...
 
template<typename RangeType >
bool areRangesDisjunct (RangeType const &left, RangeType const &right)
 Checks left range is disjunct from right one. More...
 
template<typename RangeType >
bool doesRangePredate (RangeType const &left, RangeType const &right)
 Checks if left range comes directly before right one. More...
 
template<typename RangeType >
bool doesRangeSucceed (RangeType const &left, RangeType const &right)
 Checks if left range comes directly after right one. More...
 
template<typename RangeType >
bool extendRangeWith (RangeType &left, RangeType const &right)
 Extends left range with right one. Direction of extension depends of the relative position of ranges. More...
 
template<typename RangeType >
RangeType getUnionRange (RangeType const &left, RangeType const &right)
 Calculate union of left and right range. More...
 
template<typename RangeType , typename RangeBaseType >
RangeType getUnionRange (RangeType const &left, RangeBaseType const &value)
 Calculate union of left range with additional value. More...
 
template<typename RangeType >
bool unionRangeWith (RangeType &left, RangeType const &right)
 
template<typename RangeType , typename RangeBaseType >
bool unionRangeWith (RangeType &left, RangeBaseType const &value)
 
template<typename RangeType >
RangeType getIntersectionRange (RangeType const &left, RangeType const &right)
 Intersect this range with right one. More...
 
template<typename RangeType >
bool intersectRangeWith (RangeType &left, RangeType const &right)
 Intersect left range with right one and store intersection in left. More...
 

Variables

static const Angle cPI (M_PI)
 constant PI
 
static const Angle cPI_2 (M_PI_2)
 constant PI/2
 

Detailed Description

namespace physics

namespace for physics datatypes and operations

namespace for RSS physics datatypes and operations

Typedef Documentation

◆ Acceleration3DList

DataType Acceleration3DList.

List of Acceleration3D

◆ AccelerationList

DataType AccelerationList.

List of Acceleration

◆ AccelerationRangeList

DataType AccelerationRangeList.

List of AccelerationRange

◆ AngleList

DataType AngleList.

List of Angle

◆ AngleRangeList

DataType AngleRangeList.

List of AngleRange

◆ AngularAccelerationList

DataType AngularAccelerationList.

List of AngularAcceleration

◆ AngularVelocity3DList

DataType AngularVelocity3DList.

List of AngularVelocity3D

◆ AngularVelocityList

DataType AngularVelocityList.

List of AngularVelocity

◆ Dimension2DList

DataType Dimension2DList.

List of Dimension2D

◆ Dimension3DList

DataType Dimension3DList.

List of Dimension3D

◆ Distance2DList

DataType Distance2DList.

List of Distance2D

◆ Distance3DList

DataType Distance3DList.

List of Distance3D

◆ DistanceList

DataType DistanceList.

List of Distance

◆ DistanceSquaredList

DataType DistanceSquaredList.

List of DistanceSquared

◆ DurationList

DataType DurationList.

List of Duration

◆ DurationSquaredList

DataType DurationSquaredList.

List of DurationSquared

◆ MetricRangeList

DataType MetricRangeList.

List of MetricRange

◆ ParametricRangeList

DataType ParametricRangeList.

List of ParametricRange

◆ ParametricValueList

DataType ParametricValueList.

List of ParametricValue

◆ ProbabilityList

DataType ProbabilityList.

List of Probability

◆ RatioValueList

DataType RatioValueList.

List of RatioValue

◆ SpeedList

DataType SpeedList.

List of Speed

◆ SpeedRangeList

DataType SpeedRangeList.

List of SpeedRange

◆ SpeedSquaredList

DataType SpeedSquaredList.

List of SpeedSquared

◆ VelocityList

DataType VelocityList.

List of Velocity

◆ WeightList

DataType WeightList.

List of Weight

Function Documentation

◆ areRangesDisjunct()

template<typename RangeType >
bool ad::physics::areRangesDisjunct ( RangeType const &  left,
RangeType const &  right 
)

Checks left range is disjunct from right one.

Parameters
[in]leftrange object.
[in]rightrange object.
Returns
true if this range is disjunct from right one.

◆ doesRangePredate()

template<typename RangeType >
bool ad::physics::doesRangePredate ( RangeType const &  left,
RangeType const &  right 
)

Checks if left range comes directly before right one.

Parameters
[in]leftrange object.
[in]rightrange object.
Returns
true if left range comes directly before right one.

◆ doesRangeSucceed()

template<typename RangeType >
bool ad::physics::doesRangeSucceed ( RangeType const &  left,
RangeType const &  right 
)

Checks if left range comes directly after right one.

Parameters
[in]leftrange object.
[in]rightrange object.
Returns
true if left range comes directly after right one.

◆ doRangesOverlap()

template<typename RangeType >
bool ad::physics::doRangesOverlap ( RangeType const &  left,
RangeType const &  right 
)

Checks left range overlaps right one.

Parameters
[in]leftrange object.
[in]rightrange object.
Returns
true if left range overlaps right one.

◆ extendRangeWith()

template<typename RangeType >
bool ad::physics::extendRangeWith ( RangeType &  left,
RangeType const &  right 
)

Extends left range with right one. Direction of extension depends of the relative position of ranges.

Parameters
[in]leftrange object.
[in]rightrange object.
Returns
true if successful. false indicates that right range neither Predates nor Suceeds left one.

◆ getIntersectionRange()

template<typename RangeType >
RangeType ad::physics::getIntersectionRange ( RangeType const &  left,
RangeType const &  right 
)

Intersect this range with right one.

Parameters
[in]leftrange object.
[in]rightrange object.
Returns
intersection range.
Note
If objects are not overlapping, intersection range will be invalid.

◆ getUnionRange() [1/2]

template<typename RangeType , typename RangeBaseType >
RangeType ad::physics::getUnionRange ( RangeType const &  left,
RangeBaseType const &  value 
)

Calculate union of left range with additional value.

Parameters
[in]leftrange object.
[in]valuevalue type object.
Returns
Union of left range value.

◆ getUnionRange() [2/2]

template<typename RangeType >
RangeType ad::physics::getUnionRange ( RangeType const &  left,
RangeType const &  right 
)

Calculate union of left and right range.

Parameters
[in]leftrange object.
[in]rightrange object.
Returns
Union of left and right range.

◆ intersectRangeWith()

template<typename RangeType >
bool ad::physics::intersectRangeWith ( RangeType &  left,
RangeType const &  right 
)

Intersect left range with right one and store intersection in left.

Parameters
[in]leftrange object.
[in]rightrange object.
Returns
true if, after intersection, left object is valid.
Note
If objects are not overlapping, left object will become invalid.

◆ isRangeContained()

template<typename RangeType >
bool ad::physics::isRangeContained ( RangeType const &  left,
RangeType const &  right 
)

Checks if right range is contained in left one.

Parameters
[in]leftrange object.
[in]rightrange object.
Returns
true if right range is contained in left one.

◆ isRangeEmpty()

template<typename RangeType >
bool ad::physics::isRangeEmpty ( RangeType const &  range)
Parameters
[in]rangerange object.
Returns
true if Range is valid but empty.

◆ isRangeValid()

template<typename RangeType >
bool ad::physics::isRangeValid ( RangeType const &  range)
Parameters
[in]rangerange object.
Returns
true if Range is valid.

◆ isWithinRange()

template<typename RangeType , typename RangeBaseType >
bool ad::physics::isWithinRange ( RangeType const &  range,
RangeBaseType const &  value 
)

Checks if value of RangeBaseType is within range.

Parameters
[in]rangerange object.
[in]valueobject of range base type.
Returns
true if RangeBaseType is within range.

◆ normalizeAngle()

Angle ad::physics::normalizeAngle ( Angle const &  angle)
inline
Returns
normalized angle in the range of [0; 2*PI)
Note
throws a std::out_of_range exception if the operand is not valid

◆ normalizeAngleSigned()

Angle ad::physics::normalizeAngleSigned ( Angle const &  angle)
inline
Returns
normalized angle in the range of (-PI; PI]
Note
throws a std::out_of_range exception if the operand is not valid

◆ operator<<() [1/26]

std::ostream& ad::physics::operator<< ( std::ostream &  os,
Acceleration const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueAcceleration value
Returns
The stream object.

◆ operator<<() [2/26]

std::ostream& ad::physics::operator<< ( std::ostream &  os,
Acceleration3D const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueAcceleration3D value
Returns
The stream object.

◆ operator<<() [3/26]

std::ostream& ad::physics::operator<< ( std::ostream &  os,
AccelerationRange const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueAccelerationRange value
Returns
The stream object.

◆ operator<<() [4/26]

std::ostream& ad::physics::operator<< ( std::ostream &  os,
Angle const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueAngle value
Returns
The stream object.

◆ operator<<() [5/26]

std::ostream& ad::physics::operator<< ( std::ostream &  os,
AngleRange const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueAngleRange value
Returns
The stream object.

◆ operator<<() [6/26]

std::ostream& ad::physics::operator<< ( std::ostream &  os,
AngularAcceleration const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueAngularAcceleration value
Returns
The stream object.

◆ operator<<() [7/26]

std::ostream& ad::physics::operator<< ( std::ostream &  os,
AngularVelocity const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueAngularVelocity value
Returns
The stream object.

◆ operator<<() [8/26]

std::ostream& ad::physics::operator<< ( std::ostream &  os,
AngularVelocity3D const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueAngularVelocity3D value
Returns
The stream object.

◆ operator<<() [9/26]

std::ostream& ad::physics::operator<< ( std::ostream &  os,
Dimension2D const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueDimension2D value
Returns
The stream object.

◆ operator<<() [10/26]

std::ostream& ad::physics::operator<< ( std::ostream &  os,
Dimension3D const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueDimension3D value
Returns
The stream object.

◆ operator<<() [11/26]

std::ostream& ad::physics::operator<< ( std::ostream &  os,
Distance const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueDistance value
Returns
The stream object.

◆ operator<<() [12/26]

std::ostream& ad::physics::operator<< ( std::ostream &  os,
Distance2D const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueDistance2D value
Returns
The stream object.

◆ operator<<() [13/26]

std::ostream& ad::physics::operator<< ( std::ostream &  os,
Distance3D const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueDistance3D value
Returns
The stream object.

◆ operator<<() [14/26]

std::ostream& ad::physics::operator<< ( std::ostream &  os,
DistanceSquared const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueDistanceSquared value
Returns
The stream object.

◆ operator<<() [15/26]

std::ostream& ad::physics::operator<< ( std::ostream &  os,
Duration const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueDuration value
Returns
The stream object.

◆ operator<<() [16/26]

std::ostream& ad::physics::operator<< ( std::ostream &  os,
DurationSquared const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueDurationSquared value
Returns
The stream object.

◆ operator<<() [17/26]

std::ostream& ad::physics::operator<< ( std::ostream &  os,
MetricRange const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueMetricRange value
Returns
The stream object.

◆ operator<<() [18/26]

std::ostream& ad::physics::operator<< ( std::ostream &  os,
ParametricRange const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueParametricRange value
Returns
The stream object.

◆ operator<<() [19/26]

std::ostream& ad::physics::operator<< ( std::ostream &  os,
ParametricValue const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueParametricValue value
Returns
The stream object.

◆ operator<<() [20/26]

std::ostream& ad::physics::operator<< ( std::ostream &  os,
Probability const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueProbability value
Returns
The stream object.

◆ operator<<() [21/26]

std::ostream& ad::physics::operator<< ( std::ostream &  os,
RatioValue const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueRatioValue value
Returns
The stream object.

◆ operator<<() [22/26]

std::ostream& ad::physics::operator<< ( std::ostream &  os,
Speed const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueSpeed value
Returns
The stream object.

◆ operator<<() [23/26]

std::ostream& ad::physics::operator<< ( std::ostream &  os,
SpeedRange const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueSpeedRange value
Returns
The stream object.

◆ operator<<() [24/26]

std::ostream& ad::physics::operator<< ( std::ostream &  os,
SpeedSquared const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueSpeedSquared value
Returns
The stream object.

◆ operator<<() [25/26]

std::ostream& ad::physics::operator<< ( std::ostream &  os,
Velocity const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueVelocity value
Returns
The stream object.

◆ operator<<() [26/26]

std::ostream& ad::physics::operator<< ( std::ostream &  os,
Weight const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueWeight value
Returns
The stream object.

◆ unionRangeWith() [1/2]

template<typename RangeType , typename RangeBaseType >
bool ad::physics::unionRangeWith ( RangeType &  left,
RangeBaseType const &  value 
)
Returns
store union of left range with additional value.
Parameters
[in]leftrange object.
[in]valuevalue type object.
Returns
true if successful.

◆ unionRangeWith() [2/2]

template<typename RangeType >
bool ad::physics::unionRangeWith ( RangeType &  left,
RangeType const &  right 
)
Returns
store union of right and left range into left range.
Parameters
[in]leftrange object.
[in]rightrange object.
Returns
true if successful.