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

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

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

ReferenceFrame.getTransformToParent介绍

[英]Returns a copy of this reference frame's transform to parent.

WARNING: This method generates garbage.

This transform can be applied to a vector defined in this frame in order to obtain the equivalent vector in the parent frame.
[中]将此参考帧的变换的副本返回给父对象。
警告:此方法会生成垃圾。
该变换可应用于该帧中定义的向量,以获得父帧中的等效向量。

代码示例

代码示例来源:origin: us.ihmc/euclid-frame

/**
* Returns a copy of this reference frame's transform to parent.
* <p>
* WARNING: This method generates garbage.
* </p>
* <p>
* This transform can be applied to a vector defined in this frame in order to obtain the equivalent
* vector in the parent frame.
* </p>
*
* @return a copy of the transform to the parent frame.
*/
public RigidBodyTransform getTransformToParent()
{
 RigidBodyTransform transformToReturn = new RigidBodyTransform();
 getTransformToParent(transformToReturn);
 return transformToReturn;
}

代码示例来源: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

frame.getTransformToParent();
fail("Root frames don't have transformToParent or transformToRoot defined.");
computedTransformToRoot.multiply(frameInTree.getTransformToParent());

代码示例来源: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

@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

ReferenceFrame constantFrame = ReferenceFrameTools.constructFrameWithUnchangingTransformToParent("constant" + i, world, expected);
EuclidCoreTestTools.assertRigidBodyTransformEquals(expected, constantFrame.getTransformToParent(), EPSILON);
EuclidCoreTestTools.assertRigidBodyTransformEquals(expected, constantFrame.getTransformToDesiredFrame(world), EPSILON);
constantFrame.getTransformToParent(actual);
EuclidCoreTestTools.assertRigidBodyTransformEquals(expected, actual, EPSILON);
constantFrame.getTransformToDesiredFrame(actual, world);
expected.invert();
EuclidCoreTestTools.assertRigidBodyTransformEquals(expected, constantFrame.getTransformToParent(), EPSILON);
EuclidCoreTestTools.assertRigidBodyTransformEquals(expected, constantFrame.getTransformToDesiredFrame(world), EPSILON);
constantFrame.getTransformToParent(actual);
EuclidCoreTestTools.assertRigidBodyTransformEquals(expected, actual, EPSILON);
constantFrame.getTransformToDesiredFrame(actual, world);

相关文章