Ejemplo n.º 1
0
//==============================================================================
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;
}
Ejemplo n.º 2
0
//==============================================================================
void EulerJoint::setAxisOrder(EulerJoint::AxisOrder _order, bool _renameDofs)
{
  mEulerP.mAxisOrder = _order;
  if (_renameDofs)
    updateDegreeOfFreedomNames();
  notifyPositionUpdate();
}
Ejemplo n.º 3
0
//==============================================================================
void PlanarJoint::setZXPlane(bool _renameDofs)
{
  mPlanarP.setZXPlane();

  if (_renameDofs)
    updateDegreeOfFreedomNames();
  notifyPositionUpdate();
}
Ejemplo n.º 4
0
//==============================================================================
void PlanarJoint::setZXPlane(bool _renameDofs)
{
  mAspectProperties.setZXPlane();

  if (_renameDofs)
    updateDegreeOfFreedomNames();
  notifyPositionUpdated();
}
Ejemplo n.º 5
0
//==============================================================================
void PlanarJoint::setYZPlane(bool _renameDofs)
{
  getPlanarJointAddon()->setYZPlane();

  if (_renameDofs)
    updateDegreeOfFreedomNames();
  notifyPositionUpdate();
}
Ejemplo n.º 6
0
//==============================================================================
void PlanarJoint::setArbitraryPlane(const Eigen::Vector3d& _transAxis1,
                                    const Eigen::Vector3d& _transAxis2,
                                    bool _renameDofs)
{
  mPlanarP.setArbitraryPlane(_transAxis1, _transAxis2);

  if (_renameDofs)
    updateDegreeOfFreedomNames();
  notifyPositionUpdate();
}
Ejemplo n.º 7
0
//==============================================================================
void EulerJoint::setAxisOrder(EulerJoint::AxisOrder _order, bool _renameDofs)
{
  mAspectProperties.mAxisOrder = _order;
  if (_renameDofs)
    updateDegreeOfFreedomNames();

  Joint::notifyPositionUpdated();
  updateRelativeJacobian(true);
  Joint::incrementVersion();
}
Ejemplo n.º 8
0
//==============================================================================
PlanarJoint::PlanarJoint(const Properties& _properties)
  : MultiDofJoint<3>(_properties)
{
  setProperties(_properties);
  updateDegreeOfFreedomNames();
}
Ejemplo n.º 9
0
//==============================================================================
FreeJoint::FreeJoint(const std::string& _name)
  : MultiDofJoint(_name),
    mQ(Eigen::Isometry3d::Identity())
{
  updateDegreeOfFreedomNames();
}