![]() |
Perception Tool Kit (PTK) API Guide
|
|
Data Structures | |
| struct | PTK_RigidTransform |
| Rigid Transform Matrix (single precision). More... | |
| struct | PTK_RigidTransform_d |
| Rigid Transform Matrix (double precision). More... | |
Functions | |
| void | PTK_RigidTransform_makeIdentity (PTK_RigidTransform *M) |
| This replaces the contents of the given rigid transformation with an identity transformation. This handles the duties of both initialization and resetting or clearing the data structure. More... | |
| void | PTK_RigidTransform_setTranslation (PTK_RigidTransform *M, float x, float y, float z) |
| Convenience function to update all three components of the transform's translation component safely. More... | |
| void | PTK_RigidTransform_getTranslation (const PTK_RigidTransform *M, float *x, float *y, float *z) |
| Convenience function to get all three components of the transform's translation component safely. More... | |
| void | PTK_RigidTransform_setRotation (PTK_RigidTransform *__restrict M, const float *__restrict R) |
| Convenience function to update the rotation matrix embedded within this rigid transform. The rotation argument must be an orthonormal matrix, otherwise the subsequent behavior of the PTK_RigidTransform is undefined. More... | |
| void | PTK_RigidTransform_getRotation (const PTK_RigidTransform *__restrict M, float *__restrict R) |
| Convenience function to read the rotation matrix embedded within this rigid transform. More... | |
| void | PTK_RigidTransform_compose (PTK_RigidTransform *__restrict M31_out, const PTK_RigidTransform *__restrict M32_in, const PTK_RigidTransform *__restrict M21_in) |
| This creates a single transformation that acts as the composition of the two given transformations such that M31 = M32*M21. M31 must be distinct from both M21 and M32. More... | |
| void | PTK_RigidTransform_invert (PTK_RigidTransform *__restrict M21_out, const PTK_RigidTransform *__restrict M12_in) |
| This computes the inverse of the given rigid transformation. The output must be different from the input. Note that this assumes that a valid rigid transformation has been supplied: the rotation component must be an orthonormal matrix. A general matrix inversion is not used; instead an equation specific to inverting matrices that match the structure described above is used for efficiency. More... | |
| void | PTK_RigidTransform_print (const PTK_RigidTransform *M) |
| Prints the given transformation via platform-specific output mechanism. More... | |
| void | PTK_RigidTransform_convertToDouble (PTK_RigidTransform_d *__restrict Mout, const PTK_RigidTransform *__restrict Min) |
| Convert the given PTK RigidTransform from single to double precision. More... | |
| void | PTK_RigidTransform_d_makeIdentity (PTK_RigidTransform_d *M) |
| This replaces the contents of the given rigid transformation with an identity transformation. This handles the duties of both initialization and resetting or clearing the data structure. More... | |
| void | PTK_RigidTransform_d_setTranslation (PTK_RigidTransform_d *M, double x, double y, double z) |
| Convenience function to update all three components of the transform's translation component safely. More... | |
| void | PTK_RigidTransform_d_getTranslation (const PTK_RigidTransform_d *M, double *x, double *y, double *z) |
| Convenience function to get all three components of the transform's translation component safely. More... | |
| void | PTK_RigidTransform_d_setRotation (PTK_RigidTransform_d *__restrict M, const double *__restrict R) |
| Convenience function to update the rotation matrix embedded within this rigid transform. The rotation argument must be an orthonormal matrix, otherwise the subsequent behavior of the PTK_RigidTransform is undefined. More... | |
| void | PTK_RigidTransform_d_getRotation (const PTK_RigidTransform_d *__restrict M, double *__restrict R) |
| Convenience function to read the rotation matrix embedded within this rigid transform. More... | |
| void | PTK_RigidTransform_d_compose (PTK_RigidTransform_d *__restrict M31_out, const PTK_RigidTransform_d *__restrict M32_in, const PTK_RigidTransform_d *__restrict M21_in) |
| This creates a single transformation that acts as the composition of the two given transformations such that M31 = M32*M21. M31 must be distinct from both M21 and M32. More... | |
| void | PTK_RigidTransform_d_invert (PTK_RigidTransform_d *__restrict M21_out, const PTK_RigidTransform_d *__restrict M12_in) |
| This computes the inverse of the given rigid transformation. The output must be different from the input. Note that this assumes that a valid rigid transformation has been supplied: the rotation component must be an orthonormal matrix. A general matrix inversion is not used; instead an equation specific to inverting matrices that match the structure described above is used for efficiency. More... | |
| void | PTK_RigidTransform_d_print (const PTK_RigidTransform_d *M) |
| Prints the given transformation via platform-specific output mechanism. More... | |
| void | PTK_RigidTransform_d_convertToSingle (PTK_RigidTransform *__restrict Mout, const PTK_RigidTransform_d *__restrict Min) |
| Convert the given RigidTransform d from double to single precision. More... | |
| void PTK_RigidTransform_makeIdentity | ( | PTK_RigidTransform * | M | ) |
This replaces the contents of the given rigid transformation with an identity transformation. This handles the duties of both initialization and resetting or clearing the data structure.
| [in,out] | M | Transform to modify. |
| void PTK_RigidTransform_setTranslation | ( | PTK_RigidTransform * | M, |
| float | x, | ||
| float | y, | ||
| float | z | ||
| ) |
Convenience function to update all three components of the transform's translation component safely.
| [out] | M | Transformation to update. |
| [in] | x | New x. |
| [in] | y | New y. |
| [in] | z | New z. |
| void PTK_RigidTransform_getTranslation | ( | const PTK_RigidTransform * | M, |
| float * | x, | ||
| float * | y, | ||
| float * | z | ||
| ) |
Convenience function to get all three components of the transform's translation component safely.
| [in] | M | Transformation to read from. |
| [out] | x | X-component of the translation vector. |
| [out] | y | Y-component of the translation vector. |
| [out] | z | Z-component of the translation vector. |
| void PTK_RigidTransform_setRotation | ( | PTK_RigidTransform *__restrict | M, |
| const float *__restrict | R | ||
| ) |
Convenience function to update the rotation matrix embedded within this rigid transform. The rotation argument must be an orthonormal matrix, otherwise the subsequent behavior of the PTK_RigidTransform is undefined.
| [in,out] | M | The transformation to update. |
| [in] | R | 9 element array containing a 3x3 rotation matrix in row-major order |
| void PTK_RigidTransform_getRotation | ( | const PTK_RigidTransform *__restrict | M, |
| float *__restrict | R | ||
| ) |
Convenience function to read the rotation matrix embedded within this rigid transform.
| [in] | M | The transformation to update. |
| [out] | R | 9 element array containing a 3x3 rotation matrix in row-major order |
| void PTK_RigidTransform_compose | ( | PTK_RigidTransform *__restrict | M31_out, |
| const PTK_RigidTransform *__restrict | M32_in, | ||
| const PTK_RigidTransform *__restrict | M21_in | ||
| ) |
This creates a single transformation that acts as the composition of the two given transformations such that M31 = M32*M21. M31 must be distinct from both M21 and M32.
| [out] | M31_out | M31 transformation. |
| [in] | M32_in | M32 transformation. |
| [in] | M21_in | M21 transformation. |
| void PTK_RigidTransform_invert | ( | PTK_RigidTransform *__restrict | M21_out, |
| const PTK_RigidTransform *__restrict | M12_in | ||
| ) |
This computes the inverse of the given rigid transformation. The output must be different from the input. Note that this assumes that a valid rigid transformation has been supplied: the rotation component must be an orthonormal matrix. A general matrix inversion is not used; instead an equation specific to inverting matrices that match the structure described above is used for efficiency.
| [out] | M21_out | Write the inverse here. |
| [in] | M12_in | The transform to compute the inverse of. |
| void PTK_RigidTransform_print | ( | const PTK_RigidTransform * | M | ) |
Prints the given transformation via platform-specific output mechanism.
| [in] | M | Transform to be printed. |
| void PTK_RigidTransform_convertToDouble | ( | PTK_RigidTransform_d *__restrict | Mout, |
| const PTK_RigidTransform *__restrict | Min | ||
| ) |
Convert the given PTK RigidTransform from single to double precision.
| [out] | Mout | Double precision version written here. |
| [in] | Min | Floating point transform to convert. |
| void PTK_RigidTransform_d_makeIdentity | ( | PTK_RigidTransform_d * | M | ) |
This replaces the contents of the given rigid transformation with an identity transformation. This handles the duties of both initialization and resetting or clearing the data structure.
| [in,out] | M | Transform to modify. |
| void PTK_RigidTransform_d_setTranslation | ( | PTK_RigidTransform_d * | M, |
| double | x, | ||
| double | y, | ||
| double | z | ||
| ) |
Convenience function to update all three components of the transform's translation component safely.
| [out] | M | Transformation to update. |
| [in] | x | New x. |
| [in] | y | New y. |
| [in] | z | New z. |
| void PTK_RigidTransform_d_getTranslation | ( | const PTK_RigidTransform_d * | M, |
| double * | x, | ||
| double * | y, | ||
| double * | z | ||
| ) |
Convenience function to get all three components of the transform's translation component safely.
| [in] | M | Transformation to read from. |
| [out] | x | X-component of the translation vector. |
| [out] | y | Y-component of the translation vector. |
| [out] | z | Z-component of the translation vector. |
| void PTK_RigidTransform_d_setRotation | ( | PTK_RigidTransform_d *__restrict | M, |
| const double *__restrict | R | ||
| ) |
Convenience function to update the rotation matrix embedded within this rigid transform. The rotation argument must be an orthonormal matrix, otherwise the subsequent behavior of the PTK_RigidTransform is undefined.
| [in,out] | M | The transformation to update. |
| [in] | R | 9 element array containing a 3x3 rotation matrix in row-major order |
| void PTK_RigidTransform_d_getRotation | ( | const PTK_RigidTransform_d *__restrict | M, |
| double *__restrict | R | ||
| ) |
Convenience function to read the rotation matrix embedded within this rigid transform.
| [in] | M | The transformation to update. |
| [out] | R | 9 element array containing a 3x3 rotation matrix in row-major order |
| void PTK_RigidTransform_d_compose | ( | PTK_RigidTransform_d *__restrict | M31_out, |
| const PTK_RigidTransform_d *__restrict | M32_in, | ||
| const PTK_RigidTransform_d *__restrict | M21_in | ||
| ) |
This creates a single transformation that acts as the composition of the two given transformations such that M31 = M32*M21. M31 must be distinct from both M21 and M32.
| [out] | M31_out | M31 transformation. |
| [in] | M32_in | M32 transformation. |
| [in] | M21_in | M21 transformation. |
| void PTK_RigidTransform_d_invert | ( | PTK_RigidTransform_d *__restrict | M21_out, |
| const PTK_RigidTransform_d *__restrict | M12_in | ||
| ) |
This computes the inverse of the given rigid transformation. The output must be different from the input. Note that this assumes that a valid rigid transformation has been supplied: the rotation component must be an orthonormal matrix. A general matrix inversion is not used; instead an equation specific to inverting matrices that match the structure described above is used for efficiency.
| [out] | M21_out | Write the inverse here. |
| [in] | M12_in | The transform to compute the inverse of. |
| void PTK_RigidTransform_d_print | ( | const PTK_RigidTransform_d * | M | ) |
Prints the given transformation via platform-specific output mechanism.
| [in] | M | Transform to be printed. |
| void PTK_RigidTransform_d_convertToSingle | ( | PTK_RigidTransform *__restrict | Mout, |
| const PTK_RigidTransform_d *__restrict | Min | ||
| ) |
Convert the given RigidTransform d from double to single precision.
| [out] | Mout | Single precision version here. |
| [in] | Min | Double precision transform to convert. |