/** * Creates a tree structure of random reference frames starting off * {@code ReferenceFrame.getWorldFrame()}. * * @param random the random generator to use. * @param numberOfMovingReferenceFrames the number of reference frames to be created. * @return the array containing the random reference frames. */ public static MovingReferenceFrame[] nextMovingReferenceFrameTree(Random random, int numberOfMovingReferenceFrames) { return nextMovingReferenceFrameTree(random, numberOfMovingReferenceFrames, false); }
/** * Creates a tree structure of 20 random moving reference frames starting off * {@code ReferenceFrame.getWorldFrame()}. * * @param random the random generator to use. * @return the array containing the random moving reference frames. */ public static MovingReferenceFrame[] nextMovingReferenceFrameTree(Random random) { return nextMovingReferenceFrameTree(random, false); }
/** * Creates a tree structure of 20 random moving reference frames start off * {@link ReferenceFrame#getWorldFrame()}. * * @param random the random generator to use. * @param use2DTransforms whether to use a 2D or 3D rotation for the transform used to create the * random frames. * @return the array containing the random moving reference frames. */ public static MovingReferenceFrame[] nextMovingReferenceFrameTree(Random random, boolean use2DTransforms) { return nextMovingReferenceFrameTree(random, 20, use2DTransforms); }
/** * Creates a tree structure of random moving reference frames starting off the given * {@code rootFrame}. * * @param frameNamePrefix prefix to use when creating each random moving reference frame. * @param random the random generator to use. * @param rootFrame the base frame from which the tree is to be expanded. * @param numberOfMovingReferenceFrames the number of moving reference frames to be created. * @return the array containing the random moving reference frames. */ public static MovingReferenceFrame[] nextMovingReferenceFrameTree(String frameNamePrefix, Random random, ReferenceFrame rootFrame, int numberOfMovingReferenceFrames) { return nextMovingReferenceFrameTree(frameNamePrefix, random, rootFrame, numberOfMovingReferenceFrames, false); }
/** * Creates a tree structure of random moving reference frames starting off * {@code ReferenceFrame.getWorldFrame()}. * * @param random the random generator to use. * @param numberOfMovingReferenceFrames the number of moving reference frames to be created. * @param use2DTransforms whether to use a 2D or 3D rotation for the transform used to create the * random frames. * @return the array containing the random moving reference frames. */ public static MovingReferenceFrame[] nextMovingReferenceFrameTree(Random random, int numberOfMovingReferenceFrames, boolean use2DTransforms) { return nextMovingReferenceFrameTree("randomFrame", random, ReferenceFrame.getWorldFrame(), numberOfMovingReferenceFrames, use2DTransforms); }