class OESHAPE_API OEHermite

This class performs Hermite expansion for a given molecule or a grid representation of a molecule and returns the coefficients of expansion and creates a grid representation of Hermite shape.


OEHermite(const OEHermite &)
OEHermite(const OEHermiteOptions &HermiteOptions)

This class has three constructors. First two are default and copy constructors. The third one is the constructor that takes an option class OEHermiteOptions.


OEHermite &operator=(const OEHermite &)

The assignment operator allows for equating two OEHermite classes which would copy the one on the right into the one on the left.


void CreateGrid(OESystem::OEScalarGrid&, const float)
void CreateGrid(OESystem::OEScalarGrid&, const float, const OEChem::OETrans)

This method creates a grid representation of the obtained Hermite expansion. Depending on the grid spacing parameter (scale) the number of grid points to cover the entire molecule will be calculated. If this number exceeds 300 points per space dimension, the user will be warned that instead the maximum allowed value of ngrid=300 will be used. The second overload uses the transform that is applied to transform the generated grid.


bool GetCoefficients(std::vector<double> &) const

Returns the values of Hermite expansion coefficients in the form of an STL vector. These are precisely the coefficients \(f_{lmn}\) introduced in Shape from Hermite Representation section above in the following order: \(\,l = 0\dots \text{NPolyMax},\, m = 0\dots \text{NPolyMax}-l, \,n = 0\dots \text{NPolyMax}-l-m\). One can show that the total number of such possible sets of \(l, m, n\) equals to \(\,\frac{(\text{NPolyMax}+1)(\text{NPolyMax}+2)(\text{NPolyMax}+3)}{6}\), which is precisely the length of the returned STL vector.


const OEHermiteOptions &GetOptions() const

Returns the option class OEHermiteOptions that the OEHermite class is currently using.


double GetSelfOverlap() const

Returns the self-overlap of the molecule corresponding to Hermite expansion.


bool Setup(const OEShapeQuery &argQuery)
bool Setup(const OEChem::OEMolBase &mol)
bool Setup(const OESystem::OEScalarGrid &grid)

This overloaded method allows user to input into the OEHermite class a molecule as a shape query object, a molecule object, or via a grid representation. Method returns True if the setup was successful and False otherwise.