15 #ifndef OPENSCENARIO_INTERPRETER__SYNTAX__RELATIVE_DISTANCE_CONDITION_HPP_
16 #define OPENSCENARIO_INTERPRETER__SYNTAX__RELATIVE_DISTANCE_CONDITION_HPP_
27 #include <pugixml.hpp>
32 inline namespace syntax
93 std::vector<std::valarray<double>>
results;
104 throw SyntaxError(__FILE__,
":", __LINE__);
118 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::entity, RelativeDistanceType::euclidianDistance, RoutingAlgorithm::undefined, false>(
const EntityRef &,
const EntityRef &) -> double;
119 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::entity, RelativeDistanceType::euclidianDistance, RoutingAlgorithm::undefined, true >(
const EntityRef &,
const EntityRef &) -> double;
120 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::entity, RelativeDistanceType::lateral, RoutingAlgorithm::undefined, false>(
const EntityRef &,
const EntityRef &) -> double;
121 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::entity, RelativeDistanceType::lateral, RoutingAlgorithm::undefined, true >(
const EntityRef &,
const EntityRef &) -> double;
122 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::entity, RelativeDistanceType::longitudinal, RoutingAlgorithm::undefined, false>(
const EntityRef &,
const EntityRef &) -> double;
123 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::entity, RelativeDistanceType::longitudinal, RoutingAlgorithm::undefined, true >(
const EntityRef &,
const EntityRef &) -> double;
124 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::lane, RelativeDistanceType::lateral, RoutingAlgorithm::undefined, false>(
const EntityRef &,
const EntityRef &) -> double;
125 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::lane, RelativeDistanceType::lateral, RoutingAlgorithm::undefined, true >(
const EntityRef &,
const EntityRef &) -> double;
126 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::lane, RelativeDistanceType::longitudinal, RoutingAlgorithm::undefined, false>(
const EntityRef &,
const EntityRef &) -> double;
127 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::lane, RelativeDistanceType::longitudinal, RoutingAlgorithm::undefined, true >(
const EntityRef &,
const EntityRef &) -> double;
128 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::lane, RelativeDistanceType::lateral, RoutingAlgorithm::shortest, false>(
const EntityRef &,
const EntityRef &) -> double;
129 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::lane, RelativeDistanceType::lateral, RoutingAlgorithm::shortest, true >(
const EntityRef &,
const EntityRef &) -> double;
130 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::lane, RelativeDistanceType::longitudinal, RoutingAlgorithm::shortest, false>(
const EntityRef &,
const EntityRef &) -> double;
131 template <>
auto RelativeDistanceCondition::distance<CoordinateSystem::lane, RelativeDistanceType::longitudinal, RoutingAlgorithm::shortest, true >(
const EntityRef &,
const EntityRef &) -> double;
Definition: scope.hpp:154
Definition: simulator_core.hpp:529
std::string String
Definition: string.hpp:24
Pointer< Expression > Object
Definition: object.hpp:26
Definition: boolean.hpp:26
Definition: coordinate_system.hpp:50
Definition: double.hpp:25
Definition: entities.hpp:41
Definition: entity_ref.hpp:35
Definition: entity.hpp:46
Definition: relative_distance_condition.hpp:52
const Rule rule
Definition: relative_distance_condition.hpp:84
auto evaluate() -> Object
Definition: relative_distance_condition.cpp:332
const RelativeDistanceType relative_distance_type
Definition: relative_distance_condition.hpp:74
const Entity entity_ref
Definition: relative_distance_condition.hpp:62
auto description() const -> String
Definition: relative_distance_condition.cpp:53
RelativeDistanceCondition(const pugi::xml_node &, Scope &, const TriggeringEntities &)
Definition: relative_distance_condition.cpp:30
std::vector< std::valarray< double > > results
Definition: relative_distance_condition.hpp:93
const CoordinateSystem coordinate_system
Definition: relative_distance_condition.hpp:57
const Double value
Definition: relative_distance_condition.hpp:89
const TriggeringEntities triggering_entities
Definition: relative_distance_condition.hpp:91
const RoutingAlgorithm routing_algorithm
Definition: relative_distance_condition.hpp:79
static auto distance(const EntityRef &, const EntityRef &) -> double
Definition: relative_distance_condition.hpp:102
const Boolean freespace
Definition: relative_distance_condition.hpp:68
Definition: relative_distance_type.hpp:55
Definition: routing_algorithm.hpp:48
Definition: triggering_entities.hpp:40