scenario_simulator_v2 C++ API
transition_event.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 BEHAVIOR_TREE_PLUGIN__TRANSITION_EVENTS__TRANSITION_EVENT_HPP_
16 #define BEHAVIOR_TREE_PLUGIN__TRANSITION_EVENTS__TRANSITION_EVENT_HPP_
17 
18 #include <behaviortree_cpp_v3/loggers/bt_cout_logger.h>
19 
20 #include <functional>
21 #include <memory>
22 #include <rclcpp/rclcpp.hpp>
23 
24 namespace behavior_tree_plugin
25 {
27 {
28 public:
29  TransitionEvent(BT::TreeNode * root_node);
30 
31 protected:
32  virtual void callback(
33  BT::Duration timestamp, const BT::TreeNode & node, BT::NodeStatus prev_status,
34  BT::NodeStatus status) = 0;
35  void updateCurrentAction(const BT::NodeStatus & status, const BT::TreeNode & node);
36  BT::TimePoint first_timestamp_;
37  std::vector<BT::TreeNode::StatusChangeSubscriber> subscribers_;
38  BT::TimestampType type_;
40 };
41 } // namespace behavior_tree_plugin
42 
43 #endif // BEHAVIOR_TREE_PLUGIN__TRANSITION_EVENTS__TRANSITION_EVENT_HPP_
Definition: transition_event.hpp:27
void updateCurrentAction(const BT::NodeStatus &status, const BT::TreeNode &node)
Definition: transition_event.cpp:41
std::vector< BT::TreeNode::StatusChangeSubscriber > subscribers_
Definition: transition_event.hpp:37
std::string current_action_
Definition: transition_event.hpp:39
BT::TimestampType type_
Definition: transition_event.hpp:38
virtual void callback(BT::Duration timestamp, const BT::TreeNode &node, BT::NodeStatus prev_status, BT::NodeStatus status)=0
TransitionEvent(BT::TreeNode *root_node)
Definition: transition_event.cpp:21
BT::TimePoint first_timestamp_
Definition: transition_event.hpp:36
Definition: logging_event.hpp:23
std::string string
Definition: junit5.hpp:26