Skip to content

Commit 1f762db

Browse files
committed
Handle collapsed subtrees for pointing to execute after nodes.
1 parent 630cbae commit 1f762db

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

ihmc-high-level-behaviors/src/libgdx/java/us/ihmc/rdx/behaviorTree/RDXBehaviorTreeNode.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,8 @@ public void update()
124124
if (deltaChildren > 0 && deltaChildren < 5)
125125
treeWidgetExpanded = true;
126126

127+
offsetY = Float.NaN;
128+
127129
while (!state.getLogger().getRecentMessages().isEmpty())
128130
{
129131
LogMessage message = state.getLogger().getRecentMessages().poll();

ihmc-high-level-behaviors/src/libgdx/java/us/ihmc/rdx/behaviorTree/RDXLeafNode.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,13 @@ public void renderConcurrencyGraph()
7979
executeAfterY = rootNode.offsetY;
8080
else
8181
{
82-
RDXLeafNode<?, ?> executeAfterLeaf = getExecuteAfterLeaf();
83-
if (executeAfterLeaf != null)
84-
executeAfterY = executeAfterLeaf.offsetY + frameHeight * 0.5f;
82+
RDXBehaviorTreeNode<?, ?> nodeToPointTo = getExecuteAfterLeaf();
83+
if (nodeToPointTo != null)
84+
{
85+
while (Float.isNaN(nodeToPointTo.offsetY)) // Handle collapsed subtrees
86+
nodeToPointTo = nodeToPointTo.getParent();
87+
executeAfterY = nodeToPointTo.offsetY + frameHeight * 0.5f;
88+
}
8589
}
8690

8791
if (!Float.isNaN(executeAfterY))

0 commit comments

Comments
 (0)