[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
libinterp/corefcn/graphics.cc).
When the __go_to_line() function in the following code block from
scripts/plot/draw/private/__line__.m
for i = 1:nlines
tmp = data(ismat);
if (! size_equal (tmp)
|| (nvecpts != 0 && any (nvecpts != cellfun ("size", tmp, 1))))
error ("line: data size_mismatch");
endif
data_args(mask) = cellfun (@(x) x(:,i), data(ismat),
"uniformoutput", false);
handles(i) = __go_line__ (p, data_args{:}, other_args{:});
endfor
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.
Respectfully,
Gary
(file #45685)
_______________________________________________________
Additional Item Attachment:
File name: simple_2d_hgt_test.m Size:0 KB
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?50466>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
- [Octave-bug-tracker] [bug #50466] makehgtform function missing, Peter Corke, 2018/12/08
- [Octave-bug-tracker] [bug #50466] makehgtform function missing, Rik, 2018/12/10
- [Octave-bug-tracker] [bug #50466] makehgtform function missing, Peter Corke, 2018/12/15
- [Octave-bug-tracker] [bug #50466] makehgtform function missing,
Gary E. Deschaines <=
- [Octave-bug-tracker] [bug #50466] makehgtform function missing, Gary E. Deschaines, 2018/12/18
- [Octave-bug-tracker] [bug #50466] makehgtform function missing, Rik, 2018/12/19
- [Octave-bug-tracker] [bug #50466] makehgtform function missing, Peter Corke, 2018/12/19
- [Octave-bug-tracker] [bug #50466] makehgtform function missing, Gary E. Deschaines, 2018/12/19
- [Octave-bug-tracker] [bug #50466] makehgtform function missing, Rik, 2018/12/19
- [Octave-bug-tracker] [bug #50466] makehgtform function missing, Rik, 2018/12/19
- [Octave-bug-tracker] [bug #50466] makehgtform function missing, Gary E. Deschaines, 2018/12/19
- [Octave-bug-tracker] [bug #50466] makehgtform function missing, Rik, 2018/12/20
- [Octave-bug-tracker] [bug #50466] makehgtform function missing, Gary E. Deschaines, 2018/12/20
- [Octave-bug-tracker] [bug #50466] makehgtform function missing, Rik, 2018/12/20