Panda3D
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Properties
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
ProjectileInterval Class Reference
Inheritance diagram for ProjectileInterval:

Public Member Functions

def __init__
 
def privInitialize
 
def privInstant
 
def privStep
 
def testTrajectory
 

Public Attributes

 collNode
 
 duration
 
 endPos
 
 implicitStartPos
 
 node
 
 parabola
 
 startPos
 
 startVel
 
 trajectoryArgs
 
 zAcc
 

Static Public Attributes

int gravity = 32
 
tuple notify = directNotify.newCategory('ProjectileInterval')
 
int projectileIntervalNum = 1
 

Detailed Description

ProjectileInterval class: moves a nodepath through the trajectory
of a projectile under the influence of gravity

Constructor & Destructor Documentation

def __init__ (   self,
  node,
  startPos = None,
  endPos = None,
  duration = None,
  startVel = None,
  endZ = None,
  wayPoint = None,
  timeToWayPoint = None,
  gravityMult = None,
  name = None,
  collNode = None 
)
You may specify several different sets of input parameters.
(If startPos is not provided, it will be obtained from the node's
position at the time that the interval is first started. Note that
in this case you must provide a duration of some kind.)

# go from startPos to endPos in duration seconds
startPos, endPos, duration
# given a starting velocity, go for a specific time period
startPos, startVel, duration
# given a starting velocity, go until you hit a given Z plane
startPos, startVel, endZ
# pass through wayPoint at time 'timeToWayPoint'. Go until
# you hit a given Z plane
startPos, wayPoint, timeToWayPoint, endZ

You may alter gravity by providing a multiplier in 'gravityMult'.
'2.' will make gravity twice as strong, '.5' half as strong.
'-1.' will reverse gravity

If collNode is not None, it should be an empty CollisionNode
which will be filled with an appropriate CollisionParabola
when the interval starts.  This CollisionParabola will be set
to match the interval's parabola, and its t1, t2 values will
be updated automatically as the interval plays.  It will *not*
be automatically removed from the node when the interval
finishes.

Member Function Documentation

def privInitialize (   self,
  t 
)
def privInstant (   self)
def privStep (   self,
  t 
)
def testTrajectory (   self)

Member Data Documentation

collNode
duration
endPos
int gravity = 32
static
implicitStartPos
node
tuple notify = directNotify.newCategory('ProjectileInterval')
static
parabola
int projectileIntervalNum = 1
static
startPos
startVel
trajectoryArgs
zAcc