how to write the interface code
hello all,
my university got a virtual reality suite which consists of a projector, a transluscent screen, amx controller, intersense 900 inertial ultra sonic motion tracking system, wand and head trackers. i will import a catia based 3d model in vizard. could some body please tell me how can i navigate with the wand and head tracker in my application. how to write the interface code? are there any ebooks available on the vizard site? thankyou... with regards Nasr |
To support multiple hardware interfaces, like a keyboard+mouse test mode and production VR tracker mode, you want to separate the "application logic" from the hardware interface code. Their are a few ways you can organize the code to do this. I would use object oriented classes.
Say the user interacts with your Catia model with some 3D cursor thing. That is application logic. I'ed create a Cursor class that holds all the application level information and behavior for this 3D cursor: 3D position, appearance, methods for selecting and moving the Catia model. I'd create another class called CursorControllerKeyboard that has a pointer to the Cursor class. This guy will respond to keyboard events and manipulate the Cursor appropratly. Another class called CursorControllerWand could manipulate the Cursor in response to input from the Intersense Wand device. Let the Cursor classes constructor choose which controler to create based on some configuration varable. Here's some code: Code:
|
how to move the other part
Code:
def toggleLink(): |
For your elif block:
if link is not none: remove link |
Better. Replace elif with if.
Code:
def toggleLink(): |
paul thank you very much for your reply.this is my full program
Code:
import viz now i want to move the ball and the table seperately. now could you please tell me how to make the changes. |
vizmat.Distance(hand.getPosition(), ball.getPosition()) < .5: link = viz.grab( hand, ball )
vizact.onpick(ball,toggleLink) paul in the above code im able to grab the ball only. if im trying this loop with an if condition, after selecting the ball im not able to stop the ball how to change the code? |
My last post from yesterday will fix your problem. Notice how I changed the elif to if in the toggleLink function.
Also, you will want to call toggleLink whenever the mouse button is pressed, so replace vizact.onpick with vizact.onmousebutton. |
paul thanks for your quick reply... if i want to rotate the object how can i do it?
|
Because of the grab link, rotating the hand will rotate the object. Use whatever keyboard/mouse keys you want.
|
paul thankyou very much for your suggestions...could you tell the code for rotating the ball using the mouse...i dont have any idea how to do it...just give me the clue...
thankyou.. |
hello paul...i tried rotating the object using the keyboard..by assigning keys for each axis....but i want to do this using mouse in order to reduce the number of lines of code...could u please tell me the function for that. how it could be done? i wil be waiting for ur reply..thankyou...
|
How about rotating an object when you hold down the right mouse button. You could use Jerry's code from this post to rotate the object after it is selected: http://forum.worldviz.com/showthread.php?t=2022
|
Code:
def toggleLink(): |
The vizact.onmousedown(' ' ,toggleLink()) needs a mouse button argument. Check docs on this.
Otherwise I don't see whats wrong. Throw some print statements around to see where the code is going or not going. You also have the possibility of creating two links and loosing your handle to the first link. To fix create a list of grabable objects and use a "for in" loop to check if the hand should grab. If you grab, end the loop with a "break" statement. |
Code:
def toggleLink(): |
sorry i tried with this code also...but not working
Code:
def toggleLink(): |
how to achieve the stereoscopic vision
how to enable the stereoscopic vision in a simple vizard application....
|
All times are GMT -7. The time now is 03:37 AM. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright 2002-2023 WorldViz LLC