DistributedNodeUD.py 2.7 KB

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