*** empty log message ***

This commit is contained in:
Mark Mine 2002-02-11 19:19:55 +00:00
parent c037a890dd
commit 8a0a089baf
2 changed files with 16 additions and 11 deletions

View File

@ -55,7 +55,7 @@ class DirectButtons(ButtonNode, DirectObject):
self.nodePath = myBase.dataRoot.attachNewNode(self)
def __getitem__(self, index):
if (index < 0) or (index > self.getNumButtons()):
if (index < 0) or (index >= self.getNumButtons()):
raise IndexError
return self.getButtonState(index)
@ -93,7 +93,7 @@ class DirectAnalogs(AnalogNode, DirectObject):
self.nodePath = myBase.dataRoot.attachNewNode(self)
def __getitem__(self, index):
if (index < 0) or (index > self.getNumControls()):
if (index < 0) or (index >= self.getNumControls()):
raise IndexError
return self.getControlState(index)
@ -113,6 +113,7 @@ class DirectAnalogs(AnalogNode, DirectObject):
else:
sign = 1
# Zero out values in deadband
print ANALOG_DEADBAND
val = sign * max(abs(val) - ANALOG_DEADBAND, 0.0)
# Now clamp value between minVal and maxVal
val = min( max( val, ANALOG_MIN ), ANALOG_MAX )
@ -182,7 +183,7 @@ class DirectDials(DialNode, DirectObject):
self.nodePath = myBase.dataRoot.attachNewNode(self)
def __getitem__(self, index):
if (index < 0) or (index > self.getNumDials()):
if (index < 0) or (index >= self.getNumDials()):
raise IndexError
return self.readDial(index)

View File

@ -27,6 +27,10 @@ R_FWD_BACK = 5
R_TWIST = 6
R_SLIDE = 7
JOYBOX_MIN = ANALOG_MIN + ANALOG_DEADBAND
JOYBOX_MAX = ANALOG_MAX - ANALOG_DEADBAND
JOYBOX_RANGE = JOYBOX_MAX - JOYBOX_MIN
class DirectJoybox(PandaObject):
joyboxCount = 0
xyzMultiplier = 1.0
@ -150,17 +154,17 @@ class DirectJoybox(PandaObject):
# Update analogs
for chan in range(len(self.analogs)):
val = self.analogs.getControlState(chan)
# Scale up slider values
# Zero out values in deadband
if (val < 0):
val = min(val + ANALOG_DEADBAND, 0.0)
else:
val = max(val - ANALOG_DEADBAND, 0.0)
# Scale up rotating knob values
if (chan == 2) or (chan == 6):
val *= 3.0
# Zero out values in deadband
if val < 0:
val = min(val + ANALOG_DEADBAND, 0.0)
else:
val = max(val - ANALOG_DEADBAND, 0.0)
# Now clamp value between minVal and maxVal
val = CLAMP(val, ANALOG_MIN, ANALOG_MAX)
self.aList[chan] = (2.0 * ((val - ANALOG_MIN) / ANALOG_RANGE)) - 1
val = CLAMP(val, JOYBOX_MIN, JOYBOX_MAX)
self.aList[chan] = 2.0*((val - JOYBOX_MIN)/JOYBOX_RANGE) - 1
# Update buttons
for i in range(len(self.buttons)):
try: