us.ihmc.euclid.referenceFrame.ReferenceFrame.hashCode()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(13.6k)|赞(0)|评价(0)|浏览(76)

本文整理了Java中us.ihmc.euclid.referenceFrame.ReferenceFrame.hashCode方法的一些代码示例,展示了ReferenceFrame.hashCode的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ReferenceFrame.hashCode方法的具体详情如下:
包路径:us.ihmc.euclid.referenceFrame.ReferenceFrame
类名称:ReferenceFrame
方法名:hashCode

ReferenceFrame.hashCode介绍

[英]The hash code of a reference frame is based on the #nameId of the frame. This means that the hash code will be equal for two distinct frames that have the same name. To differentiate all frames in a tree regardless of their name use the #getFrameIndex() method.
[中]参考帧的哈希代码基于帧的#nameId。这意味着对于具有相同名称的两个不同帧,哈希代码将相等。要区分树中的所有帧,无论它们的名称如何,请使用#getFrameIndex()方法。

代码示例

代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit

@Override
public int hashCode()
{
 final int prime = 31;
 int result = 1;
 result = prime * result + ((selectionFrame == null) ? 0 : selectionFrame.hashCode());
 result = prime * result + (xSelected ? 1231 : 1237);
 result = prime * result + (ySelected ? 1231 : 1237);
 result = prime * result + (zSelected ? 1231 : 1237);
 return result;
}

代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit

public static int computeGeometricJacobianHashCode(JointBasics joints[], ReferenceFrame jacobianFrame, boolean allowChangeFrame)
{
 int jointsHashCode = 1;
 for (JointBasics joint : joints)
 {
   jointsHashCode = 31 * jointsHashCode + joint.hashCode();
 }
 if (!allowChangeFrame)
   return 31 * jointsHashCode + jacobianFrame.hashCode();
 else
   return jointsHashCode;
}

代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit

public static int computeGeometricJacobianHashCode(JointBasics joints[], int firstIndex, int lastIndex, ReferenceFrame jacobianFrame,
                         boolean allowChangeFrame)
{
 int jointsHashCode = 1;
 for (int i = firstIndex; i <= lastIndex; i++)
 {
   jointsHashCode = 31 * jointsHashCode + joints[i].hashCode();
 }
 if (!allowChangeFrame)
   return 31 * jointsHashCode + jacobianFrame.hashCode();
 else
   return jointsHashCode;
}

代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit

@Override
public boolean equals(Object obj)
{
 if (this == obj)
   return true;
 if (obj == null)
   return false;
 if (getClass() != obj.getClass())
   return false;
 SelectionMatrix3D other = (SelectionMatrix3D) obj;
 if (selectionFrame == null ^ other.selectionFrame == null)
 {
   return false;
 }
 else if (selectionFrame != null && selectionFrame.hashCode() != other.selectionFrame.hashCode())
   return false;
 if (xSelected != other.xSelected)
   return false;
 if (ySelected != other.ySelected)
   return false;
 if (zSelected != other.zSelected)
   return false;
 return true;
}

代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit

@Override
public int hashCode()
{
 final int prime = 31;
 int result = 1;
 result = prime * result + ((frameMatrix == null) ? 0 : frameMatrix.hashCode());
 result = prime * result + ((weightFrame == null) ? 0 : weightFrame.hashCode());
 long temp;
 temp = Double.doubleToLongBits(xWeight);
 result = prime * result + (int) (temp ^ (temp >>> 32));
 temp = Double.doubleToLongBits(yWeight);
 result = prime * result + (int) (temp ^ (temp >>> 32));
 temp = Double.doubleToLongBits(zWeight);
 result = prime * result + (int) (temp ^ (temp >>> 32));
 return result;
}

代码示例来源:origin: us.ihmc/ihmc-humanoid-robotics

/**
* set a single point
* 
* @param trajectoryTime the duration of the trajectory
* @param desiredPosition the desired end position
* @param trajectoryReferenceFrame the frame the trajectory will be executed in
*/
public static EuclideanTrajectoryMessage createEuclideanTrajectoryMessage(double trajectoryTime, Point3DReadOnly desiredPosition,
                                     ReferenceFrame trajectoryReferenceFrame)
{
 return createEuclideanTrajectoryMessage(trajectoryTime, desiredPosition, trajectoryReferenceFrame.hashCode());
}

