# Fatal error while using vtkCGALBooleanOperation

**URL:** <https://discourse.vtk.org/t/fatal-error-while-using-vtkcgalbooleanoperation/13531>\
**Category:** Development\
**Created:** [March 14, 2024, 7:23am UTC](https://discourse.vtk.org/t/fatal-error-while-using-vtkcgalbooleanoperation/13531 "2024-03-14T07:23:27Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Armin](https://discourse.vtk.org/user_avatar/discourse.vtk.org/armin/32/8668_2.png) [@Armin](https://discourse.vtk.org/u/Armin)\
**Post date:** [March 14, 2024, 7:23am UTC](https://discourse.vtk.org/t/fatal-error-while-using-vtkcgalbooleanoperation/13531/1 "2024-03-14T07:23:27Z")

</div>

Any clues on how to implement the vtkCGALBooleanOperation ?  
I have followed the usual procedure similar to vtkBooleanOperationPolyDataFilter but there are too many issues stemming from the vtkCGALBooleanOperation.h . I have been searching for an implementation example with no results so far.

---

<div class="post-metadata">

**Author:** ![mwestphal](https://discourse.vtk.org/user_avatar/discourse.vtk.org/mwestphal/32/19_2.png) [@mwestphal](https://discourse.vtk.org/u/mwestphal)\
**Post date:** [March 14, 2024, 3:11pm UTC](https://discourse.vtk.org/t/fatal-error-while-using-vtkcgalbooleanoperation/13531/2 "2024-03-14T15:11:35Z")

</div>

@Charles_Gueunet

---

<div class="post-metadata">

**Author:** ![Charles\_Gueunet](https://discourse.vtk.org/user_avatar/discourse.vtk.org/charles_gueunet/32/239_2.png) [@Charles\_Gueunet](https://discourse.vtk.org/u/Charles_Gueunet)\
**Post date:** [March 14, 2024, 3:17pm UTC](https://discourse.vtk.org/t/fatal-error-while-using-vtkcgalbooleanoperation/13531/3 "2024-03-14T15:17:24Z")

</div>

@Armin you may use the [vespa](https://gitlab.kitware.com/vtk/meshing/vespa) testing as an example. In [this file](https://gitlab.kitware.com/vtk/meshing/vespa/-/blob/master/vespa/PolygonMeshProcessing/Testing/TestPMPBooleanExecution.cxx?ref_type=heads), you have a boolean difference computation.

Please, ensure that your mesh is a valid triangulation (manifold, watertight, …) In case of doubt, you may use the `vtkCGALMeshChecker` to verify your mesh. You will find an example in the testing of vespa too.
