# Group

### Group

Drag to resize

Summary:

Groups in Houdini exist as an easy way to save selections of points, primitives, edges, or vertices. These selections travel with the stream of information in your node network and can be viewed by middle-mouse clicking any node. As mentioned in the first video, $OS is most commonly used to determine the group name and corresponds to the node label you specify in the network view.

The Group sop is also used to determine

The Group sop is also used to determine

**. Ordered groups remember which order the prim/point/edge/vert ids were selected. As an example, lets say that you want to draw out a poly line based on the points along a sphere. If you set this group to be "ordered" then the poly line will draw out based on the order in which you selected points along the sphere. In other words, any time you need to remember the order of a selection, this is possible using the group sop and checking "Create Ordered."**__ordered groups__
Drag to resize

Main Parameters:

__Initial Merge:__-- Would you like to replace any current groups with your selection? Perhaps you'd like to add to an already existing group or remove selected geo elements? This is where you can specify this.

* Union adds to the already existing group

* Intersect only keeps where the two group selections intersect. Anything that does not intersect with the original group selection is removed.

* Subtract will subtract from the original selection.

___________________________

__Base Group:__-- To make the most of this, you can utilize expressions. Check out this link for more information on how you can utilize these expressions: https://www.sidefx.com/docs/houdini/network/patterns.html

__Create Ordered:__-- See above

__Geometry Filter:__-- This allows you to only delete certain types of primitives.

___________________________

__Keep in Bounding Regions:__-- This section allows you to only keep geo that lives inside a box, sphere, bounding object, or bounding volume

-- Bounding Box

* Anything inside the box is selected

-- Bounding Sphere

* Anything inside the sphere is selected

-- Bounding Object

* This ONLY works if your group type is set to points or vertices. Any point/vert that lives inside of the object which is connected to the second input of the group create node is part of the group selection.

-- Bounding Volume

* This ONLY works if your group type is set to points or vertices. Any point/vert that lives inside of the volume which is connected to the second input of the group create node is part of the group selection. This is intended to be used with SDF volumes and will select the points/verts only if the voxel values are less than or equal to the Iso surface parameter. For more information about volumes, visit Houdini For The New Artist II.

* Iso Surface - please refer to the link above.

* Invert - Inverts the selection

___________________________

- Keep by Normals:

* Backface From - Select a camera and the only geo components which are grouped are the components that the camera can't see.

* Non-Planar Polygons - In order for this to be active you need to be sure that your group type is set to primitive.

** "A polygon is either planar or non-planar. A polygon is planar when all of its vertices lie on the same plane in 3D space. A polygon is non-planar when one or more of its vertices do not lie in the same plane in 3D space" Please visit this link for more information about what a "planar" polygon is. https://www.awn.com/vfxworld/magic-houdini-3d-concepts-reviewed.

** Depending on how close a polygon is to being planar, you can adjust the non-planar polygon tolerance to select faces which are closest to being planar.

* Direction:

** Which direction would you like the matching normals to face?

* Spread Angle:

** How close does a normal need to be to the direction in order to be considered for deletion?

___________________________

** How close does a normal need to be to the direction in order to be considered for deletion?

___________________________

- Include by Edges:

* It's important to note here that the group types does NOT need to be edges in order to work. The edges of the mesh simply need to match whatever criteria specified to include prims, points, or edge group selections. This is currently not supported for vertex groups however.

* Min Edge Angle

** Groups primitives with at least this angle between their normals. For edge groups, an edge is included in the group if the two primitives that share it satisfy this angle requirement. This is super useful for selecting areas where the edges are sharp along the mesh.

* Max Edge Angle

* It's important to note here that the group types does NOT need to be edges in order to work. The edges of the mesh simply need to match whatever criteria specified to include prims, points, or edge group selections. This is currently not supported for vertex groups however.

* Min Edge Angle

** Groups primitives with at least this angle between their normals. For edge groups, an edge is included in the group if the two primitives that share it satisfy this angle requirement. This is super useful for selecting areas where the edges are sharp along the mesh.

* Max Edge Angle

** Groups primitives with at most this angle between their normals. For edge groups, an edge is included in the group if the two primitives that share it satisfy this angle requirement. If an angle gets too sharp, then you can use this to exclude those primitives. It's kind of like saying "Okay, so if the edge angle is this number or more, then don't select it."

* Edge Angle Uses Angle Between Edges

* Edge Angle Uses Angle Between Edges

** For edge groups only, when this option is checked edges are included in the group based on the angle between themselves, instead of the angle between the primitives that share them. Each edge is compared against all other edges that share a point with it. In other words, it's like saying "Hey edges, don't look at the polygons, look at the other edges around you when determining the edge angle."

* Min Edge Length

* Min Edge Length

** Only available if you use are grouping by edges. It's like saying "If the edge length is this number or

**, then include it in the group."**__less__* Max Edge Length

** Only available if you use are grouping by edges. It's like saying "If the edge length is this number or

**, then include it in the group."**

__more__ * Edge Depth

** Only available if you use are grouping by points. The first thing this does is look at the point group below. That field selects the point id. Then, the edge depth looks around at surrounding edges from that point or points, and expands the selection.

* Edge Depth

* Edge Depth

** See above

* Unshared Edges

* Unshared Edges

** Groups all points/primitives/edges with unshared edges. For edge groups, an edge is added to the group if it only has one primitive adjacent to it. In other words, this is a super-easy way to select the border edges of a mesh.

* Create Boundary Groups

* Create Boundary Groups

** For this to work, be sure that Unshared Edges is turned on. This takes those border points and separates them out into their own unique group.

Drag to resize