With regards to mapping a real space point back to computational space, what do you think of this idea:
 
In the PointLocatorStructure::init(), build an n-dimentional container where n is the dimension of the Point, containing Elem constant refferences. For example, in a 2D case I would have
 
E :: n-dimensional container where references are stored
delta :: n-dimensional container where cell size (a conversion factor) is stored.
 
for all elements
    E[floor(element.centroid(0)/delta(0))][floor(element.centroid(1)delta(1))] = &element;
 
Then have the point locator operator() function would
 
return E[floor(Point(0)/delta(0))][floor(Point(1)/delta(1))]
 
which is the constant reference to the element.
 
Outside of space inefficiency can you provide any suggestions as far as this method is concerned?
 
Cristian Coroian
Software Engineer I
Advatech Pacific Inc