WorldViz User Forum

WorldViz User Forum (https://forum.worldviz.com/index.php)
-   Vizard (https://forum.worldviz.com/forumdisplay.php?f=17)
-   -   intersection with texquad (https://forum.worldviz.com/showthread.php?t=6043)

pitbool 07-24-2017 06:25 PM

intersection with texquad
 
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?
Code:

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
...


All times are GMT -7. The time now is 06:44 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright 2002-2023 WorldViz LLC