WorldViz User Forum  

Go Back   WorldViz User Forum > Vizard

Thread Tools Rate Thread Display Modes
Old 12-06-2016, 08:59 AM
chris2307 chris2307 is offline
Join Date: Nov 2013
Posts: 36
Getting an object location

I'm feeling a little frustrated right now. I am trying to get the 3D position of an object within an exported OSGB scene. I know the name of my object; I've called it target. I can even find this object using the following snippet of code:

for nodeName in WholeEnviroment.getNodeNames():
	if(nodeName == 'Target'):
		node = WholeEnviroment.getChild(nodeName)
		print node
However, when I attempt to extract the 3D information for this, I get either the following two results:

print node.getPosition()
Return value: [0, 0, -0]

print node.getPosition(viz.ABS_GLOBAL)
Return value: [0.0, 2.7850825786590576, -8.960569381713867]

Neither are correct. The correct position of this object is [-11.54891, 2.32127, -16.42012].

I am able to use viz.pick to select the object and I get the correct position which is great. However, viz.pick() seems to return the lowest level of an object (the material name in this instance).

Why am I unable to get a sensible value from simply specifying the node name? I'm either missing something very obvious or it's just another annoying quirk of Vizard.

This is how the structure of this node looks like in Vizard inspector:

Last edited by chris2307; 12-06-2016 at 09:03 AM.
Reply With Quote
Old 12-06-2016, 12:08 PM
Jeff Jeff is offline
WorldViz Team Member
Join Date: Aug 2008
Posts: 2,471
Are there multiple sub-parts with the same name? Are you able to attach the model here or upload for us to look at? Using the viz.ABS_GLOBAL flag should work.
Reply With Quote
Old 12-06-2016, 12:22 PM
chris2307 chris2307 is offline
Join Date: Nov 2013
Posts: 36
Hi Jeff,

Thanks for the speedy reply. I've uploaded the model using the link provided (1677024). The target object is called "target".
Reply With Quote
Old 12-06-2016, 12:39 PM
Jeff Jeff is offline
WorldViz Team Member
Join Date: Aug 2008
Posts: 2,471
Try using either the node.getTransform command or the node.getChild command with the viz.CHILD_REPLACE_TRANSFORM flag:

import viz

scene = viz.addChild('scene.osgb')

#Get a linkable for controlling a sub-transform of the node
target = scene.getTransform('Target')

#Create a new Vizard <node3d> object from the underlying scene graph node
#target = scene.getChild('Target',flags=viz.CHILD_REPLACE_TRANSFORM)

print target.getPosition(viz.ABS_GLOBAL)
Reply With Quote
Old 01-10-2017, 05:43 AM
Patrick Patrick is offline
Join Date: Oct 2016
Posts: 13
i got a pretty similar problem, so i just add this here and hope you can help me
i want to locate both arms from my avatar, to get the distance from the Grabbing point (grabber is attached to avatars arms) to the object i want to grab.

ground = viz.addChild('ground_gray.osgb')
Heizung = viz.addChild('heiz1.osgb')
pyramid = vizshape.addPyramid(base=(0.2,0.2),height=0.2,pos=[-0.5,1.7,1],alpha=0.7)
torus = vizshape.addTorus(radius=0.1,tubeRadius=0.015,axis=vizshape.AXIS_X, pos=[0,1.7,1])
box = vizshape.addCube(size=0.1, pos=[0.5,1.7,1],alpha=0.8)
shapes = [Heizung,pyramid,torus,box]
these are my objects i want to grab and ground which is the base of the world

basicly what i want to do is to get the locations of both the box, pyramid, and torus shapes and from the grabber tool from my vizconnect program and give them out
Reply With Quote

Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
How to render a texture of the transparent object and then blur it whj Vizard 1 09-25-2012 04:15 PM
checking object location in an inclosed area of the world Chapre Vizard 2 10-08-2010 01:57 AM
retrieve Object names Geoffrey Vizard 11 12-11-2009 05:26 AM
Gps input for viewpoint location? realvision Vizard 3 03-19-2008 01:37 PM
rotate to object jargon Vizard 1 08-08-2005 01:20 PM

All times are GMT -7. The time now is 06:53 PM.

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