Ember
Loading...
Searching...
No Matches
EmberCore::ITreeNode Class Referenceabstract

Abstract interface for tree nodes that can be visualized. More...

#include <ITreeNode.h>

Inheritance diagram for EmberCore::ITreeNode:
EmberCore::NodeAdapter

Public Types

enum class  NodeType {
  Unknown , Action , Control , Condition ,
  Decorator , BehaviorTree
}
 Node types for visualization categorization. More...
enum class  NodeStatus { Idle , Running , Success , Failure }
 Node status for runtime visualization. More...
enum class  VisualState { Normal , Selected , Hovered , Highlighted }
 Visual state for UI rendering. More...

Public Member Functions

virtual ~ITreeNode ()=default
virtual const StringGetName () const =0
virtual NodeType GetType () const =0
virtual NodeStatus GetStatus () const =0
virtual size_t GetId () const =0
virtual size_t GetChildCount () const =0
virtual ITreeNodeGetChild (size_t index) const =0
virtual ITreeNodeGetParent () const =0
virtual bool HasChildren () const
virtual const PointGetPosition () const =0
virtual void SetPosition (const Point &position)=0
virtual VisualState GetVisualState () const =0
virtual void SetVisualState (VisualState state)=0
virtual bool AreChildrenVisible () const =0
virtual void SetChildrenVisible (bool visible)=0
virtual void ToggleChildrenVisibility ()
virtual int GetChildrenWidth () const =0
virtual void SetChildrenWidth (int width)=0
virtual int CalculateSubtreeWidth (int node_width, int horizontal_spacing) const =0
virtual size_t GetDepth () const =0
virtual size_t GetSubtreeNodeCount () const =0
virtual bool IsSubTreeReference () const
 Check if this node is a SubTree reference.
virtual bool IsUnimplementedReference () const
 Check if this node references an unimplemented tree.
virtual String GetSubTreeReference () const
 Get the ID of the referenced SubTree (if this is a SubTree node)
virtual String GetTypeString () const
virtual String GetStatusString () const
virtual void Accept (std::function< void(ITreeNode *)> visitor)=0
virtual void Accept (std::function< void(const ITreeNode *)> visitor) const =0

Detailed Description

Abstract interface for tree nodes that can be visualized.

This interface abstracts away the specific implementation details of behavior tree nodes, allowing the visualization system to work with any tree structure that implements these basic properties and operations.

Definition at line 31 of file ITreeNode.h.

Member Enumeration Documentation

◆ NodeStatus

Node status for runtime visualization.

Enumerator
Idle 
Running 
Success 
Failure 

Definition at line 48 of file ITreeNode.h.

◆ NodeType

enum class EmberCore::ITreeNode::NodeType
strong

Node types for visualization categorization.

Enumerator
Unknown 
Action 
Control 
Condition 
Decorator 
BehaviorTree 

Definition at line 36 of file ITreeNode.h.

◆ VisualState

Visual state for UI rendering.

Enumerator
Normal 
Selected 
Hovered 
Highlighted 

Definition at line 58 of file ITreeNode.h.

Constructor & Destructor Documentation

◆ ~ITreeNode()

virtual EmberCore::ITreeNode::~ITreeNode ( )
virtualdefault

Member Function Documentation

◆ Accept() [1/2]

virtual void EmberCore::ITreeNode::Accept ( std::function< void(const ITreeNode *)> visitor) const
pure virtual

Implemented in EmberCore::NodeAdapter.

◆ Accept() [2/2]

virtual void EmberCore::ITreeNode::Accept ( std::function< void(ITreeNode *)> visitor)
pure virtual

Implemented in EmberCore::NodeAdapter.

◆ AreChildrenVisible()

virtual bool EmberCore::ITreeNode::AreChildrenVisible ( ) const
pure virtual

Implemented in EmberCore::NodeAdapter.

◆ CalculateSubtreeWidth()

virtual int EmberCore::ITreeNode::CalculateSubtreeWidth ( int node_width,
int horizontal_spacing ) const
pure virtual

Implemented in EmberCore::NodeAdapter.

◆ GetChild()

virtual ITreeNode * EmberCore::ITreeNode::GetChild ( size_t index) const
pure virtual

Implemented in EmberCore::NodeAdapter.

◆ GetChildCount()

