Reported by Nicola Fontana, Jan 10, 2010
Actually the extents of a generic entity "A" are expressed in global space of "A". This approach has a number of implementation problems. For example, AdgContainer joins all the extents of the children by applying the global map before merging them. This is not always correct: AdgAlignment entities, for example, arbitrarily modifies the global matrix to align their content, invalidating the above extents algorithm.
Comment 1 by Nicola Fontana, Jan 10, 2010
Actually, the extents of AdgContainer are calculated using the add_extents() helper function. The relevant code is: cpml_extents_transform(&extents, adg_entity_get_global_map(entity)); cpml_extents_add(container_extents, &extents); Changing adg_entity_get_global_map() with adg_entity_get_global_matrix() will do the trick, at least in the AdgContainer case.
Comment 2 by Nicola Fontana, Jan 11, 2010
Comment 3 by Nicola Fontana, Jan 17, 2010
Issue closed by commit 110a99ca895950f14cddec1ebba4a6ab8e0fd464.
Comment 4 by Nicola Fontana, Feb 16, 2013