OEMakeMolecularSurface

bool OEMakeMolecularSurface(OESurface &surf, const OEChem::OEMolBase &mol,
                            float resolution=0.5f, float probeRadius=1.4f,
                            unsigned int polygonizeMethod = OEPolygonizeMethod::Default)
bool OEMakeMolecularSurface(OESurface &surf, const float *coords,
                            const float *radii, int natoms, float resolution=0.5f,
                            float probeRadius=1.4f,
                            unsigned int polygonizeMethod = OEPolygonizeMethod::Default)

Fill the surface surf with the molecular surface for the molecule mol. See Molecules: Accessible vs Molecular section for a full description of the molecular surface. The atomic radius of each atom in the molecule should already be set before calling this function. The suggested radii can be set with OEAssignBondiVdWRadii.

The resolution is the grid spacing to use during surface construction. This is typically scaled with the size of the molecule. For most molecules 0.5 is good.

The default probeRadius is 1.4 Å, the radius of water approximated as a sphere.

The polygonizeMethod specifies the method to be used when generating the triangles for the surface. Allowed values are from the OEPolygonizeMethod namespace.

The overloaded version of the function takes a coordinate and radii array, coords and radii respectively, of length natoms to create the accessible surface.

This function will set the array of vertex normals and array of atom indices on the surface.