OEMakeAccessibleSurface

bool OEMakeAccessibleSurface(OESurface &surf, const OEChem::OEMolBase &mol,
                             float resolution=0.5f, float probeRadius=1.4f,
                             unsigned int polygonizeMethod = OEPolygonizeMethod::Default)
bool OEMakeAccessibleSurface(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 accessible surface for the molecule mol. See the Molecules: Accessible vs Molecular section for a full description of the accessible 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 argument 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 coordinate and radii arrays, coords and radii respectively, of length natoms to create the accessible surface.

This function will set the vertex normals and atoms arrays on the surface.