代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit

/**
* Check if a reference frame has already been registered
* @param referenceFrame
* @return true if the reference frame has already been registered, false otherwise.
*/
public boolean isReferenceFrameRegistered(ReferenceFrame referenceFrame)
{
 return referenceFrames.contains(referenceFrame.hashCode());
}

代码示例来源:origin: us.ihmc/ihmc-humanoid-robotics

public static SE3TrajectoryMessage createSE3TrajectoryMessage(double trajectoryTime, Point3DReadOnly desiredPosition, QuaternionReadOnly desiredOrientation,
                               ReferenceFrame trajectoryReferenceFrame)
{
 return createSE3TrajectoryMessage(trajectoryTime, desiredPosition, desiredOrientation, trajectoryReferenceFrame.hashCode());
}

代码示例来源:origin: us.ihmc/ihmc-humanoid-robotics

public static SO3TrajectoryMessage createSO3TrajectoryMessage(double trajectoryTime, QuaternionReadOnly desiredOrientation, ReferenceFrame trajectoryFrame)
{
 return createSO3TrajectoryMessage(trajectoryTime, desiredOrientation, trajectoryFrame.hashCode());
}

代码示例来源:origin: us.ihmc/ihmc-humanoid-robotics

public static void checkIfDataFrameIdsMatch(FrameInformation frameInformation, ReferenceFrame referenceFrame)
{
 long expectedId = HumanoidMessageTools.getDataFrameIDConsideringDefault(frameInformation);
 if (expectedId != referenceFrame.hashCode() && expectedId != referenceFrame.getAdditionalNameBasedHashCode())
 {
   String msg = "Argument's hashcode " + referenceFrame + " " + referenceFrame.hashCode() + " does not match " + expectedId;
   throw new ReferenceFrameMismatchException(msg);
 }
}

代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit

/**
* Change the current reference frame for another one that has already been registered.
* @param newCurrentReferenceFrame
* @return ReferenceFrame the previous current reference frame
*/
public ReferenceFrame switchCurrentReferenceFrame(ReferenceFrame newCurrentReferenceFrame)
{
 ReferenceFrame previousReferenceFrame = getCurrentReferenceFrame();
 if(!referenceFrames.contains(newCurrentReferenceFrame.hashCode()))
 {
   throw new RuntimeException("The frame: " + newCurrentReferenceFrame.getName() + " has not been registered.");
 }
 
 currentFrameId.set(newCurrentReferenceFrame.hashCode());
 return previousReferenceFrame;
}

代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit

/**
* Register a new reference frame.
* @param newReferenceFrame
*/
public void registerReferenceFrame(ReferenceFrame newReferenceFrame)
{
 if (newReferenceFrame == null)
   return;
 if (isReferenceFrameRegistered(newReferenceFrame))
 {
   return;
 }
 referenceFrames.put(newReferenceFrame.hashCode(), newReferenceFrame);
}

代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit

public YoMultipleFramesHelper(String namePrefix, YoVariableRegistry registry, ReferenceFrame... referenceFrames)
{
 if (referenceFrames == null || referenceFrames.length == 0)
   throw new RuntimeException("Need to provide at least one ReferenceFrame.");
 
 currentFrameId = new YoLong(namePrefix + "FrameId", registry);
 currentFrameId.set(referenceFrames[0].hashCode());
 for (ReferenceFrame referenceFrame : referenceFrames)
 {
   this.registerReferenceFrame(referenceFrame);
 }
}

代码示例来源:origin: us.ihmc/ihmc-avatar-interfaces-test

private void checkReferenceFramesMatch(ReferenceFrame referenceFrameA, ReferenceFrame referenceFrameB)
{
 assertEquals("reference frame names didnt match", referenceFrameA.getName(), referenceFrameB.getName());
 assertEquals("hash codes didn't match", referenceFrameA.hashCode(), referenceFrameB.hashCode());
 
 if (referenceFrameA.getParent() != null || referenceFrameB.getParent() != null)
 {
   assertEquals("parent reference frame names didnt match", referenceFrameA.getParent().getName(), referenceFrameB.getParent().getName());
   assertEquals("parent hash codes didn't match", referenceFrameA.getParent().hashCode(), referenceFrameB.getParent().hashCode());
 }
}

代码示例来源:origin: us.ihmc/ihmc-avatar-interfaces-test

