Perception Tool Kit (PTK) API Guide
rigidTransform.h File Reference

Introduction

Declaration of structures and functions for rigid transforms.

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  PTK_RigidTransform
 Rigid Transform Matrix (single precision). More...
 
struct  PTK_RigidTransform_d
 Rigid Transform Matrix (double precision). More...
 

Macros

#define PTK_RIGID_TRANSFORM_H
 

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...
 

Macro Definition Documentation

◆ PTK_RIGID_TRANSFORM_H

#define PTK_RIGID_TRANSFORM_H