Metadata-Version: 2.1
Name: meshlib
Version: 3.0.2.183
Summary: 3d processing library
Author-email: MeshLib Team <support@meshinspector.com>
License: NON-COMMERCIAL & education LICENSE AGREEMENT
        
        This  agreement  is  between  the  individual below (User) and AMV Consulting, LLC, a 
        Nevada limited liability company (AMV). The AMV source code library software, and all 
        modifications,  enhancements,  technical documentation provided by AMV as part of the 
        Software (Software)  are  licensed  and  are  not  sold.  By  receiving or using this 
        Software, User indicates its acceptance of the terms of this agreement. 
        
        
        TRIAL LICENSE.
        
        Subject to the terms of this agreement, AMV grants User a terminable, non-exclusive, 
        and  non-transferable  license  to  use  the  Software,  solely  for non-commercial, 
        evaluation or educational purposes. 
        
        
        DISCLAIMER.
        
        AMV  DISCLAIMS  ANY AND ALL REPRESENTATIONS OR WARRANTIES OF ANY 
        KIND,  WHETHER  EXPRESS  OR  IMPLIED,  MADE  WITH RESPECT TO THE 
        SOFTWARE,  INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES 
        OF   MERCHANTABILITY,   NON-INFRINGEMENT,   AND  FITNESS  FOR  A 
        PARTICULAR PURPOSE. THE SOFTWARE IS PROVIDED ‘AS IS’ WITHOUT ANY 
        WARRANTY  OF ANY KIND. AMV AND ITS LICENSORS DO NOT WARRANT THAT 
        ANY  SOFTWARE  IS WITHOUT DEFECT OR ERROR, OR THAT THE OPERATION 
        OF ANY SOFTWARE WILL BE UNINTERRUPTED.
        
        
        RESTRICTIONS ON USE.
        
        User may not sell, rent, sublicense, display, modify, or otherwise transfer the Software 
        to any third party. 
        
        
        OWNERSHIP.
        
        All right, title, and interest to the Software are owned by AMV and its licensors, and 
        are  protected by United States and international intellectual property laws. User may 
        not  remove  or alter any copyright or proprietary notice from copies of the Software. 
        AMV reserves all rights not expressly granted to User.
        
        
        TERMINATION.
        
        The  license  in  Section  1 terminates upon AMV’s notice of termination to User. Upon 
        termination of this agreement or a license for any reason, User must discontinue using 
        the  Software, de-install, and destroy the Software and all copies within 5 days. Upon 
        AMV’s  request,  User  will confirm in writing its compliance with this destruction or 
        return requirement.
        
        
        LIABILITY LIMIT.
        
        EXCLUSION  OF  INDIRECT  DAMAGES.  TO THE MAXIMUM EXTENT ALLOWED 
        BY LAW, AMV IS NOT LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL, 
        OR  CONSEQUENTIAL  DAMAGES  ARISING  OUT  OF  OR RELATED TO THIS 
        AGREEMENT  (INCLUDING,  WITHOUT LIMITATION, COSTS OF DELAY; LOSS 
        OF  OR  UNAUTHORIZED  ACCESS  TO  DATA  OR INFORMATION; AND LOST 
        PROFITS,  REVENUE,  OR  ANTICIPATED  COST  SAVINGS),  EVEN IF IT 
        KNOWS  OF  THE  POSSIBILITY  OR FORESEEABILITY OF SUCH DAMAGE OR 
        LOSS.
        
        TOTAL  LIMIT ON LIABILITY. TO THE MAXIMUM EXTENT ALLOWED BY LAW, 
        AMV'S  TOTAL  LIABILITY  ARISING  OUT  OF  OR  RELATED  TO  THIS 
        AGREEMENT  (WHETHER  IN  CONTRACT,  TORT, OR OTHERWISE) DOES NOT 
        EXCEED $100.
        
        
        GOVERNING LAW AND FORUM.
        
        This  agreement  is  governed  by  the  laws  of  the  State  of  Nevada  (without regard to 
        conflicts  of  law principles) for any dispute between the parties or relating in any way to 
        the  subject  matter  of  this  agreement.  Any suit or legal proceeding must be exclusively 
        brought  in  the  federal  or  state  courts  for Washoe County, Nevada, and User submits to 
        this  personal  jurisdiction  and  venue.  Nothing  in this  agreement prevents either party 
        from  seeking  injunctive  relief in a court of competent jurisdiction. The prevailing party 
        in any litigation is entitled to recover its attorneys’ fees and costs from the other party.
        
        
        OTHER TERMS.
        
        Entire Agreement and Changes. This agreement constitutes the entire 
        agreement between the parties and supersedes any prior or contemporaneous 
        negotiations or agreements, whether oral or written, related to this subject matter. 
        User is not relying on any representation concerning this subject matter, oral or 
        written, not included in this agreement. No representation, promise, or inducement 
        not included in this agreement is binding. No modification or waiver of any term of 
        this agreement is effective unless both parties sign it.
        
        No Assignment. Neither party may assign or transfer this agreement to a third 
        party, nor delegate any duty, except that the agreement may be assigned, without 
        the consent of the other party, (i) as part of a merger or sale of all or substantially 
        all a party's businesses or assets, of User, and (ii) in the case of AMV at any time 
        to any third party.
        
        Independent Contractors. The parties are independent contractors with respect 
        to each other, and neither party is an agent, employee, or partner of the other 
        party or the other party's affiliates.
        
        Enforceability and Force Majeure. If any term of this agreement is invalid or 
        unenforceable, the other terms remain in effect. Neither party is liable for its non-
        performance due to events beyond its reasonable control, including but not limited 
        to natural weather events and disasters, labor disruptions, and disruptions in the 
        supply of utilities.
        
        Money Damages Insufficient. Any breach by a party of this agreement or 
        violation of the other party’s intellectual property rights could cause irreparable 
        injury or harm to the other party. The other party may seek a court order to stop 
        any breach or avoid any future breach of this agreement.
        
        Survival of Terms. All provisions of this agreement regarding payment, 
        confidentiality, indemnification, limitations of liability, proprietary rights and such 
        other provisions that by fair implication require performance beyond the term of 
        this agreement must survive expiration or termination of this agreement until fully 
        performed or otherwise are inapplicable. The UN Convention on Contracts for the 
        International Sale of Goods does not apply.
        
        Compliance Audit. No more than once in any 12-month period and upon at least 
        30 days’ advance notice, AMV (or its representative) may audit User’s usage of the 
        Software at any User facility. User will cooperate with such audit. User agrees to pay 
        within 30 days of written notification any fees applicable to User’s use of the 
        Software in excess of the license.
        
        Export Compliance. The Software and Confidential Information may be subject to 
        export laws and regulations of the United States and other jurisdictions. Each party 
        represents that it is not named on any U.S. government denied-party list. Neither 
        party will permit its personnel or representatives to access any Software in a U.S.-
        embargoed country or in violation of any applicable export law or regulation.
        
        U.S. Government Restricted Rights. If User is a United States government 
        agency or acquired the license to the Software hereunder pursuant to a 
        government contract or with government funds, then as defined in FAR §2.101, 
        DFAR §252.227-7014(a)(1), and DFAR §252.227-7014(a)(5), or otherwise, all 
        Software provided in connection with this agreement are “commercial items,” 
        “commercial computer software,” or “commercial computer software 
        documentation.” Consistent with DFAR §227.7202 and FAR §12.212, any use, 
        modification, reproduction, release, performance, display, disclosure, or 
        distribution by or for the United States government is governed solely by the 
        terms of this agreement and is prohibited except to the extent permitted by the 
        terms of this agreement.
        
        Open Source Software Licenses. The Software may contain embedded open source 
        software components, which are provided as part of the Software and for 
        which additional terms may be included in the technical documentation.
        
        Feedback. If User provides feedback or suggestions about the Software, then AMV 
        (and those it allows to use its technology) may use such information without 
        obligation to User.
        
