15 #ifndef OPENSCENARIO_INTERPRETER__SYNTAX__DISTANCE_CONDITION_HPP_
16 #define OPENSCENARIO_INTERPRETER__SYNTAX__DISTANCE_CONDITION_HPP_
28 #include <pugixml.hpp>
33 inline namespace syntax
120 throw SyntaxError(__FILE__,
":", __LINE__);
134 template <>
auto DistanceCondition::distance<CoordinateSystem::entity, RelativeDistanceType::euclidianDistance, RoutingAlgorithm::undefined, false>(
const EntityRef &,
const Position &) -> double;
135 template <>
auto DistanceCondition::distance<CoordinateSystem::entity, RelativeDistanceType::euclidianDistance, RoutingAlgorithm::undefined, true >(
const EntityRef &,
const Position &) -> double;
136 template <>
auto DistanceCondition::distance<CoordinateSystem::entity, RelativeDistanceType::lateral, RoutingAlgorithm::undefined, false>(
const EntityRef &,
const Position &) -> double;
137 template <>
auto DistanceCondition::distance<CoordinateSystem::entity, RelativeDistanceType::lateral, RoutingAlgorithm::undefined, true >(
const EntityRef &,
const Position &) -> double;
138 template <>
auto DistanceCondition::distance<CoordinateSystem::entity, RelativeDistanceType::longitudinal, RoutingAlgorithm::undefined, false>(
const EntityRef &,
const Position &) -> double;
139 template <>
auto DistanceCondition::distance<CoordinateSystem::entity, RelativeDistanceType::longitudinal, RoutingAlgorithm::undefined, true >(
const EntityRef &,
const Position &) -> double;
140 template <>
auto DistanceCondition::distance<CoordinateSystem::lane, RelativeDistanceType::lateral, RoutingAlgorithm::undefined, false>(
const EntityRef &,
const Position &) -> double;
141 template <>
auto DistanceCondition::distance<CoordinateSystem::lane, RelativeDistanceType::lateral, RoutingAlgorithm::undefined, true >(
const EntityRef &,
const Position &) -> double;
142 template <>
auto DistanceCondition::distance<CoordinateSystem::lane, RelativeDistanceType::longitudinal, RoutingAlgorithm::undefined, false>(
const EntityRef &,
const Position &) -> double;
143 template <>
auto DistanceCondition::distance<CoordinateSystem::lane, RelativeDistanceType::longitudinal, RoutingAlgorithm::undefined, true >(
const EntityRef &,
const Position &) -> double;
144 template <>
auto DistanceCondition::distance<CoordinateSystem::lane, RelativeDistanceType::lateral, RoutingAlgorithm::shortest, false>(
const EntityRef &,
const Position &) -> double;
145 template <>
auto DistanceCondition::distance<CoordinateSystem::lane, RelativeDistanceType::lateral, RoutingAlgorithm::shortest, true >(
const EntityRef &,
const Position &) -> double;
146 template <>
auto DistanceCondition::distance<CoordinateSystem::lane, RelativeDistanceType::longitudinal, RoutingAlgorithm::shortest, false>(
const EntityRef &,
const Position &) -> double;
147 template <>
auto DistanceCondition::distance<CoordinateSystem::lane, RelativeDistanceType::longitudinal, RoutingAlgorithm::shortest, true >(
const EntityRef &,
const Position &) -> double;
Definition: scope.hpp:154
Definition: simulator_core.hpp:529
Pointer< Expression > Object
Definition: object.hpp:26
Definition: boolean.hpp:26
Definition: coordinate_system.hpp:50
Definition: distance_condition.hpp:64
static auto distance(const EntityRef &, const Position &) -> double
Definition: distance_condition.hpp:118
const RelativeDistanceType relative_distance_type
Definition: distance_condition.hpp:83
const CoordinateSystem coordinate_system
Definition: distance_condition.hpp:70
const TriggeringEntities triggering_entities
Definition: distance_condition.hpp:107
auto description() const -> std::string
Definition: distance_condition.cpp:59
DistanceCondition(const pugi::xml_node &, Scope &, const TriggeringEntities &)
Definition: distance_condition.cpp:35
auto evaluate() -> Object
Definition: distance_condition.cpp:612
const Position position
Definition: distance_condition.hpp:105
const RoutingAlgorithm routing_algorithm
Definition: distance_condition.hpp:90
const Double value
Definition: distance_condition.hpp:100
const Rule rule
Definition: distance_condition.hpp:95
std::vector< std::valarray< double > > results
Definition: distance_condition.hpp:109
const Boolean freespace
Definition: distance_condition.hpp:76
Definition: double.hpp:25
Definition: entities.hpp:41
Definition: entity_ref.hpp:35
Definition: entity.hpp:46
Definition: position.hpp:48
Definition: relative_distance_type.hpp:55
Definition: routing_algorithm.hpp:48
Definition: triggering_entities.hpp:40