[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #50466] makehgtform function missing

From: Gary E. Deschaines
Subject: [Octave-bug-tracker] [bug #50466] makehgtform function missing
Date: Mon, 17 Dec 2018 17:28:43 -0500 (EST)
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0

Follow-up Comment #16, bug #50466 (project octave):

Hi Rik,

I have recently been working toward revitalizing Dr. Peter Corke's Robotic
Toolbox (RTB) for MATLAB to function with GNU Octave 4.2+ and have encountered
this hgtransform issue. What I have deduced is that an hgtransform 'parent'
property/value pair cannot be passed as arguments in line(), plot() or plot3()
function calls, as done in most RTB for MATLAB scripts. It appears Octave's
libinterp/corefcn/graphics routines interpret the passed 'parent'
property/value pair as an hggroup and create a new line object with default
'xdata', 'ydata' and 'zdata' values (ref: line::properties::factory_defaults
and line::properties::properties() in libinterp/corefcn/graphics-props.cc, and
root_figure::init_factory_properties and default_data() in

When the __go_to_line() function in the following code block from

  for i = 1:nlines
    tmp = data(ismat);
    if (! size_equal (tmp)
        || (nvecpts != 0 && any (nvecpts != cellfun ("size", tmp, 1))))
      error ("line: data size_mismatch");
    data_args(mask) = cellfun (@(x) x(:,i), data(ismat),
                               "uniformoutput", false);

    handles(i) = __go_line__ (p, data_args{:}, other_args{:});


is executed by the associated libinterp/corefcn/graphics routines, the
hgtransform children call back function children_cb() is invoked with a child
line containing default line data, not that passed as data_args to the
__go_line__() function. This behavior can be demonstrated with the attached
simple planar hgtransform test script. In the first case the given unit line
along the +x axis is properly rotated along the +y axis. In the second case
proper rotation is observed, but for the default line ([0,0],[1,1]) and not
the given unit line along the +x axis.

Since I have not had to delve into the inner workings of Octave before, it may
be a short time before I can determine the exact failure mechanism. However, I
thought this information may be of service to you or others working on this
bug issue.


(file #45685)

Additional Item Attachment:

File name: simple_2d_hgt_test.m           Size:0 KB


Reply to this item at:


  Message sent via Savannah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]