Home › Forum › SOFA › Using SOFA › Using Monitors and SofaCarving makes my scene crash
Tagged: carving, crash, Monitor, SOFA_2006, SofaCarving, Windows_10
- This topic has 4 replies, 3 voices, and was last updated 3 years, 2 months ago by Hugo.
-
AuthorPosts
-
19 August 2021 at 01:03 #20182DavacasBlocked
Hello, everyone!
I’m currently working on a scene where I need to do carving and monitor some vertices on the same mesh. I am aware that this could be an issue because the indices may change over time due to the carving, but I’ve had success in accomplishing this task using the SofaCarving plugin and Monitor component.
However, while carving the mesh, I sometimes get an error on the MeshTopology component of my collision node that says “beginStateChange() not supported” and “endStateChange() not supported”. After showing this error message, sometimes my whole scene crashes and I can’t understand why.
Can anyone help me understand why this happens and maybe help me fix it?
Thank you all. Have a great day!
23 August 2021 at 18:32 #20210HugoKeymasterOla @dacavas
To answer this, I think I will need the help of @epernod expert of topological changes and cuts from InfinyTech3D.
Best
Hugo
24 August 2021 at 11:12 #20227epernodBlockedHi,
I’m sorry but without more information I can’t help. Is it possible to have the call stack before the crash or/and the console output.
The scene structure could also help.
Best regards,
3 September 2021 at 06:18 #20301DavacasBlockedThank you and sorry for my delayed answer!
This a simplified version of my code, which replicates the error, but not the crash. It uses common SOFA plugins and meshes, so it should run on pretty much any recent SOFA version.
<?xml version="1.0" ?> <Node name="root" showBoundingTree="0" gravity="0 0 0"> <RequiredPlugin name="SofaOpenglVisual" pluginName="SofaOpenglVisual"/> <RequiredPlugin name="SofaSparseSolver" pluginName="SofaSparseSolver"/> <RequiredPlugin name="SofaExporter" pluginName="SofaExporter"/> <RequiredPlugin name="SofaValidation" pluginName="SofaValidation"/> <DefaultPipeline verbose="0" depth="6"/> <DefaultContactManager name="response" response="FrictionContact" /> <LocalMinDistance name="proximity" alarmDistance="0.1" contactDistance="0.01" angleCone="0.1" /> <BruteForceDetection name="detection" /> <LCPConstraintSolver tolerance="0.0001" maxIt="10000"/> <FreeMotionAnimationLoop/> <CarvingManager active="false" carvingDistance="1.0"/> <Node name="Test"> <EulerImplicitSolver name="cg_odesolver" printLog="false" rayleighStiffness="0.1" rayleighMass="0.1" /> <CGLinearSolver name="linear solver" iterations="25" tolerance="1.0e-9" threshold="1.0e-9" /> <MeshGmshLoader name="loader" filename="mesh/liver2.msh" translation="0 2 0"/> <MechanicalObject name="DOFs" src="@loader" /> <TetrahedronSetTopologyContainer name="Container" src="@loader"/> <TetrahedronSetTopologyModifier name="Modifier" /> <TetrahedronSetTopologyAlgorithms name="TopoAlgo" template="Vec3d" /> <TetrahedronSetGeometryAlgorithms name="GeomAlgo" template="Vec3d" /> <MeshMatrixMass name="mass" totalMass="200" topology="@Container" /> <TetrahedronFEMForceField name="FEM" youngModulus="60000" poissonRatio="0.45" method="large" /> <PrecomputedConstraintCorrection recompute="false" fileDir="./PrecomputedComplianceMatrices"/> <BoxROI name="indicesMonitor" box="0 1 0 1 2 1" computeEdges="false" computeTriangles="false" computeTetrahedra="false" drawBoxes="true"/> <FixedConstraint src="@indicesMonitor"/> <MeshExporter name="Exporter" format="vtk" exportAtEnd="1" edges="false" triangles="false" quads="false" hexas="false"/> <Node name="Collision"> <MeshTopology name="TopologiaColision" src="@../loader" /> <MechanicalObject name="DOFsColision" src="@./TopologiaColision"/> <TriangleSetTopologyContainer name="Container" /> <TriangleSetTopologyModifier name="Modifier" /> <TriangleSetTopologyAlgorithms name="TopoAlgo" /> <TriangleSetGeometryAlgorithms name="GeomAlgo" /> <Tetra2TriangleTopologicalMapping input="@../Container" output="@Container" /> <TriangleCollisionModel /> <IdentityMapping input="@../DOFs" output="@./DOFsColision"/> <Monitor name="MonitorTest" template="Vec3d" listening="true" indices="@indicesMonitor.indices" sizeFactor="5" showTrajectories="true" showPositions="true" ExportPositions="true" /> </Node> <Node name="Visual"> <OglModel name="VisualModel"/> <IdentityMapping input="@../DOFs" output="@VisualModel" /> </Node> </Node> </Node>
And here is a screenshot of the call stack right before the crash on my actual scene.
Please, let me know if you need to see my full code, but it is quite a large scene that uses the SofaCarving and Geomagic plugin.
7 October 2021 at 10:29 #20542HugoKeymasterHey @dacavas
Sorry for our delay.
Your screenshot containing the full call stack seems to have been removed.
Could you repost it?Best wishes,
Hugo
-
AuthorPosts
- You must be logged in to reply to this topic.