1.0.4 • Published 6 years ago

consistently-orient v1.0.4

Weekly downloads
2
License
MIT
Repository
github
Last release
6 years ago

consistently-orient

experimental

Depth-first traversal through 2D simplicial complex to consistently orient cells (and potentially fail with information about orientability).

Usage

NPM

var bunny          = require('bunny')
var flippedCount   = orient(cells);

require("consistently-orient")(cells)

Modifies cells in-place. Splits the complex into components defined by manifold connectivity (i.e. two cells are neighbors iff they share a manifold edge), and for each component attempts to consistently orient cells. Note that we choose the desired orientation arbitrarily, so a further global check is required if you need additional guarantees such as outward-facing normals.

In the case of non-orientability (determined by reaching a contradiction while propagating orientation), raises an error.

The method we use for finding manifold patches is derived from this reference.

Contributing

See stackgl/contributing for details.

License

MIT. See LICENSE.md for details.