An object-oriented environment for sparse parallel computation on adaptive grids