Correctly generate vtu files for polyhedral mesh.

Hello everyone, I would like to generate a vtu file similar to the image in the webpage.

But when I use ugrid->InsertNextCell, I find that every time a new cell is generated, I need to specify the points of the face. Does this mean that every time a new cell is generated, the faces included in the cell are newly created?

For example, I need to create a mesh file composed of two adjacent polyhedra. These two cells share the same face, so when using InsertNextCell to create each cell, the point of the face is specified. Does it mean that the adjacent face has been created twice in this vtu file?

So I want to know if there is a way to create vtu: first define all points, then define all faces, and finally store the body, just like FLUENT’s msh file.

Or does it mean that in VTU, there is no need to worry about this issue and the program will automatically determine whether the faces are duplicated?