Skip to content

Resolve "Create faces even when edges intersect and/or overlap."

David Thompson requested to merge dcthomp/smtk:83-clean-geometry into master

This branch adds a "clean geometry" operator (labeled "Geometry – Clean" in the UI) which can be run on a set of model edges and vertices in a polygon session. It adds intersection points, splits edges, and deletes duplicate edges (while preserving pedigree IDs).

Limitations

  • The new operator will not behave well if faces are attached to the geometry you ask it to work on. It is best to delete faces, clean the geometry, and then run the "Faces – Create All" operator for now.
  • Coincident model vertices are not currently merged (although they are very difficult to create in ModelBuilder, so this is not likely to cause problems immediately).

Other changes

This also changes the core SMTK model system so that when assigning a default name, it will add a pedigree ID of the same number used to generate the name (assuming no pedigree exists). This has some implications that should be considered:

  • It is conceivable that the same pedigree could already exist on model entities imported by a read operation. Changes to read operators would be required to update the model's counters to avoid unintended pedigree ID assignments.
  • Since entities are numbered differently according to their dimension (i.e., both vertex 0, edge 0, and face 0 may all exist), pedigree IDs are only "unique" to entities of the same dimension.

Closes #83 (closed)

Merge request reports