Qualia  0.2
Classes | Typedefs | Enumerations | Functions | Variables
BehaviorTree Namespace Reference

Classes

class  BehaviorTreeNode
 Abstract base clase for Behavior Tree Nodes. More...
 
class  BehaviorTreeInternalNode
 Abstract base class for Behavior Tree nodes with children. More...
 
class  BehaviorTreeDecoratorNode
 Abstract base class for Behavior Tree nodes with exactly one child. More...
 
class  AlwaysRunning
 Always returns the BT_RUNNING status. More...
 
class  AlwaysSuccess
 Always returns the BT_SUCCESS status. More...
 
class  AlwaysFailure
 Always returns the BT_FAILURE status. More...
 
class  SuccessAfter
 Returns BT_RUNNING for the specified number of iterations, then returns BT_SUCCESS after that. More...
 
class  FailureAfter
 Returns BT_RUNNING for the specified number of iterations, then returns BT_FAILURE after that. More...
 
class  BehaviorTreeUtil
 
class  BoolCondition
 Wraps a function or member pointer that returns a boolean value into a conditional node. More...
 
class  NoClass
 
class  CountLimitNode
 Limit the number of times this tree section can execute before it becomes blocked off. More...
 
class  FloatCondition
 Wraps a function or member pointer that returns a float value into a conditional node. More...
 
class  FunctionCall
 Wraps a function or member pointer into a Behavior Tree Node. More...
 
class  IntCondition
 Wraps a function or member pointer that returns an integer value into a conditional node. More...
 
class  ParallelNode
 Execute behaviors in parallel. More...
 
class  PriorityNode
 Executes behaviors in priority order until one of them is successful. More...
 
struct  WeightedBehaviorTreeNode
 
class  ProbabilityNode
 Executes behaviors randomly, based on a given set of weights. More...
 
class  RepeatNode
 A node that repeats its child a specified number of times. More...
 
class  SequentialNode
 Executes behaviors in order. More...
 

Typedefs

typedef uint8_t FAILURE_POLICY
 Enumerates the options for when a parallel node is considered to have failed. More...
 
typedef uint8_t SUCCESS_POLICY
 Enumerates the options for when a parallel node is considered to have succeeded. More...
 

Enumerations

enum  BEHAVIOR_STATUS { BT_SUCCESS, BT_FAILURE, BT_RUNNING }
 Enumerates the states every node can be in after execution during a particular time step. More...
 
enum  TRAVERSAL_POLICY { RESTART, CONTINUE }
 Enumerates the options for when a priority node returns BT_RUNNING. More...
 
enum  FLOAT_TEST {
  LESS_THAN_FP, GREATER_THAN_FP, LESS_OR_CLOSE, GREATER_OR_CLOSE,
  CLOSE, NOT_CLOSE
}
 These are the numerical tests that are available for floating point numbers. More...
 
enum  INT_TEST {
  LESS_THAN, GREATER_THAN, LESS_OR_EQ, GREATER_OR_EQ,
  EQUAL, NOT_EQUAL
}
 These are the numerical tests that are available for integers. More...
 

Functions

BehaviorTreeNodeend ()
 
WeightedBehaviorTreeNode endWeighted ()
 

Variables

BehaviorTreeUtil BT
 

Typedef Documentation

Enumerates the options for when a parallel node is considered to have failed.

  • FAIL_ON_ONE indicates that the node will return failure as soon as one of its children fails.
  • FAIL_ON_ALL indicates that all of the node's children must fail before it returns failure.

If FAIL_ON_ONE and SUCEED_ON_ONE are both active and are both trigerred in the same time step, failure will take precedence.

Enumerates the options for when a parallel node is considered to have succeeded.

  • SUCCEED_ON_ONE indicates that the node will return success as soon as one of its children succeeds.
  • SUCCEED_ON_ALL indicates that all of the node's children must succeed before it returns success.

Enumeration Type Documentation

Enumerates the states every node can be in after execution during a particular time step.

  • BT_SUCCESS indicates the node has completed running during this time step.
  • BT_FAILURE indicates the node has determined it will not be able to complete its task.
  • BT_RUNNING indicates that the node has successfully moved forward during this time step, but the task is not yet complete.
Enumerator
BT_SUCCESS 
BT_FAILURE 
BT_RUNNING 

These are the numerical tests that are available for floating point numbers.

Because of Floating Point precision and rounding issues, testing for exact equalities is unwise. Therefore, the FloatCondition constructor accepts an optional value to determine how strict equality checks are.

Enumerator
LESS_THAN_FP 
GREATER_THAN_FP 
LESS_OR_CLOSE 
GREATER_OR_CLOSE 
CLOSE 
NOT_CLOSE 

These are the numerical tests that are available for integers.

Enumerator
LESS_THAN 
GREATER_THAN 
LESS_OR_EQ 
GREATER_OR_EQ 
EQUAL 
NOT_EQUAL 

Enumerates the options for when a priority node returns BT_RUNNING.

  • RESTART indicates that the priority node will restart from the beginning, thus ignoring the BT_RUNNING value
  • CONTINUE indicates that the priority node will continue at the node that returned the BT_RUNNING value
Enumerator
RESTART 
CONTINUE 

Function Documentation

BehaviorTreeNode* BehaviorTree::end ( )
WeightedBehaviorTreeNode BehaviorTree::endWeighted ( )

Variable Documentation

BehaviorTreeUtil BehaviorTree::BT