# OEMMFFOutOfPlane¶

Attention

This API is currently available in C++ and Python.

class OEMMFFOutOfPlane : public OEMolPotential::OEMolFunc2


The OEMMFFOutOfPlane class defines out-of-plane (improper torsion) interaction function using the functional forms used in MMFF94 force field. The function can be initialized with parameters defined in MMFF94 (OEMMFFParams) or MMFF94s (OEMMFF94sParams) force field, or a different set of user defined parameters (OEFFParams) during construction.

The following methods are publicly inherited from OEFunc0:
The following methods are publicly inherited from OEFunc1:
The following methods are publicly inherited from OEFunc2:
The following methods are publicly inherited from OEMolFunc:
The OEMMFFOutOfPlane class defines the following public methods:

## Constructors¶

OEMMFFOutOfPlane(const OEMMFFOutOfPlane &)
OEMMFFOutOfPlane(const OEMolPotential::OEFFParams &)


Default and copy constructors.

Constructs an OEMMFFOutOfPlane instance using the specified set of parameters.

## operator=¶

OEMMFFOutOfPlane &operator=(const OEMMFFOutOfPlane &)


The assignment operator.

### Set¶

bool Set(const OESystem::OEUnaryPredicate<OEChem::OEAtomBase>&)


This method allows interaction-level control of the out-of-plane term. The predicate passed is used to test all improper-torsions in the molecule. If the predicate returns true for all four atoms engaged in the improper-torsion interaction, then the interaction is included. Conversely, if the predicate test of any one of the four atoms of the improper-torsion returns false then the interaction will be excluded from calculation. The Set method must be called before the Setup for it to be effective.