//============================================================================== void Joint::setTransformFromChildBodyNode(const Eigen::Isometry3d& _T) { assert(math::verifyTransform(_T)); mAspectProperties.mT_ChildBodyToJoint = _T; updateRelativeJacobian(); notifyPositionUpdate(); }
//============================================================================== void PlanarJoint::setAspectProperties(const AspectProperties& properties) { mAspectProperties = properties; Joint::notifyPositionUpdated(); updateRelativeJacobian(true); Joint::incrementVersion(); }
//============================================================================== void EulerJoint::setAxisOrder(EulerJoint::AxisOrder _order, bool _renameDofs) { mAspectProperties.mAxisOrder = _order; if (_renameDofs) updateDegreeOfFreedomNames(); Joint::notifyPositionUpdated(); updateRelativeJacobian(true); Joint::incrementVersion(); }
//============================================================================== void RevoluteJoint::setAxis(const Eigen::Vector3d& _axis) { if(_axis == mAspectProperties.mAxis) return; mAspectProperties.mAxis = _axis.normalized(); Joint::notifyPositionUpdate(); updateRelativeJacobian(); Joint::incrementVersion(); }
//============================================================================== void Joint::updateLocalJacobian(bool mandatory) const { updateRelativeJacobian(mandatory); }