virtual size_t EmberCore::ITreeNode::GetChildCount ( ) const
pure virtual

Implemented in EmberCore::NodeAdapter.

◆ GetChildrenWidth()

virtual int EmberCore::ITreeNode::GetChildrenWidth ( ) const
pure virtual

Implemented in EmberCore::NodeAdapter.

◆ GetDepth()

virtual size_t EmberCore::ITreeNode::GetDepth ( ) const
pure virtual

Implemented in EmberCore::NodeAdapter.

◆ GetId()

virtual size_t EmberCore::ITreeNode::GetId ( ) const
pure virtual

Implemented in EmberCore::NodeAdapter.

◆ GetName()

virtual const String & EmberCore::ITreeNode::GetName ( ) const
pure virtual

Implemented in EmberCore::NodeAdapter.

◆ GetParent()

virtual ITreeNode * EmberCore::ITreeNode::GetParent ( ) const
pure virtual

Implemented in EmberCore::NodeAdapter.

◆ GetPosition()

virtual const Point & EmberCore::ITreeNode::GetPosition ( ) const
pure virtual

Implemented in EmberCore::NodeAdapter.

◆ GetStatus()

virtual NodeStatus EmberCore::ITreeNode::GetStatus ( ) const
pure virtual

Implemented in EmberCore::NodeAdapter.

◆ GetStatusString()

virtual String EmberCore::ITreeNode::GetStatusString ( ) const
inlinevirtual

Definition at line 132 of file ITreeNode.h.

◆ GetSubtreeNodeCount()

virtual size_t EmberCore::ITreeNode::GetSubtreeNodeCount ( ) const
pure virtual

Implemented in EmberCore::NodeAdapter.

◆ GetSubTreeReference()

virtual String EmberCore::ITreeNode::GetSubTreeReference ( ) const
inlinevirtual

Get the ID of the referenced SubTree (if this is a SubTree node)

Returns
The SubTree ID, or empty string if not a SubTree reference

Reimplemented in EmberCore::NodeAdapter.

Definition at line 112 of file ITreeNode.h.

◆ GetType()

virtual NodeType EmberCore::ITreeNode::GetType ( ) const
pure virtual

Implemented in EmberCore::NodeAdapter.

◆ GetTypeString()

virtual String EmberCore::ITreeNode::GetTypeString ( ) const
inlinevirtual

Definition at line 115 of file ITreeNode.h.

◆ GetVisualState()

virtual VisualState EmberCore::ITreeNode::GetVisualState ( ) const
pure virtual

Implemented in EmberCore::NodeAdapter.

◆ HasChildren()

virtual bool EmberCore::ITreeNode::HasChildren ( ) const
inlinevirtual

Definition at line 73 of file ITreeNode.h.

◆ IsSubTreeReference()

virtual bool EmberCore::ITreeNode::IsSubTreeReference ( ) const
inlinevirtual

Check if this node is a SubTree reference.

Returns
true if this node references another tree

Reimplemented in EmberCore::NodeAdapter.

Definition at line 100 of file ITreeNode.h.

◆ IsUnimplementedReference()

virtual bool EmberCore::ITreeNode::IsUnimplementedReference ( ) const
inlinevirtual

Check if this node references an unimplemented tree.

Returns
true if this is a SubTree reference that hasn't been resolved

Reimplemented in EmberCore::NodeAdapter.

Definition at line 106 of file ITreeNode.h.

◆ SetChildrenVisible()

virtual void EmberCore::ITreeNode::SetChildrenVisible ( bool visible)
pure virtual

Implemented in EmberCore::NodeAdapter.

◆ SetChildrenWidth()

virtual void EmberCore::ITreeNode::SetChildrenWidth ( int width)
pure virtual

Implemented in EmberCore::NodeAdapter.

◆ SetPosition()

virtual void EmberCore::ITreeNode::SetPosition ( const Point & position)
pure virtual

Implemented in EmberCore::NodeAdapter.

◆ SetVisualState()

virtual void EmberCore::ITreeNode::SetVisualState ( VisualState state)
pure virtual

Implemented in EmberCore::NodeAdapter.

◆ ToggleChildrenVisibility()

virtual void EmberCore::ITreeNode::ToggleChildrenVisibility ( )
inlinevirtual

Definition at line 84 of file ITreeNode.h.


The documentation for this class was generated from the following file: