Skip to content

Commit

Permalink
Check if the kinematics hashes are consistent between saver
Browse files Browse the repository at this point in the history
  • Loading branch information
Shunichi Nozawa committed Dec 27, 2024
1 parent bd2097a commit 76e9662
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions src/libopenrave/kinbodystatesaver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,11 @@ KinBody::KinBodyStateSaver::KinBodyStateSaver(KinBodyPtr pbody, int options) : _

KinBody::KinBodyStateSaver::KinBodyStateSaver(KinBodyPtr pbody, const KinBodyStateSaver& reference) : _pbody(pbody), _options(reference._options), _bRestoreOnDestructor(reference._bRestoreOnDestructor)
{
if( pbody->GetKinematicsGeometryHash() != reference.GetBody()->GetKinematicsGeometryHash() ) {
throw OPENRAVE_EXCEPTION_FORMAT(_("env=%s, KinBodyStateSaver for body '%s' cannot be constructed from other saver since the hash is different. bodyHash=%s;referenceBodyHash=%s. (options=%d)"),
pbody->GetEnv()->GetNameId() % pbody->GetName() % pbody->GetKinematicsGeometryHash() % reference.GetBody()->GetKinematicsGeometryHash() % _options,
ORE_InvalidArguments);
}
if( _options & Save_LinkTransformation ) {
_vLinkTransforms = reference._vLinkTransforms;
_vdoflastsetvalues = reference._vdoflastsetvalues;
Expand Down

0 comments on commit 76e9662

Please sign in to comment.