Gromacs  2025-dev-20240614-602a366
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions
gmx::IFrameConverter Class Referenceabstract

#include <gromacs/coordinateio/iframeconverter.h>

+ Inheritance diagram for gmx::IFrameConverter:


IFrameConverter interface for manipulating coordinate information.

This interface is aimed at providing the base methods to manipulate the coordinate (usually position) data in a t_trxframe object according to the requirements of an analysis module. It is similar to the ICoordinateOutput interface, but instead of simply passing through frames returns new t_trxframe objects with changes applied to them.

Public Member Functions

 IFrameConverter (IFrameConverter &&old) noexcept=default
 Move constructor for old object.
virtual void convertFrame (t_trxframe *input)=0
 Change coordinate frame information for output. More...
virtual unsigned long guarantee () const =0
 Allows other methods to probe if a specific requirement is fulfilled by running a converter. More...

Member Function Documentation

virtual void gmx::IFrameConverter::convertFrame ( t_trxframe *  input)
pure virtual

Change coordinate frame information for output.

Takes the previously internally stored coordinates and saves them again. Applies correct number of atoms, as well as changing things such as frame time or affect output of velocities or forces. Methods derived from this should not affect total number of atoms, and should check for internal consistency of the input and output data.

[in,out]inputCoordinate frame to be modified.

Implemented in gmx::ProcessFrameConversion.

virtual unsigned long gmx::IFrameConverter::guarantee ( ) const
pure virtual

Allows other methods to probe if a specific requirement is fulfilled by running a converter.

When modifying coordinate frames with different frameconverters, it can be important to know what kind of modifications are done by a specific converter, to e.g. check if it makes a system whole or moves the simulation box in a specific way.

What kind of modification is guaranteed by this converter.

Implemented in gmx::ProcessFrameConversion.

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