Skip to content

GCoiffier/mouette

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

152 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mouette is a small python library for handling point clouds, polylines, surface and volume meshes. It also contains various geometry processing algorithm, like shortest-paths, old-school parametrization or frame field computations.

Mouette (French for seagull) stands for Maillages, OUtils Et Traitement auTomatique de la géométriE (French for "Meshes, Tools and Geometry Processing").

Installation

Using pip: pip install mouette

Overview

Mouette allows to easily load data from various file format and access geometrical primitives

Import and export made simple

import mouette as M

mesh = M.mesh.load("path/to/my/mesh/mesh.obj")
print(mesh.vertices[0])
print(mesh.faces[2])
M.mesh.save(mesh,"path/to/export/mesh.obj")

Define quantities over meshes and work with it

It is possible to define any quantity on mesh elements

my_v_attribute = mesh.vertices.create_attribute("my_attribute", float) # an attribute storing one floating-point number per vertex
my_v_attribute[3] = 4.

my_f_attribute = mesh.faces.create_attribute("my_attribute", 2, int) # an attribute storing two integers per face
m_f_attribute[2] = [1,3]

Attributes can store booleans, integers, floating-point numbers, complex numbers and strings, using the provided python types bool, int, float, complex and str.

Call geometry processing algorithms

ff = framefield.SurfaceFrameField(mesh, "vertices", order=4, verbose=True)
ff.run()
ffmesh = ff.export_as_mesh()
M.mesh.save(ffmesh, "framefield.mesh")

And much more

See full documentation at https://gcoiffier.github.io/mouette/

Run tests

python -m pytest tests/

About

Simple geometry processing and mesh handling library in Python.

Topics

Resources

License

Stars

Watchers

Forks

Languages