Implementation of catamull clark subdivision using half edge data structure