@yupengActive 7 months, 2 weeks ago
The error didn’t reappear anymore when I using
SphereCollsionModelas the first template parameter in
Creator<sofa::core::collision::Contact::Factory, NeedleContact<[Read more]
SphereCollisionModel<sofa::defaulttype::Vec3Types>, PointCollisionModel<sofa::defaulttype::Vec3Types>> > PointSphereNeedleContactClass("NeedleContact",…
As I mentioned in this topic
I want to create a needle insertion application. I’ve talked with @hugo about this. We reach a consensus about the implementation.
Needle insertion step:
1. Before insertion, the soft tissue resists the insertion of the needle by creating unilateralInteractionConstraint
2. When the contact force computed from…[Read more]
Thanks for your kind advice.
You said people didn’t use Tetra as a collision model, then how did they know which Tetra contains needle points? Is there a more convenient approach to do that?
@agnesenardi, I am also working on this simulation, maybe we could collaborate and see what we could do.
Using the scene file you proposed, I could use the TetrahedronCollisionmodel now. But, when the haptic device (pointCollisionModel) contacts with liver, the program corrupt. I found it has a relation with the mapping method. Even though I set IdentityMapping method, it still calls BarycentricContactMapper.
The debugging call stack is…[Read more]
Oh, I make a stupid mistake: choosing the wrong component when clicking
printlog. The precedure above is right. I could print out the haptic force.
What’s more, how can I store the haptic force into a file?
I didn’t feel any haptic force using scenes in Geomagic plugin. Thus, I tried to print the haptic force, but it didn’t work.
1. I add a
d_forceis used to store haptic force.
GeomagicDriver.cpp:HDCallbackCode HDCALLBACK stateCallback(void * userData), the haptic force
d_forceis assigned as:
@Hugo, Thanks for your reply. It helps a lot.
I’ve read the paper you suggested. And I’m trying to implement the method in it.
About the code, I wonder how can I register TetrahedronDiscreteIntersection into the factory. The error log is shown as the first post.
Hi @Hugo, thanks for your reply.
The function of TetrahedronDiscreteIntersection is just what I want to use.
Firstly, when my needle inserts into the tet mesh. Then I have to determine which tetrahedron collides with needle (represented as a point collision model currently).
However, there are no intersection methods that can handle this.
I’m also working on a project about suturing. It’s really a complex procedure. I recognized that your scene just simulates the collision between the needle and soft body (I think there are some similar examples scenes under folder applicationspluginsGeomagicscenes).
However, when a needle penetrated the soft body there are some…[Read more]
I’m trying to use plugin SofaMiscCollision when handling the collision between a point model and tetrahedron mesh.
The scene file is as here:
[ERROR] [InfoComponent(Not created (TetrahedronDiscreteIntersection))] Object type TetrahedronDiscreteIntersection<> was not created
The object is not in the factory.