RSS/Atom feed Twitter
Site is read-only, email is disabled

Cage transform and Warp transform

This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

8 of 8 messages available
Toggle history

Please log in to manage your subscriptions.

Cage transform and Warp transform Elle Stone 28 Nov 14:54
  Cage transform and Warp transform Jehan Pagès 28 Nov 15:32
   Cage transform and Warp transform Elle Stone 28 Nov 16:32
    Cage transform and Warp transform Jehan Pagès 28 Nov 16:55
     Cage transform and Warp transform Tobias Ellinghaus 28 Nov 22:25
      Cage transform and Warp transform Jehan Pagès 28 Nov 22:30
       Cage transform and Warp transform Tobias Ellinghaus 28 Nov 22:45
        Cage transform and Warp transform Jehan Pagès 28 Nov 22:51
Elle Stone
2017-11-28 14:54:38 UTC (over 6 years ago)

Cage transform and Warp transform

Hi All,

I wanted to somewhat reshape some curved lines in a drawing, and tried the Cage transform, which I remember using a long time ago. After selecting the points, it took a long time for the cage transform to calculate the cage. But when trying to move a point on the cage, nothing happened. During all of this calculating plus "nothing happened", these lines were printed over and over to the terminal:

(gimp-2.9:30657): GEGL-CRITICAL **: gegl_buffer_get: assertion 'GEGL_IS_BUFFER (buffer)' failed

Is there a bug? Or maybe I did something wrong? I reread through the on-line documentation
(https://docs.gimp.org/2.9/en/gimp-tool-cage.html), but maybe I misunderstood what it says.

So I switched to the Warp transform, which worked very smoothly, quickly, responsively. It's like using a paint brush to warp the lines. The only catch was that after moving all the lines to where you want them, then you have to hit Return to actually apply the transform, which makes sense, but it took me a couple tries to figure this out.

Whoever programmed the warp transform, thank you!! This is such a nice way to gently reshape curved lines!

Jehan, is there any possibility that this warp transform could be made to work symmetrically, perhaps via the symmetric painting dialog? Or maybe it already does, but somehow I did something wrong?

Anyway, I made the transformed lines symmetric by duplicating the warped layer, flipping it around the horizontal axis, and applying a mask to hide the untranformed half of the image, which worked out just fine.

Best, Elle

Jehan Pagès
2017-11-28 15:32:35 UTC (over 6 years ago)

Cage transform and Warp transform

Hi!

On Tue, Nov 28, 2017 at 3:54 PM, Elle Stone wrote:

Hi All,

I wanted to somewhat reshape some curved lines in a drawing, and tried the Cage transform, which I remember using a long time ago. After selecting the points, it took a long time for the cage transform to calculate the cage. But when trying to move a point on the cage, nothing happened. During all of this calculating plus "nothing happened", these lines were printed over and over to the terminal:

(gimp-2.9:30657): GEGL-CRITICAL **: gegl_buffer_get: assertion 'GEGL_IS_BUFFER (buffer)' failed

Is there a bug? Or maybe I did something wrong? I reread through the on-line documentation (https://docs.gimp.org/2.9/en/gimp-tool-cage.html), but maybe I misunderstood what it says.

Well if it doesn't work and if there is a GEGL-critical, yes there is definitely a bug. ;-)
You should run gimp with --gtk-g-fatal-warnings to force it to crash when it gets a warning. Doing this inside gdb will get you a stacktrace which led to this warning so that you can copy-paste it in a bug report. :-)

So I switched to the Warp transform, which worked very smoothly, quickly, responsively. It's like using a paint brush to warp the lines. The only catch was that after moving all the lines to where you want them, then you have to hit Return to actually apply the transform, which makes sense, but it took me a couple tries to figure this out.

Whoever programmed the warp transform, thank you!! This is such a nice way to gently reshape curved lines!

Jehan, is there any possibility that this warp transform could be made to work symmetrically, perhaps via the symmetric painting dialog? Or maybe it already does, but somehow I did something wrong?

No. The symmetries work for paint tools (children of GimpPaintTool class), but the warp transform is not a paint tool (I mean, not in our code; it is derived directly from GimpDrawTool, which is lower level class).
Of course, in theory, that could be changed. But this is not how it is implemented currently.

Anyway, I made the transformed lines symmetric by duplicating the warped layer, flipping it around the horizontal axis, and applying a mask to hide the untranformed half of the image, which worked out just fine.

Cool. That's old style how it would have been done with paint tools as well. I guess this still has to be done for other tools until someone make symmetries even more generic.

Jehan

Best,
Elle
_______________________________________________ gimp-developer-list mailing list
List address: gimp-developer-list@gnome.org List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list List archives: https://mail.gnome.org/archives/gimp-developer-list

ZeMarmot open animation film
http://film.zemarmot.net
Patreon: https://patreon.com/zemarmot
Tipeee: https://www.tipeee.com/zemarmot
Elle Stone
2017-11-28 16:32:08 UTC (over 6 years ago)

Cage transform and Warp transform

On 11/28/2017 10:32 AM, Jehan Pagès wrote:

Hi!

On Tue, Nov 28, 2017 at 3:54 PM, Elle Stone wrote:

I wanted to somewhat reshape some curved lines in a drawing, and tried the Cage transform, which I remember using a long time ago. After selecting the points, it took a long time for the cage transform to calculate the cage. But when trying to move a point on the cage, nothing happened. During all of this calculating plus "nothing happened", these lines were printed over and over to the terminal:

(gimp-2.9:30657): GEGL-CRITICAL **: gegl_buffer_get: assertion 'GEGL_IS_BUFFER (buffer)' failed

Is there a bug?

Well if it doesn't work and if there is a GEGL-critical, yes there is definitely a bug. ;-)
You should run gimp with --gtk-g-fatal-warnings to force it to crash when it gets a warning. Doing this inside gdb will get you a stacktrace which led to this warning so that you can copy-paste it in a bug report. :-)

