//============================================================================== const std::string& Joint::setName(const std::string& _name, bool _renameDofs) { if (mAspectProperties.mName == _name) { if (_renameDofs) updateDegreeOfFreedomNames(); return mAspectProperties.mName; } const SkeletonPtr& skel = mChildBodyNode? mChildBodyNode->getSkeleton() : nullptr; if (skel) { skel->mNameMgrForJoints.removeName(mAspectProperties.mName); mAspectProperties.mName = _name; skel->addEntryToJointNameMgr(this, _renameDofs); } else { mAspectProperties.mName = _name; if (_renameDofs) updateDegreeOfFreedomNames(); } return mAspectProperties.mName; }
//============================================================================== void EulerJoint::setAxisOrder(EulerJoint::AxisOrder _order, bool _renameDofs) { mEulerP.mAxisOrder = _order; if (_renameDofs) updateDegreeOfFreedomNames(); notifyPositionUpdate(); }
//============================================================================== void PlanarJoint::setZXPlane(bool _renameDofs) { mPlanarP.setZXPlane(); if (_renameDofs) updateDegreeOfFreedomNames(); notifyPositionUpdate(); }
//============================================================================== void PlanarJoint::setZXPlane(bool _renameDofs) { mAspectProperties.setZXPlane(); if (_renameDofs) updateDegreeOfFreedomNames(); notifyPositionUpdated(); }
//============================================================================== void PlanarJoint::setYZPlane(bool _renameDofs) { getPlanarJointAddon()->setYZPlane(); if (_renameDofs) updateDegreeOfFreedomNames(); notifyPositionUpdate(); }
//============================================================================== void PlanarJoint::setArbitraryPlane(const Eigen::Vector3d& _transAxis1, const Eigen::Vector3d& _transAxis2, bool _renameDofs) { mPlanarP.setArbitraryPlane(_transAxis1, _transAxis2); if (_renameDofs) updateDegreeOfFreedomNames(); notifyPositionUpdate(); }
//============================================================================== void EulerJoint::setAxisOrder(EulerJoint::AxisOrder _order, bool _renameDofs) { mAspectProperties.mAxisOrder = _order; if (_renameDofs) updateDegreeOfFreedomNames(); Joint::notifyPositionUpdated(); updateRelativeJacobian(true); Joint::incrementVersion(); }
//============================================================================== PlanarJoint::PlanarJoint(const Properties& _properties) : MultiDofJoint<3>(_properties) { setProperties(_properties); updateDegreeOfFreedomNames(); }
//============================================================================== FreeJoint::FreeJoint(const std::string& _name) : MultiDofJoint(_name), mQ(Eigen::Isometry3d::Identity()) { updateDegreeOfFreedomNames(); }