Missing function fill3 in Octave

My system is Octave 4.4.1 in Debian 10.
I downloaded and installed the package matgeom 1.2.2.
I am trying to use fillPolygon3d, (which is part of the matgeom
package), but then it
calls function fill3 (in line 108), which is supposed to be for
Matlab, not for Octave.
I fact, it doesn't work.
I tried to run the demo in the fillPolygon3d reference page, with this result:

error: 'fill3' undefined near line 108 column 5
error: called from
    fillPolygon3d at line 108 column 3
    demo_fill at line 6 column 3

What can I do? Is there any replacement?

Any help will be greatly appreciated

The function fill3 is currently not implemented in Octave.
You could try and implement that function yourself. Octave already has a fill which seems to be very similar to fill3 but only works for 2d polygons.
Maybe you could use a lot of the code that you’ll find in fill for an implementation of fill3.

If you are successful in implementing that function, the Octave community would be very thankful if you’d contribute it to Octave via the patch tracker:
GNU Octave - Patches [Savannah]

It’s really, really similar. One just needs to add the Z coordinate to the call to patch like so

[htmp, err] = __patch__ (hax, x(:,j), y(:,j), z(:,j), cdata, opts{:});

This change, plus adding some input validation, is all that is required.

Greetings, i tried to do what you guys indicated and added z-arguments, to the fill function of my older 4.4.1 release, most of the blocks of code don’t seem to be interfering with each other, i tried making some tests and the problem from my new “fill3” function is that it marks an error in __go_patch__ saying that some argument needs to be of a certain type, i already inspected patch and __patch__ and everything seems to be mostly in order, the problem is that i can’t find __go_patch__ to know where to look for the problem, i attach the modified file:

fill3.m (7.3 KB)

There was a few issues with the input checking.
I fixed those, adapted the example in the docstring, modified the demos, added the file to the build system and the manual.
I pushed the change to the default branch (which will eventually become Octave 7) here:
octave: 4d747b196935 (gnu.org)

Since this is just a .m file, you could probably use that file in an older version of Octave, too:
octave: 4d747b196935 scripts/plot/draw/fill3.m (gnu.org)

A few last final cleanups to fill.m and fill3.m in this changeset: octave: 9bbe11da0c38.