[{"data":1,"prerenderedAt":1769},["ShallowReactive",2],{"navigation-docsCpp":3,"lib-picker-navigation":178,"docsCpp-\u002Fcpp\u002Fmodules\u002Fiso":438,"docsCpp-\u002Fcpp\u002Fmodules\u002Fiso-surround":1764},[4],{"title":5,"path":6,"stem":7,"children":8,"page":32},"Cpp","\u002Fcpp","cpp",[9,33,100,105,129,159],{"title":10,"path":11,"stem":12,"children":13,"icon":32},"Getting Started","\u002Fcpp\u002Fgetting-started","cpp\u002F1.getting-started\u002F1.index",[14,17,22,27],{"title":15,"path":11,"stem":12,"icon":16},"Introduction","i-lucide-house",{"title":18,"path":19,"stem":20,"icon":21},"Installation","\u002Fcpp\u002Fgetting-started\u002Finstallation","cpp\u002F1.getting-started\u002F2.installation","i-lucide-download",{"title":23,"path":24,"stem":25,"icon":26},"Live Examples","\u002Fcpp\u002Fgetting-started\u002Flive-examples","cpp\u002F1.getting-started\u002F3.live-examples","i-lucide-play",{"title":28,"path":29,"stem":30,"icon":31},"Release Notes","\u002Fcpp\u002Fgetting-started\u002Frelease-notes","cpp\u002F1.getting-started\u002F4.release-notes","i-lucide-sparkles",false,{"title":34,"path":35,"stem":36,"children":37,"icon":32},"Modules","\u002Fcpp\u002Fmodules","cpp\u002F2.modules\u002F00.index",[38,41,46,51,56,61,66,71,76,81,86,90,95],{"title":39,"path":35,"stem":36,"icon":40},"Overview","i-lucide-library",{"title":42,"path":43,"stem":44,"icon":45},"Core","\u002Fcpp\u002Fmodules\u002Fcore","cpp\u002F2.modules\u002F01.core","i-lucide-atom",{"title":47,"path":48,"stem":49,"icon":50},"Spatial","\u002Fcpp\u002Fmodules\u002Fspatial","cpp\u002F2.modules\u002F02.spatial","i-lucide-scale-3d",{"title":52,"path":53,"stem":54,"icon":55},"Topology","\u002Fcpp\u002Fmodules\u002Ftopology","cpp\u002F2.modules\u002F03.topology","i-lucide-git-graph",{"title":57,"path":58,"stem":59,"icon":60},"Geometry","\u002Fcpp\u002Fmodules\u002Fgeometry","cpp\u002F2.modules\u002F04.geometry","i-lucide-ruler",{"title":62,"path":63,"stem":64,"icon":65},"Remesh","\u002Fcpp\u002Fmodules\u002Fremesh","cpp\u002F2.modules\u002F05.remesh","i-lucide-triangle",{"title":67,"path":68,"stem":69,"icon":70},"Intersect","\u002Fcpp\u002Fmodules\u002Fintersect","cpp\u002F2.modules\u002F06.intersect","i-lucide-squares-intersect",{"title":72,"path":73,"stem":74,"icon":75},"Arrangement","\u002Fcpp\u002Fmodules\u002Farrangement","cpp\u002F2.modules\u002F07.arrangement","i-lucide-scissors",{"title":77,"path":78,"stem":79,"icon":80},"Iso","\u002Fcpp\u002Fmodules\u002Fiso","cpp\u002F2.modules\u002F08.iso","i-lucide-waves",{"title":82,"path":83,"stem":84,"icon":85},"CSG","\u002Fcpp\u002Fmodules\u002Fcsg","cpp\u002F2.modules\u002F09.csg","i-lucide-shapes",{"title":87,"path":88,"stem":89,"icon":31},"Clean","\u002Fcpp\u002Fmodules\u002Fclean","cpp\u002F2.modules\u002F10.clean",{"title":91,"path":92,"stem":93,"icon":94},"Reindex","\u002Fcpp\u002Fmodules\u002Freindex","cpp\u002F2.modules\u002F11.reidx","i-lucide-shuffle",{"title":96,"path":97,"stem":98,"icon":99},"I\u002FO","\u002Fcpp\u002Fmodules\u002Fio","cpp\u002F2.modules\u002F12.io","i-lucide-file-input",{"title":101,"path":102,"stem":103,"icon":104},"Benchmarks","\u002Fcpp\u002Fbenchmarks","cpp\u002F3.benchmarks","i-lucide-chart-bar-stacked",{"title":106,"path":107,"stem":108,"children":109,"icon":32},"VTK","\u002Fcpp\u002Fvtk","cpp\u002F4.vtk\u002F1.index",[110,112,115,120,125],{"title":39,"path":107,"stem":108,"icon":111},"i-lucide-layers",{"title":42,"path":113,"stem":114,"icon":45},"\u002Fcpp\u002Fvtk\u002Fcore","cpp\u002F4.vtk\u002F2.core",{"title":116,"path":117,"stem":118,"icon":119},"Functions","\u002Fcpp\u002Fvtk\u002Ffunctions","cpp\u002F4.vtk\u002F3.functions","i-lucide-function-square",{"title":121,"path":122,"stem":123,"icon":124},"Filters","\u002Fcpp\u002Fvtk\u002Ffilters","cpp\u002F4.vtk\u002F4.filters","i-lucide-filter",{"title":126,"path":127,"stem":128,"icon":26},"Examples","\u002Fcpp\u002Fvtk\u002Fexamples","cpp\u002F4.vtk\u002F5.examples",{"title":126,"path":130,"stem":131,"children":132,"icon":32},"\u002Fcpp\u002Fexamples","cpp\u002F5.examples\u002F0.index",[133,135,140,145,150,154],{"title":39,"path":130,"stem":131,"icon":134},"i-lucide-book-open",{"title":136,"path":137,"stem":138,"icon":139},"Geometry Walkthrough","\u002Fcpp\u002Fexamples\u002Fmesh-assembly","cpp\u002F5.examples\u002F1.mesh-assembly","i-lucide-box",{"title":141,"path":142,"stem":143,"icon":144},"Point Cloud Alignment","\u002Fcpp\u002Fexamples\u002Falignment","cpp\u002F5.examples\u002F2.alignment","i-lucide-move",{"title":146,"path":147,"stem":148,"icon":149},"Booleans and Domains from One Build","\u002Fcpp\u002Fexamples\u002Farrangements","cpp\u002F5.examples\u002F3.arrangements","i-lucide-layers-3",{"title":151,"path":152,"stem":153,"icon":111},"VTK Integration","\u002Fcpp\u002Fexamples\u002Fvtk","cpp\u002F5.examples\u002F4.vtk",{"title":155,"path":156,"stem":157,"icon":158},"Coming from Other Libraries","\u002Fcpp\u002Fexamples\u002Flibrary-comparisons","cpp\u002F5.examples\u002F5.library-comparisons","i-lucide-git-compare",{"title":160,"path":161,"stem":162,"children":163,"page":32},"About","\u002Fcpp\u002Fabout","cpp\u002F6.about",[164,168,173],{"title":165,"path":166,"stem":167,"icon":134},"Research","\u002Fcpp\u002Fabout\u002Fresearch","cpp\u002F6.about\u002F1.research",{"title":169,"path":170,"stem":171,"icon":172},"Contributing","\u002Fcpp\u002Fabout\u002Fcontributing","cpp\u002F6.about\u002F2.contributing","i-lucide-heart-handshake",{"title":174,"path":175,"stem":176,"icon":177},"License","\u002Fcpp\u002Fabout\u002Flicense","cpp\u002F6.about\u002F3.license","i-lucide-file-text",{"cpp":179,"py":224,"ts":344},[180],{"title":5,"path":6,"stem":7,"children":181,"page":32},[182,188,203,204,211,219],{"title":10,"path":11,"stem":12,"children":183,"icon":32},[184,185,186,187],{"title":15,"path":11,"stem":12,"icon":16},{"title":18,"path":19,"stem":20,"icon":21},{"title":23,"path":24,"stem":25,"icon":26},{"title":28,"path":29,"stem":30,"icon":31},{"title":34,"path":35,"stem":36,"children":189,"icon":32},[190,191,192,193,194,195,196,197,198,199,200,201,202],{"title":39,"path":35,"stem":36,"icon":40},{"title":42,"path":43,"stem":44,"icon":45},{"title":47,"path":48,"stem":49,"icon":50},{"title":52,"path":53,"stem":54,"icon":55},{"title":57,"path":58,"stem":59,"icon":60},{"title":62,"path":63,"stem":64,"icon":65},{"title":67,"path":68,"stem":69,"icon":70},{"title":72,"path":73,"stem":74,"icon":75},{"title":77,"path":78,"stem":79,"icon":80},{"title":82,"path":83,"stem":84,"icon":85},{"title":87,"path":88,"stem":89,"icon":31},{"title":91,"path":92,"stem":93,"icon":94},{"title":96,"path":97,"stem":98,"icon":99},{"title":101,"path":102,"stem":103,"icon":104},{"title":106,"path":107,"stem":108,"children":205,"icon":32},[206,207,208,209,210],{"title":39,"path":107,"stem":108,"icon":111},{"title":42,"path":113,"stem":114,"icon":45},{"title":116,"path":117,"stem":118,"icon":119},{"title":121,"path":122,"stem":123,"icon":124},{"title":126,"path":127,"stem":128,"icon":26},{"title":126,"path":130,"stem":131,"children":212,"icon":32},[213,214,215,216,217,218],{"title":39,"path":130,"stem":131,"icon":134},{"title":136,"path":137,"stem":138,"icon":139},{"title":141,"path":142,"stem":143,"icon":144},{"title":146,"path":147,"stem":148,"icon":149},{"title":151,"path":152,"stem":153,"icon":111},{"title":155,"path":156,"stem":157,"icon":158},{"title":160,"path":161,"stem":162,"children":220,"page":32},[221,222,223],{"title":165,"path":166,"stem":167,"icon":134},{"title":169,"path":170,"stem":171,"icon":172},{"title":174,"path":175,"stem":176,"icon":177},[225],{"title":226,"path":227,"stem":228,"children":229,"page":32},"Py","\u002Fpy","py",[230,244,285,288,309,331],{"title":10,"path":231,"stem":232,"children":233,"icon":32},"\u002Fpy\u002Fgetting-started","py\u002F1.getting-started\u002F1.index",[234,235,238,241],{"title":15,"path":231,"stem":232,"icon":16},{"title":18,"path":236,"stem":237,"icon":21},"\u002Fpy\u002Fgetting-started\u002Finstallation","py\u002F1.getting-started\u002F2.installation",{"title":23,"path":239,"stem":240,"icon":26},"\u002Fpy\u002Fgetting-started\u002Flive-examples","py\u002F1.getting-started\u002F3.live-examples",{"title":28,"path":242,"stem":243,"icon":31},"\u002Fpy\u002Fgetting-started\u002Frelease-notes","py\u002F1.getting-started\u002F4.release-notes",{"title":34,"path":245,"stem":246,"children":247,"icon":32},"\u002Fpy\u002Fmodules","py\u002F2.modules\u002F00.index",[248,249,252,255,258,261,264,267,270,273,276,279,282],{"title":39,"path":245,"stem":246,"icon":40},{"title":42,"path":250,"stem":251,"icon":45},"\u002Fpy\u002Fmodules\u002Fcore","py\u002F2.modules\u002F01.core",{"title":47,"path":253,"stem":254,"icon":50},"\u002Fpy\u002Fmodules\u002Fspatial","py\u002F2.modules\u002F02.spatial",{"title":52,"path":256,"stem":257,"icon":55},"\u002Fpy\u002Fmodules\u002Ftopology","py\u002F2.modules\u002F03.topology",{"title":57,"path":259,"stem":260,"icon":60},"\u002Fpy\u002Fmodules\u002Fgeometry","py\u002F2.modules\u002F04.geometry",{"title":62,"path":262,"stem":263,"icon":65},"\u002Fpy\u002Fmodules\u002Fremesh","py\u002F2.modules\u002F05.remesh",{"title":67,"path":265,"stem":266,"icon":70},"\u002Fpy\u002Fmodules\u002Fintersect","py\u002F2.modules\u002F06.intersect",{"title":72,"path":268,"stem":269,"icon":75},"\u002Fpy\u002Fmodules\u002Farrangement","py\u002F2.modules\u002F07.arrangement",{"title":77,"path":271,"stem":272,"icon":80},"\u002Fpy\u002Fmodules\u002Fiso","py\u002F2.modules\u002F08.iso",{"title":82,"path":274,"stem":275,"icon":85},"\u002Fpy\u002Fmodules\u002Fcsg","py\u002F2.modules\u002F09.csg",{"title":87,"path":277,"stem":278,"icon":31},"\u002Fpy\u002Fmodules\u002Fclean","py\u002F2.modules\u002F10.clean",{"title":91,"path":280,"stem":281,"icon":94},"\u002Fpy\u002Fmodules\u002Freindex","py\u002F2.modules\u002F11.reidx",{"title":96,"path":283,"stem":284,"icon":99},"\u002Fpy\u002Fmodules\u002Fio","py\u002F2.modules\u002F12.io",{"title":101,"path":286,"stem":287,"icon":104},"\u002Fpy\u002Fbenchmarks","py\u002F3.benchmarks",{"title":289,"path":290,"stem":291,"children":292,"icon":32},"Blender","\u002Fpy\u002Fblender","py\u002F4.blender\u002F1.index",[293,295,300,304],{"title":39,"path":290,"stem":291,"icon":294},"i-vscode-icons:file-type-blender",{"title":296,"path":297,"stem":298,"icon":299},"Convert","\u002Fpy\u002Fblender\u002Fconvert","py\u002F4.blender\u002F2.convert","i-lucide-repeat",{"title":301,"path":302,"stem":303,"icon":111},"Scene","\u002Fpy\u002Fblender\u002Fscene","py\u002F4.blender\u002F3.scene",{"title":305,"path":306,"stem":307,"icon":308},"Plugin Architecture","\u002Fpy\u002Fblender\u002Fplugin","py\u002F4.blender\u002F4.plugin","i-lucide-puzzle",{"title":126,"path":310,"stem":311,"children":312,"icon":32},"\u002Fpy\u002Fexamples","py\u002F5.examples\u002F0.index",[313,314,319,322,326],{"title":39,"path":310,"stem":311,"icon":134},{"title":315,"path":316,"stem":317,"icon":318},"Core Functionality","\u002Fpy\u002Fexamples\u002Fcore-functionality","py\u002F5.examples\u002F2.core-functionality","i-lucide-code",{"title":146,"path":320,"stem":321,"icon":149},"\u002Fpy\u002Fexamples\u002Farrangements","py\u002F5.examples\u002F3.arrangements",{"title":151,"path":323,"stem":324,"icon":325},"\u002Fpy\u002Fexamples\u002Fvtk-integration","py\u002F5.examples\u002F4.vtk-integration","i-lucide-grid-2x2",{"title":327,"path":328,"stem":329,"icon":330},"Raycast Rendering","\u002Fpy\u002Fexamples\u002Fraycast-rendering","py\u002F5.examples\u002F5.raycast-rendering","i-lucide-scan-line",{"title":160,"path":332,"stem":333,"children":334,"page":32},"\u002Fpy\u002Fabout","py\u002F6.about",[335,338,341],{"title":165,"path":336,"stem":337,"icon":134},"\u002Fpy\u002Fabout\u002Fresearch","py\u002F6.about\u002F1.research",{"title":169,"path":339,"stem":340,"icon":172},"\u002Fpy\u002Fabout\u002Fcontributing","py\u002F6.about\u002F2.contributing",{"title":174,"path":342,"stem":343,"icon":177},"\u002Fpy\u002Fabout\u002Flicense","py\u002F6.about\u002F3.license",[345],{"title":346,"path":347,"stem":348,"children":349,"page":32},"Ts","\u002Fts","ts",[350,364,405,408,425],{"title":10,"path":351,"stem":352,"children":353,"icon":32},"\u002Fts\u002Fgetting-started","ts\u002F1.getting-started\u002F1.index",[354,355,358,361],{"title":15,"path":351,"stem":352,"icon":16},{"title":18,"path":356,"stem":357,"icon":21},"\u002Fts\u002Fgetting-started\u002Finstallation","ts\u002F1.getting-started\u002F2.installation",{"title":23,"path":359,"stem":360,"icon":26},"\u002Fts\u002Fgetting-started\u002Flive-examples","ts\u002F1.getting-started\u002F3.live-examples",{"title":28,"path":362,"stem":363,"icon":31},"\u002Fts\u002Fgetting-started\u002Frelease-notes","ts\u002F1.getting-started\u002F4.release-notes",{"title":34,"path":365,"stem":366,"children":367,"icon":32},"\u002Fts\u002Fmodules","ts\u002F2.modules\u002F00.index",[368,369,372,375,378,381,384,387,390,393,396,399,402],{"title":39,"path":365,"stem":366,"icon":40},{"title":42,"path":370,"stem":371,"icon":45},"\u002Fts\u002Fmodules\u002Fcore","ts\u002F2.modules\u002F01.core",{"title":47,"path":373,"stem":374,"icon":50},"\u002Fts\u002Fmodules\u002Fspatial","ts\u002F2.modules\u002F02.spatial",{"title":52,"path":376,"stem":377,"icon":55},"\u002Fts\u002Fmodules\u002Ftopology","ts\u002F2.modules\u002F03.topology",{"title":57,"path":379,"stem":380,"icon":60},"\u002Fts\u002Fmodules\u002Fgeometry","ts\u002F2.modules\u002F04.geometry",{"title":62,"path":382,"stem":383,"icon":65},"\u002Fts\u002Fmodules\u002Fremesh","ts\u002F2.modules\u002F05.remesh",{"title":67,"path":385,"stem":386,"icon":70},"\u002Fts\u002Fmodules\u002Fintersect","ts\u002F2.modules\u002F06.intersect",{"title":72,"path":388,"stem":389,"icon":75},"\u002Fts\u002Fmodules\u002Farrangement","ts\u002F2.modules\u002F07.arrangement",{"title":77,"path":391,"stem":392,"icon":80},"\u002Fts\u002Fmodules\u002Fiso","ts\u002F2.modules\u002F08.iso",{"title":82,"path":394,"stem":395,"icon":85},"\u002Fts\u002Fmodules\u002Fcsg","ts\u002F2.modules\u002F09.csg",{"title":87,"path":397,"stem":398,"icon":31},"\u002Fts\u002Fmodules\u002Fclean","ts\u002F2.modules\u002F10.clean",{"title":91,"path":400,"stem":401,"icon":94},"\u002Fts\u002Fmodules\u002Freindex","ts\u002F2.modules\u002F11.reidx",{"title":96,"path":403,"stem":404,"icon":99},"\u002Fts\u002Fmodules\u002Fio","ts\u002F2.modules\u002F12.io",{"title":101,"path":406,"stem":407,"icon":104},"\u002Fts\u002Fbenchmarks","ts\u002F3.benchmarks",{"title":126,"path":409,"stem":410,"children":411,"icon":32},"\u002Fts\u002Fexamples","ts\u002F4.examples\u002F0.index",[412,413,416,421],{"title":39,"path":409,"stem":410,"icon":134},{"title":315,"path":414,"stem":415,"icon":318},"\u002Fts\u002Fexamples\u002Fcore-functionality","ts\u002F4.examples\u002F2.core-functionality",{"title":417,"path":418,"stem":419,"icon":420},"Alignment","\u002Fts\u002Fexamples\u002Falignment","ts\u002F4.examples\u002F3.alignment","i-lucide-move-3d",{"title":327,"path":422,"stem":423,"icon":424},"\u002Fts\u002Fexamples\u002Fraycast-render","ts\u002F4.examples\u002F4.raycast-render","i-lucide-image",{"title":160,"icon":32,"path":426,"stem":427,"children":428,"page":32},"\u002Fts\u002Fabout","ts\u002F5.about",[429,432,435],{"title":165,"path":430,"stem":431,"icon":134},"\u002Fts\u002Fabout\u002Fresearch","ts\u002F5.about\u002F1.research",{"title":169,"path":433,"stem":434,"icon":172},"\u002Fts\u002Fabout\u002Fcontributing","ts\u002F5.about\u002F2.contributing",{"title":174,"path":436,"stem":437,"icon":177},"\u002Fts\u002Fabout\u002Flicense","ts\u002F5.about\u002F3.license",{"id":439,"title":77,"body":440,"description":1756,"extension":1757,"links":1758,"meta":1759,"navigation":1760,"path":78,"seo":1761,"sitemap":1762,"stem":79,"__hash__":1763},"docsCpp\u002Fcpp\u002F2.modules\u002F08.iso.md",{"type":441,"value":442,"toc":1746},"minimark",[443,447,450,479,484,487,492,630,634,739,743,746,1028,1047,1051,1061,1229,1233,1240,1430,1467,1470,1474,1477,1487,1742],[444,445,446],"p",{},"The Iso module is the scalar field pipeline. It is driven by field crossings rather than by polygon intersections, so it is a tier of its own: the crossings a field states on a mesh, the curves they trace, and the mesh recut so those curves are edges.",[444,448,449],{},"Include the module with:",[451,452,456],"pre",{"className":453,"code":454,"language":7,"meta":455,"style":455},"language-cpp shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","#include \u003Ctrueform\u002Fiso.hpp>\n","",[457,458,459],"code",{"__ignoreMap":455},[460,461,464,468,472,476],"span",{"class":462,"line":463},"line",1,[460,465,467],{"class":466},"s7zQu","#include",[460,469,471],{"class":470},"sMK4o"," \u003C",[460,473,475],{"class":474},"sfazB","trueform\u002Fiso.hpp",[460,477,478],{"class":470},">\n",[480,481,483],"h2",{"id":482},"isocontours","Isocontours",[444,485,486],{},"Extract curves where a scalar field crosses threshold values.",[488,489,491],"h3",{"id":490},"single-isocontour","Single Isocontour",[451,493,496],{"className":453,"code":494,"filename":495,"language":7,"meta":455,"style":455},"std::vector\u003Cfloat> scalar_field(mesh.points().size());\n\u002F\u002F Assign scalar values to vertices...\n\nfloat threshold = 0.5f;\nauto contour = tf::make_isocontours(mesh.polygons(), tf::make_range(scalar_field), threshold);\n","isocontour.cpp",[457,497,498,546,553,560,578],{"__ignoreMap":455},[460,499,500,504,507,510,513,517,520,524,527,530,534,537,540,543],{"class":462,"line":463},[460,501,503],{"class":502},"sBMFI","std",[460,505,506],{"class":470},"::",[460,508,509],{"class":502},"vector",[460,511,512],{"class":470},"\u003C",[460,514,516],{"class":515},"spNyl","float",[460,518,519],{"class":470},">",[460,521,523],{"class":522},"s2Zo4"," scalar_field",[460,525,526],{"class":470},"(",[460,528,529],{"class":502},"mesh",[460,531,533],{"class":532},"sTEyZ",".",[460,535,536],{"class":522},"points",[460,538,539],{"class":470},"().",[460,541,542],{"class":522},"size",[460,544,545],{"class":470},"());\n",[460,547,549],{"class":462,"line":548},2,[460,550,552],{"class":551},"sHwdD","\u002F\u002F Assign scalar values to vertices...\n",[460,554,556],{"class":462,"line":555},3,[460,557,559],{"emptyLinePlaceholder":558},true,"\n",[460,561,563,565,568,571,575],{"class":462,"line":562},4,[460,564,516],{"class":515},[460,566,567],{"class":532}," threshold ",[460,569,570],{"class":470},"=",[460,572,574],{"class":573},"sbssI"," 0.5f",[460,576,577],{"class":470},";\n",[460,579,581,584,587,589,592,594,597,599,601,603,606,609,611,613,616,618,621,624,627],{"class":462,"line":580},5,[460,582,583],{"class":515},"auto",[460,585,586],{"class":532}," contour ",[460,588,570],{"class":470},[460,590,591],{"class":502}," tf",[460,593,506],{"class":470},[460,595,596],{"class":522},"make_isocontours",[460,598,526],{"class":470},[460,600,529],{"class":532},[460,602,533],{"class":470},[460,604,605],{"class":522},"polygons",[460,607,608],{"class":470},"(),",[460,610,591],{"class":502},[460,612,506],{"class":470},[460,614,615],{"class":522},"make_range",[460,617,526],{"class":470},[460,619,620],{"class":532},"scalar_field",[460,622,623],{"class":470},"),",[460,625,626],{"class":532}," threshold",[460,628,629],{"class":470},");\n",[488,631,633],{"id":632},"multiple-isocontours","Multiple Isocontours",[451,635,638],{"className":453,"code":636,"filename":637,"language":7,"meta":455,"style":455},"std::vector\u003Cfloat> levels = {0.0f, 0.25f, 0.5f, 0.75f, 1.0f};\nauto contours = tf::make_isocontours(mesh.polygons(), tf::make_range(scalar_field), tf::make_range(levels));\n","multi_isocontours.cpp",[457,639,640,688],{"__ignoreMap":455},[460,641,642,644,646,648,650,652,654,657,659,662,665,668,671,673,675,677,680,682,685],{"class":462,"line":463},[460,643,503],{"class":502},[460,645,506],{"class":470},[460,647,509],{"class":532},[460,649,512],{"class":470},[460,651,516],{"class":515},[460,653,519],{"class":470},[460,655,656],{"class":532}," levels ",[460,658,570],{"class":470},[460,660,661],{"class":470}," {",[460,663,664],{"class":573},"0.0f",[460,666,667],{"class":470},",",[460,669,670],{"class":573}," 0.25f",[460,672,667],{"class":470},[460,674,574],{"class":573},[460,676,667],{"class":470},[460,678,679],{"class":573}," 0.75f",[460,681,667],{"class":470},[460,683,684],{"class":573}," 1.0f",[460,686,687],{"class":470},"};\n",[460,689,690,692,695,697,699,701,703,705,707,709,711,713,715,717,719,721,723,725,727,729,731,733,736],{"class":462,"line":548},[460,691,583],{"class":515},[460,693,694],{"class":532}," contours ",[460,696,570],{"class":470},[460,698,591],{"class":502},[460,700,506],{"class":470},[460,702,596],{"class":522},[460,704,526],{"class":470},[460,706,529],{"class":532},[460,708,533],{"class":470},[460,710,605],{"class":522},[460,712,608],{"class":470},[460,714,591],{"class":502},[460,716,506],{"class":470},[460,718,615],{"class":522},[460,720,526],{"class":470},[460,722,620],{"class":532},[460,724,623],{"class":470},[460,726,591],{"class":502},[460,728,506],{"class":470},[460,730,615],{"class":522},[460,732,526],{"class":470},[460,734,735],{"class":532},"levels",[460,737,738],{"class":470},"));\n",[480,740,742],{"id":741},"embedded-isocurves","Embedded Isocurves",[444,744,745],{},"Isocurves are level sets of a scalar field. Embedding them creates a mesh where contour lines become edges:",[451,747,750],{"className":453,"code":748,"filename":749,"language":7,"meta":455,"style":455},"tf::buffer\u003Cfloat> scalar_field;\nscalar_field.allocate(mesh.points().size());\n\u002F\u002F Assign scalar values to vertices...\n\nstd::array\u003Cfloat, 3> cut_values = {0.0f, 0.5f, 1.0f};\n\nauto [result, labels, face_labels] = tf::embedded_isocurves(\n    mesh.polygons(),\n    tf::make_range(scalar_field),\n    tf::make_range(cut_values));\n\n\u002F\u002F With curves\nauto [result, labels, face_labels, curves] = tf::embedded_isocurves(\n    mesh.polygons(),\n    tf::make_range(scalar_field),\n    tf::make_range(cut_values),\n    tf::return_curves);\n","embedded_isocurves.cpp",[457,751,752,772,795,799,803,842,847,884,897,914,930,935,941,975,986,1001,1016],{"__ignoreMap":455},[460,753,754,757,759,762,764,766,768,770],{"class":462,"line":463},[460,755,756],{"class":502},"tf",[460,758,506],{"class":470},[460,760,761],{"class":532},"buffer",[460,763,512],{"class":470},[460,765,516],{"class":515},[460,767,519],{"class":470},[460,769,523],{"class":532},[460,771,577],{"class":470},[460,773,774,776,778,781,783,785,787,789,791,793],{"class":462,"line":548},[460,775,620],{"class":532},[460,777,533],{"class":470},[460,779,780],{"class":522},"allocate",[460,782,526],{"class":470},[460,784,529],{"class":532},[460,786,533],{"class":470},[460,788,536],{"class":522},[460,790,539],{"class":470},[460,792,542],{"class":522},[460,794,545],{"class":470},[460,796,797],{"class":462,"line":555},[460,798,552],{"class":551},[460,800,801],{"class":462,"line":562},[460,802,559],{"emptyLinePlaceholder":558},[460,804,805,807,809,812,814,816,818,821,823,826,828,830,832,834,836,838,840],{"class":462,"line":580},[460,806,503],{"class":502},[460,808,506],{"class":470},[460,810,811],{"class":532},"array",[460,813,512],{"class":470},[460,815,516],{"class":515},[460,817,667],{"class":470},[460,819,820],{"class":573}," 3",[460,822,519],{"class":470},[460,824,825],{"class":532}," cut_values ",[460,827,570],{"class":470},[460,829,661],{"class":470},[460,831,664],{"class":573},[460,833,667],{"class":470},[460,835,574],{"class":573},[460,837,667],{"class":470},[460,839,684],{"class":573},[460,841,687],{"class":470},[460,843,845],{"class":462,"line":844},6,[460,846,559],{"emptyLinePlaceholder":558},[460,848,850,852,855,858,860,863,865,868,871,874,876,878,881],{"class":462,"line":849},7,[460,851,583],{"class":515},[460,853,854],{"class":470}," [",[460,856,857],{"class":532},"result",[460,859,667],{"class":470},[460,861,862],{"class":532}," labels",[460,864,667],{"class":470},[460,866,867],{"class":532}," face_labels",[460,869,870],{"class":470},"]",[460,872,873],{"class":470}," =",[460,875,591],{"class":502},[460,877,506],{"class":470},[460,879,880],{"class":522},"embedded_isocurves",[460,882,883],{"class":470},"(\n",[460,885,887,890,892,894],{"class":462,"line":886},8,[460,888,889],{"class":532},"    mesh",[460,891,533],{"class":470},[460,893,605],{"class":522},[460,895,896],{"class":470},"(),\n",[460,898,900,903,905,907,909,911],{"class":462,"line":899},9,[460,901,902],{"class":502},"    tf",[460,904,506],{"class":470},[460,906,615],{"class":522},[460,908,526],{"class":470},[460,910,620],{"class":532},[460,912,913],{"class":470},"),\n",[460,915,917,919,921,923,925,928],{"class":462,"line":916},10,[460,918,902],{"class":502},[460,920,506],{"class":470},[460,922,615],{"class":522},[460,924,526],{"class":470},[460,926,927],{"class":532},"cut_values",[460,929,738],{"class":470},[460,931,933],{"class":462,"line":932},11,[460,934,559],{"emptyLinePlaceholder":558},[460,936,938],{"class":462,"line":937},12,[460,939,940],{"class":551},"\u002F\u002F With curves\n",[460,942,944,946,948,950,952,954,956,958,960,963,965,967,969,971,973],{"class":462,"line":943},13,[460,945,583],{"class":515},[460,947,854],{"class":470},[460,949,857],{"class":532},[460,951,667],{"class":470},[460,953,862],{"class":532},[460,955,667],{"class":470},[460,957,867],{"class":532},[460,959,667],{"class":470},[460,961,962],{"class":532}," curves",[460,964,870],{"class":470},[460,966,873],{"class":470},[460,968,591],{"class":502},[460,970,506],{"class":470},[460,972,880],{"class":522},[460,974,883],{"class":470},[460,976,978,980,982,984],{"class":462,"line":977},14,[460,979,889],{"class":532},[460,981,533],{"class":470},[460,983,605],{"class":522},[460,985,896],{"class":470},[460,987,989,991,993,995,997,999],{"class":462,"line":988},15,[460,990,902],{"class":502},[460,992,506],{"class":470},[460,994,615],{"class":522},[460,996,526],{"class":470},[460,998,620],{"class":532},[460,1000,913],{"class":470},[460,1002,1004,1006,1008,1010,1012,1014],{"class":462,"line":1003},16,[460,1005,902],{"class":502},[460,1007,506],{"class":470},[460,1009,615],{"class":522},[460,1011,526],{"class":470},[460,1013,927],{"class":532},[460,1015,913],{"class":470},[460,1017,1019,1021,1023,1026],{"class":462,"line":1018},17,[460,1020,902],{"class":502},[460,1022,506],{"class":470},[460,1024,1025],{"class":532},"return_curves",[460,1027,629],{"class":470},[444,1029,1030,1031,1034,1035,1038,1039,1042,1043,1046],{},"The ",[457,1032,1033],{},"labels"," buffer contains one integer per face, indicating which isoband the face belongs to. Labels ",[457,1036,1037],{},"0, 1, 2, ..."," correspond to regions ",[457,1040,1041],{},"(-∞, cut_values[0])",", ",[457,1044,1045],{},"[cut_values[0], cut_values[1])",", etc.",[480,1048,1050],{"id":1049},"isobands","Isobands",[444,1052,1053,1054,1056,1057,1060],{},"While ",[457,1055,880],{}," creates a mesh with all regions, ",[457,1058,1059],{},"make_isobands"," extracts only selected bands:",[451,1062,1065],{"className":453,"code":1063,"filename":1064,"language":7,"meta":455,"style":455},"std::array\u003Cfloat, 4> cut_values = {0.0f, 0.25f, 0.5f, 0.75f};\nstd::array\u003Cint, 2> selected_bands = {1, 3};\n\nauto [result, labels, face_labels] = tf::make_isobands(\n    mesh.polygons(),\n    tf::make_range(scalar_field),\n    tf::make_range(cut_values),\n    tf::make_range(selected_bands));\n","isobands.cpp",[457,1066,1067,1108,1144,1148,1176,1186,1200,1214],{"__ignoreMap":455},[460,1068,1069,1071,1073,1075,1077,1079,1081,1084,1086,1088,1090,1092,1094,1096,1098,1100,1102,1104,1106],{"class":462,"line":463},[460,1070,503],{"class":502},[460,1072,506],{"class":470},[460,1074,811],{"class":532},[460,1076,512],{"class":470},[460,1078,516],{"class":515},[460,1080,667],{"class":470},[460,1082,1083],{"class":573}," 4",[460,1085,519],{"class":470},[460,1087,825],{"class":532},[460,1089,570],{"class":470},[460,1091,661],{"class":470},[460,1093,664],{"class":573},[460,1095,667],{"class":470},[460,1097,670],{"class":573},[460,1099,667],{"class":470},[460,1101,574],{"class":573},[460,1103,667],{"class":470},[460,1105,679],{"class":573},[460,1107,687],{"class":470},[460,1109,1110,1112,1114,1116,1118,1121,1123,1126,1128,1131,1133,1135,1138,1140,1142],{"class":462,"line":548},[460,1111,503],{"class":502},[460,1113,506],{"class":470},[460,1115,811],{"class":532},[460,1117,512],{"class":470},[460,1119,1120],{"class":515},"int",[460,1122,667],{"class":470},[460,1124,1125],{"class":573}," 2",[460,1127,519],{"class":470},[460,1129,1130],{"class":532}," selected_bands ",[460,1132,570],{"class":470},[460,1134,661],{"class":470},[460,1136,1137],{"class":573},"1",[460,1139,667],{"class":470},[460,1141,820],{"class":573},[460,1143,687],{"class":470},[460,1145,1146],{"class":462,"line":555},[460,1147,559],{"emptyLinePlaceholder":558},[460,1149,1150,1152,1154,1156,1158,1160,1162,1164,1166,1168,1170,1172,1174],{"class":462,"line":562},[460,1151,583],{"class":515},[460,1153,854],{"class":470},[460,1155,857],{"class":532},[460,1157,667],{"class":470},[460,1159,862],{"class":532},[460,1161,667],{"class":470},[460,1163,867],{"class":532},[460,1165,870],{"class":470},[460,1167,873],{"class":470},[460,1169,591],{"class":502},[460,1171,506],{"class":470},[460,1173,1059],{"class":522},[460,1175,883],{"class":470},[460,1177,1178,1180,1182,1184],{"class":462,"line":580},[460,1179,889],{"class":532},[460,1181,533],{"class":470},[460,1183,605],{"class":522},[460,1185,896],{"class":470},[460,1187,1188,1190,1192,1194,1196,1198],{"class":462,"line":844},[460,1189,902],{"class":502},[460,1191,506],{"class":470},[460,1193,615],{"class":522},[460,1195,526],{"class":470},[460,1197,620],{"class":532},[460,1199,913],{"class":470},[460,1201,1202,1204,1206,1208,1210,1212],{"class":462,"line":849},[460,1203,902],{"class":502},[460,1205,506],{"class":470},[460,1207,615],{"class":522},[460,1209,526],{"class":470},[460,1211,927],{"class":532},[460,1213,913],{"class":470},[460,1215,1216,1218,1220,1222,1224,1227],{"class":462,"line":886},[460,1217,902],{"class":502},[460,1219,506],{"class":470},[460,1221,615],{"class":522},[460,1223,526],{"class":470},[460,1225,1226],{"class":532},"selected_bands",[460,1228,738],{"class":470},[480,1230,1232],{"id":1231},"refused-faces","Refused Faces",[444,1234,1235,1236,1239],{},"A cut face the triangulation declines holds no piece in any band, so its surface is simply absent from the result — emptiness is always the answer. Both emitters take ",[457,1237,1238],{},"tf::return_refused"," to also receive, ascending, the ids of those faces:",[451,1241,1244],{"className":453,"code":1242,"filename":1243,"language":7,"meta":455,"style":455},"auto [result, labels, face_labels, refused] = tf::embedded_isocurves(\n    mesh.polygons(),\n    tf::make_range(scalar_field),\n    tf::make_range(cut_values),\n    tf::return_refused);\n\nauto [bands, band_labels, band_face_labels, band_refused] = tf::make_isobands(\n    mesh.polygons(),\n    tf::make_range(scalar_field),\n    tf::make_range(cut_values),\n    tf::make_range(selected_bands),\n    tf::return_refused);\n","iso_refused.cpp",[457,1245,1246,1279,1289,1303,1317,1328,1332,1368,1378,1392,1406,1420],{"__ignoreMap":455},[460,1247,1248,1250,1252,1254,1256,1258,1260,1262,1264,1267,1269,1271,1273,1275,1277],{"class":462,"line":463},[460,1249,583],{"class":515},[460,1251,854],{"class":470},[460,1253,857],{"class":532},[460,1255,667],{"class":470},[460,1257,862],{"class":532},[460,1259,667],{"class":470},[460,1261,867],{"class":532},[460,1263,667],{"class":470},[460,1265,1266],{"class":532}," refused",[460,1268,870],{"class":470},[460,1270,873],{"class":470},[460,1272,591],{"class":502},[460,1274,506],{"class":470},[460,1276,880],{"class":522},[460,1278,883],{"class":470},[460,1280,1281,1283,1285,1287],{"class":462,"line":548},[460,1282,889],{"class":532},[460,1284,533],{"class":470},[460,1286,605],{"class":522},[460,1288,896],{"class":470},[460,1290,1291,1293,1295,1297,1299,1301],{"class":462,"line":555},[460,1292,902],{"class":502},[460,1294,506],{"class":470},[460,1296,615],{"class":522},[460,1298,526],{"class":470},[460,1300,620],{"class":532},[460,1302,913],{"class":470},[460,1304,1305,1307,1309,1311,1313,1315],{"class":462,"line":562},[460,1306,902],{"class":502},[460,1308,506],{"class":470},[460,1310,615],{"class":522},[460,1312,526],{"class":470},[460,1314,927],{"class":532},[460,1316,913],{"class":470},[460,1318,1319,1321,1323,1326],{"class":462,"line":580},[460,1320,902],{"class":502},[460,1322,506],{"class":470},[460,1324,1325],{"class":532},"return_refused",[460,1327,629],{"class":470},[460,1329,1330],{"class":462,"line":844},[460,1331,559],{"emptyLinePlaceholder":558},[460,1333,1334,1336,1338,1341,1343,1346,1348,1351,1353,1356,1358,1360,1362,1364,1366],{"class":462,"line":849},[460,1335,583],{"class":515},[460,1337,854],{"class":470},[460,1339,1340],{"class":532},"bands",[460,1342,667],{"class":470},[460,1344,1345],{"class":532}," band_labels",[460,1347,667],{"class":470},[460,1349,1350],{"class":532}," band_face_labels",[460,1352,667],{"class":470},[460,1354,1355],{"class":532}," band_refused",[460,1357,870],{"class":470},[460,1359,873],{"class":470},[460,1361,591],{"class":502},[460,1363,506],{"class":470},[460,1365,1059],{"class":522},[460,1367,883],{"class":470},[460,1369,1370,1372,1374,1376],{"class":462,"line":886},[460,1371,889],{"class":532},[460,1373,533],{"class":470},[460,1375,605],{"class":522},[460,1377,896],{"class":470},[460,1379,1380,1382,1384,1386,1388,1390],{"class":462,"line":899},[460,1381,902],{"class":502},[460,1383,506],{"class":470},[460,1385,615],{"class":522},[460,1387,526],{"class":470},[460,1389,620],{"class":532},[460,1391,913],{"class":470},[460,1393,1394,1396,1398,1400,1402,1404],{"class":462,"line":916},[460,1395,902],{"class":502},[460,1397,506],{"class":470},[460,1399,615],{"class":522},[460,1401,526],{"class":470},[460,1403,927],{"class":532},[460,1405,913],{"class":470},[460,1407,1408,1410,1412,1414,1416,1418],{"class":462,"line":932},[460,1409,902],{"class":502},[460,1411,506],{"class":470},[460,1413,615],{"class":522},[460,1415,526],{"class":470},[460,1417,1226],{"class":532},[460,1419,913],{"class":470},[460,1421,1422,1424,1426,1428],{"class":462,"line":937},[460,1423,902],{"class":502},[460,1425,506],{"class":470},[460,1427,1325],{"class":532},[460,1429,629],{"class":470},[1431,1432,1433,1449],"table",{},[1434,1435,1436],"thead",{},[1437,1438,1439,1443,1446],"tr",{},[1440,1441,1442],"th",{},"Parameter",[1440,1444,1445],{},"Type",[1440,1447,1448],{},"Description",[1450,1451,1452],"tbody",{},[1437,1453,1454,1459,1464],{},[1455,1456,1457],"td",{},[457,1458,1238],{},[1455,1460,1461],{},[457,1462,1463],{},"tf::return_refused_t",[1455,1465,1466],{},"Tag requesting the refused ids",[444,1468,1469],{},"The mesh, labels and face labels are exactly the ones the untagged call returns, and the ids are face ids of the input mesh — an isoband call reports the whole mesh's, since a face the cut declined holds no piece in any band. The one-chord split cannot refuse and a constraint set the field states on a face it crosses is recoverable, so the list speaks only on degenerate input.",[480,1471,1473],{"id":1472},"scalar-field-intersections","Scalar Field Intersections",[444,1475,1476],{},"Low-level access to isosurface intersection data.",[1478,1479,1481],"note",{"icon":1480},"i-lucide-info",[444,1482,1483,1486],{},[457,1484,1485],{},"tf::scalar_field_intersections"," stores its points in the input's own floating-point coordinates.",[451,1488,1491],{"className":453,"code":1489,"filename":1490,"language":7,"meta":455,"style":455},"tf::scalar_field_intersections\u003Cint, float, 3> sfi;\nsfi.build(mesh.polygons(), scalar_field, threshold);\n\nauto points = sfi.intersection_points();\n\nfor (auto group : sfi.intersections()) {\n    for (auto intersection : group) {\n        intersection.object;        \u002F\u002F Face ID\n        intersection.id;            \u002F\u002F Point ID\n        intersection.target.label;  \u002F\u002F vertex\u002Fedge where crossing occurs\n        intersection.target.id;     \u002F\u002F Local index\n    }\n}\n\n\u002F\u002F Multiple thresholds\nsfi.build_many(mesh.polygons(), scalar_field, thresholds);\n","scalar_field_low_level.cpp",[457,1492,1493,1522,1550,1554,1573,1577,1606,1629,1645,1659,1678,1695,1700,1705,1709,1714],{"__ignoreMap":455},[460,1494,1495,1497,1499,1502,1504,1506,1508,1511,1513,1515,1517,1520],{"class":462,"line":463},[460,1496,756],{"class":502},[460,1498,506],{"class":470},[460,1500,1501],{"class":532},"scalar_field_intersections",[460,1503,512],{"class":470},[460,1505,1120],{"class":515},[460,1507,667],{"class":470},[460,1509,1510],{"class":515}," float",[460,1512,667],{"class":470},[460,1514,820],{"class":573},[460,1516,519],{"class":470},[460,1518,1519],{"class":532}," sfi",[460,1521,577],{"class":470},[460,1523,1524,1527,1529,1532,1534,1536,1538,1540,1542,1544,1546,1548],{"class":462,"line":548},[460,1525,1526],{"class":532},"sfi",[460,1528,533],{"class":470},[460,1530,1531],{"class":522},"build",[460,1533,526],{"class":470},[460,1535,529],{"class":532},[460,1537,533],{"class":470},[460,1539,605],{"class":522},[460,1541,608],{"class":470},[460,1543,523],{"class":532},[460,1545,667],{"class":470},[460,1547,626],{"class":532},[460,1549,629],{"class":470},[460,1551,1552],{"class":462,"line":555},[460,1553,559],{"emptyLinePlaceholder":558},[460,1555,1556,1558,1561,1563,1565,1567,1570],{"class":462,"line":562},[460,1557,583],{"class":515},[460,1559,1560],{"class":532}," points ",[460,1562,570],{"class":470},[460,1564,1519],{"class":532},[460,1566,533],{"class":470},[460,1568,1569],{"class":522},"intersection_points",[460,1571,1572],{"class":470},"();\n",[460,1574,1575],{"class":462,"line":580},[460,1576,559],{"emptyLinePlaceholder":558},[460,1578,1579,1582,1585,1587,1590,1593,1595,1597,1600,1603],{"class":462,"line":844},[460,1580,1581],{"class":466},"for",[460,1583,1584],{"class":470}," (",[460,1586,583],{"class":515},[460,1588,1589],{"class":532}," group ",[460,1591,1592],{"class":470},":",[460,1594,1519],{"class":532},[460,1596,533],{"class":470},[460,1598,1599],{"class":522},"intersections",[460,1601,1602],{"class":470},"())",[460,1604,1605],{"class":470}," {\n",[460,1607,1608,1611,1613,1615,1618,1621,1624,1627],{"class":462,"line":849},[460,1609,1610],{"class":466},"    for",[460,1612,1584],{"class":470},[460,1614,583],{"class":515},[460,1616,1617],{"class":532}," intersection",[460,1619,1620],{"class":470}," :",[460,1622,1623],{"class":532}," group",[460,1625,1626],{"class":470},")",[460,1628,1605],{"class":470},[460,1630,1631,1634,1636,1639,1642],{"class":462,"line":886},[460,1632,1633],{"class":532},"        intersection",[460,1635,533],{"class":470},[460,1637,1638],{"class":532},"object",[460,1640,1641],{"class":470},";",[460,1643,1644],{"class":551},"        \u002F\u002F Face ID\n",[460,1646,1647,1649,1651,1654,1656],{"class":462,"line":899},[460,1648,1633],{"class":532},[460,1650,533],{"class":470},[460,1652,1653],{"class":532},"id",[460,1655,1641],{"class":470},[460,1657,1658],{"class":551},"            \u002F\u002F Point ID\n",[460,1660,1661,1663,1665,1668,1670,1673,1675],{"class":462,"line":916},[460,1662,1633],{"class":532},[460,1664,533],{"class":470},[460,1666,1667],{"class":532},"target",[460,1669,533],{"class":470},[460,1671,1672],{"class":532},"label",[460,1674,1641],{"class":470},[460,1676,1677],{"class":551},"  \u002F\u002F vertex\u002Fedge where crossing occurs\n",[460,1679,1680,1682,1684,1686,1688,1690,1692],{"class":462,"line":932},[460,1681,1633],{"class":532},[460,1683,533],{"class":470},[460,1685,1667],{"class":532},[460,1687,533],{"class":470},[460,1689,1653],{"class":532},[460,1691,1641],{"class":470},[460,1693,1694],{"class":551},"     \u002F\u002F Local index\n",[460,1696,1697],{"class":462,"line":937},[460,1698,1699],{"class":470},"    }\n",[460,1701,1702],{"class":462,"line":943},[460,1703,1704],{"class":470},"}\n",[460,1706,1707],{"class":462,"line":977},[460,1708,559],{"emptyLinePlaceholder":558},[460,1710,1711],{"class":462,"line":988},[460,1712,1713],{"class":551},"\u002F\u002F Multiple thresholds\n",[460,1715,1716,1718,1720,1723,1725,1727,1729,1731,1733,1735,1737,1740],{"class":462,"line":1003},[460,1717,1526],{"class":532},[460,1719,533],{"class":470},[460,1721,1722],{"class":522},"build_many",[460,1724,526],{"class":470},[460,1726,529],{"class":532},[460,1728,533],{"class":470},[460,1730,605],{"class":522},[460,1732,608],{"class":470},[460,1734,523],{"class":532},[460,1736,667],{"class":470},[460,1738,1739],{"class":532}," thresholds",[460,1741,629],{"class":470},[1743,1744,1745],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":455,"searchDepth":463,"depth":548,"links":1747},[1748,1752,1753,1754,1755],{"id":482,"depth":548,"text":483,"children":1749},[1750,1751],{"id":490,"depth":555,"text":491},{"id":632,"depth":555,"text":633},{"id":741,"depth":548,"text":742},{"id":1049,"depth":548,"text":1050},{"id":1231,"depth":548,"text":1232},{"id":1472,"depth":548,"text":1473},"Scalar field crossings, isocontours, isocurve embedding, and isobands.","md",null,{},{"icon":80},{"title":77,"description":1756},{"loc":78},"C09zZ4zXtnsRBXmbTA3jH6bmJz1HB_kvk6Sb2-OwZm8",[1765,1767],{"title":72,"path":73,"stem":74,"description":1766,"icon":75,"children":-1},"Exact mesh arrangements, region classification, and segment overlays.",{"title":82,"path":83,"stem":84,"description":1768,"icon":85,"children":-1},"N-form boolean expressions over implicit arrangements.",1788524227527]