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\).