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

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

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

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);

相关文章