Poodletooth-iLand/panda/direct/distributed/DistributedSmoothNodeAI.py
Master Jumblespeed d882959bfa switch to remote
2015-05-18 22:11:33 -04:00

108 lines
3 KiB
Python
Executable file

import DistributedNodeAI
import DistributedSmoothNodeBase
class DistributedSmoothNodeAI(DistributedNodeAI.DistributedNodeAI,
DistributedSmoothNodeBase.DistributedSmoothNodeBase):
def __init__(self, air, name=None):
DistributedNodeAI.DistributedNodeAI.__init__(self, air, name)
DistributedSmoothNodeBase.DistributedSmoothNodeBase.__init__(self)
def generate(self):
DistributedNodeAI.DistributedNodeAI.generate(self)
DistributedSmoothNodeBase.DistributedSmoothNodeBase.generate(self)
self.cnode.setRepository(self.air, 1, self.air.ourChannel)
def disable(self):
DistributedSmoothNodeBase.DistributedSmoothNodeBase.disable(self)
DistributedNodeAI.DistributedNodeAI.disable(self)
def delete(self):
DistributedSmoothNodeBase.DistributedSmoothNodeBase.delete(self)
DistributedNodeAI.DistributedNodeAI.delete(self)
# distributed set pos and hpr functions
# these are invoked by the DC system
# 'send' (d_set*) versions are inherited from DistributedSmoothNodeBase
def setSmStop(self, t=None):
pass
# These have their FFI functions exposed for efficiency
def setSmH(self, h, t=None):
self.setH(h)
def setSmZ(self, z, t=None):
self.setZ(z)
def setSmXY(self, x, y, t=None):
self.setX(x)
self.setY(y)
def setSmXZ(self, x, z, t=None):
self.setX(x)
self.setZ(z)
def setSmPos(self, x, y, z, t=None):
self.setPos(x, y, z)
def setSmHpr(self, h, p, r, t=None):
self.setHpr(h, p, r)
def setSmXYH(self, x, y, h, t=None):
self.setX(x)
self.setY(y)
self.setH(h)
def setSmXYZH(self, x, y, z, h, t=None):
self.setPos(x, y, z)
self.setH(h)
def setSmPosHpr(self, x, y, z, h, p, r, t=None):
self.setPosHpr(x, y, z, h, p, r)
def setSmPosHprL(self, l, x, y, z, h, p, r, t=None):
self.setPosHpr(x, y, z, h, p, r)
def clearSmoothing(self, bogus = None):
pass
# Do we use these on the AIx?
def setComponentX(self, x):
self.setX(x)
def setComponentY(self, y):
self.setY(y)
def setComponentZ(self, z):
self.setZ(z)
def setComponentH(self, h):
self.setH(h)
def setComponentP(self, p):
self.setP(p)
def setComponentR(self, r):
self.setR(r)
def setComponentL(self, l):
pass
def setComponentT(self, t):
pass
def getComponentX(self):
return self.getX()
def getComponentY(self):
return self.getY()
def getComponentZ(self):
return self.getZ()
def getComponentH(self):
return self.getH()
def getComponentP(self):
return self.getP()
def getComponentR(self):
return self.getR()
def getComponentL(self):
if (self.zoneId):
return self.zoneId
else:
# we can't send None over the wire which self.zoneId can sometimes be
return 0
def getComponentT(self):
return 0