/** * Sets all the components of this frame tuple to zero and sets the current reference frame to * {@code referenceFrame}. * * @param referenceFrame the new reference frame to be associated with this tuple. */ default void setToZero(ReferenceFrame referenceFrame) { setReferenceFrame(referenceFrame); setToZero(); }
/** * Sets all the components of this tuple to {@link Double#NaN} and sets the current reference frame * to {@code referenceFrame}. * * @param referenceFrame the new reference frame to be associated with this tuple. */ default void setToNaN(ReferenceFrame referenceFrame) { setReferenceFrame(referenceFrame); setToNaN(); }
/** * Sets this tuple's components {@code x}, {@code y} in order from the given array * {@code tupleArray} and sets this tuple frame to {@code referenceFrame}. * * @param referenceFrame the new reference frame for this tuple. * @param tupleArray the array containing the new values for this tuple's components. Not modified. */ default void setIncludingFrame(ReferenceFrame referenceFrame, double[] tupleArray) { setReferenceFrame(referenceFrame); set(tupleArray); }
/** * Sets this tuple's components {@code x}, {@code y} in order from the given column vector starting * to read from its first row index and sets this tuple frame to {@code referenceFrame}. * * @param referenceFrame the new reference frame for this tuple. * @param matrix the column vector containing the new values for this tuple's components. Not * modified. */ default void setIncludingFrame(ReferenceFrame referenceFrame, DenseMatrix64F matrix) { setReferenceFrame(referenceFrame); set(matrix); }
/** * Sets this frame tuple to {@code tuple2DReadOnly} and sets its current frame to * {@code referenceFrame}. * * @param referenceFrame the new reference frame for this frame tuple. * @param tuple2DReadOnly the tuple to copy the values from. Not modified. */ default void setIncludingFrame(ReferenceFrame referenceFrame, Tuple2DReadOnly tuple2DReadOnly) { setReferenceFrame(referenceFrame); set(tuple2DReadOnly); }
/** * Sets this frame tuple to {@code tuple3DReadOnly} and sets its current frame to * {@code referenceFrame}. * * @param referenceFrame the new reference frame for this frame tuple. * @param tuple3DReadOnly the tuple to copy the values from. Not modified. */ default void setIncludingFrame(ReferenceFrame referenceFrame, Tuple3DReadOnly tuple3DReadOnly) { setReferenceFrame(referenceFrame); set(tuple3DReadOnly); }
/** * Sets this tuple's components {@code x}, {@code y} in order from the given array * {@code tupleArray} and sets this tuple frame to {@code referenceFrame}. * * @param referenceFrame the new reference frame for this tuple. * @param startIndex the first index to start reading from in the array. * @param tupleArray the array containing the new values for this tuple's components. Not modified. */ default void setIncludingFrame(ReferenceFrame referenceFrame, int startIndex, double[] tupleArray) { setReferenceFrame(referenceFrame); set(startIndex, tupleArray); }
/** * Sets this tuple's components {@code x}, {@code y} in order from the given column vector starting * to read from {@code startRow} and sets this tuple frame to {@code referenceFrame}. * * @param referenceFrame the new reference frame for this tuple. * @param startRow the first row index to start reading in the dense-matrix. * @param matrix the column vector containing the new values for this tuple's components. Not * modified. */ default void setIncludingFrame(ReferenceFrame referenceFrame, int startRow, DenseMatrix64F matrix) { setReferenceFrame(referenceFrame); set(startRow, matrix); }
/** * Sets this frame tuple's components to {@code x} and {@code y} and sets its reference frame to * {@code referenceFrame}. * * @param referenceFrame the new reference frame for this frame tuple. * @param x the new value for the x-component of this tuple. * @param y the new value for the y-component of this tuple. */ default void setIncludingFrame(ReferenceFrame referenceFrame, double x, double y) { setReferenceFrame(referenceFrame); set(x, y); }
/** * Sets this tuple's components {@code x}, {@code y} in order from the given matrix starting to read * from {@code startRow} at the column index {@code column} and sets this tuple frame to * {@code referenceFrame}. * * @param referenceFrame the new reference frame for this tuple. * @param startRow the first row index to start reading in the dense-matrix. * @param column the column index to read in the dense-matrix. * @param matrix the column vector containing the new values for this tuple's components. Not * modified. */ default void setIncludingFrame(ReferenceFrame referenceFrame, int startRow, int column, DenseMatrix64F matrix) { setReferenceFrame(referenceFrame); set(startRow, column, matrix); }
/** * Sets this frame tuple to {@code other}. * * @param other the other frame tuple to copy the values and reference frame from. Not modified. */ default void setIncludingFrame(FrameTuple2DReadOnly other) { setReferenceFrame(other.getReferenceFrame()); set((Tuple2DReadOnly) other); } }
/** * Sets this frame tuple from the reference frame, x and y components of the given * {@code frameTuple3DReadOnly}. * * @param frameTuple3DReadOnly the tuple to copy the values and reference frame from. Not modified. */ default void setIncludingFrame(FrameTuple3DReadOnly frameTuple3DReadOnly) { setReferenceFrame(frameTuple3DReadOnly.getReferenceFrame()); set((Tuple3DReadOnly) frameTuple3DReadOnly); }
/** * Performs the inverse of the transform to the given tuple {@code tupleOriginal} and stores the * result in {@code tupleTransformed}. * <p> * If the given tuple is expressed in the base frame in which this orientation is expressed, then * the tuple is transformed such that it is, after this method is called, expressed in the local * frame described by this orientation. * </p> * * @param tupleOriginal the tuple to transform. Not modified. * @param tupleTransformed the tuple to store the result. Modified. * @throws NotAMatrix2DException if this orientation does not represent a transformation in the XY * plane. */ default void inverseTransform(Tuple2DReadOnly tupleOriginal, FrameTuple2DBasics tupleTransformed) { tupleTransformed.setReferenceFrame(getReferenceFrame()); inverseTransform((Tuple2DReadOnly) tupleOriginal, (Tuple2DBasics) tupleTransformed); }
/** * Transforms the given tuple {@code tupleOriginal} by this orientation and stores the result in * {@code tupleTransformed}. * <p> * If the given tuple is expressed in the local frame described by this orientation, then the tuple * is transformed such that it is, after this method is called, expressed in the base frame in which * this orientation is expressed. * </p> * * @param tupleOriginal the tuple to transform. Not modified. * @param tupleTransformed the tuple to store the result. Modified. * @throws NotAMatrix2DException if this orientation does not represent a transformation in the XY * plane. */ default void transform(Tuple2DReadOnly tupleOriginal, FrameTuple2DBasics tupleTransformed) { tupleTransformed.setReferenceFrame(getReferenceFrame()); transform((Tuple2DReadOnly) tupleOriginal, (Tuple2DBasics) tupleTransformed); }
/** * Transforms the given tuple {@code tupleOriginal} by this orientation and stores the result in * {@code tupleTransformed}. * <p> * If the given tuple is expressed in the local frame described by this orientation, then the tuple * is transformed such that it is, after this method is called, expressed in the base frame in which * this orientation is expressed. * </p> * * @param tupleOriginal the tuple to transform. Not modified. * @param tupleTransformed the tuple to store the result. Modified. * @param checkIfTransformInXYPlane whether this method should assert that this orientation * represents a transformation in the XY plane. * @throws NotAMatrix2DException if {@code checkIfTransformInXYPlane == true} and this orientation * does not represent a transformation in the XY plane. * @throws ReferenceFrameMismatchException if reference frame of {@code this} and * {@code tupleOriginal} do not match. */ default void transform(Tuple2DReadOnly tupleOriginal, FrameTuple2DBasics tupleTransformed, boolean checkIfTransformInXYPlane) { tupleTransformed.setReferenceFrame(getReferenceFrame()); transform((Tuple2DReadOnly) tupleOriginal, (Tuple2DBasics) tupleTransformed, checkIfTransformInXYPlane); }
/** * Performs the inverse of the transform to the given tuple {@code tupleOriginal} and stores the * result in {@code tupleTransformed}. * <p> * If the given tuple is expressed in the base frame in which this orientation is expressed, then * the tuple is transformed such that it is, after this method is called, expressed in the local * frame described by this orientation. * </p> * * @param tupleOriginal the tuple to transform. Not modified. * @param tupleTransformed the tuple to store the result. Modified. * @param checkIfTransformInXYPlane whether this method should assert that this orientation * represents a transformation in the XY plane. * @throws NotAMatrix2DException if {@code checkIfTransformInXYPlane == true} and this orientation * does not represent a transformation in the XY plane. */ default void inverseTransform(Tuple2DReadOnly tupleOriginal, FrameTuple2DBasics tupleTransformed, boolean checkIfTransformInXYPlane) { tupleTransformed.setReferenceFrame(getReferenceFrame()); inverseTransform((Tuple2DReadOnly) tupleOriginal, (Tuple2DBasics) tupleTransformed, checkIfTransformInXYPlane); }
/** * Performs the inverse of the transform to the given tuple {@code tupleOriginal} and stores the * result in {@code tupleTransformed}. * <p> * If the given tuple is expressed in the base frame in which this orientation is expressed, then * the tuple is transformed such that it is, after this method is called, expressed in the local * frame described by this orientation. * </p> * * @param tupleOriginal the tuple to transform. Not modified. * @param tupleTransformed the tuple to store the result. Modified. * @throws NotAMatrix2DException if this orientation does not represent a transformation in the XY * plane. * @throws ReferenceFrameMismatchException if reference frame of {@code this} and * {@code tupleOriginal} do not match. */ default void inverseTransform(FrameTuple2DReadOnly tupleOriginal, FrameTuple2DBasics tupleTransformed) { checkReferenceFrameMatch(tupleOriginal); tupleTransformed.setReferenceFrame(getReferenceFrame()); inverseTransform((Tuple2DReadOnly) tupleOriginal, (Tuple2DBasics) tupleTransformed); }
/** * Performs the inverse of the transform to the given tuple {@code tupleOriginal} and stores the * result in {@code tupleTransformed}. * <p> * If the given tuple is expressed in the base frame in which this orientation is expressed, then * the tuple is transformed such that it is, after this method is called, expressed in the local * frame described by this orientation. * </p> * * @param tupleOriginal the tuple to transform. Not modified. * @param tupleTransformed the tuple to store the result. Modified. * @param checkIfTransformInXYPlane whether this method should assert that this orientation * represents a transformation in the XY plane. * @throws NotAMatrix2DException if {@code checkIfTransformInXYPlane == true} and this orientation * does not represent a transformation in the XY plane. * @throws ReferenceFrameMismatchException if reference frame of {@code this} and * {@code tupleOriginal} do not match. */ default void inverseTransform(FrameTuple2DReadOnly tupleOriginal, FrameTuple2DBasics tupleTransformed, boolean checkIfTransformInXYPlane) { checkReferenceFrameMatch(tupleOriginal); tupleTransformed.setReferenceFrame(getReferenceFrame()); inverseTransform((Tuple2DReadOnly) tupleOriginal, (Tuple2DBasics) tupleTransformed, checkIfTransformInXYPlane); }
/** * Transforms the given tuple {@code tupleOriginal} by this orientation and stores the result in * {@code tupleTransformed}. * <p> * If the given tuple is expressed in the local frame described by this orientation, then the tuple * is transformed such that it is, after this method is called, expressed in the base frame in which * this orientation is expressed. * </p> * * @param tupleOriginal the tuple to transform. Not modified. * @param tupleTransformed the tuple to store the result. Modified. * @throws NotAMatrix2DException if this orientation does not represent a transformation in the XY * plane. * @throws ReferenceFrameMismatchException if reference frame of {@code this} and * {@code tupleOriginal} do not match. */ default void transform(FrameTuple2DReadOnly tupleOriginal, FrameTuple2DBasics tupleTransformed) { checkReferenceFrameMatch(tupleOriginal); tupleTransformed.setReferenceFrame(getReferenceFrame()); transform((Tuple2DReadOnly) tupleOriginal, (Tuple2DBasics) tupleTransformed); }
/** * Transforms the given tuple {@code tupleOriginal} by this orientation and stores the result in * {@code tupleTransformed}. * <p> * If the given tuple is expressed in the local frame described by this orientation, then the tuple * is transformed such that it is, after this method is called, expressed in the base frame in which * this orientation is expressed. * </p> * * @param tupleOriginal the tuple to transform. Not modified. * @param tupleTransformed the tuple to store the result. Modified. * @param checkIfTransformInXYPlane whether this method should assert that this orientation * represents a transformation in the XY plane. * @throws NotAMatrix2DException if {@code checkIfTransformInXYPlane == true} and this orientation * does not represent a transformation in the XY plane. * @throws ReferenceFrameMismatchException if reference frame of {@code this} and * {@code tupleOriginal} do not match. */ default void transform(FrameTuple2DReadOnly tupleOriginal, FrameTuple2DBasics tupleTransformed, boolean checkIfTransformInXYPlane) { checkReferenceFrameMatch(tupleOriginal); tupleTransformed.setReferenceFrame(getReferenceFrame()); transform((Tuple2DReadOnly) tupleOriginal, (Tuple2DBasics) tupleTransformed, checkIfTransformInXYPlane); }