https://github.com/manyfold3d/mittsu-mesh_analysis
Mesh analysis for Mittsu
https://github.com/manyfold3d/mittsu-mesh_analysis
3d-models rubygem
Last synced: 4 months ago
JSON representation
Mesh analysis for Mittsu
- Host: GitHub
- URL: https://github.com/manyfold3d/mittsu-mesh_analysis
- Owner: manyfold3d
- License: mit
- Created: 2024-11-12T15:35:08.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-08-12T15:36:43.000Z (10 months ago)
- Last Synced: 2025-10-07T23:31:06.123Z (8 months ago)
- Topics: 3d-models, rubygem
- Language: Ruby
- Homepage:
- Size: 184 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Mittsu: Mesh Analysis

[](https://codeclimate.com/github/manyfold3d/mittsu-mesh_analysis/maintainability)
[](https://codeclimate.com/github/manyfold3d/mittsu-mesh_analysis/test_coverage)




Mesh analysis methods for [Mittsu](https://github.com/danini-the-panini/mittsu).
Adds three methods:
* `Mittsu::Object3D#manifold?`: Detects if a mesh is a single valid surface; i.e. it has no holes, and faces are consistently oriented.
* `Mittsu::Object3D#solid?`: Detects if the faces of a manifold mesh are correctly oriented, giving the mesh a sensible inside and outside.
* `Mittsu::Face3#flip!`: Flips the vertex order, and thus orientation of a particular face.
## Requirements
Ruby 3.1 or above, otherwise the same as for [Mittsu](https://github.com/danini-the-panini/mittsu) itself.
## Usage
Just install:
`bundle add mittsu-mesh_analysis`
Then require in your code:
`require 'mittsu/mesh_analysis'`
The methods above should then be available for use.
## About
This code was originally written for [Manyfold](https://manyfold.app), supported by funding from [NLNet](https://nlnet.nl) and [NGI Zero](https://ngi.eu/ngi-projects/ngi-zero/).