Mesh Smoothed Surface Field
===========================

Dependencies
------------

This node requires SciPy_ library to work.

.. _SciPy: https://scipy.org/

Functionality
-------------

This node generates a Scalar Field, which has value of zero at some "key"
points of a given mesh, and value of 1 at the ends of normals of the mesh at
these points. Points to be considered as "key" can be mesh's vertices, middle
points of edges, and centers of faces. Between the described points, the field
is interpolated by use of RBF_ method. Depending on "smooth" parameter, the
generated field can be approximating rather than interpolating.

The field generated by this rule has it's iso-surface at zero level in a
general shape of the source mesh, but smoothed.

.. _RBF: http://www.scholarpedia.org/article/Radial_basis_function

Inputs
------

This node has the following inputs:

* **Vertices**. The vertices of the source mesh. This input is mandatory.
* **Edges**. The edges of the source mesh.
* **Faces**. The faces of the source mesh. This input is mandatory.
* **Epsilon**. Epsilon parameter of used RBF function; it affects the shape of
  generated field. The default value is 1.0.
* **Smooth**. Smoothness parameter of used RBF function. If this is zero, then
  the field will have exactly the specified values in all provided points;
  otherwise, it will be only an approximating field. The default value is 0.0.
* **Scale**. This defines the distance along the normals of the mesh, at which
  the field should have the value of 1. The default value is 1.0.

Parameters
----------

This node has the following parameters:

* **Function**. The specific function used by the node. The available values are:

  * Multi Quadric
  * Inverse
  * Gaussian
  * Cubic
  * Quintic
  * Thin Plate

  The default function is Multi Quadric.

* **Use Vertices**. If checked, then the generated scalar field will have value
  of zero at locations of mesh's vertices. Checked by default.
* **Use Edges**. If checked, then the generated scalar field will have value of
  zero at middle points of mesh's edges. Unchecked by default.
* **Use Faces**. If checked, then the generated scalar field will have value of
  zero at centers of mesh's faces. Unchecked by default.

Outputs
-------

This node has the following output:

* **Field**. The generated scalar field.

Example of Usage
----------------

In combination with "Marching Cubes" node this can be used to generate a smoothened version of the source mesh:

.. image:: https://user-images.githubusercontent.com/284644/103563698-04322200-4edf-11eb-9dca-583aea877d80.png

