![]() |
WPILibC++ 2027.0.0-alpha-3
|
Represents a translation in 3D space. More...
#include <frc/geometry/Translation3d.h>
Public Member Functions | |
| constexpr | Translation3d ()=default |
| Constructs a Translation3d with X, Y, and Z components equal to zero. | |
| constexpr | Translation3d (units::meter_t x, units::meter_t y, units::meter_t z) |
| Constructs a Translation3d with the X, Y, and Z components equal to the provided values. | |
| constexpr | Translation3d (units::meter_t distance, const Rotation3d &angle) |
| Constructs a Translation3d with the provided distance and angle. | |
| constexpr | Translation3d (const Eigen::Vector3d &vector) |
| Constructs a Translation3d from a 3D translation vector. | |
| constexpr | Translation3d (const Translation2d &translation) |
| Constructs a 3D translation from a 2D translation in the X-Y plane. | |
| constexpr units::meter_t | Distance (const Translation3d &other) const |
| Calculates the distance between two translations in 3D space. | |
| constexpr units::square_meter_t | SquaredDistance (const Translation3d &other) const |
| Calculates the squared distance between two translations in 3D space. | |
| constexpr units::meter_t | X () const |
| Returns the X component of the translation. | |
| constexpr units::meter_t | Y () const |
| Returns the Y component of the translation. | |
| constexpr units::meter_t | Z () const |
| Returns the Z component of the translation. | |
| constexpr Eigen::Vector3d | ToVector () const |
| Returns a 3D translation vector representation of this translation. | |
| constexpr units::meter_t | Norm () const |
| Returns the norm, or distance from the origin to the translation. | |
| constexpr units::square_meter_t | SquaredNorm () const |
| Returns the squared norm, or squared distance from the origin to the translation. | |
| constexpr Translation3d | RotateBy (const Rotation3d &other) const |
| Applies a rotation to the translation in 3D space. | |
| constexpr Translation3d | RotateAround (const Translation3d &other, const Rotation3d &rot) const |
| Rotates this translation around another translation in 3D space. | |
| constexpr units::square_meter_t | Dot (const Translation3d &other) const |
| Computes the dot product between this translation and another translation in 3D space. | |
| constexpr Eigen::Vector< units::square_meter_t, 3 > | Cross (const Translation3d &other) const |
| Computes the cross product between this translation and another translation in 3D space. | |
| constexpr Translation2d | ToTranslation2d () const |
| Returns a Translation2d representing this Translation3d projected into the X-Y plane. | |
| constexpr Translation3d | operator+ (const Translation3d &other) const |
| Returns the sum of two translations in 3D space. | |
| constexpr Translation3d | operator- (const Translation3d &other) const |
| Returns the difference between two translations. | |
| constexpr Translation3d | operator- () const |
| Returns the inverse of the current translation. | |
| constexpr Translation3d | operator* (double scalar) const |
| Returns the translation multiplied by a scalar. | |
| constexpr Translation3d | operator/ (double scalar) const |
| Returns the translation divided by a scalar. | |
| constexpr bool | operator== (const Translation3d &other) const |
| Checks equality between this Translation3d and another object. | |
| constexpr Translation3d | Nearest (std::span< const Translation3d > translations) const |
| Returns the nearest Translation3d from a collection of translations. | |
| constexpr Translation3d | Nearest (std::initializer_list< Translation3d > translations) const |
| Returns the nearest Translation3d from a collection of translations. | |
Represents a translation in 3D space.
This object can be used to represent a point or a vector.
This assumes that you are using conventional mathematical axes. When the robot is at the origin facing in the positive X direction, forward is positive X, left is positive Y, and up is positive Z.
|
constexprdefault |
Constructs a Translation3d with X, Y, and Z components equal to zero.
|
inlineconstexpr |
Constructs a Translation3d with the X, Y, and Z components equal to the provided values.
| x | The x component of the translation. |
| y | The y component of the translation. |
| z | The z component of the translation. |
|
inlineconstexpr |
Constructs a Translation3d with the provided distance and angle.
This is essentially converting from polar coordinates to Cartesian coordinates.
| distance | The distance from the origin to the end of the translation. |
| angle | The angle between the x-axis and the translation vector. |
|
inlineexplicitconstexpr |
Constructs a Translation3d from a 3D translation vector.
The values are assumed to be in meters.
| vector | The translation vector. |
|
inlineexplicitconstexpr |
Constructs a 3D translation from a 2D translation in the X-Y plane.
| translation | The 2D translation. |
|
inlineconstexpr |
Computes the cross product between this translation and another translation in 3D space.
The resulting translation will be perpendicular to both translations.
The 3D cross product between two translations is defined as <y₁z₂-y₂z₁, z₁x₂-z₂x₁, x₁y₂-x₂y₁>.
| other | The translation to compute the cross product with. |
|
inlineconstexpr |
Calculates the distance between two translations in 3D space.
The distance between translations is defined as √((x₂−x₁)²+(y₂−y₁)²+(z₂−z₁)²).
| other | The translation to compute the distance to. |
|
inlineconstexpr |
Computes the dot product between this translation and another translation in 3D space.
The dot product between two translations is defined as x₁x₂+y₁y₂+z₁z₂.
| other | The translation to compute the dot product with. |
|
inlineconstexpr |
Returns the nearest Translation3d from a collection of translations.
| translations | The collection of translations. |
|
inlineconstexpr |
Returns the nearest Translation3d from a collection of translations.
| translations | The collection of translations. |
|
inlineconstexpr |
Returns the norm, or distance from the origin to the translation.
|
inlineconstexpr |
Returns the translation multiplied by a scalar.
For example, Translation3d{2.0, 2.5, 4.5} * 2 = Translation3d{4.0, 5.0, 9.0}.
| scalar | The scalar to multiply by. |
|
inlineconstexpr |
Returns the sum of two translations in 3D space.
For example, Translation3d{1.0, 2.5, 3.5} + Translation3d{2.0, 5.5, 7.5} = Translation3d{3.0, 8.0, 11.0}.
| other | The translation to add. |
|
inlineconstexpr |
Returns the inverse of the current translation.
This is equivalent to negating all components of the translation.
|
inlineconstexpr |
Returns the difference between two translations.
For example, Translation3d{5.0, 4.0, 3.0} - Translation3d{1.0, 2.0, 3.0} = Translation3d{4.0, 2.0, 0.0}.
| other | The translation to subtract. |
|
inlineconstexpr |
Returns the translation divided by a scalar.
For example, Translation3d{2.0, 2.5, 4.5} / 2 = Translation3d{1.0, 1.25, 2.25}.
| scalar | The scalar to divide by. |
|
inlineconstexpr |
Checks equality between this Translation3d and another object.
| other | The other object. |
|
inlineconstexpr |
Rotates this translation around another translation in 3D space.
| other | The other translation to rotate around. |
| rot | The rotation to rotate the translation by. |
|
inlineconstexpr |
Applies a rotation to the translation in 3D space.
For example, rotating a Translation3d of <2, 0, 0> by 90 degrees around the Z axis will return a Translation3d of <0, 2, 0>.
| other | The rotation to rotate the translation by. |
|
inlineconstexpr |
Calculates the squared distance between two translations in 3D space.
This is equivalent to squaring the result of Distance(Translation3d), but avoids computing a square root.
The squared distance between translations is defined as (x₂−x₁)²+(y₂−y₁)²+(z₂−z₁)².
| other | The translation to compute the squared distance to. |
|
inlineconstexpr |
Returns the squared norm, or squared distance from the origin to the translation.
This is equivalent to squaring the result of Norm(), but avoids computing a square root.
|
inlineconstexpr |
Returns a Translation2d representing this Translation3d projected into the X-Y plane.
|
inlineconstexpr |
Returns a 3D translation vector representation of this translation.
|
inlineconstexpr |
Returns the X component of the translation.
|
inlineconstexpr |
Returns the Y component of the translation.
|
inlineconstexpr |
Returns the Z component of the translation.