mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 10:22:45 -04:00
*** empty log message ***
This commit is contained in:
parent
62fc8c17dc
commit
5bcdbdf7ee
@ -43,9 +43,11 @@ class Placer(Pmw.MegaToplevel):
|
|||||||
self.nodePathNames = ['selected', 'camera']
|
self.nodePathNames = ['selected', 'camera']
|
||||||
|
|
||||||
self.refNodePathDict = {}
|
self.refNodePathDict = {}
|
||||||
|
self.refNodePathDict['parent'] = self['nodePath'].getParent()
|
||||||
self.refNodePathDict['render'] = render
|
self.refNodePathDict['render'] = render
|
||||||
self.refNodePathDict['camera'] = camera
|
self.refNodePathDict['camera'] = camera
|
||||||
self.refNodePathNames = ['self', 'render', 'camera', 'selected', 'coa']
|
self.refNodePathNames = ['self', 'parent', 'render',
|
||||||
|
'camera', 'selected', 'coa']
|
||||||
|
|
||||||
# Initial state
|
# Initial state
|
||||||
self.initPos = Vec3(0)
|
self.initPos = Vec3(0)
|
||||||
@ -107,7 +109,7 @@ class Placer(Pmw.MegaToplevel):
|
|||||||
self.nodePathMenu.pack(side = 'left', expand = 0)
|
self.nodePathMenu.pack(side = 'left', expand = 0)
|
||||||
|
|
||||||
modeMenu = Pmw.OptionMenu(menuFrame,
|
modeMenu = Pmw.OptionMenu(menuFrame,
|
||||||
items = ('Absolute', 'Relative To:',
|
items = ('Relative To:',
|
||||||
'Orbit:'),
|
'Orbit:'),
|
||||||
initialitem = 'Relative To:',
|
initialitem = 'Relative To:',
|
||||||
command = self.setMovementMode,
|
command = self.setMovementMode,
|
||||||
@ -342,25 +344,16 @@ class Placer(Pmw.MegaToplevel):
|
|||||||
# Set prefix
|
# Set prefix
|
||||||
namePrefix = ''
|
namePrefix = ''
|
||||||
self.movementMode = movementMode
|
self.movementMode = movementMode
|
||||||
if (movementMode == 'Absolute'):
|
if (movementMode == 'Relative To:'):
|
||||||
namePrefix = 'Absolute '
|
|
||||||
elif (movementMode == 'Relative To:'):
|
|
||||||
namePrefix = 'Relative '
|
namePrefix = 'Relative '
|
||||||
elif (movementMode == 'Orbit'):
|
elif (movementMode == 'Orbit:'):
|
||||||
namePrefix = 'Orbit'
|
namePrefix = 'Orbit '
|
||||||
# Enable/disable wrt menu
|
|
||||||
if (movementMode == 'Absolute'):
|
|
||||||
self.refNodePathMenu.configure(entry_foreground = 'gray50')
|
|
||||||
self.refNodePathMenu.configure(entry_background = '#E0E0E0')
|
|
||||||
else:
|
|
||||||
self.refNodePathMenu.configure(entry_foreground = 'Black')
|
|
||||||
self.refNodePathMenu.configure(entry_background = 'SystemWindow')
|
|
||||||
# Update pos widgets
|
# Update pos widgets
|
||||||
self.posX['text'] = namePrefix + 'X'
|
self.posX['text'] = namePrefix + 'X'
|
||||||
self.posY['text'] = namePrefix + 'Y'
|
self.posY['text'] = namePrefix + 'Y'
|
||||||
self.posZ['text'] = namePrefix + 'Z'
|
self.posZ['text'] = namePrefix + 'Z'
|
||||||
# Update hpr widgets
|
# Update hpr widgets
|
||||||
if (movementMode == 'Orbit'):
|
if (movementMode == 'Orbit:'):
|
||||||
namePrefix = 'Orbit delta '
|
namePrefix = 'Orbit delta '
|
||||||
self.hprH['text'] = namePrefix + 'H'
|
self.hprH['text'] = namePrefix + 'H'
|
||||||
self.hprP['text'] = namePrefix + 'P'
|
self.hprP['text'] = namePrefix + 'P'
|
||||||
@ -468,7 +461,7 @@ class Placer(Pmw.MegaToplevel):
|
|||||||
return
|
return
|
||||||
# Get node path's name
|
# Get node path's name
|
||||||
name = nodePath.getName()
|
name = nodePath.getName()
|
||||||
if((name == 'render') | (name == 'camera')):
|
if name in ['parent', 'render', 'camera']:
|
||||||
dictName = name
|
dictName = name
|
||||||
else:
|
else:
|
||||||
# Generate a unique name for the dict
|
# Generate a unique name for the dict
|
||||||
@ -491,18 +484,14 @@ class Placer(Pmw.MegaToplevel):
|
|||||||
# Update temp CS
|
# Update temp CS
|
||||||
self.updateAuxiliaryCoordinateSystems()
|
self.updateAuxiliaryCoordinateSystems()
|
||||||
# Update widgets
|
# Update widgets
|
||||||
if self.movementMode == 'Absolute':
|
if self.movementMode == 'Orbit:':
|
||||||
pos.assign(np.getPos())
|
|
||||||
hpr.assign(np.getHpr())
|
|
||||||
scale.assign(np.getScale())
|
|
||||||
elif self.movementMode == 'Orbit:':
|
|
||||||
pos.assign(self.posOffset)
|
pos.assign(self.posOffset)
|
||||||
hpr.assign(ZERO_VEC)
|
hpr.assign(ZERO_VEC)
|
||||||
scale.assign(np.getScale())
|
scale.assign(np.getScale())
|
||||||
elif self.refCS:
|
elif self.refCS:
|
||||||
pos.assign(np.getPos(self.refCS))
|
pos.assign(np.getPos(self.refCS))
|
||||||
hpr.assign(np.getHpr(self.refCS))
|
hpr.assign(np.getHpr(self.refCS))
|
||||||
scale.assign(np.getScale(self.refCS))
|
scale.assign(np.getScale())
|
||||||
self.updatePosWidgets(pos)
|
self.updatePosWidgets(pos)
|
||||||
self.updateHprWidgets(hpr)
|
self.updateHprWidgets(hpr)
|
||||||
self.updateScaleWidgets(scale)
|
self.updateScaleWidgets(scale)
|
||||||
@ -531,8 +520,6 @@ class Placer(Pmw.MegaToplevel):
|
|||||||
def xform(self, value, axis):
|
def xform(self, value, axis):
|
||||||
if axis in ['sx', 'sy', 'sz']:
|
if axis in ['sx', 'sy', 'sz']:
|
||||||
self.xformScale(value,axis)
|
self.xformScale(value,axis)
|
||||||
elif self.movementMode == 'Absolute':
|
|
||||||
self.xformAbsolute(value, axis)
|
|
||||||
elif self.movementMode == 'Relative To:':
|
elif self.movementMode == 'Relative To:':
|
||||||
self.xformRelative(value, axis)
|
self.xformRelative(value, axis)
|
||||||
elif self.movementMode == 'Orbit:':
|
elif self.movementMode == 'Orbit:':
|
||||||
@ -550,24 +537,7 @@ class Placer(Pmw.MegaToplevel):
|
|||||||
messenger.send('manipulateObjectCleanup')
|
messenger.send('manipulateObjectCleanup')
|
||||||
# Update placer to reflect new state
|
# Update placer to reflect new state
|
||||||
self.updatePlacer()
|
self.updatePlacer()
|
||||||
|
|
||||||
|
|
||||||
def xformAbsolute(self, value, axis):
|
|
||||||
nodePath = self['nodePath']
|
|
||||||
if nodePath != None:
|
|
||||||
if axis == 'x':
|
|
||||||
nodePath.setX(value)
|
|
||||||
elif axis == 'y':
|
|
||||||
nodePath.setY(value)
|
|
||||||
elif axis == 'z':
|
|
||||||
nodePath.setZ(value)
|
|
||||||
elif axis == 'h':
|
|
||||||
nodePath.setH(value)
|
|
||||||
elif axis == 'p':
|
|
||||||
nodePath.setP(value)
|
|
||||||
elif axis == 'r':
|
|
||||||
nodePath.setR(value)
|
|
||||||
|
|
||||||
def xformRelative(self, value, axis):
|
def xformRelative(self, value, axis):
|
||||||
nodePath = self['nodePath']
|
nodePath = self['nodePath']
|
||||||
if (nodePath != None) & (self.refCS != None):
|
if (nodePath != None) & (self.refCS != None):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user