# Clean

The Ultimate Houdini node reference

# Visit the Node Bible

### Clean

#### The Clean SOP is there to clean up dirty models

Drag to resize

Summary:

In practice, this node is great for common cleanup tasks such as removing un-connected points, attributes, groups, and a few other situations. This is not as detailed and advanced as the poly-doctor node, but as a result, it's much faster and easier to use.  Keep in mind that the clean node is really just a bunch of other node functionalities built into one place.

Drag to resize

Parameters:

Consolidate Points:

-  Fuses points together which have similar positions.  It is the same as creating a fuse node and setting the distance to 0.001 meters

Remove Degenerate Primitives:

-  Here are things which can cause a primitive to be considered "Degenerate"

*  If two vertices are colinear within the same primitive (imagine two verts which live on the same line)
*  If a primitive has zero area (again, this can be caused by two verts living on the same line without being connected to anything else)

-  This is the same as using the "Degenerate" tab on the Delete SOP

Orient Polygons:

-  The orient polygon fixes the winding of the polygon so that it faces the same direction.  Here's what you have to know to understand this:

-  When a polygon is made, it looks at point positions, and it uses vertices to associate with those points.

-  The vertex has a "winding order" which means that it has a direction that it moves in when it goes to draw the face.

-  The direction these vertices move in determines which direction the polygon is facing.

-  The direction of the winding order determines the direction of the polygon

-  If you reverse the direction of the winding order, then you are flipping the normal of the polygon

-  If, lets say, the direction on one of these vertices is facing the wrong direction (such as vertex #2 facing towards vertex #1 instead of #3) then the orient parameter will tell the vertex to face in the same direction as the winding order on that primitive.  Now the polygon ought to draw out in the correct order.

Reverse Winding:

-  Essentially the same as flipping the normal on the polygon.  Do not confuse this with the "normal" sop.  The winding is the ultimate thing that determines which direction a primitive is facing.  The "normal" sop simply creates an attribute based off of the winding order on that primitive.

Fix Overlaps:

-  If two polygons share the same vertices, then it will delete those polygons.  This is not the same as two polygons sharing the same point locations and will not act as merge sop.

Delete Overlap Pairs:

-   When this option is on, overlapping polygons are both deleted. This is useful when the overlap comes from two objects fusing along an edge. When this option is off, the first overlapping polygon is kept and the second polygon is deleted.

Remove Unused Points:

-  Delete points which are not part of a primitive.

Remove Attributes:

-  Remove point, primitive, detail, or vertex attributes that match a pattern.  Common syntax includes:
*  which means "everything"
^  which means "except"
or the exact name of the attribute that you're looking for

Remove Groups:

-  Remove point or primitive groups that match a pattern.

Remove NANs:

-  NAN stands for "Not a Number"
-  A NAN value could look like "inf" which stand for infinity.  For example, a point's position divided by 0 would give you a NAN.
-  Checking this on will remove these points.

Manifold-Only Topology:

-  First, understand what "Manifold Patch" means
*  A Manifold Patch is a collection of primitives which are connected by shared edges to form a continuous surface.  The "Manifold Patch" is the collection of these primitives.
*  Just imagine a bunch of polygon faces connected together to form a continuous surface.  The polygons individually are the primitives, and they belong to a manifold patch which is determined by where those primitives share their edges.

-  In other software packages, "Delete Non-Manifold Typology" would typically remove overlapping faces.  However, in Houdini this does not work the same.

-  If, for some reason, a primitive is not part of a Manifold patch, checking on Manifold-Only Topology will delete that primitive.

Delete Small Manifold Patches:

-  Imagine each manifold patch is identified.  Now, imagine how many polygons make up that manifold patch.  If you set this on, then you're telling Houdini "Delete any manifold patch that has x number of primitives or less in it"
-  x = the Primitive Threshold that you set
-  In other words, if you have floating polygons that aren't attached to anything else, this will allow you to target and delete them.