scenario_simulator_v2 C++ API
traffic_signal_state_action.hpp
Go to the documentation of this file.
1 // Copyright 2015 TIER IV, Inc. All rights reserved.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #ifndef OPENSCENARIO_INTERPRETER__SYNTAX__TRAFFIC_SIGNAL_STATE_ACTION_HPP_
16 #define OPENSCENARIO_INTERPRETER__SYNTAX__TRAFFIC_SIGNAL_STATE_ACTION_HPP_
17 
21 #include <pugixml.hpp>
22 
24 {
25 inline namespace syntax
26 {
27 /* ---- NOTE -------------------------------------------------------------------
28  *
29  * Controls the state of a traffic signal.
30  *
31  * <xsd:complexType name="TrafficSignalStateAction">
32  * <xsd:attribute name="name" type="String" use="required"/>
33  * <xsd:attribute name="state" type="String" use="required"/>
34  * </xsd:complexType>
35  *
36  * -------------------------------------------------------------------------- */
38 {
39  /* ---- NOTE -----------------------------------------------------------------
40  *
41  * ID of a signal in a road network. The signal ID must be listed in the
42  * TrafficSignal list of the RoadNetwork.
43  *
44  * In the TIER IV OpenSCENARIO implementation, it is the Lanelet ID (positive
45  * integer) of the traffic light.
46  *
47  * ------------------------------------------------------------------------ */
48  const String name;
49 
50  /* ---- NOTE -----------------------------------------------------------------
51  *
52  * Targeted state of the signal. The available states are listed in the
53  * TrafficSignal list of the RoadNetwork.
54  *
55  * ------------------------------------------------------------------------ */
56  const String state;
57 
58  explicit TrafficSignalStateAction(const pugi::xml_node &, Scope &);
59 
60  static auto accomplished() noexcept -> bool;
61 
62  static auto endsImmediately() noexcept -> bool;
63 
64  static auto run() noexcept -> void;
65 
66  /* */ auto start() const -> void;
67 
68  /* */ auto id() const -> std::int64_t;
69 };
70 } // namespace syntax
71 } // namespace openscenario_interpreter
72 
73 #endif // OPENSCENARIO_INTERPRETER__SYNTAX__TRAFFIC_SIGNAL_STATE_ACTION_HPP_
Definition: scope.hpp:154
std::string String
Definition: string.hpp:24
Definition: hypot.hpp:22
Definition: cache.hpp:27
Definition: traffic_signal_state_action.hpp:38
const String name
Definition: traffic_signal_state_action.hpp:48
static auto run() noexcept -> void
Definition: traffic_signal_state_action.cpp:32
static auto accomplished() noexcept -> bool
Definition: traffic_signal_state_action.cpp:28
auto start() const -> void
Definition: traffic_signal_state_action.cpp:34
TrafficSignalStateAction(const pugi::xml_node &, Scope &)
Definition: traffic_signal_state_action.cpp:22
static auto endsImmediately() noexcept -> bool
Definition: traffic_signal_state_action.cpp:30
const String state
Definition: traffic_signal_state_action.hpp:56