def catmull_clark(script):
filter_xml = '<STR_LIT>'<EOL>util.write_filter(script, filter_xml)<EOL>return None<EOL>
Apply the Catmull-Clark Subdivision Surfaces.

    Note that position of the new vertices is simply linearly interpolated.
    If the mesh is triangle based (no faux edges) it generates a quad mesh,
    otherwise it honors the faux-edge bits.

    Args:
        script: the FilterScript object or script filename to write
            the filter to.

    Layer stack:
        No impacts

    MeshLab versions:
        2016.12
        1.3.4BETA