Elastic Foundation Contact between two surfaces
Posted: Tue Oct 01, 2019 10:47 am
I am defining elastic foundation contact between two obj surfaces. I have meshed the surfaces in MeshLab and made sure there are no holes and non-manifold vertices in the mesh. However, the model is not getting loaded in the Visualizer Window and Navigator and I am getting following error:
java.lang.RuntimeException: SimTK Exception thrown at ContactGeometry_TriangleMesh.cpp:456:
Bad call to Simbody API method ContactGeometry::TriangleMesh::Impl::TriangleMesh::Impl(): Multiple faces have an edge between vertices 887 and 889 in the same order.
(Required condition 'backwardEdges.find(pair<int, int>(edges[j][1], edges[j][0])) == backwardEdges.end()' was not met.)
at org.opensim.modeling.opensimSimulationJNI.Model_initSystem(Native Method)
at org.opensim.modeling.Model.initSystem(Model.java:848)
at org.opensim.view.pub.OpenSimDB.addModel(OpenSimDB.java:146)
at org.opensim.view.pub.OpenSimDB.addModel(OpenSimDB.java:141)
at org.opensim.view.FileOpenOsimModelAction$2.run(FileOpenOsimModelAction.java:100)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
[catch] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
What does this error mean and how do I fix it?
java.lang.RuntimeException: SimTK Exception thrown at ContactGeometry_TriangleMesh.cpp:456:
Bad call to Simbody API method ContactGeometry::TriangleMesh::Impl::TriangleMesh::Impl(): Multiple faces have an edge between vertices 887 and 889 in the same order.
(Required condition 'backwardEdges.find(pair<int, int>(edges[j][1], edges[j][0])) == backwardEdges.end()' was not met.)
at org.opensim.modeling.opensimSimulationJNI.Model_initSystem(Native Method)
at org.opensim.modeling.Model.initSystem(Model.java:848)
at org.opensim.view.pub.OpenSimDB.addModel(OpenSimDB.java:146)
at org.opensim.view.pub.OpenSimDB.addModel(OpenSimDB.java:141)
at org.opensim.view.FileOpenOsimModelAction$2.run(FileOpenOsimModelAction.java:100)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
[catch] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
What does this error mean and how do I fix it?