- /*
- I don't like the quadratic aspect of this code. Maybe this should
- be rewritten some time, but the largest chain of parents might be
- 10 high or so, so it shouldn't be a real issue. */
- for (Dimension_cache const *c = this; c; c = c->parent_l_)
- for (Dimension_cache const * d = s; d; d = d->parent_l_)
- if (d == c)
- return (Dimension_cache*)d;
-
- return 0;
-}
-
-Interval
-Dimension_cache::point_dimension_callback (Dimension_cache const* )
-{
- return Interval (0,0);
-}
-
-Interval
-Dimension_cache::get_dim () const
-{
- Interval r;
- Dimension_cache *nc = ((Dimension_cache*)this);
- if (!extent_callback_l_)
- {
- nc->dim_.set_empty ();
- }
- else if (!valid_b_)
- {
- nc->dim_= (*extent_callback_l_ ) (nc);
- nc->valid_b_ = true;
- }
-
- r=dim_;
- return r;