This API is currently available in C++ and Python.
class OEGenericFF : public OEMolPotential::OEForceField
The OEGenericFF class facilitates creation of a user defined force field. The force field instance can be extended by adding internally or externally defined potential functions.
Default and copy constructors.
bool AddMolFunc(OEMolPotential::OEMolFunc1 &f, bool own=false)
This method defines the interface for adding externally declared functions to an OEGenericFF derived instance. The second argument denotes whether the OEGenericFF derived instance is to take ownership of the memory occupied by the external function. If ownership is passed, then it would be deleted during destruction of the OEGenericFF derived class. Any object derived from the OEMolFunc1 may be added using this method. The method returns true if the object of OEMolFunc1 is successfully added. Only one copy of a OEMolFunc1 may be added to an OEGenericFF instance. Subsequent attempts to add the same function object to already contained in a OEGenericFF derived class will fail with a return value of false.
std::vector<OEMolPotential::OEMolFunc1*> GetComponents() const
Defines an interface to remove a function previously added to an OEGenericFF instance. If the function is not contained in the OEGenericFF instance then the method will return false. If the function is found and removed successfully, then the method will return true.