Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/workflows/update-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ jobs:
uses: actions/checkout@v7
with:
repository: 'MeshInspector/MeshInspector.github.io'
ref: 'feature/md'
path: 'MeshInspector.github.io/'
token: ${{ secrets.MESHINSPECTOR_BOT_TOKEN }}
submodules: recursive
Expand Down Expand Up @@ -105,4 +106,5 @@ jobs:
git config user.name "meshinspector-bot"
git add -A
git commit --allow-empty -m "Auto update docs" -a
git push
# feature/md carries the Markdown-era Doxyfile until it merges; master serves the site
git push origin HEAD:master
2 changes: 1 addition & 1 deletion docs/third_party_licenses.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ to** MeshLib's own top-level `LICENSE`, which covers only MeshLib itself.
the modules that bundle it, the SPDX-ish license id, the upstream, and the **version the
text was curated against**.

The inclusion list is `doxygen/general_pages/ThirdpartyList.dox`, reconciled against
The inclusion list is `doxygen/general_pages/ThirdpartyList.md`, reconciled against
`.gitmodules` and `thirdparty/vcpkg/vcpkg.json`. Build- and test-only submodules (googletest,
mrbind) are not shipped and are excluded (see `EXCLUDED_SUBMODULES` in the checker).

Expand Down
16 changes: 0 additions & 16 deletions doxygen/common_files/CommonDistributionProperties.dox

This file was deleted.

16 changes: 16 additions & 0 deletions doxygen/common_files/CommonDistributionProperties.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
- Debug only:
- **Debug Configuration: C/C++ → Preprocessor → Preprocessor Definitions**:
<br/> Add: `_ITERATOR_DEBUG_LEVEL=0;MR_ITERATOR_DEBUG_LEVEL=0` — for the per-Visual-Studio archives (`MeshLibDistVS19`, `MeshLibDistVS22`, `MeshLibDistVS26`, `MeshLibDistVS26-arm64`).
<br/> For the `MeshLibDist-IteratorDebug` archive add `_ITERATOR_DEBUG_LEVEL=2;MR_ITERATOR_DEBUG_LEVEL=2` instead. Both defines must carry the same value: MeshLib stops compilation with `#error _ITERATOR_DEBUG_LEVEL is inconsistent with MeshLib` when they disagree.
<br/> Check whether your archive contains `install/include/MRMesh/config_dist.h`. If it does, that header already declares `MR_ITERATOR_DEBUG_LEVEL` for you, so only `_ITERATOR_DEBUG_LEVEL` is yours to set — and `IteratorDebug` then needs no define at all, MSVC's Debug default already being `2`. Setting `MR_ITERATOR_DEBUG_LEVEL` anyway is harmless as long as it matches the archive; a value that contradicts it is rejected at compile time.
- For all configurations:
- **Solution Platform**:
<br/> Set: `x64`
- **General Properties -> C++ Language Standard**:
<br/> Set: `/std:c++20` or later
- **C/C++ → General → Additional Include Directories**:
<br/> Add: `C:\meshlib-built\install\include`
- **C/C++ → All Options → Additional Options**:
<br/> Add: `/bigobj /utf-8`
- **Linker → Input → Additional Dependencies**:
<br/> Add: `C:\meshlib-built\install\lib\$(Configuration)\*.lib`
1 change: 0 additions & 1 deletion doxygen/common_files/JsUsingNote.dox

This file was deleted.

2 changes: 2 additions & 0 deletions doxygen/common_files/JsUsingNote.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
> [!NOTE]
> The `using` declaration requires Node.js 24+ or a modern browser. On older runtimes, call `.delete()` on each object instead (see [Memory Management](\ref JsMemoryManagement) in the JavaScript Setup Guide).
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
/**
\page BasedApplication Basing your application on MeshLib
# Basing your application on MeshLib {#BasedApplication}

<div class="tabbed">

Expand All @@ -9,6 +8,3 @@ First of all you should make `main` function like this
Then you should make your plugins, to find how have a look at \ref StatePluginsHelp page

</div>

*/

