OETrans

class OETrans

This class represents OETrans.

The OETrans class is a container of high-level molecular transformations. It can be used to hold and wrap a series of molecular transformations, which can be applied to OEConfBase objects with a single function call. The OETrans container keeps its own copies of the OETransBases.

Constructors

OETrans()

Default constructor.

OETrans(const OETrans &rhs)

Copy constructor.

OETrans(const OETransBase *t)
OETrans(const OETransBase &tr)

Creates a OETrans transformation container and adds a copy of the OETransBase object to the container.

operator=

OETrans &operator=(const OETrans &rhs)

Assignment operator that copies the data of the ‘rhs’ OETrans object into the right-hand side OETrans object.

operator+=

OETrans &operator+=(const OETrans &rhs)

Makes copies of all OETransBase transformations of the ‘rhs’ OETrans object and adds them to the end of the right-hand side OETrans container.

operator bool

operator bool() const

Returns true, if at least one transformation (OETransBase) is stored in the OETrans object.

Clear

void Clear()

Removes all transformations (OETransBase) from the OETrans object.

Compress

void Compress()

Extract

template<class T, class U>
void Extract(T *rmat, U *trans, bool clobber=true) const

Extract the OETransBase transformation as a rotation matrix, rmat, and a translation vector, trans.

GetInverse

bool GetInverse(OETrans &inverse)

GetTransforms

OESystem::OEIterBase<OETransBase> *GetTransforms() const

Returns an iterator over the transformations (OETransBase) stored in the OETrans object.

PushBack

void PushBack(const OETransBase &t)

Makes a copy of the OETransBase transformation and adds it to the end of the OETrans container.

PushFront

void PushFront(const OETransBase &t)

Makes a copy of the OETransBase transformation and adds it to the front of the OETrans container.

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 ncoords, unsigned int dim) const
void Transform(double *coords, unsigned int ncoords, unsigned int dim) const

Applies all transformations stored in the OETrans 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\).