Package pygsear :: Module Path :: Class PathNG
[show private | hide private]
[frames | no frames]

Class PathNG

Path --+
       |
      PathNG


Next-generation Path

This one will integrate all of these disparate Path subclasses in to one uberclass. I think this will make it more usable.
Method Summary
  __init__(self, startLocation, vx, vy, ax, ay, gx, gy, duration)
  __iter__(self)
(inherited from Path)
  bounce_x(self)
reverse travel in x-direction
  bounce_y(self)
reverse travel in y-direction
  direction(self, point)
return direction to a point
  distance(self, point)
return distance to a point
  get_acceleration(self)
return acceleration
  get_direction(self)
return direction of travel
  get_position(self)
Return position along Path (inherited from Path)
  get_speed(self)
return speed
  get_velocity(self)
return velocity
  get_x(self)
return x component of position (inherited from Path)
  get_y(self)
return y component of position (inherited from Path)
  next(self, t)
return next position along path
  onscreen(self, slack)
true if path position is on main window (inherited from Path)
  pause(self)
stop moving along path (inherited from Path)
  reset(self)
Go back to initial position, velocity and acceleration
  set_acceleration(self, ax, ay)
Set acceleration
  set_direction(self, direction)
set direction of travel
  set_endTime(self, duration)
Path will raise StopIteration after self.duration seconds (inherited from Path)
  set_gravity(self, gx, gy)
Set constant portion of acceleration (ie gravity)
  set_position(self, position)
Set position and update positionOld (inherited from Path)
  set_restriction(self, onscreen, **kw)
Set a constraint on the path.
  set_speed(self, speed, accelerate)
Change speed while keeping the same direction of movement.
  set_startAcceleration(self, accel)
Set acceleration to back go to on reset()
  set_startLocation(self, location)
Set location to go back to on reset()
  set_startVelocity(self, vel)
Set velocity to go back to on reset()
  set_turnRate(self, turnRate)
set turn rate in rad/s
  set_velocity(self, special, vx, vy)
Set velocity
  show_restrictions(self)
  turn(self, rad)
turn to the left by radians
  turn_left(self)
  turn_right(self)
  turn_straight(self)
  turn_towards(self, point)
turn as quickly as possible towards a point
  unpause(self)
resume moving along path (inherited from Path)

Method Details

bounce_x(self)

reverse travel in x-direction

bounce_y(self)

reverse travel in y-direction

direction(self, point)

return direction to a point

distance(self, point)

return distance to a point

get_acceleration(self)

return acceleration

get_direction(self)

return direction of travel

Direction is given in radians. 0 radians is towards the right edge of the screen.

get_speed(self)

return speed

get_velocity(self)

return velocity

next(self, t=None)

return next position along path

reset(self)

Go back to initial position, velocity and acceleration

Also updates self.ticks to current time

set_acceleration(self, ax=None, ay=None)

Set acceleration
Parameters:
ax - horizontal acceleration component
ay - vertical acceleration component

set_direction(self, direction)

set direction of travel

Maintains current speed.

set_gravity(self, gx=None, gy=None)

Set constant portion of acceleration (ie gravity)
Parameters:
gx - horizontal acceleration component
gy - vertical acceleration component

set_restriction(self, onscreen=None, **kw)

Set a constraint on the path.

Restrictions are set as keyword arguments. So far these are the contraints that work:
  • speed: maximum speed
  • xMin: minimum x-value
  • yMin: minimum y-value
  • xMax: maximum x-value
  • yMax: maximum y-value
  • vxMin: minimum x-velocity (remember negative values)
  • vyMin: minimum y-velocity
  • vxMax: maximum x-velocity
  • vyMax: maximum y-velocity
Parameters:
onscreen - set to nonzero value if the object should be limited to staying on the screen.

set_speed(self, speed=None, accelerate=None)

Change speed while keeping the same direction of movement.
Parameters:
speed - New speed (must set speed OR accelerate)
accelerate - Change in speed (must set speed OR accelerate)

set_startAcceleration(self, accel=None)

Set acceleration to back go to on reset()
Parameters:
accel - (ax, ay) horizontal and vertical acceleration components

set_startLocation(self, location=None)

Set location to go back to on reset()
Parameters:
location - (x, y) position If location is not given (or None), sets startLocation to current location.

set_startVelocity(self, vel=None)

Set velocity to go back to on reset()
Parameters:
vel - (vx, vy) horizontal and vertical velocity components

set_turnRate(self, turnRate=0)

set turn rate in rad/s

set_velocity(self, special=None, vx=None, vy=None)

Set velocity
Parameters:
special - Set to 'random' for a random velocity
vx - horizontal velocity component
vy - vertical velocity component

turn(self, rad=None)

turn to the left by radians

turn_towards(self, point)

turn as quickly as possible towards a point

Generated by Epydoc 1.1 on Sun Nov 30 19:33:12 2003 http://epydoc.sf.net