let me first introduce myself,
i'm a mechanical engineering student doing research at the university of victoria. the research field is 'haptics', where we're trying to create a sense of touch in a virtual environment using so-called 'haptic-devices'. these devices generally have encoders to read positions and actuators to return forces. an example of such a device is shown here: http://www.sensable.com/documents/image ... iImage.jpg
we recently bought a spacenavigator because it has 6 degrees of motion freedom like the haptic device, which would allow us to do simulations and experiments without having to worry about the force-feedback.
all the computation to go from positions to forces, as well as displaying the virtual environment are done in Simulink, a well known tool in the engineering world. at the moment we're doing simulations with pre-defined user trajectories such that we're 'touching' a soft/deformable object in a virtual world. instead of pre-defining the trajectories, we would now like to read the positions from the SpaceNavigator. it is possible to integrate C++ code in our Simulink model so we would like to write a C++ program that reads positions from the SpaceNavigator and feed them in our model.
still following me?
once i've written that code, i can post it on the MathWorks website such that any Simulink user would be able to use it. i hope this gives some motivation to help me.
now here comes the problem. i'm an engineer, not a software developer. i've written some for/while loop-basic stuff- C programs and that's it. i've downloaded and read the 3DxInput API, a large part of the windows SDK guide, tried to decipher the AtlCube3D example and searched this forum. i still don't even know where to start, so i am desperate for help.
i don't know if it's possible but what i would like is: one C++ file, for example spacenavigator.cpp that makes connection with the device, does the initialization etc etc, read the input data (3 translations / 3 rotations), put them in an array and make them an output of some function such that i can feed it to simulink. there's no need to draw a window whatsoever.
i'm just going to ask a bunch of questions. i apologize for any dumb ass ones
1) what documentation/examples do you recommend me to have a good look at?
2) what is the difference between 3Dxware and 3DxInput?
3) where can i find the 3DxWare SDK? i just have the SDK guide. couldn't find the rest of it, like the programming examples.
4) why can't i find none of the 'five basic functions' (SiInitialize etc) in the cube3D example?
5) which files of the cube3D are really essential for event handling and iinput data reading? so no window drawing, cube rotation calculations etc etc (hope i get a good answer on this one)
okay, i think thats it for now. that wasn't an unreasable amount of informations and questions, was it?! as i said, your help is greatly appreciated and hopefully enables me to ask more direct questions next time.
thanks!
