View Single Post
  #2  
Old 08-19-2009, 12:38 PM
Jeff Jeff is offline
WorldViz Team Member
 
Join Date: Aug 2008
Posts: 2,471
The link you provided is for finding intersections with physics shapes, from your question though it sounds like you just want to see which sub-object was picked.

You can use viz.pick() to do that. This code uses the gallery model and prints out the name of the child object that is clicked on. If you right cick on gallery.ive in Vizard's resource window you can look through the hierarchy and see the matching names.

The name returned is for lowest object in the scene graph that was picked. If this sub-object does not have a name then the first named object above it will be returned.
Code:
import viz
viz.go()

#use keyboard navigation, mouse for picking
import vizcam
viz.cam.setHandler(vizcam.KeyboardCamera())

viz.add('gallery.ive')

def showPicked():
	
	#use viz.pick with mode = 1.  This will return a Vizintersect
	#object which we can use to retrieve the object' name
	object = viz.pick(1)
	if object.valid:
		print 'object name:  ', object.name
		
vizact.onmousedown(viz.MOUSEBUTTON_LEFT, showPicked)
Reply With Quote