Project-URL: Homepage, https://meshlib.io/
Project-URL: Documentation, https://meshlib.io/documentation/
Project-URL: Source, https://github.com/MeshInspector/MeshLib
Project-URL: Bug Reports, https://github.com/MeshInspector/MeshLib/issues
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: License :: Free For Educational Use
Classifier: License :: Free for non-commercial use
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS :: MacOS X
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.19.0

[![build-test-distribute](https://github.com/MeshInspector/MeshLib/actions/workflows/build-test-distribute.yml/badge.svg?branch=master)](https://github.com/MeshInspector/MeshLib/actions/workflows/build-test-distribute.yml?branch=master) 
[![PyPI version](https://badge.fury.io/py/meshlib.svg)](https://badge.fury.io/py/meshlib)
[![Python](https://img.shields.io/pypi/pyversions/meshlib.svg?style=plastic)](https://badge.fury.io/py/meshlib)
[![Downloads](https://pepy.tech/badge/meshlib/month?style=flat-square)](https://pepy.tech/project/meshlib)

<p align="left">
<picture>
  <source media="(prefers-color-scheme: dark)"  srcset="https://github.com/user-attachments/assets/37d3a562-581d-421b-8209-ef6b224e96a8">
  <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/caf6bdd1-b2f1-4d6d-9e22-c213db6fc9cf">
  <img alt="Shows a black logo in light color mode and a white one in dark color mode." src="https://github.com/user-attachments/assets/caf6bdd1-b2f1-4d6d-9e22-c213db6fc9cf" width="60%">
</picture>
</p>

# **Welcome to MeshLib SDK**

The MeshLib SDK is an open-source, cross-platform library designed for efficient 3D geometry processing. MeshLib supports C++, Python, C, and C#, making it easy to integrate into your projects. It’s a versatile tool for industries such as medical devices, 3D printing, scanning, inspection, automation, robotics, and scientific visualization. With robust performance and accuracy, MeshLib excels at handling large datasets, including those used in AI and medical imaging. The repository is packed with clear code examples to help you start quickly and explore advanced features with ease.

## **The MeshLib Vision**

Our vision at MeshLib is to empower developers to quickly build practical and impactful 3D applications. Designed with simplicity and performance in mind, MeshLib provides a comprehensive set of tools and algorithms for processing 3D data. It supports essential data structures like point clouds, meshes, and volumes, commonly generated by modern sensors. MeshLib's robust half-edge data structure for mesh representation ensures manifold compliance, making it well-suited for real-world applications and helping developers bring their ideas to life more efficiently.

## **Key Features**

- File I/O: Supports meshes, voxels, and point clouds for creation, modification, and conversion.
- 3D Boolean: Fast, highly optimized mesh and voxel-based approaches.
- Mesh Repair: Includes removing self-intersections, filling holes, and component separation.
- Simplification & Subdivision: Optimize mesh complexity with decimation, remeshing, and subdivision.
- Offsets: Multiple modes for precise surface thickness control, ideal for 3D printing and machining.
- Triangulation: Accurate, fast conversion of point clouds to meshes with normal creation.
- ICP: Precise mesh alignment using point-to-point and point-to-plane transformations.
- Segmentation: Semi-automatic segmentation based on curvature for meshes and voxels.
- Deformations: Supports Laplacian, freeform, and relax smoothing for fine mesh adjustments.
- Distance Maps & Polylines: Generate distance maps, iso-lines, and perform projection and intersection.

Features illustration is available in [the features section](https://meshlib.io/features/) or in the sections of this documentation.

## Try MeshLib Easily with MeshInspector

[MeshInspector](https://meshinspector.com/) is a cross-platform application built on MeshLib that allows users to trial MeshLib’s algorithms directly. It exposes most of MeshLib's core algorithms in an intuitive interface, providing a hands-on way to evaluate MeshLib’s performance on various operations. For a closer look at MeshInspector’s features and performance, check out our [YouTube channel](https://www.youtube.com/@meshinspector) with videos demonstrating its capabilities.

**Note:** While MeshInspector includes many of MeshLib’s algorithms, it was designed with specific end-user scenarios in mind. MeshLib itself offers far greater customization and flexibility, allowing you to tailor its algorithms precisely to your unique needs.

## **Getting Started with MeshLib**

For Python users, install via pip:

```bash
pip install meshlib
```

For C++, C and C# integration, see the [Installation Guide](https://meshlib.io/documentation/InstallationGuide.html).

Explore [MeshLib's tutorials](https://meshlib.io/documentation/Tutorials.html) and [code samples](https://meshlib.io/documentation/Examples.html) to get started quickly and master advanced features.

## **License**

MeshLib offers [Non-Commercial Free License](https://github.com/MeshInspector/MeshLib?tab=License-1-ov-file#readme) with a Commercial License Requirement. 
See details on [MeshLib license page](https://meshlib.io/license/).

## Reporting Issues

If you encounter an issue or have a bug to report, please use our [GitHub Issues Form](https://github.com/MeshInspector/MeshLib/issues/) to submit it. This ensures we can track and address problems efficiently.

Join the community discussions on our [GitHub Discussions page](https://github.com/MeshInspector/MeshLib/discussions) to connect with other developers, share ideas, and stay updated on the latest MeshLib developments.
