Gromacs  2024.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions
gmx::AffineTransformation Class Reference

#include <gromacs/math/include/gromacs/math/coordinatetransformation.h>

Description

Affine transformation of three-dimensional coordinates.

Perfoms in-place coordinate transformations.

Coordinates are first multiplied by a matrix, then translated.

Public Member Functions

 AffineTransformation (Matrix3x3ConstSpan mat, const RVec &translation)
 Construct a three-dimensional affine transformation. More...
 
void operator() (ArrayRef< RVec > vectors) const
 Perform an affine transformation on input vectors. More...
 
void operator() (RVec *vector) const
 Perform an affine transformation on a vector. More...
 
Matrix3x3 gradient () const
 Return the gradient of this affine transformation. More...
 

Constructor & Destructor Documentation

gmx::AffineTransformation::AffineTransformation ( Matrix3x3ConstSpan  mat,
const RVec translation 
)

Construct a three-dimensional affine transformation.

Parameters
[in]matto be applied to the vectors
[in]translationto be performed on the vectors

Member Function Documentation

Matrix3x3 gmx::AffineTransformation::gradient ( ) const

Return the gradient of this affine transformation.

The gradient of an affine transformation is the transpose of the linear transformation matrix. See, eg, here https://inst.eecs.berkeley.edu/~ee127/sp21/livebook/def_gradient.html

Returns
matrix that acts as gradient
void gmx::AffineTransformation::operator() ( ArrayRef< RVec vectors) const

Perform an affine transformation on input vectors.

Parameters
[in,out]vectorsto be transformed in-place
void gmx::AffineTransformation::operator() ( RVec vector) const

Perform an affine transformation on a vector.

Parameters
[in,out]vectorto be transformed in-place

The documentation for this class was generated from the following files: