-
Notifications
You must be signed in to change notification settings - Fork 311
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SofaMiscFem] Fix FastTetrahedralCorotationalFF topology change #554
[SofaMiscFem] Fix FastTetrahedralCorotationalFF topology change #554
Conversation
…same code as in TetrahedralCorotationalFEM
…ored in PointInfo and EdgeInfo which refer to their topological element id. Those ids were not updated during topological changes. Use directly the topology arrays.
…Info and EdgeInfo are not well updated during topological changes.
…RestInformation and PointRestInformation classes as they were only storing a Mat3x3. Use directly PointData and EdgeData templated with Mat3x3.
…rename the old one as _validation as it compares to TetrahedralCororationalFEM.
[ci-build][with-scene-tests] |
[ci-build][with-scene-tests] |
Currently this PR makes forcefield/fastTetrahedralCorotationalFEM crash one the CI. |
@@ -155,6 +155,11 @@ template <class DataTypes> FastTetrahedralCorotationalForceField<DataTypes>::Fas | |||
, f_youngModulus(initData(&f_youngModulus,(Real)1000.,"youngModulus","Young modulus in Hooke's law")) | |||
, lambda(0) | |||
, mu(0) | |||
, f_drawing(initData(&f_drawing, true, "drawing", " draw the forcefield if true")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This rise some question to me about the general consistency of drawing in Sofa...but this is far
outside the scope of this PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I took the code that is in TetrahedralCorotationalForcefield to be consistent. Is it a good way to do it, this is another discussion...
@@ -155,6 +155,11 @@ template <class DataTypes> FastTetrahedralCorotationalForceField<DataTypes>::Fas | |||
, f_youngModulus(initData(&f_youngModulus,(Real)1000.,"youngModulus","Young modulus in Hooke's law")) | |||
, lambda(0) | |||
, mu(0) | |||
, f_drawing(initData(&f_drawing, true, "drawing", " draw the forcefield if true")) | |||
, drawColor1(initData(&drawColor1, defaulttype::Vec4f(0.0f, 0.0f, 1.0f, 1.0f), "drawColor1", " draw color for faces 1")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not a vector of color instead of 4 data ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same answer as above.
Ok I'll check that crash for next dev meeting. |
The scene is not crashing, it timeouts. Obviously lowering the number of CG iterations avoids the timeout but does not solve the problem... |
Ok found it: the scene-tests are not performing in default mode (100 iterations with a timeout of 60s for a Debug build) because FastTetrahedronCorotationalForceField.scn is listed with custom values in examples/.scene-tests config file. |
FastTetrahedronCorotationalForceField.scn had custom values for scene testing.
[ci-build][with-scene-tests] (please CI don't die on me) |
Some changes to be able to handle tetra removal.
This PR:
Reviewers will merge only if all these checks are true.