15 changes: 6 additions & 9 deletions doxygen/examples/Collision.dox → doxygen/examples/Collision.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
/**
\page ExampleDetectCollisions Detect collisions of two meshes
# Detect collisions of two meshes {#ExampleDetectCollisions}

Following code presents example of finding collision triangles of two meshes

Expand All @@ -9,20 +8,18 @@ Following code presents example of finding collision triangles of two meshes

- <b class="tab-title">C++</b>
\include Collision.dox.cpp

- <b class="tab-title">Python</b>
\include Collision.dox.py

- <b class="tab-title">C</b>
\include Collision.dox.c

- <b class="tab-title">C#</b>
\include Collision.dox.cs

- <b class="tab-title">JavaScript</b>
\include Collision.dox.js
\include{doc} JsUsingNote.dox
\include{doc} JsUsingNote.md

</div>

*/
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
/**
\page ExampleDetectCollisionsPrecise Precise detect collisions of two meshes
# Precise detect collisions of two meshes {#ExampleDetectCollisionsPrecise}

Following code presents example of finding preceise collision triangles and edges of two meshes

Expand All @@ -9,20 +8,18 @@ Following code presents example of finding preceise collision triangles and edge

- <b class="tab-title">C++</b>
\include CollisionPrecise.dox.cpp

- <b class="tab-title">Python</b>
\include CollisionPrecise.dox.py

- <b class="tab-title">C</b>
\include CollisionPrecise.dox.c

- <b class="tab-title">C#</b>
\include CollisionPrecise.dox.cs

- <b class="tab-title">JavaScript</b>
\include CollisionPrecise.dox.js
\include{doc} JsUsingNote.dox
\include{doc} JsUsingNote.md

</div>

*/
Original file line number Diff line number Diff line change
@@ -1,26 +1,23 @@
/**
\page ExampleDetectSelfIntersections Find self-intersecting triangles of single mesh
# Find self-intersecting triangles of single mesh {#ExampleDetectSelfIntersections}

Following code presents example of finding self-intersecting triangles of single mesh

<div class="tabbed">

- <b class="tab-title">C++</b>
\include CollisionSelf.dox.cpp

- <b class="tab-title">Python</b>
\include CollisionSelf.dox.py

- <b class="tab-title">C</b>
\include CollisionSelf.dox.c

- <b class="tab-title">C#</b>
\include CollisionSelf.dox.cs

- <b class="tab-title">JavaScript</b>
\include CollisionSelf.dox.js
\include{doc} JsUsingNote.dox
\include{doc} JsUsingNote.md

</div>

*/
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
/**
\page ExampleCudaOffset Offset with Cuda
# Offset with Cuda {#ExampleCudaOffset}

Example of Python usage of Cuda to offset mesh

<div class="tabbed">

- <b class="tab-title">Python</b>
You can use CUDA-driven offset for faster healing mesh with holes, example healing script can be found [here](https://github.com/MeshInspector/MeshLib/blob/master/python_scripts/healer.py)
\include CudaOffset.dox.py

</div>

*/
Original file line number Diff line number Diff line change
@@ -1,20 +1,16 @@
/**
\page ExampleContourTriangulation Contour Triangulation Example
# Contour Triangulation Example {#ExampleContourTriangulation}

Example of generating a triangulation from a contour.

<div class="tabbed">

- <b class="tab-title">C++</b>
\include ContourTriangulation.dox.cpp

- <b class="tab-title">Python</b>
\include ContourTriangulation.dox.py

- <b class="tab-title">C</b>
\include ContourTriangulation.dox.c

</div>

*/

Original file line number Diff line number Diff line change
@@ -1,24 +1,20 @@
/**
\page ExampleFusion Fusion Example
# Fusion Example {#ExampleFusion}

Example of Fusion.

<div class="tabbed">

- <b class="tab-title">C++</b>
\include Fusion.dox.cpp

- <b class="tab-title">Python</b>
\include Fusion.dox.py

- <b class="tab-title">C</b>
\include Fusion.dox.c

- <b class="tab-title">JavaScript</b>
\include Fusion.dox.js
\include{doc} JsUsingNote.dox
\include{doc} JsUsingNote.md

</div>

*/

