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