ADG 

Issue 14: extents regions must be expressed in identity-matrix space

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

Status: Started
Owner: ntd

Comment 3 by Nicola Fontana, Jan 17, 2010

Issue closed by commit 110a99ca895950f14cddec1ebba4a6ab8e0fd464.
Status: Fixed

Comment 4 by Nicola Fontana, Feb 16, 2013

Labels: Type:Bug Type:Defect

Created: 8 years 10 months ago by Nicola Fontana

Updated: 5 years 8 months ago

Status: Fixed

Owner: Nicola Fontana

Labels:
Priority:High
Component:ADG:Entity
Planned:0.5.5
Type:Bug