DistributedNodeUD.py 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. #from otp.ai.AIBaseGlobal import *
  2. from .DistributedObjectUD import DistributedObjectUD
  3. class DistributedNodeUD(DistributedObjectUD):
  4. def __init__(self, air, name=None):
  5. # Be careful not to create multiple NodePath objects
  6. try:
  7. self.DistributedNodeUD_initialized
  8. except:
  9. self.DistributedNodeUD_initialized = 1
  10. DistributedObjectUD.__init__(self, air)
  11. if name is None:
  12. name = self.__class__.__name__
  13. def b_setParent(self, parentToken):
  14. if type(parentToken) == str:
  15. self.setParentStr(parentToken)
  16. else:
  17. self.setParent(parentToken)
  18. self.d_setParent(parentToken)
  19. def d_setParent(self, parentToken):
  20. if type(parentToken) == type(''):
  21. self.sendUpdate("setParentStr", [parentToken])
  22. else:
  23. self.sendUpdate("setParent", [parentToken])
  24. def setParentStr(self, parentToken):
  25. self.notify.debugCall()
  26. if len(parentTokenStr) > 0:
  27. self.do_setParent(parentToken)
  28. def setParent(self, parentToken):
  29. self.notify.debugCall()
  30. self.do_setParent(parentToken)
  31. def do_setParent(self, parentToken):
  32. self.getParentMgr().requestReparent(self, parentToken)
  33. ###### set pos and hpr functions #######
  34. # setX provided by NodePath
  35. def d_setX(self, x):
  36. self.sendUpdate("setX", [x])
  37. # setY provided by NodePath
  38. def d_setY(self, y):
  39. self.sendUpdate("setY", [y])
  40. # setZ provided by NodePath
  41. def d_setZ(self, z):
  42. self.sendUpdate("setZ", [z])
  43. # setH provided by NodePath
  44. def d_setH(self, h):
  45. self.sendUpdate("setH", [h])
  46. # setP provided by NodePath
  47. def d_setP(self, p):
  48. self.sendUpdate("setP", [p])
  49. # setR provided by NodePath
  50. def d_setR(self, r):
  51. self.sendUpdate("setR", [r])
  52. def setXY(self, x, y):
  53. self.setX(x)
  54. self.setY(y)
  55. def d_setXY(self, x, y):
  56. self.sendUpdate("setXY", [x, y])
  57. # setPos provided by NodePath
  58. def d_setPos(self, x, y, z):
  59. self.sendUpdate("setPos", [x, y, z])
  60. # setHpr provided by NodePath
  61. def d_setHpr(self, h, p, r):
  62. self.sendUpdate("setHpr", [h, p, r])
  63. def setXYH(self, x, y, h):
  64. self.setX(x)
  65. self.setY(y)
  66. self.setH(h)
  67. def d_setXYH(self, x, y, h):
  68. self.sendUpdate("setXYH", [x, y, h])
  69. def setXYZH(self, x, y, z, h):
  70. self.setPos(x, y, z)
  71. self.setH(h)
  72. def d_setXYZH(self, x, y, z, h):
  73. self.sendUpdate("setXYZH", [x, y, z, h])
  74. # setPosHpr provided by NodePath
  75. def d_setPosHpr(self, x, y, z, h, p, r):
  76. self.sendUpdate("setPosHpr", [x, y, z, h, p, r])