/mola

Pure Python Mesh Structure

Primary LanguagePython

alt text

Mola

Lightweight Computational Design Library

Modules

  • core
    • class definitions for Vertex, Face, Edge, Box, Mesh
  • vec
    • vector math, input and output of type Vertex in most cases
  • faceUtils
    • Utilities to calculate different properties of a Face, e.g. normal, center, perimeter, etc.
  • subdivision
    • CatmullClark and simple Quad-split subdivision of an entire mesh, also method to collect vertices.
    • rules for mesh subdivision, input Face, output list of Faces
  • factory
    • Factory to create different mesh primitives like single face, cone, box, platonic solids
  • polyUtils
    • Utilities for 2D Polygons, e.g. construction of circle and 2D subdivision
  • slicer
    • Slicing tools for mesh geometry
  • marchingCubes
    • Create an isosurface mesh in a 3D grid of voxels
  • grid
    • Classes GridManager and Grid, orthogonal grid in 2d or 3d, and Hexgrid
  • graph
    • Classes Graph and GraphAnalyser (for shortest path or centrality calculation)
  • io
  • renderP5
  • renderP5JS
  • renderBabylonJS
    • Display in Babylon.js for 3D graphics in Google Colab
  • renderRhino
    • Construct and load mesh geometry in Rhino