Hi Jehan,

What is the actual command to type to get GIMP to run with --gtk-g-fatal-warnings? I kept getting terminal output that indicated that GIMP couldn't find the file "--gtk-g-fatal-warnings".

Though in this case it really doesn't matter as I haven't been able to produce the same terminal output as before. Sorry for the noise!

I still think I'm not doing something correctly with Cage transform. But as Warp worked perfectly for the task at hand, I'm very glad that the cage transform didn't work as expected, because otherwise I wouldn't have tried the Warp tool.

Jehan, is there any possibility that this warp transform could be made to work symmetrically, perhaps via the symmetric painting dialog? Or maybe it already does, but somehow I did something wrong?

No. The symmetries work for paint tools (children of GimpPaintTool class), but the warp transform is not a paint tool (I mean, not in our code; it is derived directly from GimpDrawTool, which is lower level class).
Of course, in theory, that could be changed. But this is not how it is implemented currently.

Thanks! for letting me know. I had a feeling the Warp tool wasn't code-wise related to the Paint tools, but wanted to ask to make sure. Whhether it can work symmetrically or not, it's a wonderful way to transform portions of an image.

Best, Elle

Jehan Pagès
2017-11-28 16:55:16 UTC (over 6 years ago)

Cage transform and Warp transform

Hi!

On Tue, Nov 28, 2017 at 5:32 PM, Elle Stone wrote:

On 11/28/2017 10:32 AM, Jehan Pagès wrote:

Hi!

On Tue, Nov 28, 2017 at 3:54 PM, Elle Stone wrote:

I wanted to somewhat reshape some curved lines in a drawing, and tried the
Cage transform, which I remember using a long time ago. After selecting the
points, it took a long time for the cage transform to calculate the cage. But when trying to move a point on the cage, nothing happened. During all of
this calculating plus "nothing happened", these lines were printed over and
over to the terminal:

(gimp-2.9:30657): GEGL-CRITICAL **: gegl_buffer_get: assertion 'GEGL_IS_BUFFER (buffer)' failed

Is there a bug?

Well if it doesn't work and if there is a GEGL-critical, yes there is definitely a bug. ;-)
You should run gimp with --gtk-g-fatal-warnings to force it to crash when it gets a warning. Doing this inside gdb will get you a stacktrace which led to this warning so that you can copy-paste it in a bug report. :-)

Hi Jehan,

What is the actual command to type to get GIMP to run with --gtk-g-fatal-warnings? I kept getting terminal output that indicated that GIMP couldn't find the file "--gtk-g-fatal-warnings".

The command is:
$ gimp-2.9 --gtk-g-fatal-warnings

GIMP will crash as soon as it gets any warning.

To run this into gdb, you run first: $ gdb gimp-2.9
Then inside gdb prompt:
(gdb) run --gtk-g-fatal-warnings

Though in this case it really doesn't matter as I haven't been able to produce the same terminal output as before. Sorry for the noise!

I still think I'm not doing something correctly with Cage transform. But as Warp worked perfectly for the task at hand, I'm very glad that the cage transform didn't work as expected, because otherwise I wouldn't have tried the Warp tool.

Well maybe you are not using cage transform tool correctly. Yet even though no critical warnings are meant to happen! That is a definite bug.
Also even if you were not using it correctly, then it would mean there may be a design flaw. Cage tool should not be that complicated to operate.

Jehan, is there any possibility that this warp transform could be made to work symmetrically, perhaps via the symmetric painting dialog? Or maybe it
already does, but somehow I did something wrong?

No. The symmetries work for paint tools (children of GimpPaintTool class), but the warp transform is not a paint tool (I mean, not in our code; it is derived directly from GimpDrawTool, which is lower level class).
Of course, in theory, that could be changed. But this is not how it is implemented currently.

Thanks! for letting me know. I had a feeling the Warp tool wasn't code-wise related to the Paint tools, but wanted to ask to make sure. Whhether it can work symmetrically or not, it's a wonderful way to transform portions of an image.

Yep. Warp is cool indeed. :-)

Jehan

Best,
Elle

