本文整理了Java中us.ihmc.euclid.referenceFrame.ReferenceFrame.hashCode
方法的一些代码示例,展示了ReferenceFrame.hashCode
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ReferenceFrame.hashCode
方法的具体详情如下:
包路径:us.ihmc.euclid.referenceFrame.ReferenceFrame
类名称: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;
}
内容来源于网络,如有侵权,请联系作者删除!