Crossed mesh on a square


I would like to do some calculations on the unit square using crossed meshes.
Is there a simple way to create a crossed mesh on a unit square?
I would also like to globally refine a mesh such that the old mesh to be a subset of the new mesh.

Is that possible to create a uniform crossed mesh by giving the maximum edge of a triangle?

I would be grateful for any help!

Yes , cross is union jack mesh for me
try this exemple


int[int] labs = [11, 12, 13, 14];
mesh Th = square(3, 3, flags=i, label=labs, region=10); plot(Th, wait=1, cmm="square flags = "+i );

Thank you very much for your reply. Is that possible to divide each triangle of a union jack mesh into two triangles to have a global refinement of the mesh?

Thank you!