All Downloads are FREE. Search and download functionalities are using the official Maven repository.

us.ihmc.euclid.referenceFrame.interfaces.FixedFramePoint3DBasics Maven / Gradle / Ivy

package us.ihmc.euclid.referenceFrame.interfaces;

import us.ihmc.euclid.referenceFrame.ReferenceFrame;
import us.ihmc.euclid.tuple3D.interfaces.Point3DBasics;

/**
 * Write and read interface for a 3D point expressed in a constant reference frame, i.e. the
 * reference frame of this object cannot be changed via this interface.
 * 

* In addition to representing a {@link Point3DBasics}, a {@link ReferenceFrame} is associated to a * {@code FixedFramePoint3DBasics}. This allows, for instance, to enforce, at runtime, that * operations on points occur in the same coordinate system. *

*

* Because a {@code FixedFramePoint3DBasics} extends {@code Point3DBasics}, it is compatible with * methods only requiring {@code Point3DBasics}. However, these methods do NOT assert that the * operation occur in the proper coordinate system. Use this feature carefully and always prefer * using methods requiring {@code FixedFramePoint3DBasics}. *

*/ public interface FixedFramePoint3DBasics extends FramePoint3DReadOnly, FixedFrameTuple3DBasics, Point3DBasics { /** * Sets this point coordinate to the given {@code referenceFrame}'s origin coordinate in this frame * tuple current frame. * * @param referenceFrame the reference frame of interest. */ default void setFromReferenceFrame(ReferenceFrame referenceFrame) { setToZero(); referenceFrame.transformFromThisToDesiredFrame(getReferenceFrame(), this); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy