![]() |
Ember
|
Direct tree adapter that wraps BehaviorTree for unified tree operations. More...
#include <DirectTreeAdapter.h>
Public Member Functions | |
| DirectTreeAdapter (std::shared_ptr< BehaviorTree > tree) | |
| Constructor that wraps a BehaviorTree. | |
| virtual | ~DirectTreeAdapter ()=default |
| ITreeNode * | GetRootNode () const override |
| const EmberCore::String & | GetName () const override |
| const EmberCore::String & | GetDescription () const override |
| size_t | GetNodeCount () const override |
| size_t | GetMaxDepth () const override |
| ITreeNode * | FindNodeById (size_t id) const override |
| ITreeNode * | FindNodeByName (const EmberCore::String &name) const override |
| std::vector< ITreeNode * > | FindNodesByType (ITreeNode::NodeType type) const override |
| void | TraverseNodes (std::function< void(ITreeNode *)> visitor) override |
| void | TraverseNodes (std::function< void(const ITreeNode *)> visitor) const override |
| bool | IsValid () const override |
| bool | HasCycles () const override |
| std::vector< ITreeNode * > | GetAllNodes () override |
| std::vector< const ITreeNode * > | GetAllNodes () const override |
| EmberCore::String | GetTreeStructure () const override |
| void | PrintTree () const override |
| std::shared_ptr< BehaviorTree > | GetWrappedTree () const |
| std::shared_ptr< BehaviorTree > | GetTree () const |
| Public Member Functions inherited from EmberCore::ITreeStructure | |
| virtual | ~ITreeStructure ()=default |
| virtual bool | HasRootNode () const |
Private Member Functions | |
| ITreeNode::NodeType | ConvertNodeType (Node::Type type) const |
| Node::Type | ConvertNodeType (ITreeNode::NodeType type) const |
| void | EnsureRootAdapter () const |
| NodeAdapter * | GetOrCreateNodeAdapter (Node *node) const |
Private Attributes | |
| std::shared_ptr< BehaviorTree > | behavior_tree_ |
| std::unique_ptr< NodeAdapter > | root_adapter_ |
| std::unordered_map< Node *, std::unique_ptr< NodeAdapter > > | node_adapter_cache_ |
Direct tree adapter that wraps BehaviorTree for unified tree operations.
This adapter provides ITreeStructure interface while using BehaviorTree as the single source of truth for tree data and operations. This enables proper synchronization between visualization and editing systems.
Definition at line 30 of file DirectTreeAdapter.h.
|
explicit |
Constructor that wraps a BehaviorTree.
| tree | The BehaviorTree to wrap |
Definition at line 6 of file DirectTreeAdapter.cpp.
|
virtualdefault |
|
private |
Definition at line 133 of file DirectTreeAdapter.cpp.
|
private |
Definition at line 118 of file DirectTreeAdapter.cpp.
|
private |
Definition at line 148 of file DirectTreeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeStructure.
Definition at line 30 of file DirectTreeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeStructure.
Definition at line 39 of file DirectTreeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeStructure.
Definition at line 48 of file DirectTreeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeStructure.
Definition at line 101 of file DirectTreeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeStructure.
Definition at line 95 of file DirectTreeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeStructure.
Definition at line 21 of file DirectTreeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeStructure.
Definition at line 28 of file DirectTreeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeStructure.
Definition at line 16 of file DirectTreeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeStructure.
Definition at line 26 of file DirectTreeAdapter.cpp.
|
private |
Definition at line 157 of file DirectTreeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeStructure.
Definition at line 8 of file DirectTreeAdapter.cpp.
|
inline |
Definition at line 73 of file DirectTreeAdapter.h.
|
overridevirtual |
Implements EmberCore::ITreeStructure.
Definition at line 107 of file DirectTreeAdapter.cpp.
|
inline |
Definition at line 72 of file DirectTreeAdapter.h.
|
overridevirtual |
Implements EmberCore::ITreeStructure.
Definition at line 90 of file DirectTreeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeStructure.
Definition at line 85 of file DirectTreeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeStructure.
Definition at line 111 of file DirectTreeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeStructure.
Definition at line 74 of file DirectTreeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeStructure.
Definition at line 63 of file DirectTreeAdapter.cpp.
|
private |
Definition at line 76 of file DirectTreeAdapter.h.
|
mutableprivate |
Definition at line 82 of file DirectTreeAdapter.h.
|
mutableprivate |
Definition at line 79 of file DirectTreeAdapter.h.