OETransBase

class OETransBase

The OETransBase is the abstract base class which describes the interface for all of the high-level molecular transformation objects. It allows generic application of many manipulations (such as translation, Euler rotation, rotation by matrix, quaternion rotation) to conformers. All of the default transformation currently provided carry out rigid transformations of molecule positions rather than conformational modifications. These are provided in the OEMath namespace described below.

The following classes derive from this class:

CreateCopy

OETransBase *CreateCopy() const =0

It is a virtual const constructor which allows copying of concrete derived objects using a reference to this base class.

Extract

void Extract(float *, float *) const =0
void Extract(double *, float *) const =0
void Extract(float *, double *) const =0
void Extract(double *, double *) const =0

GetInverse

OETransBase *GetInverse() const =0

Transform

void Transform(OEMolBase *mol) const
void Transform(OEConfBase *conf) const

Applies the transformation specified by the OETransBase object to the molecule or conformer passed.

void Transform(float *coords, unsigned int rows, unsigned int dim) const
void Transform(double *coords, unsigned int rows, unsigned int dim) const

Applies the transformation specified by the OETransBase object to the a set of coordinates (‘coords’). The ‘row’ argument specifies the number of coordinates in ‘coords’ array, while the ‘dim’ argument specifies the dimension of the coordinates. These methods presumes that the size of ‘coords’ at least \(rows*dim\). Both methods modify the coordinates in place.