consistently-orient

1.0.4 • Public • Published

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.

Package Sidebar

Install

npm i consistently-orient

Weekly Downloads

1

Version

1.0.4

License

MIT

Last publish

Collaborators

  • ataber