# Compute the volume of the intersection between two vtkPolyData objects (using c#)

**URL:** https://discourse.vtk.org/t/compute-the-volume-of-the-intersection-between-two-vtkpolydata-objects-using-c/14030
**Category:** Support
**Tags:** code
**Created:** [June 13, 2024, 2:38am UTC](https://discourse.vtk.org/t/compute-the-volume-of-the-intersection-between-two-vtkpolydata-objects-using-c/14030 "2024-06-13T02:38:38Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![QuanNguyen](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/q/3d9bf3/32.png) [@QuanNguyen](https://discourse.vtk.org/u/QuanNguyen)
#### Post date: [June 13, 2024, 2:38am UTC](https://discourse.vtk.org/t/compute-the-volume-of-the-intersection-between-two-vtkpolydata-objects-using-c/14030/1 "2024-06-13T02:38:38Z")

</div>

Dear All,  
I would to compute a volume of the intersection between two `vtkPolyData` objects .I am using the following code and using vtkBooleanOperationPolyDataFilter and vtkImplicitPolyDataDistance, but it seems that Kitware.VTK does not support these two classes, please help me fix this code.

private double ComputeIntersectionVolume(vtkRenderer renderer, CadDocument doc, MainViewModel mainVm)  
{  
// Draw Conveyor  
Cube conveyorCube = DrawConveyor(renderer, doc, mainVm);

```
// Draw Pyramid
Pyramid pyramid = DrawPyramid(renderer, doc, mainVm);

// Perform Intersection
vtkBooleanOperationPolyDataFilter intersectionFilter = vtkBooleanOperationPolyDataFilter.New();
intersectionFilter.SetOperationToIntersection();
intersectionFilter.SetInputData(0, conveyorCube.CreatePolyfaceMesh());
intersectionFilter.SetInputData(1, pyramid.CreatePolyfaceMesh());
intersectionFilter.Update();

// Compute intersection volume
vtkMassProperties intersectionProps = vtkMassProperties.New();
intersectionProps.SetInputData(intersectionFilter.GetOutput());
double intersectionVolume = intersectionProps.GetVolume();

return intersectionVolume;

```

}
