Skip to content

Commit c130d14

Browse files
committed
Try fixing fill chars 8
1 parent babb0b2 commit c130d14

File tree

1 file changed

+14
-11
lines changed

1 file changed

+14
-11
lines changed

vicutils/printBin.py

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -179,21 +179,10 @@ def nodeToMat(node: BinaryNode, depth=-1, valueFillChar=None, gapFillChar=None,
179179
for i, index in enumerate(valueIndexes):
180180
mat[level][index] = [center("/", unitSize=unitSize, fillChar=" "), center("\\", unitSize=unitSize, fillChar=" ")][i % 2]
181181

182-
# Fill gaps between pairs on the even level below (level + 1)
183-
for i in range(0, len(valueIndexes), 2):
184-
if i + 1 < len(valueIndexes):
185-
# Calculate parent position (should not be overwritten)
186-
parent_col = (valueIndexes[i] + valueIndexes[i + 1]) // 2
187-
# Fill columns between valueIndexes[i] and valueIndexes[i+1], except parent
188-
for col in range(valueIndexes[i] + 1, valueIndexes[i + 1]):
189-
if col != parent_col:
190-
mat[level + 1][col] = center("", unitSize=unitSize, fillChar=gapFillChar)
191-
192182
# Calculate parent positions (midpoints between child pairs)
193183
next = []
194184
for i in range(0, len(valueIndexes) - 1, 2):
195185
next.append((valueIndexes[i] + valueIndexes[i + 1]) // 2)
196-
prev = valueIndexes
197186
valueIndexes = next
198187
continue
199188

@@ -205,6 +194,20 @@ def nodeToMat(node: BinaryNode, depth=-1, valueFillChar=None, gapFillChar=None,
205194
for i, index in enumerate(valueIndexes):
206195
if codes[i] in tree:
207196
mat[level][index] = tree[codes[i]]
197+
198+
# Fill gaps between pairs using prev (previous even level's valueIndexes)
199+
if prev is not None:
200+
for i in range(0, len(prev), 2):
201+
if i + 1 < len(prev):
202+
# Calculate parent position (should not be overwritten)
203+
parent_col = (prev[i] + prev[i + 1]) // 2
204+
# Fill columns between prev[i] and prev[i+1], except parent
205+
for col in range(prev[i] + 1, prev[i + 1]):
206+
if col != parent_col:
207+
mat[level][col] = center("", unitSize=unitSize, fillChar=gapFillChar)
208+
209+
# Save current valueIndexes for next even level
210+
prev = valueIndexes
208211

209212
# Remove empty leading columns if requested
210213
if removeEmpty:

0 commit comments

Comments
 (0)