new 4D geometry constructor