Fillet Polyline
===============

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

This node generates a filleted polyline curve, i.e. a curve consisting of
segments of straight lines and circular arcs to connect them. The curve may be
closed or not.

The curve is generated by plotting a polyline thorugh the points, and then
rounding all corners by replacing them with circular arc.

Curve domain / parametrization specifics: depends on **Even domains**
parameter. If checked, then each straight segment, as well as each arc, will be
given a domain of length 1.0; so the total domain of the curve will be equal to
number of all segments - straight and circular. If not checked, then each
straight segment will be given a domain equal to segment's lengths, and each
arc will be given a domain equal to it's angle.

Inputs
------

This node has the following input:

* **Vertices**. The points controlling the curve; the polyline will go through
  these points, and then will be filleted. This input is mandatory.
* **Radius**. Fillet arc radius. This input can be provided with separate
  radius for each control point. The default value is 0.2.

Parameters
----------

This node has the following parameters:

* **Concatenate**. If checked, then all straight and arc segments will be
  concatenated into a single curve. Otherwise, each segment will be output as a
  separate curve object. Checked by default.
* **Even domains**. If checked, give each segment a domain of length 1. This
  parameter is only available if **Concatenate** parameter is checked.
  Unchecked by default.
* **Cyclic**. If checked, the node will generate a cyclic (closed) curve. Unchecked by default.

Outputs
-------

This node has the following outputs:

* **Curve**. The generated curve (or curves).
* **Centers**. Centers of circles used to make fillet arcs. These are matrices,
  since this output provides not only centers, but also orientation of the
  circles.

Examples of usage
-----------------

Filleted polyline through some random points:

.. image:: https://user-images.githubusercontent.com/284644/77845646-f4581580-71c9-11ea-9d16-b0ac95046441.png

The same but with **Cyclic** parameter checked:

.. image:: https://user-images.githubusercontent.com/284644/77845647-f5894280-71c9-11ea-95eb-b630c135dd7f.png

The same but with **Even domains** checked:

.. image:: https://user-images.githubusercontent.com/284644/77845648-f621d900-71c9-11ea-8000-31c2ddbd20ac.png

In the last case, the number of points at each straight segment and arc segment
is the same, since **Eval Curve** node generates evenly-spaced values of the T
parameter.

