mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 02:42:49 -04:00
*** empty log message ***
This commit is contained in:
parent
bb0fcbdd72
commit
e5e955af8e
@ -230,9 +230,9 @@ class DirectManipulationControl(PandaObject):
|
|||||||
# Mouse started in central region, xlate
|
# Mouse started in central region, xlate
|
||||||
# Mode depends on shift key
|
# Mode depends on shift key
|
||||||
if direct.fShift:
|
if direct.fShift:
|
||||||
self.xlateCamXZ(state)
|
|
||||||
else:
|
|
||||||
self.xlateCamXY(state)
|
self.xlateCamXY(state)
|
||||||
|
else:
|
||||||
|
self.xlateCamXZ(state)
|
||||||
if self.fSetCoa:
|
if self.fSetCoa:
|
||||||
# Update coa based on current widget position
|
# Update coa based on current widget position
|
||||||
direct.selected.last.mCoa2Dnp.assign(
|
direct.selected.last.mCoa2Dnp.assign(
|
||||||
|
@ -92,60 +92,6 @@ class ParticlePanel(AppShell):
|
|||||||
label = 'Print Params',
|
label = 'Print Params',
|
||||||
command = lambda s = self: s.particles.printParams())
|
command = lambda s = self: s.particles.printParams())
|
||||||
|
|
||||||
# EFFECTS MENU
|
|
||||||
self.menuBar.addmenu('Effects', 'Particle Effects Operations')
|
|
||||||
# Get a handle on this menu
|
|
||||||
effectsMenu = self.menuBar.component('Effects-menu')
|
|
||||||
# Create new particle effect
|
|
||||||
self.menuBar.addmenuitem(
|
|
||||||
'Effects', 'command',
|
|
||||||
'Create New Particle Effect',
|
|
||||||
label = 'Create New Effect',
|
|
||||||
command = self.createNewEffect)
|
|
||||||
# Add cascade menus to view and enable, saving a handle
|
|
||||||
effectsConfigureMenu = Menu(effectsMenu, tearoff = 0)
|
|
||||||
effectsMenu.add_cascade(label = 'Configure',
|
|
||||||
menu = effectsConfigureMenu)
|
|
||||||
self.effectsEnableMenu = Menu(effectsMenu, tearoff = 0)
|
|
||||||
effectsMenu.add_cascade(label = 'Enable/Disable',
|
|
||||||
menu = self.effectsEnableMenu)
|
|
||||||
|
|
||||||
# PARTICLES MENU
|
|
||||||
self.menuBar.addmenu('Particles', 'Particles Operations')
|
|
||||||
# Get a handle on this menu
|
|
||||||
particlesMenu = self.menuBar.component('Particles-menu')
|
|
||||||
# Create new particles object
|
|
||||||
self.menuBar.addmenuitem(
|
|
||||||
'Particles', 'command',
|
|
||||||
'Create New Particles Object',
|
|
||||||
label = 'Create New Particles',
|
|
||||||
command = self.createNewParticles)
|
|
||||||
# Add cascade menus to view and enable, saving a handle
|
|
||||||
particlesConfigureMenu = Menu(particlesMenu, tearoff = 0)
|
|
||||||
particlesMenu.add_cascade(label = 'Configure',
|
|
||||||
menu = particlesConfigureMenu)
|
|
||||||
self.particlesEnableMenu = Menu(particlesMenu, tearoff = 0)
|
|
||||||
particlesMenu.add_cascade(label = 'Enable/Disable',
|
|
||||||
menu = self.particlesEnableMenu)
|
|
||||||
|
|
||||||
# FORCE GROUP MENU
|
|
||||||
self.menuBar.addmenu('ForceGroup', 'ForceGroup Operations')
|
|
||||||
# Get a handle on this menu
|
|
||||||
forceGroupMenu = self.menuBar.component('ForceGroup-menu')
|
|
||||||
# Create new particle effect
|
|
||||||
self.menuBar.addmenuitem(
|
|
||||||
'ForceGroup', 'command',
|
|
||||||
'Create New ForceGroup Object',
|
|
||||||
label = 'Create New ForceGroup',
|
|
||||||
command = self.createNewForceGroup)
|
|
||||||
# Add cascade menus to view and enable, saving a handle
|
|
||||||
forceGroupConfigureMenu = Menu(forceGroupMenu, tearoff = 0)
|
|
||||||
forceGroupMenu.add_cascade(label = 'Configure',
|
|
||||||
menu = forceGroupConfigureMenu)
|
|
||||||
self.forceGroupEnableMenu = Menu(forceGroupMenu, tearoff = 0)
|
|
||||||
forceGroupMenu.add_cascade(label = 'Enable/Disable',
|
|
||||||
menu = self.forceGroupEnableMenu)
|
|
||||||
|
|
||||||
# PARTICLE MANAGER MENU
|
# PARTICLE MANAGER MENU
|
||||||
self.menuBar.addmenu('ParticleMgr', 'ParticleMgr Operations')
|
self.menuBar.addmenu('ParticleMgr', 'ParticleMgr Operations')
|
||||||
self.particleMgrActive = IntVar()
|
self.particleMgrActive = IntVar()
|
||||||
@ -164,40 +110,59 @@ class ParticlePanel(AppShell):
|
|||||||
self.effectsLabel = Menubutton(labelFrame, width = 10,
|
self.effectsLabel = Menubutton(labelFrame, width = 10,
|
||||||
relief = RAISED,
|
relief = RAISED,
|
||||||
borderwidth = 2,
|
borderwidth = 2,
|
||||||
font=('MSSansSerif', 14, 'bold'),
|
font=('MSSansSerif', 12, 'bold'),
|
||||||
activebackground = '#909090')
|
activebackground = '#909090')
|
||||||
effectsConfigureLabel = Menu(self.effectsLabel, tearoff = 0)
|
self.effectsLabelMenu = Menu(self.effectsLabel, tearoff = 0)
|
||||||
self.effectsLabel['menu'] = effectsConfigureLabel
|
self.effectsLabel['menu'] = self.effectsLabelMenu
|
||||||
self.effectsLabel.pack(side = LEFT, fill = 'x', expand = 0)
|
self.effectsLabel.pack(side = LEFT, fill = 'x', expand = 1)
|
||||||
|
self.bind(self.effectsLabel,
|
||||||
|
'Select effect to configure or create new effect')
|
||||||
|
self.effectsLabelMenu.add_command(label = 'Create New Effect',
|
||||||
|
command = self.createNewEffect)
|
||||||
|
self.effectsEnableMenu = Menu(self.effectsLabelMenu, tearoff = 0)
|
||||||
|
self.effectsLabelMenu.add_cascade(label = 'Enable/Disable',
|
||||||
|
menu = self.effectsEnableMenu)
|
||||||
|
self.effectsLabelMenu.add_separator()
|
||||||
# Current particles
|
# Current particles
|
||||||
self.particlesLabel = Menubutton(labelFrame, width = 10,
|
self.particlesLabel = Menubutton(labelFrame, width = 10,
|
||||||
relief = RAISED,
|
relief = RAISED,
|
||||||
borderwidth = 2,
|
borderwidth = 2,
|
||||||
font=('MSSansSerif', 14, 'bold'),
|
font=('MSSansSerif', 12, 'bold'),
|
||||||
activebackground = '#909090')
|
activebackground = '#909090')
|
||||||
particlesConfigureLabel = Menu(self.particlesLabel, tearoff = 0)
|
self.particlesLabelMenu = Menu(self.particlesLabel, tearoff = 0)
|
||||||
self.particlesLabel['menu'] = particlesConfigureLabel
|
self.particlesLabel['menu'] = self.particlesLabelMenu
|
||||||
self.particlesLabel.pack(side = LEFT, fill = 'x', expand = 0)
|
self.particlesLabel.pack(side = LEFT, fill = 'x', expand = 1)
|
||||||
|
self.bind(self.particlesLabel,
|
||||||
|
('Select particles object to configure ' +
|
||||||
|
'or add new particles object to current effect' ))
|
||||||
|
self.particlesLabelMenu.add_command(label = 'Create New Particles',
|
||||||
|
command = self.createNewParticles)
|
||||||
|
self.particlesEnableMenu = Menu(self.particlesLabelMenu, tearoff = 0)
|
||||||
|
self.particlesLabelMenu.add_cascade(label = 'Enable/Disable',
|
||||||
|
menu = self.particlesEnableMenu)
|
||||||
|
self.particlesLabelMenu.add_separator()
|
||||||
# Current force
|
# Current force
|
||||||
self.forceGroupLabel = Menubutton(labelFrame, width = 10,
|
self.forceGroupLabel = Menubutton(labelFrame, width = 10,
|
||||||
relief = RAISED,
|
relief = RAISED,
|
||||||
borderwidth = 2,
|
borderwidth = 2,
|
||||||
font=('MSSansSerif', 14, 'bold'),
|
font=('MSSansSerif', 12, 'bold'),
|
||||||
activebackground = '#909090')
|
activebackground = '#909090')
|
||||||
forceGroupConfigureLabel = Menu(self.forceGroupLabel, tearoff = 0)
|
self.forceGroupLabelMenu = Menu(self.forceGroupLabel, tearoff = 0)
|
||||||
self.forceGroupLabel['menu'] = forceGroupConfigureLabel
|
self.forceGroupLabel['menu'] = self.forceGroupLabelMenu
|
||||||
self.forceGroupLabel.pack(side = LEFT, fill = 'x', expand = 0)
|
self.forceGroupLabel.pack(side = LEFT, fill = 'x', expand = 1)
|
||||||
|
self.bind(self.forceGroupLabel,
|
||||||
|
('Select force group to configure ' +
|
||||||
|
'or add a new force group to current effect'))
|
||||||
|
self.forceGroupLabelMenu.add_command(
|
||||||
|
label = 'Create New ForceGroup',
|
||||||
|
command = self.createNewForceGroup)
|
||||||
|
self.forceGroupEnableMenu = Menu(self.forceGroupLabelMenu, tearoff = 0)
|
||||||
|
self.forceGroupLabelMenu.add_cascade(label = 'Enable/Disable',
|
||||||
|
menu = self.forceGroupEnableMenu)
|
||||||
|
self.forceGroupLabelMenu.add_separator()
|
||||||
# Pack labels
|
# Pack labels
|
||||||
labelFrame.pack(fill = 'x', expand = 0)
|
labelFrame.pack(fill = 'x', expand = 0)
|
||||||
|
|
||||||
# These get updated together
|
|
||||||
self.effectsConfigureMenus = [effectsConfigureMenu,
|
|
||||||
effectsConfigureLabel]
|
|
||||||
self.particlesConfigureMenus = [particlesConfigureMenu,
|
|
||||||
particlesConfigureLabel]
|
|
||||||
self.forceGroupConfigureMenus = [forceGroupConfigureMenu,
|
|
||||||
forceGroupConfigureLabel]
|
|
||||||
|
|
||||||
# Create the toplevel notebook pages
|
# Create the toplevel notebook pages
|
||||||
self.mainNotebook = Pmw.NoteBook(interior)
|
self.mainNotebook = Pmw.NoteBook(interior)
|
||||||
self.mainNotebook.pack(fill = BOTH, expand = 1)
|
self.mainNotebook.pack(fill = BOTH, expand = 1)
|
||||||
@ -836,7 +801,7 @@ class ParticlePanel(AppShell):
|
|||||||
if self.forceGroup != None:
|
if self.forceGroup != None:
|
||||||
self.forceGroupLabel['text'] = self.forceGroup.getName()
|
self.forceGroupLabel['text'] = self.forceGroup.getName()
|
||||||
else:
|
else:
|
||||||
self.forceGroupLabel['text'] = ''
|
self.forceGroupLabel['text'] = 'Force Group'
|
||||||
|
|
||||||
def updateMenus(self):
|
def updateMenus(self):
|
||||||
self.updateEffectsMenus()
|
self.updateEffectsMenus()
|
||||||
@ -846,19 +811,18 @@ class ParticlePanel(AppShell):
|
|||||||
def updateEffectsMenus(self):
|
def updateEffectsMenus(self):
|
||||||
# Get rid of old effects entries if any
|
# Get rid of old effects entries if any
|
||||||
self.effectsEnableMenu.delete(0, 'end')
|
self.effectsEnableMenu.delete(0, 'end')
|
||||||
for menu in self.effectsConfigureMenus:
|
self.effectsLabelMenu.delete(2, 'end')
|
||||||
menu.delete(0, 'end')
|
self.effectsLabelMenu.add_separator()
|
||||||
# Add in a checkbutton for each effect (to toggle on/off)
|
# Add in a checkbutton for each effect (to toggle on/off)
|
||||||
keys = self.effectsDict.keys()
|
keys = self.effectsDict.keys()
|
||||||
keys.sort()
|
keys.sort()
|
||||||
for name in keys:
|
for name in keys:
|
||||||
effect = self.effectsDict[name]
|
effect = self.effectsDict[name]
|
||||||
for menu in self.effectsConfigureMenus:
|
self.effectsLabelMenu.add_command(
|
||||||
menu.add_command(
|
label = effect.getName(),
|
||||||
label = effect.getName(),
|
command = (lambda s = self,
|
||||||
command = (lambda s = self,
|
e = effect: s.selectEffectNamed(e.getName()))
|
||||||
e = effect: s.selectEffectNamed(e.getName()))
|
)
|
||||||
)
|
|
||||||
effectActive = IntVar()
|
effectActive = IntVar()
|
||||||
effectActive.set(effect.isEnabled())
|
effectActive.set(effect.isEnabled())
|
||||||
self.effectsEnableMenu.add_checkbutton(
|
self.effectsEnableMenu.add_checkbutton(
|
||||||
@ -871,20 +835,19 @@ class ParticlePanel(AppShell):
|
|||||||
def updateParticlesMenus(self):
|
def updateParticlesMenus(self):
|
||||||
# Get rid of old particles entries if any
|
# Get rid of old particles entries if any
|
||||||
self.particlesEnableMenu.delete(0, 'end')
|
self.particlesEnableMenu.delete(0, 'end')
|
||||||
for menu in self.particlesConfigureMenus:
|
self.particlesLabelMenu.delete(2, 'end')
|
||||||
menu.delete(0, 'end')
|
self.particlesLabelMenu.add_separator()
|
||||||
# Add in a checkbutton for each effect (to toggle on/off)
|
# Add in a checkbutton for each effect (to toggle on/off)
|
||||||
particles = self.particleEffect.getParticlesList()
|
particles = self.particleEffect.getParticlesList()
|
||||||
names = map(lambda x: x.getName(), particles)
|
names = map(lambda x: x.getName(), particles)
|
||||||
names.sort()
|
names.sort()
|
||||||
for name in names:
|
for name in names:
|
||||||
particle = self.particleEffect.getParticlesNamed(name)
|
particle = self.particleEffect.getParticlesNamed(name)
|
||||||
for menu in self.particlesConfigureMenus:
|
self.particlesLabelMenu.add_command(
|
||||||
menu.add_command(
|
label = name,
|
||||||
label = name,
|
command = (lambda s = self,
|
||||||
command = (lambda s = self,
|
n = name: s.selectParticlesNamed(n))
|
||||||
n = name: s.selectParticlesNamed(n))
|
)
|
||||||
)
|
|
||||||
particleActive = IntVar()
|
particleActive = IntVar()
|
||||||
particleActive.set(particle.isEnabled())
|
particleActive.set(particle.isEnabled())
|
||||||
self.particlesEnableMenu.add_checkbutton(
|
self.particlesEnableMenu.add_checkbutton(
|
||||||
@ -897,20 +860,19 @@ class ParticlePanel(AppShell):
|
|||||||
def updateForceGroupMenus(self):
|
def updateForceGroupMenus(self):
|
||||||
# Get rid of old forceGroup entries if any
|
# Get rid of old forceGroup entries if any
|
||||||
self.forceGroupEnableMenu.delete(0, 'end')
|
self.forceGroupEnableMenu.delete(0, 'end')
|
||||||
for menu in self.forceGroupConfigureMenus:
|
self.forceGroupLabelMenu.delete(2, 'end')
|
||||||
menu.delete(0, 'end')
|
self.forceGroupLabelMenu.add_separator()
|
||||||
# Add in a checkbutton for each effect (to toggle on/off)
|
# Add in a checkbutton for each effect (to toggle on/off)
|
||||||
forceGroupList = self.particleEffect.getForceGroupList()
|
forceGroupList = self.particleEffect.getForceGroupList()
|
||||||
names = map(lambda x: x.getName(), forceGroupList)
|
names = map(lambda x: x.getName(), forceGroupList)
|
||||||
names.sort()
|
names.sort()
|
||||||
for name in names:
|
for name in names:
|
||||||
force = self.particleEffect.getForceGroupNamed(name)
|
force = self.particleEffect.getForceGroupNamed(name)
|
||||||
for menu in self.forceGroupConfigureMenus:
|
self.forceGroupLabelMenu.add_command(
|
||||||
menu.add_command(
|
label = name,
|
||||||
label = name,
|
command = (lambda s = self,
|
||||||
command = (lambda s = self,
|
n = name: s.selectForceGroupNamed(n))
|
||||||
n = name: s.selectForceGroupNamed(n))
|
)
|
||||||
)
|
|
||||||
forceActive = IntVar()
|
forceActive = IntVar()
|
||||||
forceActive.set(force.isEnabled())
|
forceActive.set(force.isEnabled())
|
||||||
self.forceGroupEnableMenu.add_checkbutton(
|
self.forceGroupEnableMenu.add_checkbutton(
|
||||||
@ -1106,9 +1068,9 @@ class ParticlePanel(AppShell):
|
|||||||
lifespanSpread = factory.getLifespanSpread()
|
lifespanSpread = factory.getLifespanSpread()
|
||||||
self.getWidget('Factory', 'Life Span Spread').set(lifespanSpread, 0)
|
self.getWidget('Factory', 'Life Span Spread').set(lifespanSpread, 0)
|
||||||
mass = factory.getMassBase()
|
mass = factory.getMassBase()
|
||||||
self.getWidget('Factory', 'Life Span').set(mass, 0)
|
self.getWidget('Factory', 'Mass').set(mass, 0)
|
||||||
massSpread = factory.getMassSpread()
|
massSpread = factory.getMassSpread()
|
||||||
self.getWidget('Factory', 'Life Span Spread').set(massSpread, 0)
|
self.getWidget('Factory', 'Mass Spread').set(massSpread, 0)
|
||||||
terminalVelocity = factory.getTerminalVelocityBase()
|
terminalVelocity = factory.getTerminalVelocityBase()
|
||||||
self.getWidget('Factory', 'Terminal Velocity').set(terminalVelocity, 0)
|
self.getWidget('Factory', 'Terminal Velocity').set(terminalVelocity, 0)
|
||||||
terminalVelocitySpread = factory.getTerminalVelocitySpread()
|
terminalVelocitySpread = factory.getTerminalVelocitySpread()
|
||||||
@ -1471,10 +1433,12 @@ class ParticlePanel(AppShell):
|
|||||||
color[2]/255.0, color[3]/255.0))
|
color[2]/255.0, color[3]/255.0))
|
||||||
# Geom #
|
# Geom #
|
||||||
def setRendererGeomNode(self, event):
|
def setRendererGeomNode(self, event):
|
||||||
node = loader.loadOnce(self.rendererGeomNode.get())
|
node = None
|
||||||
if (node == None):
|
nodePath = loader.loadModel(self.rendererGeomNode.get())
|
||||||
return None
|
if nodePath != None:
|
||||||
self.particles.renderer.setGeomNode(node)
|
node = nodePath.node()
|
||||||
|
if (node != None):
|
||||||
|
self.particles.renderer.setGeomNode(node)
|
||||||
# Point #
|
# Point #
|
||||||
def setRendererPointSize(self, size):
|
def setRendererPointSize(self, size):
|
||||||
self.particles.renderer.setPointSize(size)
|
self.particles.renderer.setPointSize(size)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user