Recalculate Normals
===================

.. image:: https://user-images.githubusercontent.com/14288520/200039337-8bcccaf2-a803-44e5-89b6-19b96c534621.png
  :target: https://user-images.githubusercontent.com/14288520/200039337-8bcccaf2-a803-44e5-89b6-19b96c534621.png

*This node testing is in progress, so it can be found under Beta menu*

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

This node recalculates normals of mesh faces, so that they all point either outside or inside. This is equivalent of Ctrl+N and Ctrl+Shift+N in the edit mode.
This node is useful mainly when other nodes create degenerated geometry, or when geometry was generated by low-level operations with vertex indicies. It can be also used to just turn all normals inside out or vice versa.

.. image:: https://user-images.githubusercontent.com/14288520/200040781-e8bbdca3-99ef-4b46-9fd1-92c162be6a4d.png
  :target: https://user-images.githubusercontent.com/14288520/200040781-e8bbdca3-99ef-4b46-9fd1-92c162be6a4d.png

Inputs
------

This node has the following inputs:

- **Vertices**
- **Edges**
- **Polygons**
- **Mask**. List of boolean or integer flags. Zero or False means do not process face with corresponding index. If this input is not connected, then all faces will be processed.

Parameters
----------

This node has one parameter: **Inside** flag. The flag changes direction of normals to the opposite. By default, the flag is not set.

Outputs
-------

This node has the following outputs:

- **Vertices**. This is just copy of input vertices for convenience.
- **Edges**.
- **Polygons**.

Example of usage
----------------

Visualisation of cube normals turned inside:

.. image:: https://user-images.githubusercontent.com/14288520/200041510-7d446dea-9d73-499f-8fe7-267fdd47a02a.png
  :target: https://user-images.githubusercontent.com/14288520/200041510-7d446dea-9d73-499f-8fe7-267fdd47a02a.png

* Generator-> :doc:`Line </nodes/generator/line_mk4>`
* Generator-> :doc:`Box </nodes/generator/box_mk2>`
* Generator-> :doc:`IcoSphere </nodes/generator/icosphere>`
* Analyzers-> :doc:`Origins </nodes/analyzer/origins>`
* Viz-> :doc:`Viewer Draw </nodes/viz/viewer_draw_mk4>`

---------

Making normals normal:

.. image:: https://cloud.githubusercontent.com/assets/5783432/18610773/c0c1ec8c-7d35-11e6-8a0a-b59fda738faf.png
  :target: https://cloud.githubusercontent.com/assets/5783432/18610773/c0c1ec8c-7d35-11e6-8a0a-b59fda738faf.png

* Scene-> :doc:`Objects In Lite </nodes/scene/objects_in_lite>`