diff --git a/dart/dynamics/SoftBodyNode.cpp b/dart/dynamics/SoftBodyNode.cpp index 424e88a831816..71dcd8c200f28 100644 --- a/dart/dynamics/SoftBodyNode.cpp +++ b/dart/dynamics/SoftBodyNode.cpp @@ -1192,12 +1192,13 @@ void SoftBodyNodeHelper::setBox(SoftBodyNode* _softBodyNode, for (int i = 0; i < 3; ++i) { - if (frags[i] == 2) + if (frags[i] <= 2) { dtwarn << "Invalid property of soft body '" << _softBodyNode->getName() << "'. " - << "The number of vertices of each soft box edge should be " - << "equal to or greater than 3. It's set to 3." + << "The number of vertices assigned to soft box edge #" << i + << " is " << frags[i] << ", but it must be greater than or " + << "equal to 3. We will set it to 3." << std::endl; frags[i] = 3; } diff --git a/dart/utils/sdf/SoftSdfParser.cpp b/dart/utils/sdf/SoftSdfParser.cpp index e87fd81030b21..0c2b343dab8a1 100644 --- a/dart/utils/sdf/SoftSdfParser.cpp +++ b/dart/utils/sdf/SoftSdfParser.cpp @@ -276,7 +276,7 @@ dynamics::Skeleton* SoftSdfParser::readSkeleton( dynamics::FreeJoint* newFreeJoint = new dynamics::FreeJoint; newFreeJoint->setTransformFromParentBodyNode( - bodyNode->getTransform()); + sdfBodyNodes[i].initTransform); newFreeJoint->setTransformFromChildBodyNode( Eigen::Isometry3d::Identity());