gap> Y1:=RegularCWComplex([
>     [[1,0],[1,0]],
>     [[2,1,2]],
>     []
> ]);
Regular CW-complex of dimension 1

gap> X1:=RegularCWComplex([
>     [[1,0],[1,0],[1,0],[1,0]],
>     [[2,1,2],[2,2,3],[2,2,3],[2,3,4],[2,1,4],[2,1,4]],
>     [[4,1,2,4,5],[2,2,3],[4,1,3,4,6]],
>     []
> ]);
Regular CW-complex of dimension 2

gap> index:=[[2,3],[2,3]];;
gap> map:={n,k}->index[n+1][k];
function( n, k ) ... end
gap> f:=Objectify(HapRegularCWMap,rec(source:=Y1,target:=X1,mapping:=map));
Map of regular CW-complexes

gap> f_:=BarycentricallySubdivideCell(f,2,2);
Map of regular CW-complexes

gap> for i in [0..2] do
>    Print(i,"-cells: ",Target(f)!.nrCells(i),", ",Target(f_)!.nrCells(i),"\n");
> od;
0-cells: 4, 7
1-cells: 6, 12
2-cells: 3, 6