mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 18:31:55 -04:00
added pivotScalar, rad90/180/270/360
This commit is contained in:
parent
ee9ea70f77
commit
9449c113df
@ -25,7 +25,7 @@ __all__ = ['enumerate', 'unique', 'indent', 'nonRepeatingRandomList',
|
|||||||
'printNumberedTyped', 'DelayedCall', 'DelayedFunctor',
|
'printNumberedTyped', 'DelayedCall', 'DelayedFunctor',
|
||||||
'FrameDelayedCallback', 'ArgumentEater', 'ClassTree', 'getBase',
|
'FrameDelayedCallback', 'ArgumentEater', 'ClassTree', 'getBase',
|
||||||
'superFlattenShip','HotkeyBreaker','logMethodCalls','GoldenRatio',
|
'superFlattenShip','HotkeyBreaker','logMethodCalls','GoldenRatio',
|
||||||
'GoldenRectangle']
|
'GoldenRectangle', 'pivotScalar', 'rad90', 'rad180', 'rad270', 'rad360']
|
||||||
|
|
||||||
import types
|
import types
|
||||||
import string
|
import string
|
||||||
@ -667,6 +667,11 @@ def replace(list, old, new, all=0):
|
|||||||
list[i] = new
|
list[i] = new
|
||||||
return numReplaced
|
return numReplaced
|
||||||
|
|
||||||
|
rad90 = math.pi / 2.
|
||||||
|
rad180 = math.pi
|
||||||
|
rad270 = 1.5 * math.pi
|
||||||
|
rad360 = 2. * math.pi
|
||||||
|
|
||||||
def reduceAngle(deg):
|
def reduceAngle(deg):
|
||||||
"""
|
"""
|
||||||
Reduces an angle (in degrees) to a value in [-180..180)
|
Reduces an angle (in degrees) to a value in [-180..180)
|
||||||
@ -1742,6 +1747,16 @@ def clampScalar(value, a, b):
|
|||||||
else:
|
else:
|
||||||
return value
|
return value
|
||||||
|
|
||||||
|
def pivotScalar(scalar, pivot):
|
||||||
|
# reflect scalar about pivot; see tests below
|
||||||
|
return pivot + (pivot - scalar)
|
||||||
|
|
||||||
|
if __debug__:
|
||||||
|
assert pivotScalar(1, 0) == -1
|
||||||
|
assert pivotScalar(-1, 0) == 1
|
||||||
|
assert pivotScalar(3, 5) == 7
|
||||||
|
assert pivotScalar(10, 1) == -8
|
||||||
|
|
||||||
def weightedChoice(choiceList, rng=random.random, sum=None):
|
def weightedChoice(choiceList, rng=random.random, sum=None):
|
||||||
"""given a list of (weight, item) pairs, chooses an item based on the
|
"""given a list of (weight, item) pairs, chooses an item based on the
|
||||||
weights. rng must return 0..1. if you happen to have the sum of the
|
weights. rng must return 0..1. if you happen to have the sum of the
|
||||||
@ -2665,3 +2680,7 @@ __builtin__.notNone = notNone
|
|||||||
__builtin__.clampScalar = clampScalar
|
__builtin__.clampScalar = clampScalar
|
||||||
__builtin__.makeList = makeList
|
__builtin__.makeList = makeList
|
||||||
__builtin__.makeTuple = makeTuple
|
__builtin__.makeTuple = makeTuple
|
||||||
|
__builtin__.rad90 = rad90
|
||||||
|
__builtin__.rad180 = rad180
|
||||||
|
__builtin__.rad270 = rad270
|
||||||
|
__builtin__.rad360 = rad360
|
||||||
|
Loading…
x
Reference in New Issue
Block a user