@ContinuousIntegrationTest(estimatedDuration = 1.0)
@Test(timeout = 30000)
public void testAllFramesInFullRobotModelMatchHumanoidReferenceFramesThroughHashCode()
{
 DRCRobotModel robotModelA = getRobotModel();
 FullHumanoidRobotModel fullRobotModel = robotModelA.createFullRobotModel();
 HumanoidReferenceFrames referenceFramesA = new HumanoidReferenceFrames(fullRobotModel);
 ReferenceFrameHashCodeResolver referenceFrameHashCodeResolverA = new ReferenceFrameHashCodeResolver(fullRobotModel, referenceFramesA);
 for (OneDoFJointBasics joint : fullRobotModel.getOneDoFJoints())
 {
   ReferenceFrame frameBeforeJoint = joint.getFrameBeforeJoint();
   ReferenceFrame frameAfterJoint = joint.getFrameAfterJoint();
   ReferenceFrame comLinkBefore = joint.getPredecessor().getBodyFixedFrame();
   ReferenceFrame comLinkAfter = joint.getSuccessor().getBodyFixedFrame();
   System.out.println(frameBeforeJoint.getName() + " hashCode: " + frameBeforeJoint.hashCode());
   System.out.println(frameAfterJoint.getName() + " hashCode: " + frameAfterJoint.hashCode());
   System.out.println(comLinkBefore.getName() + " hashCode: " + comLinkBefore.hashCode());
   System.out.println(comLinkAfter.getName() + " hashCode: " + comLinkAfter.hashCode());
      ReferenceFrame otherFrameBeforeJoint = referenceFrameHashCodeResolverA.getReferenceFrameFromHashCode(frameBeforeJoint.hashCode());
   ReferenceFrame otherFrameAfterJoint = referenceFrameHashCodeResolverA.getReferenceFrameFromHashCode(frameAfterJoint.hashCode());
   ReferenceFrame otherCoMlinkBefore = referenceFrameHashCodeResolverA.getReferenceFrameFromHashCode(comLinkBefore.hashCode());
   ReferenceFrame otherCoMLinkAfter = referenceFrameHashCodeResolverA.getReferenceFrameFromHashCode(comLinkAfter.hashCode());
   checkReferenceFramesMatch(frameBeforeJoint, otherFrameBeforeJoint);
   checkReferenceFramesMatch(frameAfterJoint, otherFrameAfterJoint);
   checkReferenceFramesMatch(comLinkBefore, otherCoMlinkBefore);
   checkReferenceFramesMatch(comLinkAfter, otherCoMLinkAfter);
 }
}

代码示例来源:origin: us.ihmc/ihmc-avatar-interfaces-test

if(referenceFrame != null)
 ReferenceFrame referenceFrameFromNameBaseHashCode = referenceFrameHashCodeResolver.getReferenceFrameFromHashCode(referenceFrame.hashCode());
 assertNotNull(referenceFrame.getName() + " was not in the reference frame hash map. fix ReferenceFrameHashCodeResolver!", referenceFrameFromNameBaseHashCode);
 System.out.println(referenceFrame.getName() + " hashCode: " + referenceFrame.hashCode());
 checkReferenceFramesMatch(referenceFrame, referenceFrameFromNameBaseHashCode);
 if(referenceFrame != null)
   ReferenceFrame referenceFrameFromNameBaseHashCode = referenceFrameHashCodeResolver.getReferenceFrameFromHashCode(referenceFrame.hashCode());
   assertNotNull("called " + method.getName() + ": " + referenceFrame.getName() + " was not in the reference frame hash map. fix ReferenceFrameHashCodeResolver!", referenceFrameFromNameBaseHashCode);
   checkReferenceFramesMatch(referenceFrame, referenceFrameFromNameBaseHashCode);

代码示例来源:origin: us.ihmc/ihmc-avatar-interfaces-test

