> Our ultimate goal is to remove the inheritance of a vtol_object from
Nice! I've always been in favour of this.
> vsol_spatial_object class is an abstract class for the connection
between levels of hierarchy that you see in the diagram.
Does this mean that any topological object will have a
vsol_spatial_object_sptr member? Or maybe the other way around? Or do
you consider yet an other connection between vtol and vsol ?
> vsol_box is an abstract class. It will serve any vtol_topology_object
to access the bounding box without the inheritance from vsol_spatial_object.
I don't think this is necessary:
A "pure" topological object (or t.o. network) does not have (nor need)
the concept of bounding box since it does not have an embedding space.
An "embedded" topological object (i.e., one with an associated
vsol_spatial_object) should access its bounding box through a pure
virtual function in vsol_spatial_object which returns a vsol_box.
Having vtol refer directly to vsol_box may lead to inconsistencies, and
may also hamper tracking design errors (where a pure topological object
by accident tries to access its bounding box).