| 112 | }; |
| 113 | |
| 114 | BehaviorTreeFactory::BehaviorTreeFactory() : _p(new PImpl) |
| 115 | { |
| 116 | _p->parser = std::make_shared<XMLParser>(*this); |
| 117 | _p->polymorphic_registry = std::make_shared<PolymorphicCastRegistry>(); |
| 118 | registerNodeType<FallbackNode>("Fallback"); |
| 119 | registerNodeType<FallbackNode>("AsyncFallback", true); |
| 120 | registerNodeType<SequenceNode>("Sequence"); |
| 121 | registerNodeType<SequenceNode>("AsyncSequence", true); |
| 122 | registerNodeType<SequenceWithMemory>("SequenceWithMemory"); |
| 123 | |
| 124 | #ifdef USE_BTCPP3_OLD_NAMES |
| 125 | registerNodeType<SequenceWithMemory>("SequenceStar"); // backward compatibility |
| 126 | #endif |
| 127 | |
| 128 | registerNodeType<ParallelNode>("Parallel"); |
| 129 | registerNodeType<ParallelAllNode>("ParallelAll"); |
| 130 | registerNodeType<ReactiveSequence>("ReactiveSequence"); |
| 131 | registerNodeType<ReactiveFallback>("ReactiveFallback"); |
| 132 | registerNodeType<IfThenElseNode>("IfThenElse"); |
| 133 | registerNodeType<WhileDoElseNode>("WhileDoElse"); |
| 134 | registerNodeType<TryCatchNode>("TryCatch"); |
| 135 | |
| 136 | registerNodeType<InverterNode>("Inverter"); |
| 137 | |
| 138 | registerNodeType<RetryNode>("RetryUntilSuccessful"); |
| 139 | registerNodeType<KeepRunningUntilFailureNode>("KeepRunningUntilFailure"); |
| 140 | registerNodeType<RepeatNode>("Repeat"); |
| 141 | registerNodeType<TimeoutNode>("Timeout"); |
| 142 | registerNodeType<DelayNode>("Delay"); |
| 143 | registerNodeType<RunOnceNode>("RunOnce"); |
| 144 | |
| 145 | registerNodeType<ForceSuccessNode>("ForceSuccess"); |
| 146 | registerNodeType<ForceFailureNode>("ForceFailure"); |
| 147 | |
| 148 | registerNodeType<AlwaysSuccessNode>("AlwaysSuccess"); |
| 149 | registerNodeType<AlwaysFailureNode>("AlwaysFailure"); |
| 150 | registerNodeType<ScriptNode>("Script"); |
| 151 | registerNodeType<ScriptCondition>("ScriptCondition"); |
| 152 | registerNodeType<SetBlackboardNode>("SetBlackboard"); |
| 153 | registerNodeType<SleepNode>("Sleep"); |
| 154 | registerNodeType<UnsetBlackboardNode>("UnsetBlackboard"); |
| 155 | |
| 156 | registerNodeType<SubTreeNode>("SubTree"); |
| 157 | |
| 158 | registerNodeType<PreconditionNode>("Precondition"); |
| 159 | |
| 160 | registerNodeType<SwitchNode<2>>("Switch2"); |
| 161 | registerNodeType<SwitchNode<3>>("Switch3"); |
| 162 | registerNodeType<SwitchNode<4>>("Switch4"); |
| 163 | registerNodeType<SwitchNode<5>>("Switch5"); |
| 164 | registerNodeType<SwitchNode<6>>("Switch6"); |
| 165 | |
| 166 | registerNodeType<LoopNode<int>>("LoopInt"); |
| 167 | registerNodeType<LoopNode<bool>>("LoopBool"); |
| 168 | registerNodeType<LoopNode<double>>("LoopDouble"); |
| 169 | registerNodeType<LoopNode<std::string>>("LoopString"); |
| 170 | |
| 171 | registerNodeType<EntryUpdatedAction>("WasEntryUpdated"); |
nothing calls this directly
no outgoing calls
no test coverage detected