Skip to content

Commit

Permalink
build based on 19b9821
Browse files Browse the repository at this point in the history
  • Loading branch information
Documenter.jl committed Sep 19, 2024
1 parent 3c81173 commit 3de3e82
Show file tree
Hide file tree
Showing 8 changed files with 17 additions and 17 deletions.
2 changes: 1 addition & 1 deletion previews/PR219/.documenter-siteinfo.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"documenter":{"julia_version":"1.7.3","generation_timestamp":"2024-09-19T10:33:01","documenter_version":"1.7.0"}}
{"documenter":{"julia_version":"1.7.3","generation_timestamp":"2024-09-19T10:50:47","documenter_version":"1.7.0"}}
20 changes: 10 additions & 10 deletions previews/PR219/api/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion previews/PR219/decomposition/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion previews/PR219/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@
faces: 2
vertex position: 4</code></pre><p>Use <code>GeometryBasics.mesh</code> to get a mesh directly from a geometry:</p><pre><code class="language-julia-repl hljs" style="display:block;">julia&gt; mesh = GeometryBasics.mesh(rect)</code><code class="nohighlight hljs ansi" style="display:block;">Mesh{2, Float64, NgonFace{3, OffsetInteger{-1, UInt32}}}
faces: 2
vertex position: 4</code></pre></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="primitives/">Primitives »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 19 September 2024 10:33">Thursday 19 September 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
vertex position: 4</code></pre></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="primitives/">Primitives »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 19 September 2024 10:50">Thursday 19 September 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
2 changes: 1 addition & 1 deletion previews/PR219/meshes/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@
end</code></pre><p>Its purpose is to allow you to add data that needs to be defined per vertex but does not match the vertex structure used by <code>mesh.faces</code>.</p><p>As a minimal example consider a mesh that is just one triangle, i.e. 3 position and one triangle face <code>TriangleFace(1,2,3)</code>. Let&#39;s say we want to add a flat color to the triangle. In this case we only have one color, but our face refers to 3 different vertices (3 different positions). To avoid duplicating the color data, we can instead define a new triangle face <code>TriangleFace(1)</code> and add the color attribute as a <code>FaceView([color], [TriangleFace(1)])</code>. If we ever need the mesh to be defined with just one common set of faces, i.e. no FaceView and appropriately duplicated vertex data, we can use <code>GeometryBasics.clear_faceviews(mesh)</code> to generate it.</p><p>On a larger scale this can be useful for memory and performance reason, e.g. when you do calculations with vertex attributes. It can also simplify some definitions, like for example <code>Rect3</code>. In that case we have 8 positions and 6 normals with FaceViews, or 24 without (assuming per-face normals). </p><h2 id="MetaMesh"><a class="docs-heading-anchor" href="#MetaMesh">MetaMesh</a><a id="MetaMesh-1"></a><a class="docs-heading-anchor-permalink" href="#MetaMesh" title="Permalink"></a></h2><p>A <code>MetaMesh</code> is given by</p><pre><code class="language-julia hljs">struct MetaMesh{Dim, T, M &lt;: AbstractMesh{Dim, T}} &lt;: AbstractMesh{Dim, T}
mesh::M
meta::Dict{Symbol, Any}
end</code></pre><p>where <code>meta</code> may contain any data you want to include with a mesh. For example, you could include group names or material data corresponding to <code>mesh.views</code>.</p><h2 id="How-to-create-a-mesh"><a class="docs-heading-anchor" href="#How-to-create-a-mesh">How to create a mesh</a><a id="How-to-create-a-mesh-1"></a><a class="docs-heading-anchor-permalink" href="#How-to-create-a-mesh" title="Permalink"></a></h2><h3 id="GeometryBasics"><a class="docs-heading-anchor" href="#GeometryBasics">GeometryBasics</a><a id="GeometryBasics-1"></a><a class="docs-heading-anchor-permalink" href="#GeometryBasics" title="Permalink"></a></h3><p>In GeometryBasics you mainly create meshes from primitives using a few constructors:</p><ul><li><code>triangle_mesh(primitive)</code> generates the most basic mesh (i.e. positions and faces)</li><li><code>normal_mesh(primitive)</code> generates a mesh with normals (generated if the primitive doesn&#39;t implement <code>normal()</code>)</li><li><code>uv_mesh(primitive)</code> generates a mesh with texture coordinates (generated if the primitive doesn&#39;t implement <code>texturecoordinates()</code>)</li><li><code>uv_normal_mesh(primitive)</code> generates a mesh with normals and texture coordinates</li></ul><p>Each of these constructors also includes keyword arguments for setting types, i.e. <code>pointtype</code>, <code>facetype</code>, <code>normaltype</code> and <code>uvtype</code> as appropriate. Of course you can also construct a mesh directly from data, either with there various <code>Mesh()</code> or <code>GeometryBasics.mesh()</code> constructors. The latter also include a <code>pointtype</code> and <code>facetype</code> conversion.</p><p>Finally there is also a <code>merge(::Vector{Mesh})</code> function which combines multiple meshes into a single one. Note that this doesn&#39;t remove any data (e.g. hidden or duplicate vertices), and may remove <code>FaceView</code>s if they are incompatible between meshes.</p><h3 id="Meshing.jl"><a class="docs-heading-anchor" href="#Meshing.jl">Meshing.jl</a><a id="Meshing.jl-1"></a><a class="docs-heading-anchor-permalink" href="#Meshing.jl" title="Permalink"></a></h3><h3 id="MeshIO.jl"><a class="docs-heading-anchor" href="#MeshIO.jl">MeshIO.jl</a><a id="MeshIO.jl-1"></a><a class="docs-heading-anchor-permalink" href="#MeshIO.jl" title="Permalink"></a></h3><p>The <a href="https://github.com/JuliaIO/MeshIO.jl"><code>MeshIO.jl</code></a> package provides load/save support for several file formats which store meshes.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../polygons/">« Polygons</a><a class="docs-footer-nextpage" href="../decomposition/">Decomposition »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 19 September 2024 10:33">Thursday 19 September 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
end</code></pre><p>where <code>meta</code> may contain any data you want to include with a mesh. For example, you could include group names or material data corresponding to <code>mesh.views</code>.</p><h2 id="How-to-create-a-mesh"><a class="docs-heading-anchor" href="#How-to-create-a-mesh">How to create a mesh</a><a id="How-to-create-a-mesh-1"></a><a class="docs-heading-anchor-permalink" href="#How-to-create-a-mesh" title="Permalink"></a></h2><h3 id="GeometryBasics"><a class="docs-heading-anchor" href="#GeometryBasics">GeometryBasics</a><a id="GeometryBasics-1"></a><a class="docs-heading-anchor-permalink" href="#GeometryBasics" title="Permalink"></a></h3><p>In GeometryBasics you mainly create meshes from primitives using a few constructors:</p><ul><li><code>triangle_mesh(primitive)</code> generates the most basic mesh (i.e. positions and faces)</li><li><code>normal_mesh(primitive)</code> generates a mesh with normals (generated if the primitive doesn&#39;t implement <code>normal()</code>)</li><li><code>uv_mesh(primitive)</code> generates a mesh with texture coordinates (generated if the primitive doesn&#39;t implement <code>texturecoordinates()</code>)</li><li><code>uv_normal_mesh(primitive)</code> generates a mesh with normals and texture coordinates</li></ul><p>Each of these constructors also includes keyword arguments for setting types, i.e. <code>pointtype</code>, <code>facetype</code>, <code>normaltype</code> and <code>uvtype</code> as appropriate. Of course you can also construct a mesh directly from data, either with there various <code>Mesh()</code> or <code>GeometryBasics.mesh()</code> constructors. The latter also include a <code>pointtype</code> and <code>facetype</code> conversion.</p><p>Finally there is also a <code>merge(::Vector{Mesh})</code> function which combines multiple meshes into a single one. Note that this doesn&#39;t remove any data (e.g. hidden or duplicate vertices), and may remove <code>FaceView</code>s if they are incompatible between meshes.</p><h3 id="Meshing.jl"><a class="docs-heading-anchor" href="#Meshing.jl">Meshing.jl</a><a id="Meshing.jl-1"></a><a class="docs-heading-anchor-permalink" href="#Meshing.jl" title="Permalink"></a></h3><h3 id="MeshIO.jl"><a class="docs-heading-anchor" href="#MeshIO.jl">MeshIO.jl</a><a id="MeshIO.jl-1"></a><a class="docs-heading-anchor-permalink" href="#MeshIO.jl" title="Permalink"></a></h3><p>The <a href="https://github.com/JuliaIO/MeshIO.jl"><code>MeshIO.jl</code></a> package provides load/save support for several file formats which store meshes.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../polygons/">« Polygons</a><a class="docs-footer-nextpage" href="../decomposition/">Decomposition »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Thursday 19 September 2024 10:50">Thursday 19 September 2024</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
Loading

0 comments on commit 3de3e82

Please sign in to comment.