Forum Replies Created
-
AuthorPosts
-
remibessardBlocked
Hi,
Agreed with @epernod, I would also precise these information to the RigidMapping when trying to make it work with this component.
As @Hugo mentionned I am using the BeamLinearMapping to map a collision model to a Beam model, but I think it is accessible in SOFA master without compiling any plugin.
Hope you can also find it and use it on your side.
(I have to say I am not mapping a volume into the beam (only a more discretized description of the same beam), so I don’t know if it will work with your visual volumetric model…)As for me I use it that way in my scene configuration file:
endoCollNode.createObject('BeamLinearMapping', localCoord=False, applyRestPosition=True)
(feel free to play with these 2 parameters to fit your case)Cheers,
Remi
remibessardBlockedGlad to hear from you Vincent !
And happy to read it helped you a bit.Your developments sound interesting, good luck with it !
Cheers,
RémiremibessardBlockedHi François,
I would like to suggest you to check the pull request I just did in your github repository.
I was able to compile your code (by adding some lines, eg. some ContactMapper) and pushed a version in which I was able to run your scene and see the 2 cubes interacting one another.I hope you will be able to compile this update on your side (I changed a bit the architecture in a way it is a Sofa plugin you can add in your SOFA_EXTERNAL_DIRECTORIES CMakeLists.
Let me know if something gets wrong.
Cheers,
Remi.
remibessardBlockedHi Binesh and Hugo,
I just wanted to suggest the fact that you did not called the method setScene():
void BaseViewer::setScene(sofa::simulation::Node::SPtr scene, const char* filename /* = NULL */, bool /* = false */)
that is used to set the scene that a viewer is going to render.
maybe you could try to call it (after testwindow->show()) ?Regards,
– Rémi
19 January 2016 at 00:07 in reply to: [SOLVED] NewOmniDriver: GNode cannot access protected member #5332remibessardBlockedHello,
Indeed you can use getParents(), or getFirstParent() as it has been used to replace the same parent() method in ExportDotVisitor.cpp(344).
Also do not forget to cast the returned value :
if (parentRoot->getFirstParent())
parentRoot = dynamic_cast<sofa::simulation::tree::GNode*>(parentRoot->getFirstParent());Regards,
– Remi
remibessardBlockedHello,
I have checked a bit what is in the CarvingManager plugin in Sofa and launched the example scene.
It seems that it is a really old code, and the “OmniEvent.h” you talked about have been replaced by a “HapticDeviceEvent.h” since October,2011.
Are you sure that you are up-to-date with Sofa ?I was able to make the instrument carve by coupling the CarvinManager with an OmniDriver (SensablePluginin Sofa).
By doing so the OmniDriver is throwing HapticDeviceEvents (when I push the Omni button) that the CarvingManger is able to catch and let it change the value of the “active” data (which activates the carving).
I also attached the instrument to the OmniDriver with a RestShapeSpringsForceField in a way that the instrument follows the physical displacements I apply to the Phantom Omni.Let me know if you want me to send you the modified example scene.
Cheers,
-Remi
-
AuthorPosts