MCPcopy Index your code
hub / github.com/python/cpython / TNavigator

Class TNavigator

Lib/turtle.py:1571–2086  ·  view source on GitHub ↗

Navigation part of the RawTurtle. Implements methods for turtle movement.

Source from the content-addressed store, hash-verified

1569 onkeyrelease = onkey
1570
1571class TNavigator(object):
1572 """Navigation part of the RawTurtle.
1573 Implements methods for turtle movement.
1574 """
1575 START_ORIENTATION = {
1576 "standard": Vec2D(1.0, 0.0),
1577 "world" : Vec2D(1.0, 0.0),
1578 "logo" : Vec2D(0.0, 1.0) }
1579 DEFAULT_MODE = "standard"
1580 DEFAULT_ANGLEOFFSET = 0
1581 DEFAULT_ANGLEORIENT = 1
1582
1583 def __init__(self, mode=DEFAULT_MODE):
1584 self._angleOffset = self.DEFAULT_ANGLEOFFSET
1585 self._angleOrient = self.DEFAULT_ANGLEORIENT
1586 self._mode = mode
1587 self.undobuffer = None
1588 self.degrees()
1589 self._mode = None
1590 self._setmode(mode)
1591 TNavigator.reset(self)
1592
1593 def reset(self):
1594 """reset turtle to its initial values
1595
1596 Will be overwritten by parent class
1597 """
1598 self._position = Vec2D(0.0, 0.0)
1599 self._orient = TNavigator.START_ORIENTATION[self._mode]
1600
1601 def _setmode(self, mode=None):
1602 """Set turtle-mode to 'standard', 'world' or 'logo'.
1603 """
1604 if mode is None:
1605 return self._mode
1606 if mode not in ["standard", "logo", "world"]:
1607 return
1608 self._mode = mode
1609 if mode in ["standard", "world"]:
1610 self._angleOffset = 0
1611 self._angleOrient = 1
1612 else: # mode == "logo":
1613 self._angleOffset = self._fullcircle/4.
1614 self._angleOrient = -1
1615
1616 def _setDegreesPerAU(self, fullcircle):
1617 """Helper function for degrees() and radians()"""
1618 self._fullcircle = fullcircle
1619 self._degreesPerAU = 360/fullcircle
1620 if self._mode == "standard":
1621 self._angleOffset = 0
1622 else:
1623 self._angleOffset = fullcircle/4.
1624
1625 def degrees(self, fullcircle=360.0):
1626 """ Set angle measurement units to degrees.
1627
1628 Optional argument:

Callers

nothing calls this directly

Calls 1

Vec2DClass · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…