15 #ifndef OPENSCENARIO_INTERPRETER__SYNTAX__RELATIVE_DISTANCE_CONDITION_HPP_
16 #define OPENSCENARIO_INTERPRETER__SYNTAX__RELATIVE_DISTANCE_CONDITION_HPP_
26 #include <pugixml.hpp>
30 inline namespace syntax
104 throw SyntaxError(__FILE__,
":", __LINE__);
116 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::entity, RelativeDistanceType::euclidianDistance, RoutingAlgorithm::undefined, false>(
const EntityRef &) -> double;
117 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::entity, RelativeDistanceType::euclidianDistance, RoutingAlgorithm::undefined, true >(
const EntityRef &) -> double;
118 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::entity, RelativeDistanceType::lateral, RoutingAlgorithm::undefined, false>(
const EntityRef &) -> double;
119 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::entity, RelativeDistanceType::lateral, RoutingAlgorithm::undefined, true >(
const EntityRef &) -> double;
120 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::entity, RelativeDistanceType::longitudinal, RoutingAlgorithm::undefined, false>(
const EntityRef &) -> double;
121 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::entity, RelativeDistanceType::longitudinal, RoutingAlgorithm::undefined, true >(
const EntityRef &) -> double;
122 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::lane, RelativeDistanceType::lateral, RoutingAlgorithm::undefined, false>(
const EntityRef &) -> double;
123 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::lane, RelativeDistanceType::lateral, RoutingAlgorithm::undefined, true >(
const EntityRef &) -> double;
124 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::lane, RelativeDistanceType::longitudinal, RoutingAlgorithm::undefined, false>(
const EntityRef &) -> double;
125 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::lane, RelativeDistanceType::longitudinal, RoutingAlgorithm::undefined, true >(
const EntityRef &) -> double;
126 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::lane, RelativeDistanceType::lateral, RoutingAlgorithm::shortest, false>(
const EntityRef &) -> double;
127 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::lane, RelativeDistanceType::lateral, RoutingAlgorithm::shortest, true >(
const EntityRef &) -> double;
128 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::lane, RelativeDistanceType::longitudinal, RoutingAlgorithm::shortest, false>(
const EntityRef &) -> double;
129 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::lane, RelativeDistanceType::longitudinal, RoutingAlgorithm::shortest, true >(
const EntityRef &) -> double;
Definition: scope.hpp:154
Definition: simulator_core.hpp:458
std::string String
Definition: string.hpp:24
Definition: escape_sequence.hpp:22
Pointer< Expression > Object
Definition: object.hpp:26
Definition: boolean.hpp:26
Definition: coordinate_system.hpp:50
Definition: double.hpp:25
Definition: entity_ref.hpp:35
Definition: relative_distance_condition.hpp:50
const bool consider_z
Definition: relative_distance_condition.hpp:93
const Rule rule
Definition: relative_distance_condition.hpp:82
auto evaluate() -> Object
Definition: relative_distance_condition.cpp:416
const RelativeDistanceType relative_distance_type
Definition: relative_distance_condition.hpp:72
auto description() const -> String
Definition: relative_distance_condition.cpp:57
RelativeDistanceCondition(const pugi::xml_node &, Scope &, const TriggeringEntities &)
Definition: relative_distance_condition.cpp:29
const CoordinateSystem coordinate_system
Definition: relative_distance_condition.hpp:55
auto distance(const EntityRef &) -> double
Definition: relative_distance_condition.hpp:102
const String entity_ref
Definition: relative_distance_condition.hpp:60
std::vector< Double > results
Definition: relative_distance_condition.hpp:91
const Double value
Definition: relative_distance_condition.hpp:87
const TriggeringEntities triggering_entities
Definition: relative_distance_condition.hpp:89
const RoutingAlgorithm routing_algorithm
Definition: relative_distance_condition.hpp:77
const Boolean freespace
Definition: relative_distance_condition.hpp:66
Definition: relative_distance_type.hpp:55
Definition: routing_algorithm.hpp:48
Definition: triggering_entities.hpp:39