9 throw std::invalid_argument(
"NodeAdapter: wrapped_node cannot be null");
61 return wrapped_node_->CalculateSubtreeWidth(node_width, horizontal_spacing);
75 child_adapter->Accept(visitor);
161 for (
size_t i = 0; i <
wrapped_node_->GetChildCount(); ++i) {
181 return !subtree_ref.empty();
187 return unimplemented ==
"true";
Abstract interface for tree nodes that can be visualized.
VisualState
Visual state for UI rendering.
virtual void Accept(std::function< void(ITreeNode *)> visitor)=0
NodeType
Node types for visualization categorization.
NodeStatus
Node status for runtime visualization.
size_t GetDepth() const override
void EnsureChildAdapters() const
NodeAdapter(Node *node)
Constructor that wraps an existing Node.
size_t GetSubtreeNodeCount() const override
ITreeNode * GetParent() const override
bool IsUnimplementedReference() const override
Check if this node references an unimplemented tree.
String GetSubTreeReference() const override
Get the ID of the referenced SubTree (if this is a SubTree node)
int GetChildrenWidth() const override
void SetChildrenWidth(int width) override
int CalculateSubtreeWidth(int node_width, int horizontal_spacing) const override
void EnsureParentAdapter() const
const EmberCore::Point & GetPosition() const override
bool AreChildrenVisible() const override
void Accept(std::function< void(ITreeNode *)> visitor) override
void SetPosition(const EmberCore::Point &position) override
size_t GetChildCount() const override
NodeType GetType() const override
VisualState GetVisualState() const override
NodeStatus GetStatus() const override
NodeStatus ConvertNodeStatus(Node::Status status) const
std::vector< std::unique_ptr< NodeAdapter > > child_adapters_
NodeType ConvertNodeType(Node::Type type) const
std::unique_ptr< NodeAdapter > parent_adapter_
bool IsSubTreeReference() const override
Check if this node is a SubTree reference.
VisualState ConvertVisualState(Node::VisualState state) const
void SetChildrenVisible(bool visible) override
const EmberCore::String & GetName() const override
void SetVisualState(VisualState state) override
size_t GetId() const override
ITreeNode * GetChild(size_t index) const override
Represents a node in a behavior tree structure.
Status
Node status for runtime execution tracking.
VisualState
Visual state for UI rendering.
Type
Node types for behavior tree classification.
Main types header for EmberCore.
std::string String
Framework-agnostic string type.
2D point with integer coordinates