Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upa bug in function bool PBD::DirectPositionBasedSolverForStiffRods::solve(...) in PositionBasedElasticRods.cpp #79
Comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I think the constraints do not work in the right way when there are more than one static segment because in the
bool PBD::DirectPositionBasedSolverForStiffRods::solve(int , std::list <Node*> * , std::list <Node*> * , std::vector<Vector6r> & , std::vector<Vector6r> & , std::vector<Vector3r> & , std::vector<Quaternionr> & )of PositionBasedElasticRods.cpp
Here I guess when a segment is not dynamic, the loop needs continue instead of break.
Therefore, when there is no non-dynamic segment, the update is fine. And when there is one non-dynamic-segment, the update is also okay because the non-dynamic segment is the root which is at the end of the forward vector. However, when there is more than one static segment, the segments between the first and the last segments will not satisfy under rods constraints(bending, twisting, etc.) anymore because they are not updated then.