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.

/consistently-orient/

    Package Sidebar

    Install

    npm i consistently-orient

    Weekly Downloads

    1

    Version

    1.0.4

    License

    MIT

    Last publish

    Collaborators

    • ataber