scenario_simulator_v2 C++ API
openscenario
openscenario_interpreter
include
openscenario_interpreter
syntax
maneuver_group.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__MANEUVER_GROUP_HPP_
16
#define OPENSCENARIO_INTERPRETER__SYNTAX__MANEUVER_GROUP_HPP_
17
18
#include <boost/json.hpp>
19
#include <
openscenario_interpreter/syntax/actors.hpp
>
20
#include <
openscenario_interpreter/syntax/maneuver.hpp
>
21
#include <
openscenario_interpreter/syntax/storyboard_element.hpp
>
22
#include <pugixml.hpp>
23
24
namespace
openscenario_interpreter
25
{
26
inline
namespace
syntax
27
{
28
/* ---- ManeuverGroup ----------------------------------------------------------
29
*
30
* <xsd:complexType name="ManeuverGroup">
31
* <xsd:sequence>
32
* <xsd:element name="Actors" type="Actors"/>
33
* <xsd:element name="CatalogReference" type="CatalogReference" minOccurs="0" maxOccurs="unbounded"/>
34
* <xsd:element name="Maneuver" type="Maneuver" minOccurs="0" maxOccurs="unbounded"/>
35
* </xsd:sequence>
36
* <xsd:attribute name="maximumExecutionCount" type="UnsignedInt" use="required"/>
37
* <xsd:attribute name="name" type="String" use="required"/>
38
* </xsd:complexType>
39
*
40
* -------------------------------------------------------------------------- */
41
struct
ManeuverGroup
:
public
Scope
,
public
StoryboardElement
42
{
43
const
Actors
actors
;
44
45
explicit
ManeuverGroup
(
const
pugi::xml_node &,
Scope
&);
46
47
auto
run
() ->
void
override
;
48
49
auto
start
() ->
void
override
;
50
51
friend
auto
operator<<
(boost::json::object &,
const
ManeuverGroup
&) -> boost::json::object &;
52
};
53
}
// namespace syntax
54
}
// namespace openscenario_interpreter
55
56
#endif
// OPENSCENARIO_INTERPRETER__SYNTAX__MANEUVER_GROUP_HPP_
actors.hpp
openscenario_interpreter::Scope
Definition:
scope.hpp:154
openscenario_interpreter::StoryboardElement
Definition:
storyboard_element.hpp:37
maneuver.hpp
openscenario_interpreter
Definition:
hypot.hpp:22
storyboard_element.hpp
openscenario_interpreter::syntax::Actors
Definition:
actors.hpp:37
openscenario_interpreter::ManeuverGroup
Definition:
maneuver_group.hpp:42
openscenario_interpreter::syntax::ManeuverGroup::ManeuverGroup
ManeuverGroup(const pugi::xml_node &, Scope &)
Definition:
maneuver_group.cpp:24
openscenario_interpreter::syntax::ManeuverGroup::actors
const Actors actors
Definition:
maneuver_group.hpp:43
openscenario_interpreter::syntax::ManeuverGroup::start
auto start() -> void override
Definition:
maneuver_group.cpp:53
openscenario_interpreter::syntax::ManeuverGroup::operator<<
friend auto operator<<(boost::json::object &, const ManeuverGroup &) -> boost::json::object &
Definition:
maneuver_group.cpp:62
openscenario_interpreter::syntax::ManeuverGroup::run
auto run() -> void override
Definition:
maneuver_group.cpp:39
Generated by
1.9.1