Metadata-Version: 2.1
Name: nmesh
Version: 0.1.4
Summary: 3D Mesh processing
Home-page: https://github.com/JeanMaximilienCadic/nmesh
Author: CADIC Jean Maximilien
Author-email: contact@cadic.jp
License: : OSI Approved :: MIT License
Keywords: 3D mesh,point cloud
Description-Content-Type: text/markdown
Requires-Dist: pyYaml
Requires-Dist: opencv-python
Requires-Dist: scipy
Requires-Dist: trimesh
Requires-Dist: gnutools-python
Requires-Dist: numpy
Requires-Dist: matplotlib
Requires-Dist: pandas
Requires-Dist: networkx
Requires-Dist: pyglet (==1.5.27)
Requires-Dist: pmeshlab
Requires-Dist: black

<h1 align="center">
  <br>
  NMesh
  <br>
  <br>
  <img src="https://drive.google.com/uc?id=1adCikDmjjDULmn-3R7_wpyyJX-nzKlHb">
</h1>

<p align="center">
  <a href="#modules">Modules</a> •
  <a href="#installing-the-application">Installing the application</a> •
  <a href="#makefile-commands">Makefile commands</a> •
  <a href="#environments">Environments</a> •
  <a href="#running-the-application">Running the application</a>
  <a href="#ressources">Ressources</a>
</p>


NMesh is a Python package that provides two high-level features:
- A simple Mesh processor
- A list of tool to convert mesh files into point cloud

You can reuse your favorite Python packages such as NumPy, SciPy and Cython to extend ZakuroCache integration.


# Modules

At a granular level, NMesh is a library that consists of the following components:

| Component | Description |
| ---- | --- |
| **nmesh** | Contains the implementation of NMesh |
| **nmesh.core** | Contain the functions executed by the library. |
| **nmesh.pc** | Processor for the point cloud|
| **nmesh.tests** | Unit tests |

# Installing the application
To clone and run this application, you'll need the following installed on your computer:
- [Git](https://git-scm.com)
- Docker Desktop
   - [Install Docker Desktop on Mac](https://docs.docker.com/docker-for-mac/install/)
   - [Install Docker Desktop on Windows](https://docs.docker.com/desktop/install/windows-install/)
   - [Install Docker Desktop on Linux](https://docs.docker.com/desktop/install/linux-install/)
- [Python](https://www.python.org/downloads/)

Install the package:
```bash
# Clone this repository and install the code
git clone https://github.com/JeanMaximilienCadic/nmesh

# Go into the repository
cd nmesh
```

# Makefile commands
Exhaustive list of make commands:
```
install_wheels
sandbox_cpu
sandbox_gpu
build_sandbox
push_environment
push_container_sandbox
push_container_vanilla
pull_container_vanilla
pull_container_sandbox
build_vanilla
build_wheels
auto_branch 
```
# Environments

## Docker

> **Note**
> 
> Running this application by using Docker is recommended.

To build and run the docker image
```
make build
make sandbox
```

## PythonEnv

> **Warning**
> 
> Running this application by using PythonEnv is possible but *not* recommended.
```
make install_wheels
```
# Running the application
```
from nmesh import NMesh, cfg
m = NMesh(cfg.drive.bull)
m.show()
```

## Ressources
* Vanilla:  https://en.wikipedia.org/wiki/Vanilla_software
* Sandbox: https://en.wikipedia.org/wiki/Sandbox_(software_development)
* All you need is docker: https://www.theregister.com/2014/05/23/google_containerization_two_billion/
* Dev in containers : https://code.visualstudio.com/docs/remote/containers
* Delta lake partitions: https://k21academy.com/microsoft-azure/data-engineer/delta-lake/




