From 0c9fe42485197be00d07b292b3237fc3d530f8b3 Mon Sep 17 00:00:00 2001 From: redvinaa Date: Thu, 31 Jul 2025 15:18:40 +0200 Subject: [PATCH 1/3] Make tick method protected Signed-off-by: redvinaa --- include/behaviortree_cpp/controls/sequence_node.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/behaviortree_cpp/controls/sequence_node.h b/include/behaviortree_cpp/controls/sequence_node.h index 0bb085705..575db29d5 100644 --- a/include/behaviortree_cpp/controls/sequence_node.h +++ b/include/behaviortree_cpp/controls/sequence_node.h @@ -43,11 +43,11 @@ class SequenceNode : public ControlNode protected: size_t current_child_idx_; + virtual BT::NodeStatus tick() override; + private: size_t skipped_count_ = 0; bool asynch_ = false; - - virtual BT::NodeStatus tick() override; }; } // namespace BT From 7fc24c52fb6210c2916ca868b0917ca019c18476 Mon Sep 17 00:00:00 2001 From: redvinaa Date: Thu, 31 Jul 2025 15:19:16 +0200 Subject: [PATCH 2/3] Propagate node config to parent Signed-off-by: redvinaa --- include/behaviortree_cpp/controls/sequence_node.h | 4 +++- src/controls/sequence_node.cpp | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/include/behaviortree_cpp/controls/sequence_node.h b/include/behaviortree_cpp/controls/sequence_node.h index 575db29d5..c4d24d056 100644 --- a/include/behaviortree_cpp/controls/sequence_node.h +++ b/include/behaviortree_cpp/controls/sequence_node.h @@ -34,7 +34,9 @@ namespace BT class SequenceNode : public ControlNode { public: - SequenceNode(const std::string& name, bool make_async = false); + SequenceNode( + const std::string& name, bool make_async = false, + const NodeConfiguration& conf = NodeConfiguration()); virtual ~SequenceNode() override = default; diff --git a/src/controls/sequence_node.cpp b/src/controls/sequence_node.cpp index 483e66c5b..76371146b 100644 --- a/src/controls/sequence_node.cpp +++ b/src/controls/sequence_node.cpp @@ -15,8 +15,8 @@ namespace BT { -SequenceNode::SequenceNode(const std::string& name, bool make_async) - : ControlNode::ControlNode(name, {}), current_child_idx_(0), asynch_(make_async) +SequenceNode::SequenceNode(const std::string& name, bool make_async, const NodeConfiguration& conf) + : ControlNode::ControlNode(name, conf), current_child_idx_(0), asynch_(make_async) { if(asynch_) setRegistrationID("AsyncSequence"); From 2e8b13e4dd8da98d156028a5cf48654cbcfcc70f Mon Sep 17 00:00:00 2001 From: redvinaa Date: Thu, 31 Jul 2025 15:29:22 +0200 Subject: [PATCH 3/3] Lint Signed-off-by: redvinaa --- include/behaviortree_cpp/controls/sequence_node.h | 5 ++--- src/controls/sequence_node.cpp | 3 ++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/behaviortree_cpp/controls/sequence_node.h b/include/behaviortree_cpp/controls/sequence_node.h index c4d24d056..cb6ab9bfc 100644 --- a/include/behaviortree_cpp/controls/sequence_node.h +++ b/include/behaviortree_cpp/controls/sequence_node.h @@ -34,9 +34,8 @@ namespace BT class SequenceNode : public ControlNode { public: - SequenceNode( - const std::string& name, bool make_async = false, - const NodeConfiguration& conf = NodeConfiguration()); + SequenceNode(const std::string& name, bool make_async = false, + const NodeConfiguration& conf = NodeConfiguration()); virtual ~SequenceNode() override = default; diff --git a/src/controls/sequence_node.cpp b/src/controls/sequence_node.cpp index 76371146b..a19c6b9ec 100644 --- a/src/controls/sequence_node.cpp +++ b/src/controls/sequence_node.cpp @@ -15,7 +15,8 @@ namespace BT { -SequenceNode::SequenceNode(const std::string& name, bool make_async, const NodeConfiguration& conf) +SequenceNode::SequenceNode(const std::string& name, bool make_async, + const NodeConfiguration& conf) : ControlNode::ControlNode(name, conf), current_child_idx_(0), asynch_(make_async) { if(asynch_)