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.
OETransBase *CreateCopy() const =0
It is a virtual const constructor which allows copying of concrete derived objects using a reference to this base class.
void Extract(float *, float *) const =0
void Extract(double *, float *) const =0
void Extract(float *, double *) const =0
void Extract(double *, double *) const =0
OETransBase *GetInverse() const =0
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.