basic implementation for isosurface, isocolors, isonormals
David Bateman
dbateman at dbateman.org
Fri Apr 3 19:03:57 CDT 2009
Martin Helm wrote:
>> Sorry for the late followup.
>> I changed the iso* functions and the helper functions a little bit
>> (avoiding assignments of the form [] = [], which can lead to trouble
>> otherwise) and tried to adjust the style to be more compliant with what I
>> can see in the contribution section of the octave manual. I am pretty sure
>> that there are further changes to the style to be done.
>>
It doesn't look too bad as is..
>> The patches include the changes to plot/Makefile.in and add the new
>> functions isosurface, isocolors, isonormals, __interp_cube__ and
>> __marching_cube__. Thanks to Thomas Treichl who helps with the
>> documentation and examples for the functions.
>> I made the patch from scratch not against your patch. I do not know if this
>> is ok or not.
>>
The examples and help text seem to work fine and are parsed correctly by
makeinfo
>> Please tell me how to proceede in the correct way.
>> With the new __go_draw_axes__ (gnuplot backend) I first ran into trouble
>> because I use gnuplot 4.3 and this has the transparency feature which
>> screws up the commands sent to gnuplot.
>> With 4.2 it works with some side effects and without coloring
>> (FaceVertexCData). It seems to me that something like
>> unset hidden3d
>> set pm3d
>> set pm3d depthorder hidden3d <linestyle> explicit
>> is neccessary to avoid some strange visual behavior (the patch is opaque
>> but the axes are visible even if they should be hidden by the patch) the
>> hidden3d (not the pm3d hidden3d) setting seems to be responsible for that.
>> Hope I will find time over the weekend to dive deeper into it and
>> understand the details.
>>
I don't think the hiding of the axis is a really major issue though I
also see some other artifacts that seem to be due to some weird issue in
gnuplot with the depthorder, and I don't see the fix for it at the
moment. Also it appears that FaceVertexCdata is not really implemented
yet and so these values aren't respected at all. In fact the patch
properties have a number of derived properties that should be treated
specially, like the differences between the [xyz]data and vertices and
faces data.. The derivation of one of these properties from another is
currently handled in the patch function itself.. However this doesn't
make sense as then if the user uses the "set" function to change one of
these properties the others won't be changed appropriately..
The way to fix it is either to treat the issue in the set/get methods of
the patch type or to add callbacks in the patch functions.. Callbacks
are probably the easiest method as we can stay in the scripting
language.. I'll look at this as I'm interested in getting the iso*
functions into Octave..
D.
>
> I forgot the changesets for the empty spaces before the calling parentheses.
>
>
>
--
David Bateman dbateman at dbateman.org
35 rue Gambetta +33 1 46 04 02 18 (Home)
92100 Boulogne-Billancourt FRANCE +33 6 72 01 06 33 (Mob)
More information about the Octave-maintainers
mailing list