if(referenceFrame != null)
 ReferenceFrame referenceFrameFromNameBaseHashCode = referenceFrameHashCodeResolver.getReferenceFrameFromHashCode(referenceFrame.hashCode());
 System.out.println(referenceFrame.getName() + " hashCode: " + referenceFrame.hashCode());
 assertNotNull(referenceFrame.getName() + " was not in the reference frame hash map. fix ReferenceFrameHashCodeResolver!", referenceFrameFromNameBaseHashCode);
 checkReferenceFramesMatch(referenceFrame, referenceFrameFromNameBaseHashCode);
 if(referenceFrame != null)
   ReferenceFrame referenceFrameFromNameBaseHashCode = referenceFrameHashCodeResolver.getReferenceFrameFromHashCode(referenceFrame.hashCode());
   assertNotNull("called " + method.getName() + ": " + referenceFrame.getName() + " was not in the reference frame hash map. fix ReferenceFrameHashCodeResolver!", referenceFrameFromNameBaseHashCode);
   checkReferenceFramesMatch(referenceFrame, referenceFrameFromNameBaseHashCode);

代码示例来源:origin: us.ihmc/ihmc-humanoid-robotics-test

@ContinuousIntegrationTest(estimatedDuration = 0.0, categoriesOverride = IntegrationCategory.FAST)
@Test(timeout = 30000)
public void testFrameInformationDefaultValues()
{
 FrameInformation frameInformation = new FrameInformation();
 assertEquals(NameBasedHashCodeTools.DEFAULT_HASHCODE, frameInformation.getDataReferenceFrameId());
 assertEquals(ReferenceFrame.getWorldFrame().hashCode(), frameInformation.getTrajectoryReferenceFrameId());
 assertEquals(ReferenceFrame.getWorldFrame().hashCode(), FrameInformation.WORLD_FRAME);
}

代码示例来源:origin: us.ihmc/ihmc-avatar-interfaces-test

@ContinuousIntegrationTest(estimatedDuration = 1.0)
@Test(timeout = 30000)
public void testGetReferenceFrameFromHashCodeReturnsSameNamedFrames()
{
 DRCRobotModel robotModelA = getRobotModel();
 FullHumanoidRobotModel fullRobotModelA = robotModelA.createFullRobotModel();
 HumanoidReferenceFrames referenceFramesA = new HumanoidReferenceFrames(fullRobotModelA);
 DRCRobotModel robotModelB = getRobotModel();
 FullHumanoidRobotModel fullRobotModelB = robotModelB.createFullRobotModel();
 HumanoidReferenceFrames referenceFramesB = new HumanoidReferenceFrames(fullRobotModelB);
 ReferenceFrameHashCodeResolver referenceFrameHashCodeResolverB = new ReferenceFrameHashCodeResolver(fullRobotModelB, referenceFramesB);
 ReferenceFrame midFeetZUpFrameA = referenceFramesA.getMidFeetZUpFrame();
 long hashCode = midFeetZUpFrameA.hashCode();
 
 ReferenceFrame midZUpFrameB = referenceFrameHashCodeResolverB.getReferenceFrameFromHashCode(hashCode);
 checkReferenceFramesMatch(midFeetZUpFrameA, midZUpFrameB);
}

代码示例来源:origin: us.ihmc/ihmc-humanoid-robotics

/**
* Use this constructor to go straight to the given end point. Set the id of the message to
* {@link Packet#VALID_MESSAGE_DEFAULT_ID}.
* 
* @param trajectoryTime how long it takes to reach the desired height.
* @param desiredHeight desired pelvis height expressed in data frame
* @param trajectoryReferenceFrame the frame in which the height will be executed
* @param dataReferenceFrame the frame the desiredHeight is expressed in, the height will be
*           changed to the trajectory frame on the controller side
*/
public static PelvisHeightTrajectoryMessage createPelvisHeightTrajectoryMessage(double trajectoryTime, double desiredHeight,
                                        ReferenceFrame trajectoryReferenceFrame, ReferenceFrame dataReferenceFrame)
{
 PelvisHeightTrajectoryMessage message = new PelvisHeightTrajectoryMessage();
 message.getEuclideanTrajectory().set(HumanoidMessageTools.createEuclideanTrajectoryMessage(trajectoryTime, new Point3D(0.0, 0.0, desiredHeight),
                                               trajectoryReferenceFrame.hashCode()));
 message.getEuclideanTrajectory().getFrameInformation().setDataReferenceFrameId(MessageTools.toFrameId(dataReferenceFrame));
 message.getEuclideanTrajectory().getSelectionMatrix().setXSelected(false);
 message.getEuclideanTrajectory().getSelectionMatrix().setYSelected(false);
 message.getEuclideanTrajectory().getSelectionMatrix().setZSelected(true);
 return message;
}

相关文章