After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 132558 - Libart produces "x_order_2: colinear!"
Libart produces "x_order_2: colinear!"
Status: RESOLVED WONTFIX
Product: libart
Classification: Deprecated
Component: Intersector
unspecified
Other Linux
: Normal major
: ---
Assigned To: Nautilus Maintainers
Nautilus Maintainers
gnome[unmaintained]
Depends on:
Blocks:
 
 
Reported: 2004-01-26 14:05 UTC by Simon Budig
Modified: 2011-08-25 04:55 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Sample program exposing the artefacts (4.06 KB, text/plain)
2004-01-26 14:06 UTC, Simon Budig
Details
Image showing the artefacts, generated by libart-problem.c (30.46 KB, image/png)
2004-01-26 14:07 UTC, Simon Budig
Details

Description Simon Budig 2004-01-26 14:05:58 UTC
This might be a duplicate of bug #91191, but I am not really sure...

I have problems using libart to render certain polygons. Mostly it works
fine, but sometimes the results are unusable.
I use libart 2.3.16 from Debian Testing. To render a libart path to
a gimp drawable I basically use the sequence

    pert_vpath = art_vpath_perturb (vpath);
    svp  = art_svp_from_vpath (pert_vpath);
    svp2 = art_svp_uncross (svp);
    svp3 = art_svp_rewind_uncrossed (svp2, ART_WIND_RULE_ODDEVEN);

This sequence mostly works fine, but I stumbled across a polygon, where
this does not work at all. However, this polygon renders fine, when
not using art_vpath_perturb(). At first I thought, that simply removing
that call would solve the problem, but soon I stumbled
across different polygons that *needs* the call to be rendered
correctly.

So I cannot avoid these warnings and artefacts when I don't have a control
over the polygons passed to libart.

Attached is a standalone program that can render two polygons, one that
results in warnings and artefacts when using _perturb() and one that
results in warnings and artefacts when avoiding _perturb().

it compiles with
gcc `pkg-config --libs --cflags libart-2.0` -o libart-problem libart-problem.c

A few sample invocations are:
   ./libart-problem -p bricks    # proper calculation of the "bricks" polygon
                                 # (with _perturb())
   ./libart-problem +p star      # proper calculation of the "star" polygon
                                 # (without _perturb())

If you want to see the rendered polygon, pass an additional "-r" on the
commandline and pipe stdout to an image viewer (e.g.
 ./libart-problem -r +p star | display )

Exchanging +p and -p results in lots of ugly libart messages to stderr,
and the rendered polygon is also garbled.

Also I'll attach an image showing the artefacts.
Comment 1 Simon Budig 2004-01-26 14:06:59 UTC
Created attachment 23764 [details]
Sample program exposing the artefacts
Comment 2 Simon Budig 2004-01-26 14:07:50 UTC
Created attachment 23765 [details]
Image showing the artefacts, generated by libart-problem.c
Comment 3 Simon Budig 2004-01-26 21:27:45 UTC
For the records.

With the help of the librsvg developers I discovered
art_svp_writer_rewind_new and friends, which do not suffer from this
problem.

IMHO the other functions should be marked as deprecated or should be
implemented using the new intersector API.

If you disagree feel free to resolve this as WONTFIX.
Comment 4 Akhil Laddha 2011-08-25 04:55:49 UTC
libart development has been stalled and it has been unmaintained now. 
Maintainers don't have future development plan so i am closing all the bugs as WONTFIX. Please feel free to reopen the bugs in future if anyone takes the responsibility for active development.