Original file line number Diff line number Diff line change
@@ -1,24 +1,20 @@
/**
\page ExamplePointsToMesh Points to Mesh Example
# Points to Mesh Example {#ExamplePointsToMesh}

Example of generating a triangulation from a pointcloud.

<div class="tabbed">

- <b class="tab-title">C++</b>
\include PointsToMesh.dox.cpp

- <b class="tab-title">Python</b>
\include PointsToMesh.dox.py

- <b class="tab-title">C</b>
\include PointsToMesh.dox.c

- <b class="tab-title">JavaScript</b>
\include PointsToMesh.dox.js
\include{doc} JsUsingNote.dox
\include{doc} JsUsingNote.md

</div>

*/

Original file line number Diff line number Diff line change
@@ -1,20 +1,16 @@
/**
\page ExampleTerrainTriangulation Terrain Triangulation Example
# Terrain Triangulation Example {#ExampleTerrainTriangulation}

Example of generating a triangulation from a terrain scan (specific pointcloud).

<div class="tabbed">

- <b class="tab-title">C++</b>
\include TerrainTriangulation.dox.cpp

- <b class="tab-title">Python</b>
\include TerrainTriangulation.dox.py

- <b class="tab-title">C</b>
\include TerrainTriangulation.dox.c

</div>

*/

14 changes: 5 additions & 9 deletions doxygen/examples/Examples.dox → doxygen/examples/Examples.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
/**

\page Examples MeshLib Code Samples
# MeshLib Code Samples {#Examples}

# Code Samples for MeshLib

This page contains some examples of using MeshLib

A number of these operations also run interactively in the browser: see the [live demo](https://demo.meshlib.io/).

\subsection CppApplication C++ Application Based on MeshLib
## C++ Application Based on MeshLib {#CppApplication}

- \ref BasedApplication

\subsection GeneralExamples General Samples
## General Samples {#GeneralExamples}

- \ref ExampleMeshLoadSave
- \ref ExampleMeshExport
Expand Down Expand Up @@ -40,13 +38,13 @@ A number of these operations also run interactively in the browser: see the [liv
- \ref ExampleFusion
- \ref ExampleMeshFromText

\subsection Collisions Collisions
## Collisions {#Collisions}

- \ref ExampleDetectCollisions
- \ref ExampleDetectCollisionsPrecise
- \ref ExampleDetectSelfIntersections

\subsection PythonSpecificExamples Python Specific Samples
## Python Specific Samples {#PythonSpecificExamples}

- \ref ExampleViewer
- \ref ExampleViewerVolumeRender
Expand All @@ -55,5 +53,3 @@ A number of these operations also run interactively in the browser: see the [liv
- \ref ExampleNumpyTriangulation
- \ref ExampleCudaOffset
- \ref ExampleDicomFiles

*/
Original file line number Diff line number Diff line change
@@ -1,30 +1,28 @@
/**
\page ExampleFreeForm Free Form Deformation Example
# Free Form Deformation Example {#ExampleFreeForm}

Example of using Free Form deformation of the mesh

▶ [See it live in the browser](https://demo.meshlib.io/#deform)

<div class="tabbed">

- <b class="tab-title">C++</b>
\include FreeFormDeformation.dox.cpp

- <b class="tab-title">Python</b>
\note Python API version 3 and later

> [!NOTE]
> Python API version 3 and later

\include FreeFormDeformation.dox.py

- <b class="tab-title">C</b>
\include FreeFormDeformation.dox.c

- <b class="tab-title">C#</b>
\include FreeFormDeformation.dox.cs

- <b class="tab-title">JavaScript</b>
\include FreeFormDeformation.dox.js
\include{doc} JsUsingNote.dox
\include{doc} JsUsingNote.md

</div>

*/
Loading
Loading