[GRASS-dev] r56095 broke vector libs

PLEASE test before committing changes. Or carefully read the current
code base. For future reference: vector topology is optional and reset
if no topology is required. That means you should NOT store
non-topological information in topological structures. Thanks.

Markus M

Hi,

2013/5/13 Markus Metz <markus.metz.giswork@gmail.com>:

PLEASE test before committing changes. Or carefully read the current
code base. For future reference: vector topology is optional and reset
if no topology is required. That means you should NOT store
non-topological information in topological structures. Thanks.

sorry for inconvenience, could you be more specific? What exactly
broke the vector libs? Do you mean `version` struct? My attempt was to
make the current data structures more understandable for the
programmers.

Martin

--
Martin Landa <landa.martin gmail.com> * http://geo.fsv.cvut.cz/~landa

Hi,

2013/5/13 Martin Landa <landa.martin@gmail.com>:

2013/5/13 Markus Metz <markus.metz.giswork@gmail.com>:

PLEASE test before committing changes. Or carefully read the current
code base. For future reference: vector topology is optional and reset
if no topology is required. That means you should NOT store
non-topological information in topological structures. Thanks.

sorry for inconvenience, could you be more specific? What exactly
broke the vector libs? Do you mean `version` struct? My attempt was to
make the current data structures more understandable for the
programmers.

OK, from your commit I can understand the issue. I hope that even with
my fault the result is valuable. Thanks for the fix.

Martin

--
Martin Landa <landa.martin gmail.com> * http://geo.fsv.cvut.cz/~landa

On Mon, May 13, 2013 at 12:36 PM, Martin Landa <landa.martin@gmail.com> wrote:

Hi,

2013/5/13 Martin Landa <landa.martin@gmail.com>:

2013/5/13 Markus Metz <markus.metz.giswork@gmail.com>:

PLEASE test before committing changes. Or carefully read the current
code base. For future reference: vector topology is optional and reset
if no topology is required. That means you should NOT store
non-topological information in topological structures. Thanks.

sorry for inconvenience, could you be more specific? What exactly
broke the vector libs? Do you mean `version` struct? My attempt was to
make the current data structures more understandable for the
programmers.

OK, from your commit I can understand the issue. I hope that even with
my fault the result is valuable. Thanks for the fix.

As I said, the issue was that vector topology is optional and reset if
no topology is required. That means you should NOT store
non-topological information in topological structures. Topological
information, and topological information only, is stored in struct
Plus_head. You have yourself modified the code to reset struct
Plus_head, interestingly with the same commit where you added non-topo
info to struct Plus_head.

These version informations about internal structures are only of
interest for programmers working with the deep internals of the vector
libs (diglib).
Having e.g. 'cidx_Version_Major' or 'version.cidx.major' is mainly a
matter of taste. You have now added a structure inside a structure
inside a structure. IMHO this is not more, but less understandable.
This stuff should not be touched lightly anyway, so it can stay as it
is. Maybe touch again for GRASS 8...

Markus M