MCPcopy Create free account
hub / github.com/ActiveState/code / addToBorder

Function addToBorder

recipes/Python/577405_Penrose_Tiler/recipe-577405.py:315–336  ·  view source on GitHub ↗
(aBorder, nNook, node, aV, AddTile)

Source from the content-addressed store, hash-verified

313
314
315def addToBorder(aBorder, nNook, node, aV, AddTile):
316 nAligned = aV[1]
317 nL = len(aBorder)
318 AddTile.alignWith(node, nAligned)
319 nBack = aBorder[ nNook].nBack
320 nForward = aBorder[ nNook].nForward
321 del aBorder[ nNook].nBack
322 del aBorder[ nNook].nForward
323 nTest = (nNook - nBack) % nL
324 btest = aBorder[ nTest]
325 nAlign = (nAligned + nBack) % 4
326 angle1 = AddTile.angles[nAlign]
327 btest.angle -= angle1
328 btest.prioritise()
329 btest = aBorder[(nNook + nForward + 1) % nL]
330 angle1 = AddTile.angles[(nAligned - nForward - 1) % 4]
331 btest.angle -= angle1
332 btest.prioritise()
333 nDel = min(nForward + nBack, 3)
334 nIns = max(2 - nDel, 0)
335 aBorder = AlterBorder(aBorder, AddTile, nTest, nAlign, nDel, nIns)
336 return aBorder
337
338
339class NodeObject:

Callers 1

FillPlaneFunction · 0.85

Calls 5

minFunction · 0.85
AlterBorderFunction · 0.85
alignWithMethod · 0.80
prioritiseMethod · 0.80
maxFunction · 0.50

Tested by

no test coverage detected