31#include "Orientation.h"
33#include "common/Interval.h"
52 TrackLocation() noexcept
54 explicit TrackLocation(
Length param ) noexcept
56 explicit TrackLocation(
Length param,
bool orient ) noexcept
60 TrackLocation(
Length param, Orientation orient ) noexcept
65 bool operator==(
const TrackLocation& tl )
const noexcept{
69 bool operator!=(
const TrackLocation& tl )
const noexcept{
70 return !operator==( tl );
78 bool Equals(
const TrackLocation& loc,
Length _epsilon )
const noexcept{
101 struct TrackLocationRef
110 TrackLocationRef() noexcept = default;
111 explicit TrackLocationRef( const
TrackLocation& tl ) noexcept
114 TrackLocationRef(
Length param,
bool orient, IDType
id ) noexcept
121 bool operator==(
const TrackLocationRef& tlr )
const noexcept{
125 bool operator!=(
const TrackLocationRef& tlr )
const noexcept{
126 return !operator==( tlr );
142 TrackRange() noexcept = default;
143 explicit TrackRange(
IDType id ) noexcept
150 explicit TrackRange(
const common::Interval<trax::Length>& interval ) noexcept
156 bool operator==(
const TrackRange& tr )
const noexcept{
157 return range == tr.range &&
refid == tr.refid;
160 bool operator!=(
const TrackRange& tr )
const noexcept{
161 return !operator==( tr );
void operator+=(Interval< Valtype > &i1, const Interval< Valtype > &i2) noexcept
Interval operator.
Definition Interval.h:586
constexpr bool Equals(T a, T b, T epsilon) noexcept
Tests equality in the sense |a-b| < epsilon.
Definition Helpers.h:66
Value< Dimension< 1, 0, 0 > > Length
Length.
Definition DimensionedValues.h:324
constexpr Value< Dimension< L, M, T > > & operator-=(Value< Dimension< L, M, T > > &a, const Value< Dimension< L, M, T > > &b) noexcept
Dimensionated Values operator.
Definition DimensionedValues.h:490
Namespace of all the trax track libraries classes and methods.
Definition Collection.h:17
An interval describes the area between two numbers. It is understood to contain the near one and exlu...
Definition Interval.h:42
Type used for IDs in the trax library.
Definition IDType.h:43
Provides two values for orientation.
Definition Orientation.h:37
Value
Values for orientation.
Definition Orientation.h:40
@ para
Denoting the aligned, parallel orientation.
Definition Orientation.h:43
A TrackLocation ist a location on a single track.
Definition TrackLocation.h:43
void Flip() noexcept
Turns the orientation of this TrackLocation to the other side.
Definition TrackLocation.h:86
bool Equals(const TrackLocation &loc, Length _epsilon) const noexcept
Definition TrackLocation.h:78
Orientation orientation
Orientation on the track. True means orientation in track direction.
Definition TrackLocation.h:45
Length parameter
Parameter along a track starting from Track::front.
Definition TrackLocation.h:44
TrackLocation location
location on track.
Definition TrackLocation.h:103
IDType refid
ID of track.
Definition TrackLocation.h:104
IDType refid
ID of track.
Definition TrackLocation.h:134
common::Interval< Length > range
range on track.
Definition TrackLocation.h:133