ZeMarmot open animation film
http://film.zemarmot.net
Patreon: https://patreon.com/zemarmot
Tipeee: https://www.tipeee.com/zemarmot
Tobias Ellinghaus
2017-11-28 22:25:53 UTC (over 6 years ago)

Cage transform and Warp transform

Am Dienstag, 28. November 2017, 17:55:16 CET schrieb Jehan Pagès:

[...]

The command is:
$ gimp-2.9 --gtk-g-fatal-warnings

Actually, it's --g-fatal-warnings, without the "gtk-".

[...]

Jehan

Tobias

Jehan Pagès
2017-11-28 22:30:57 UTC (over 6 years ago)

Cage transform and Warp transform

Hi!

On Tue, Nov 28, 2017 at 11:25 PM, Tobias Ellinghaus wrote:

Am Dienstag, 28. November 2017, 17:55:16 CET schrieb Jehan Pagès:

[...]

The command is:
$ gimp-2.9 --gtk-g-fatal-warnings

Actually, it's --g-fatal-warnings, without the "gtk-".

Both exist and work. Run a `gimp-2.9 --help-all` to see them. :-) I believe they are synonyms though clearly using the version without "gtk-" in it is 4-letters faster, hence more efficient (I don't know why I always use the option with gtk- though).

But yeah, both exist. ;-)

Jehan

[...]

Jehan

Tobias
_______________________________________________ gimp-developer-list mailing list
List address: gimp-developer-list@gnome.org List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list List archives: https://mail.gnome.org/archives/gimp-developer-list

ZeMarmot open animation film
http://film.zemarmot.net
Patreon: https://patreon.com/zemarmot
Tipeee: https://www.tipeee.com/zemarmot
Tobias Ellinghaus
2017-11-28 22:45:26 UTC (over 6 years ago)

Cage transform and Warp transform

Am Dienstag, 28. November 2017, 23:30:57 CET schrieb Jehan Pagès:

Hi!

On Tue, Nov 28, 2017 at 11:25 PM, Tobias Ellinghaus wrote:

Am Dienstag, 28. November 2017, 17:55:16 CET schrieb Jehan Pagès:

[...]

The command is:
$ gimp-2.9 --gtk-g-fatal-warnings

Actually, it's --g-fatal-warnings, without the "gtk-".

Both exist and work. Run a `gimp-2.9 --help-all` to see them. :-) I believe they are synonyms though clearly using the version without "gtk-" in it is 4-letters faster, hence more efficient (I don't know why I always use the option with gtk- though).

But yeah, both exist. ;-)

Interesting. Do you know where the longer version is coming from? I grepped the sources of gimp, gtk, glib and nowhere was "gtk-g-fatal-warnings" found.

TIL GTK uses magic. :-)

Jehan

[...]

Jehan

Tobias
_______________________________________________ gimp-developer-list mailing list
List address: gimp-developer-list@gnome.org List membership:
https://mail.gnome.org/mailman/listinfo/gimp-developer-list List archives: https://mail.gnome.org/archives/gimp-developer-list

Jehan Pagès
2017-11-28 22:51:56 UTC (over 6 years ago)

Cage transform and Warp transform

Hi!

On Tue, Nov 28, 2017 at 11:45 PM, Tobias Ellinghaus wrote:

Am Dienstag, 28. November 2017, 23:30:57 CET schrieb Jehan Pagès:

Hi!

On Tue, Nov 28, 2017 at 11:25 PM, Tobias Ellinghaus wrote:

Am Dienstag, 28. November 2017, 17:55:16 CET schrieb Jehan Pagès:

[...]

The command is:
$ gimp-2.9 --gtk-g-fatal-warnings

Actually, it's --g-fatal-warnings, without the "gtk-".

Both exist and work. Run a `gimp-2.9 --help-all` to see them. :-) I believe they are synonyms though clearly using the version without "gtk-" in it is 4-letters faster, hence more efficient (I don't know why I always use the option with gtk- though).

But yeah, both exist. ;-)

Interesting. Do you know where the longer version is coming from? I grepped the sources of gimp, gtk, glib and nowhere was "gtk-g-fatal-warnings" found.

I believe --g-fatal-warnings is generated by glib whereas --gtk-g-fatal-warnings is generated by GTK+. Probably even just a wrapper of the former.
Though I may be wrong. I don't think I ever searched this specifically.

TIL GTK uses magic. :-)

Yeah if you can't grep it, it may just be some CLI option generation. I am not sure. :-)

Jehan

Jehan

[...]

Jehan

Tobias
_______________________________________________ gimp-developer-list mailing list
List address: gimp-developer-list@gnome.org List membership:
https://mail.gnome.org/mailman/listinfo/gimp-developer-list List archives: https://mail.gnome.org/archives/gimp-developer-list

_______________________________________________ gimp-developer-list mailing list
List address: gimp-developer-list@gnome.org List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list List archives: https://mail.gnome.org/archives/gimp-developer-list

ZeMarmot open animation film
http://film.zemarmot.net
Patreon: https://patreon.com/zemarmot
Tipeee: https://www.tipeee.com/zemarmot