About setProxyGlobalPosition function
We are trying to translate a tool's Haptic Interaction Point (HIP) from its default position, using the setProxyGlobalPosition function:
secondaryTool->m_hapticPoint->m_algorithmFingerProxy->setProxyGlobalPosition(secondaryTool->getDeviceGlobalPos() + cVector3d(0, 0, 0.02));
But it's not working ok, because the haptic device behaves now like it has 2 HIPs - the original and the translated one (I am using this function inside the haptic rendering loop).
Is there another way to translate the HIP ?
Hi Francois, sorry for not replying earlier.
Right now, we are trying to move the HIP a little bit towards the user (chai3d's positive x axis) because we are using two devices (Phantom Omnis) and the tips of the grips are colliding with each other when the user is working with both of them in a small area.
In the future, we would like also to add more haptic points (if it's possible) to each tool to simulate and get force feedback from a "haptic volume" and not just a haptic point as it is now.
I hope I managed to clarify my questions. If not, I could make a picture diplaying the problem.
Thank you for your time.
A simple way would be to slightly shift the tools within the world:
tool1->setLocalPos(0.0, 0.1, 0.0);
Does this accomplish what you are trying to achieve?
I tried the setLocalPos() solution, but this moves the whole tool and its HIP at the same time. So it's essentially the same thing as before.
We would like to move only the HIP/proxy of the device/tool, so it will change the tool's point where the user feels the interaction with other objects in the scene.
I am not sure if I quite understand what you are trying to accomplish
Do the following points summarizes the problem?
- your haptic device is grounded to your desk
- you have positioned the virtual tool inside the virtual world
- the HIP is controlled by moving the handle of your haptic device
- the accessible workspace of the HIP is limited due to the physical workspace of the haptic device
- you would like to shift the HIP to access a different area of the workspace.