Gromacs
2024.4
|
#include <gromacs/coordinateio/iframeconverter.h>
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... | |
|
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] | input | Coordinate frame to be modified. |
Implemented in gmx::ProcessFrameConversion.
|
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.
Implemented in gmx::ProcessFrameConversion.