Page MenuHome

Geometry Delete Node
Confirmed, NormalPublicDESIGN

Description

This task is for a ported mask modifier. But it makes sense to expand the functionality for the node version.
The main idea is that since this is such basic functionality, it can use a shared node for more than one data type.

The "Selection" attribute can be any attribute. It should be implicitly converted to the boolean type, or it could
have a boolean data type already (i.e. created with an "Attribute Compare" node).

The deleted data should depend on the domain of the input attribute:

  • Deletes points from point clouds if the domain is points
  • Deletes mesh data depending on the attribute domain
    • Only faces if the attribute has a face domain
    • Edges (and neighboring faces) if the attribute has an edge domain
    • Vertices if the attribute is on the point domain
    • A corner domain input could be implicitly converted to the point domain, though that could use more discussion.

Future:

  • Deletes curve splines or control points depending on the domain
  • Deletes grease pencil vertices or strokes depending on the domain
  • Sets voxel values to the default value and remove active flag? Or change topology as well.

Event Timeline

Hans Goudey (HooglyBoogly) changed the task status from Needs Triage to Confirmed.Mar 16 2021, 6:39 PM
Hans Goudey (HooglyBoogly) created this task.

Removes voxel values to the default value?

In VDB you can deactivate tiles/voxels based on values which can free up memory in the sparse volume. See openvdb::tools::deactivate.

while somehow convenient - but does the invert toggle really make all that much sense in the context of geometry nodes? or will any operation which has a mask as input get this toggle too?

I was also wondering about the invert toggle. What about doing the same thing that point separate does, and outputting both geometry ? Maybe that not worth it if it's hard to implement...

From experience with the point separate node that makes the code surprisingly annoying to work with actually. I would rather consider this as an analogue to the edit mode "Delete" operation.

To me the "Invert" checkbox is a simple way to avoid the need for another node in many cases. We could not include it and use an "Invert Selection" node instead, but I'm not really sure that's better.

paul szajner (szap) added a comment.EditedMar 16 2021, 11:33 PM

Thanks Hans, that makes sense ! keeping invert toggle seems convenient in that case !
Probably if someone is experimenting and not sure about what he/she is doing this kind of option would come handy !
This node is a really nice addition to the toolset BTW !

I'm just assigning this task to @Wannes Malfait (Wannes) for organizational purposes since the work is already in progress.