Clear["Global`*"];
{f, g, h} = {{-257, -240, -46, 477}, {-359, -222, 192, 461}, {0, 0, 0,
0}} . {1, x, y, z};
reg1toSpace = RegionIntersection[
HalfSpace[Coefficient[g - fHalfSpace[Coefficient[#, {x, y, z}],
Coefficient[g - fCoefficient[#, {x, y, z}] . {x, y, z} - (g - f)],
HalfSpace[Coefficient[h - f, {x, y, z}],#] &;
reg1 = Coefficient[hRegionIntersection[toSpace[g - f, {x, y, z}] . {x, yf], z} - (htoSpace[h - f)]];f]];
reg2 = RegionIntersection[
HalfSpace[Coefficient[f - g, {x, y, z}],
Coefficient[f - g, {x, y, z}] . {x, y, z} - (f - g)],
HalfSpace[Coefficient[h - g, {x, y, z}],
Coefficient[hRegionIntersection[toSpace[f - g, {x, y, z}] . {x, yg], z} - (htoSpace[h - g)]];g]];
reg3 = RegionIntersection[
HalfSpace[Coefficient[f - h, {x, y, z}],
Coefficient[fRegionIntersection[toSpace[f - h, {x, y, z}] . {x, yh], z} - (ftoSpace[g - h)], h]];
HalfSpace[Coefficient[g - h, {xreg1, yreg2, zreg3}],
= Coefficient[g
- h, {xRegionIntersection[#, y,Cuboid[]] z}]& ./@ {x, y, z} - (g - h)]];
reg1 = RegionIntersection[reg1, Cuboid[]];
reg2 = RegionIntersection[reg2, Cuboid[]];
reg3 = RegionIntersection[reg3, Cuboid[]];};
ConvexRegionQ /@ {reg1, reg2, reg3}
{Region[Style[reg1, Red]], Region[Style[reg2, Green]],
Region[Style[reg3, Blue]]}
% // Show