from . import DistributedNodeAI
from . import DistributedSmoothNodeBase
[docs]class DistributedSmoothNodeAI(DistributedNodeAI.DistributedNodeAI,
DistributedSmoothNodeBase.DistributedSmoothNodeBase):
[docs] def __init__(self, air, name=None):
DistributedNodeAI.DistributedNodeAI.__init__(self, air, name)
DistributedSmoothNodeBase.DistributedSmoothNodeBase.__init__(self)
[docs] def generate(self):
DistributedNodeAI.DistributedNodeAI.generate(self)
DistributedSmoothNodeBase.DistributedSmoothNodeBase.generate(self)
self.cnode.setRepository(self.air, 1, self.air.ourChannel)
[docs] def disable(self):
DistributedSmoothNodeBase.DistributedSmoothNodeBase.disable(self)
DistributedNodeAI.DistributedNodeAI.disable(self)
[docs] 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
[docs] def setSmStop(self, t=None):
pass
# These have their FFI functions exposed for efficiency
[docs] def setSmH(self, h, t=None):
self.setH(h)
[docs] def setSmZ(self, z, t=None):
self.setZ(z)
[docs] def setSmXY(self, x, y, t=None):
self.setX(x)
self.setY(y)
[docs] def setSmXZ(self, x, z, t=None):
self.setX(x)
self.setZ(z)
[docs] def setSmPos(self, x, y, z, t=None):
self.setPos(x, y, z)
[docs] def setSmHpr(self, h, p, r, t=None):
self.setHpr(h, p, r)
[docs] def setSmXYH(self, x, y, h, t=None):
self.setX(x)
self.setY(y)
self.setH(h)
[docs] def setSmXYZH(self, x, y, z, h, t=None):
self.setPos(x, y, z)
self.setH(h)
[docs] def setSmPosHpr(self, x, y, z, h, p, r, t=None):
self.setPosHpr(x, y, z, h, p, r)
[docs] def setSmPosHprL(self, l, x, y, z, h, p, r, t=None):
self.setPosHpr(x, y, z, h, p, r)
[docs] def clearSmoothing(self, bogus = None):
pass
# Do we use these on the AIx?
[docs] def setComponentX(self, x):
self.setX(x)
[docs] def setComponentY(self, y):
self.setY(y)
[docs] def setComponentZ(self, z):
self.setZ(z)
[docs] def setComponentH(self, h):
self.setH(h)
[docs] def setComponentP(self, p):
self.setP(p)
[docs] def setComponentR(self, r):
self.setR(r)
[docs] def setComponentL(self, l):
pass
[docs] def setComponentT(self, t):
pass
[docs] def getComponentX(self):
return self.getX()
[docs] def getComponentY(self):
return self.getY()
[docs] def getComponentZ(self):
return self.getZ()
[docs] def getComponentH(self):
return self.getH()
[docs] def getComponentP(self):
return self.getP()
[docs] def getComponentR(self):
return self.getR()
[docs] 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
[docs] def getComponentT(self):
return 0