{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-guides/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Class: Intersection3DUtil","description":"Accelerate E&P application development and protect your innovation by consuming our Data and Domain APIs / Platform APIs.","lang":"en-US","meta":[{"name":"robots","content":"noindex"}],"llmstxt":{"hide":true,"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/readme"},"children":["API"]}," / ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d"},"children":["geotoolkit3d"]}," / ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5"},"children":["util"]}," / ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection"},"children":["intersection"]}," / ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection.intersection3dutil"},"children":["Intersection3DUtil"]}," / Intersection3DUtil"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"class-intersection3dutil","__idx":0},"children":["Class: Intersection3DUtil"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection"},"children":["intersection"]},".",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection.intersection3dutil"},"children":["Intersection3DUtil"]},".Intersection3DUtil"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Utility class for generating and visualizing 3D intersections."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Example"]}]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"ts","header":{"controls":{"copy":{}}},"source":"Intersection3DUtil.intersectObjects(objectA, objectB, intersectOption)\n.then((intersectionResult) => {\nconst visualResult = Intersection3DUtil.generateIntersectionVisuals(intersectionResult, visualOptions);\nif (visualResult['linesegments'] != null) {\nplot.getRoot().add(visualResult['linesegments']);\n}\nif (visualResult['pointset'] != null) {\nplot.getRoot().add(visualResult['pointset']);\n}\nif (visualResult['surface'] != null) {\nplot.getRoot().add(visualResult['surface']);\n}\n})\n.catch((err) => {\n});\n","lang":"ts"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"table-of-contents","__idx":1},"children":["Table of contents"]},{"$$mdtype":"Tag","name":"details","attributes":{"open":"true"},"children":[{"$$mdtype":"Tag","name":"summary","attributes":{},"children":[{"$$mdtype":"Tag","name":"span","attributes":{"style":{"fontSize":"1.25em","fontWeight":"bold"}},"children":["Constructors"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/classes/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#new-intersection3dutil"},"children":["new Intersection3DUtil()"]}]}]}]},{"$$mdtype":"Tag","name":"details","attributes":{"open":"true"},"children":[{"$$mdtype":"Tag","name":"summary","attributes":{},"children":[{"$$mdtype":"Tag","name":"span","attributes":{"style":{"fontSize":"1.25em","fontWeight":"bold"}},"children":["Methods"]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/classes/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#clearqueuedintersections"},"children":["clearQueuedIntersections"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/classes/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#generatecelloutlinebyindex"},"children":["generateCellOutlineByIndex"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/classes/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#generateintersection"},"children":["generateIntersection"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/classes/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#generateintersectionvisuals"},"children":["generateIntersectionVisuals"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/classes/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#getclassname"},"children":["getClassName"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/classes/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#getintersectableobjects"},"children":["getIntersectableObjects"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/classes/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#intersectobjects"},"children":["intersectObjects"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/classes/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#projectresultto2d"},"children":["projectResultTo2D"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/classes/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#projectresulttoplane"},"children":["projectResultToPlane"]}]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"contents","__idx":2},"children":["Contents"]},{"$$mdtype":"Tag","name":"details","attributes":{"open":"true"},"children":[{"$$mdtype":"Tag","name":"summary","attributes":{},"children":[{"$$mdtype":"Tag","name":"span","attributes":{"style":{"fontSize":"1.25em","fontWeight":"bold"}},"children":["Constructors"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"new-intersection3dutil","__idx":3},"children":["new Intersection3DUtil()"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["• ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["new Intersection3DUtil"]},"()"]}]},{"$$mdtype":"Tag","name":"details","attributes":{"open":"true"},"children":[{"$$mdtype":"Tag","name":"summary","attributes":{},"children":[{"$$mdtype":"Tag","name":"span","attributes":{"style":{"fontSize":"1.25em","fontWeight":"bold"}},"children":["Methods"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"clearqueuedintersections","__idx":4},"children":["clearQueuedIntersections"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["▸ ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Static"]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["clearQueuedIntersections"]},"(): ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["void"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Cancel the currently queued intersection Promises, causing them to reject early."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"returns","__idx":5},"children":["Returns"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["void"]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"generatecelloutlinebyindex","__idx":6},"children":["generateCellOutlineByIndex"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["▸ ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Static"]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["generateCellOutlineByIndex"]},"(",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["intersectionResults"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cellIndex"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["options?"]},"): ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/classes/geotoolkit3d.scene-3.linesegments.linesegments"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LineSegments"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Generate the outline of a specific cell in the given intersection result, to be displayed in 3D."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"parameters","__idx":7},"children":["Parameters"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"width":"30%","data-label":"Name"},"children":["Name "]},{"$$mdtype":"Tag","name":"th","attributes":{"width":"20%","data-label":"Type"},"children":["Type "]},{"$$mdtype":"Tag","name":"th","attributes":{"width":"50%","data-label":"Description"},"children":["Description "]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["intersectionResults"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#meshpolyhedronresult"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MeshPolyhedronResult"]}]},"[]"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["the mesh/polyhedron results from the intersectObjects method. Multiple results can be passed at once."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cellIndex"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["number"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The cell index to generate highlight from."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Optional"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["options"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#outlinevisualoptions"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["OutlineVisualOptions"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Intersection3DUtil.VisualOptions to configure the resulting outline visual properties."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"returns-1","__idx":8},"children":["Returns"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/classes/geotoolkit3d.scene-3.linesegments.linesegments"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LineSegments"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["the LineSegment 3D object that represent the cell outline, or null if no relevant cell was found for the given index."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"generateintersection","__idx":9},"children":["generateIntersection"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["▸ ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Static"]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["generateIntersection"]},"(",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["objectA"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["objectB"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["plot?"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["options?"]},"): ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Promise"]},"<",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#result"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Result"]}]},">"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Generates the 3D intersection result for the given object pair, via an asynchronous Promise.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ","For the intersection to succeed, both objects should be intersectable."," ","This means, both ObjectA and ObjectB should be, or contain at least one child who are either:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["\nA regular Three.js Mesh, not instanced.\n"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["\nImplement one of the intersection interfaces such as [IIntersectableMesh](../classes/geotoolkit3d.util-5.intersection.iintersectablemesh.iintersectablemesh.md) and\n[IIntersectablePolyhedron](../classes/geotoolkit3d.util-5.intersection.iintersectablepolyhedron.iintersectablepolyhedron.md)\n"]}]},"\nFor complex user-made objects such as instanced geometries, or objects made of multiple nested sub-Objects,\nit is the user's responsibility to implement the intersection interfaces so that intersections can be generated.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"\nWhen both ObjectA and ObjectB parameters contain eligible objects for intersection,\nthe first intersectable object in each group will be found and intersected.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"\nIf multiple intersectable objects are contained in either ObjectA or B,\nonly one will be intersected by default and a warning will be logged.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"\nThe result will depend on the nature of the intersected objects, as well as how they intersect.\nFor example, Mesh-Mesh intersection usually provide lines, but can occasionally produce points (when vertices share identical positions) or triangles (when two intersecting triangles are also co-planar).",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"\nMesh-Polyhedron intersection provide triangles.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"\nImportant: For now, the intersection algorithm expect the polyhedron of the IIntersectablePolyhedron object to be convex.\nIt can work with slightly concave polyhedron, but artifacts are expected.\nAffected Toolkit object includes ReservoirGrid, if the cell of a ReservoirGrid is concave, the intersection result will not be perfect.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"\nMore intersection types will be supported in the future.\n",{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Throws"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["if objectA or objectB lacks a valid intersectable object."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Throws"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["if not support intersection between objectA and objectB."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Throws"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["if current queued intersection Promises being cancelled."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Deprecated"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["since 5.1, plot parameter is no longer required. Please use Intersection3DUtil.intersectObjects instead."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"parameters-1","__idx":10},"children":["Parameters"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"width":"30%","data-label":"Name"},"children":["Name "]},{"$$mdtype":"Tag","name":"th","attributes":{"width":"20%","data-label":"Type"},"children":["Type "]},{"$$mdtype":"Tag","name":"th","attributes":{"width":"50%","data-label":"Description"},"children":["Description "]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["objectA"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Object3D"]},"<",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Object3DEventMap"]},"> | ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#intersectable"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Intersectable"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Object3D that is Intersection3DUtil.Intersectable or contains one Intersection3DUtil.Intersectable."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["objectB"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Object3D"]},"<",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Object3DEventMap"]},"> | ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#intersectable"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Intersectable"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Object3D that is Intersection3DUtil.Intersectable or contains one Intersection3DUtil.Intersectable."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Optional"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["plot"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/classes/geotoolkit3d.plot.plot"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Plot"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["(optional) Legacy parameter, no longer needed. Can be omitted safely."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Optional"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["options"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#intersectionoptions"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["IntersectionOptions"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Intersection3DUtil.Options"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"returns-2","__idx":11},"children":["Returns"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Promise"]},"<",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#result"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Result"]}]},">"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Intersection3DUtil.Result"]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"generateintersectionvisuals","__idx":12},"children":["generateIntersectionVisuals"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["▸ ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Static"]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["generateIntersectionVisuals"]},"(",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["intersectionResult"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["options?"]},"): ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#visualresult"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["VisualResult"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Generate intersection visual objects from intersection result"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"parameters-2","__idx":13},"children":["Parameters"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"width":"30%","data-label":"Name"},"children":["Name "]},{"$$mdtype":"Tag","name":"th","attributes":{"width":"20%","data-label":"Type"},"children":["Type "]},{"$$mdtype":"Tag","name":"th","attributes":{"width":"50%","data-label":"Description"},"children":["Description "]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["intersectionResult"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#result"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Result"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Intersection3DUtil.Result from Intersection3DUtil.intersectObjects method"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Optional"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["options"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#visualoptions"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["VisualOptions"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Intersection3DUtil.VisualOptions to configure visual effect of the intersection"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"returns-3","__idx":14},"children":["Returns"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#visualresult"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["VisualResult"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Intersection3DUtil.VisualResult"]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"getclassname","__idx":15},"children":["getClassName"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["▸ ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Static"]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["getClassName"]},"(): ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"returns-4","__idx":16},"children":["Returns"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string"]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"getintersectableobjects","__idx":17},"children":["getIntersectableObjects"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["▸ ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Static"]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["getIntersectableObjects"]},"(",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["obj"]},"): ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#intersectable"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Intersectable"]}]},"[]"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Return the valid intersectable objects contained in the provided Object3D/Group.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ","Please note that intersectObjects() expects only one intersectable object on each side. To intersect more objects, we recommend to make multiple calls to intersectObjects() for each pair to intersect.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ","This method can be used by users to check how many objects can be intersected in the given group. If the returned array contain more than one intersectable, only the first in the array would be intersected by a single call to intersectObjects()."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"parameters-3","__idx":18},"children":["Parameters"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"width":"65%","data-label":"Name"},"children":["Name "]},{"$$mdtype":"Tag","name":"th","attributes":{"width":"35%","data-label":"Type"},"children":["Type "]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["obj"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Object3D"]},"<",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Object3DEventMap"]},">"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"returns-5","__idx":19},"children":["Returns"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#intersectable"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Intersectable"]}]},"[]"]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"intersectobjects","__idx":20},"children":["intersectObjects"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["▸ ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Static"]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["intersectObjects"]},"(",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["objectA"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["objectB"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["options?"]},"): ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Promise"]},"<",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#result"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Result"]}]},">"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Generates the 3D intersection result for the given object pair, via an asynchronous Promise.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ","For the intersection to succeed, both objects should be intersectable."," ","This means, both ObjectA and ObjectB should be, or contain at least one child who are either:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["\nA regular Three.js Mesh, not instanced.\n"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["\nImplement one of the intersection interfaces such as [IIntersectableMesh](../classes/geotoolkit3d.util-5.intersection.iintersectablemesh.iintersectablemesh.md) and\n[IIntersectablePolyhedron](../classes/geotoolkit3d.util-5.intersection.iintersectablepolyhedron.iintersectablepolyhedron.md)\n"]}]},"\nFor complex user-made objects such as instanced geometries, or objects made of multiple nested sub-Objects,\nit is the user's responsibility to implement the intersection interfaces so that intersections can be generated.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"\nWhen both ObjectA and ObjectB parameters contain eligible objects for intersection,\nthe first intersectable object in each group will be found and intersected.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"\nIf multiple intersectable objects are contained in either ObjectA or B,\nonly one will be intersected by default and a warning will be logged.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"\nThe result will depend on the nature of the intersected objects, as well as how they intersect.\nFor example, Mesh-Mesh intersection usually provide lines, but can occasionally produce points (when vertices share identical positions) or triangles (when two intersecting triangles are also co-planar).",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"\nMesh-Polyhedron intersection provide triangles.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"\nImportant: For now, the intersection algorithm expect the polyhedron of the IIntersectablePolyhedron object to be convex.\nIt can work with slightly concave polyhedron, but artifacts are expected.\nAffected Toolkit object includes ReservoirGrid, if the cell of a ReservoirGrid is concave, the intersection result will not be perfect.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"\nMore intersection types will be supported in the future.\n",{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Throws"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["if objectA or objectB lacks a valid intersectable object."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Throws"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["if not support intersection between objectA and objectB."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Throws"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["if current queued intersection Promises being cancelled."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"parameters-4","__idx":21},"children":["Parameters"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"width":"30%","data-label":"Name"},"children":["Name "]},{"$$mdtype":"Tag","name":"th","attributes":{"width":"20%","data-label":"Type"},"children":["Type "]},{"$$mdtype":"Tag","name":"th","attributes":{"width":"50%","data-label":"Description"},"children":["Description "]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["objectA"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Object3D"]},"<",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Object3DEventMap"]},"> | ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#intersectable"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Intersectable"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Object3D that is Intersection3DUtil.Intersectable or contains one Intersection3DUtil.Intersectable."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["objectB"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Object3D"]},"<",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Object3DEventMap"]},"> | ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#intersectable"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Intersectable"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Object3D that is Intersection3DUtil.Intersectable or contains one Intersection3DUtil.Intersectable."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Optional"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["options"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#intersectionoptions"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["IntersectionOptions"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Intersection3DUtil.Options"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"returns-6","__idx":22},"children":["Returns"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Promise"]},"<",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#result"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Result"]}]},">"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Intersection3DUtil.Result"]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"projectresultto2d","__idx":23},"children":["projectResultTo2D"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["▸ ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Static"]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["projectResultTo2D"]},"(",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["result3D"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["planeCorner0"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["planeCorner1"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["planeCorner2"]},"): ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#result2d"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Result2D"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Convert the 3D intersection results into the given 2D plane.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ","To do so, the orientation of the 2D plane must be located in 3D space first, using 3 points."," ","If the 2D plane have an equivalent plane/rectangle shape in 3D, these points would be its corners.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ","The result returned will be a deep copy of the original results, where instead the X and Y values will be updated, and the Z values will be set to 0.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ","The Rect of the given plane is also returned so that the result can be further transformed to any canvas or texture coordinate."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"parameters-5","__idx":24},"children":["Parameters"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"width":"30%","data-label":"Name"},"children":["Name "]},{"$$mdtype":"Tag","name":"th","attributes":{"width":"20%","data-label":"Type"},"children":["Type "]},{"$$mdtype":"Tag","name":"th","attributes":{"width":"50%","data-label":"Description"},"children":["Description "]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["result3D"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#result"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Result"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["the intersection result to project to the given plane."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["planeCorner0"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Vector3"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["the 3D coordinate of the left top corner of the plane in business coordinate."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["planeCorner1"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Vector3"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["the 3D coordinate of the right top corner of the plane in business coordinate."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["planeCorner2"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Vector3"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["the 3D coordinate of the left bottom corner of the plane in business coordinate."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"returns-7","__idx":25},"children":["Returns"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#result2d"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Result2D"]}]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"projectresulttoplane","__idx":26},"children":["projectResultToPlane"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["▸ ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Static"]}," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["projectResultToPlane"]},"(",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["result3D"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["plane"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["plot?"]},"): ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#result2d"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Result2D"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Convert the 3D intersection results into the given plane object.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ","The result returned will be a deep copy of the original results, where instead the X and Y values will be updated, and the Z values will be set to 0.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ","The Rect of the given plane is also returned so that the result can be further transformed to any canvas or texture coordinate."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"parameters-6","__idx":27},"children":["Parameters"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"width":"30%","data-label":"Name"},"children":["Name "]},{"$$mdtype":"Tag","name":"th","attributes":{"width":"20%","data-label":"Type"},"children":["Type "]},{"$$mdtype":"Tag","name":"th","attributes":{"width":"50%","data-label":"Description"},"children":["Description "]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["result3D"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#result"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Result"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["the intersection result to project to the given plane."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["plane"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/classes/geotoolkit3d.util-5.intersection.ioverlayableobject.ioverlayableobject"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["IOverlayableObject"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["the plane object."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Optional"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["plot"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/classes/geotoolkit3d.plot.plot"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Plot"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["(optional) Legacy parameter is deprecated since 5.1, no longer needed. Can be omitted safely."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"returns-8","__idx":28},"children":["Returns"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/geotoolkit/apis/modules/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil#result2d"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Result2D"]}]}]}]}]},"headings":[{"value":"Class: Intersection3DUtil","id":"class-intersection3dutil","depth":1},{"value":"Table of contents","id":"table-of-contents","depth":2},{"value":"Contents","id":"contents","depth":2},{"value":"new Intersection3DUtil()","id":"new-intersection3dutil","depth":4},{"value":"clearQueuedIntersections","id":"clearqueuedintersections","depth":4},{"value":"Returns","id":"returns","depth":4},{"value":"generateCellOutlineByIndex","id":"generatecelloutlinebyindex","depth":4},{"value":"Parameters","id":"parameters","depth":4},{"value":"Returns","id":"returns-1","depth":4},{"value":"generateIntersection","id":"generateintersection","depth":4},{"value":"Parameters","id":"parameters-1","depth":4},{"value":"Returns","id":"returns-2","depth":4},{"value":"generateIntersectionVisuals","id":"generateintersectionvisuals","depth":4},{"value":"Parameters","id":"parameters-2","depth":4},{"value":"Returns","id":"returns-3","depth":4},{"value":"getClassName","id":"getclassname","depth":4},{"value":"Returns","id":"returns-4","depth":4},{"value":"getIntersectableObjects","id":"getintersectableobjects","depth":4},{"value":"Parameters","id":"parameters-3","depth":4},{"value":"Returns","id":"returns-5","depth":4},{"value":"intersectObjects","id":"intersectobjects","depth":4},{"value":"Parameters","id":"parameters-4","depth":4},{"value":"Returns","id":"returns-6","depth":4},{"value":"projectResultTo2D","id":"projectresultto2d","depth":4},{"value":"Parameters","id":"parameters-5","depth":4},{"value":"Returns","id":"returns-7","depth":4},{"value":"projectResultToPlane","id":"projectresulttoplane","depth":4},{"value":"Parameters","id":"parameters-6","depth":4},{"value":"Returns","id":"returns-8","depth":4}],"frontmatter":{"seo":{"title":"Class: Intersection3DUtil"}},"lastModified":"2026-02-11T19:54:32.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/solutions/geotoolkit/apis/classes/geotoolkit3d.util-5.intersection.intersection3dutil.intersection3dutil","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}