edemaine / fold

FOLD file format for origami models, crease patterns, etc.
MIT License
304 stars 48 forks source link

Faces with holes #21

Open edemaine opened 5 years ago

edemaine commented 5 years ago

@amandaghassaei points out that the current spec does not deal with holes in faces (without subdividing them somehow), e.g.

+-----+
|     |
| +-+ |
| | | |
| +-+ |
|     |
+-----+

We should extend the spec to handle this. The tricky part is doing so in a backwards-compatible way.


Proposal 1:

The downside of this approach is unneeded complexity: boundaries don't really need to be first-class, because will generally be used by exactly one face.


Proposal 2:

Key question for this approach: do we want v2 to allow both forms (each element of faces_vertices is an array of indices, or an array of array of indices), or just the hole-supporting form (each element of faces_vertices is an array of array of indices)?

edemaine commented 1 year ago

Update on this topic: FOLD 1.2 supports "J" assignment for join edges, which is one way to represent holes (subdividing holey faces into simply connected faces).