PDA

View Full Version : intersection with texquad


pitbool
07-24-2017, 06:25 PM
Hi,

If we use texquads as objects that intersect with a ray from the vive controller, is there a way to change the names of the texquads to have something other than "drawable"? Already tried hardcoding the name to something like below, but didn't work:
myTexQuad = viz.addTexQuad(size=[1.21, 1.71])
myTexQuad.name = "texQuadCustomName"

The intersection with the vive controller is the standard function from the worldviz example for vive that shipped with vizard (below). It returns the intersected object, which could be a VizChild or a VizTexQuad.

def IntersectController(controller):
"""Perform intersection using controller"""
line = controller.model.getLineForward(viz.ABS_GLOBAL, length=100.0)
return viz.intersect(line.begin, line.end)

Jeff
07-24-2017, 09:09 PM
First check to see if the intersected object is the quad, then get the name attribute you assigned to it. Does that work for you?

import viz
viz.go()

myTexQuad = viz.addTexQuad(pos=[0,1.8,2])
myTexQuad.name = "texQuadCustomName"

info = viz.intersect([0,1.8,0],[0,1.8,4])
if info.valid:
if info.object == myTexQuad:
print myTexQuad.name

pitbool
07-25-2017, 11:14 AM
yes, that code works by itself - thanks!

For the purposes of our project, just using the following variant:
listOfQuads = []
listOfQuads.append(myTexQuad1)
...
if info.object is in listOfQuads:
print info.object.name
...