本文整理了Java中us.ihmc.euclid.referenceFrame.ReferenceFrame.getParent
方法的一些代码示例,展示了ReferenceFrame.getParent
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ReferenceFrame.getParent
方法的具体详情如下:
包路径:us.ihmc.euclid.referenceFrame.ReferenceFrame
类名称:ReferenceFrame
方法名:getParent
[英]Returns the parent frame of this reference frame.
Note that a root frame has no parent frame, such that this method returns null if this is a root frame.
[中]返回此参考帧的父帧。
请注意,根帧没有父帧,因此如果这是根帧,该方法将返回null。
代码示例来源: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/euclid-frame
/**
* Creates an array containing all the reference frames starting from the root and ending at the
* given {@code referenceFrame}.
*
* @param referenceFrame the reference frame to which the path ends. Not modified.
* @return the path from root to {@code referenceFrame}.
*/
public static ReferenceFrame[] createPathFromRoot(ReferenceFrame referenceFrame)
{
ReferenceFrame parentFrame = referenceFrame.getParent();
if (parentFrame == null)
{
return new ReferenceFrame[] {referenceFrame};
}
int newLength = parentFrame.getFramesStartingWithRootEndingWithThis().length + 1;
ReferenceFrame[] ret = Arrays.copyOf(parentFrame.getFramesStartingWithRootEndingWithThis(), newLength);
ret[newLength - 1] = referenceFrame;
return ret;
}
代码示例来源:origin: us.ihmc/ihmc-graphics-description
public void setToReferenceFrame(ReferenceFrame referenceFrame)
{
if (referenceFrame == null)
throw new RuntimeException("referenceFrame == null");
RigidBodyTransform transformToWorld = new RigidBodyTransform();
ReferenceFrame ancestorFrame = referenceFrame;
// March up the parents until you get to the world:
while (!ancestorFrame.isWorldFrame())
{
RigidBodyTransform transformToAncestor = ancestorFrame.getTransformToParent();
RigidBodyTransform tempTransform3D = new RigidBodyTransform(transformToAncestor);
tempTransform3D.multiply(transformToWorld);
transformToWorld = tempTransform3D;
ReferenceFrame newAncestorFrame = ancestorFrame.getParent();
if (newAncestorFrame == null)
throw new RuntimeException("No ancestor path to world. referenceFrame = " + referenceFrame + ", most ancient = " + ancestorFrame);
ancestorFrame = newAncestorFrame;
}
setTransformToWorld(transformToWorld);
}
代码示例来源:origin: us.ihmc/euclid-test
@Test
public void testGetTransformToParents()
{
Random random = new Random(87);
for (int i = 0; i < ITERATIONS; i++)
{
ReferenceFrame[] treeFrame = EuclidFrameRandomTools.nextReferenceFrameTree(random);
ReferenceFrame frame = treeFrame[random.nextInt(treeFrame.length)];
checkRepInvariants(frame);
ReferenceFrame parent = frame.getParent();
if (parent != null)
{
RigidBodyTransform transformToParentOne = frame.getTransformToParent();
RigidBodyTransform transformToParentTwo = frame.getTransformToDesiredFrame(parent);
EuclidCoreTestTools.assertRigidBodyTransformEquals(transformToParentOne, transformToParentTwo, EPSILON);
RigidBodyTransform transformToParentThree = parent.getTransformToDesiredFrame(frame);
transformToParentThree.invert();
EuclidCoreTestTools.assertRigidBodyTransformEquals(transformToParentOne, transformToParentThree, EPSILON);
}
}
}
代码示例来源:origin: us.ihmc/euclid-test
private RigidBodyTransform getTransformToDesiredAncestorByClimbingTree(ReferenceFrame frame, ReferenceFrame desiredFrame)
{
RigidBodyTransform ret = new RigidBodyTransform();
ReferenceFrame nextFrame = frame;
while (true)
{
ReferenceFrame parent = nextFrame.getParent();
if (parent == null)
{
break;
}
RigidBodyTransform transformToParent = nextFrame.getTransformToParent();
RigidBodyTransform transform = new RigidBodyTransform(transformToParent);
transform.multiply(ret);
ret.set(transform);
nextFrame = parent;
if (nextFrame == desiredFrame)
{
break;
}
}
return ret;
}
代码示例来源:origin: us.ihmc/euclid-test
ReferenceFrame parent = frame.getParent();
if (parent == null)
代码示例来源:origin: us.ihmc/ekf
public void getTwist(Twist twistToPack)
{
twistToPack.setToZero(bodyFrame, bodyFrame.getParent(), bodyFrame);
twistToPack.setAngularPartX(stateVector.get(angularVelocityStart + 0));
twistToPack.setAngularPartY(stateVector.get(angularVelocityStart + 1));
twistToPack.setAngularPartZ(stateVector.get(angularVelocityStart + 2));
twistToPack.setLinearPartX(stateVector.get(linearVelocityStart + 0));
twistToPack.setLinearPartY(stateVector.get(linearVelocityStart + 1));
twistToPack.setLinearPartZ(stateVector.get(linearVelocityStart + 2));
}
代码示例来源:origin: us.ihmc/euclid-test
@Ignore
@Test
public void testUniqueNaming()
{
Random random = new Random(13L);
ReferenceFrame someFrame = EuclidFrameRandomTools.nextReferenceFrame(random);
String frameName = someFrame.getName();
ReferenceFrame parent = someFrame.getParent();
try
{
ReferenceFrameTools.constructFrameWithUnchangingTransformToParent(frameName, parent, new RigidBodyTransform());
fail("Should have thrown a RuntimeException");
}
catch (RuntimeException e)
{
// good
}
ReferenceFrameTools.removeFrame(someFrame);
someFrame = ReferenceFrameTools.constructFrameWithUnchangingTransformToParent(frameName, parent, new RigidBodyTransform());
someFrame.remove();
someFrame = ReferenceFrameTools.constructFrameWithUnchangingTransformToParent(frameName, parent, new RigidBodyTransform());
ReferenceFrameTools.clearFrameTree(someFrame);
someFrame = ReferenceFrameTools.constructFrameWithUnchangingTransformToParent(frameName, parent, new RigidBodyTransform());
ReferenceFrameTools.clearWorldFrameTree();
ReferenceFrameTools.constructFrameWithUnchangingTransformToParent(frameName, parent, new RigidBodyTransform());
}
代码示例来源:origin: us.ihmc/ekf
public void initialize(RigidBodyTransform transform, TwistReadOnly twist)
{
twist.checkReferenceFrameMatch(bodyFrame, bodyFrame.getParent(), bodyFrame);
transform.getRotation(orientation);
stateVector.set(orientationStart + 0, 0.0);
stateVector.set(orientationStart + 1, 0.0);
stateVector.set(orientationStart + 2, 0.0);
stateVector.set(angularVelocityStart + 0, twist.getAngularPartX());
stateVector.set(angularVelocityStart + 1, twist.getAngularPartY());
stateVector.set(angularVelocityStart + 2, twist.getAngularPartZ());
stateVector.set(angularAccelerationStart + 0, 0.0);
stateVector.set(angularAccelerationStart + 1, 0.0);
stateVector.set(angularAccelerationStart + 2, 0.0);
transform.getTranslationVector().get(positionStart, stateVector);
stateVector.set(linearVelocityStart + 0, twist.getLinearPartX());
stateVector.set(linearVelocityStart + 1, twist.getLinearPartY());
stateVector.set(linearVelocityStart + 2, twist.getLinearPartZ());
stateVector.set(linearAccelerationStart + 0, 0.0);
stateVector.set(linearAccelerationStart + 1, 0.0);
stateVector.set(linearAccelerationStart + 2, 0.0);
}
代码示例来源:origin: us.ihmc/ihmc-avatar-interfaces
currentRow = descriptionSheet.createRow(currentRowIndex++);
currentRow.createCell(currentCellIndex++).setCellValue("Parent frame:");
String parentFrameName = gridReferenceFrame.isWorldFrame() ? "null" : gridReferenceFrame.getParent().getName();
currentRow.createCell(currentCellIndex++).setCellValue(parentFrameName);
poseToParent.changeFrame(gridToWrite.getReferenceFrame().getParent());
RigidBodyTransform transformToParent = new RigidBodyTransform();
poseToParent.get(transformToParent);
内容来源于网络,如有侵权,请联系作者删除!