Ignore:
Timestamp:
Jul 1, 2013, 9:12:01 PM (11 years ago)
Author:
sommeria
Message:

various bugs corrected

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/plot_object.m

    r650 r655  
    131131
    132132%% determine the coordinates xline, yline,xsup,xinf, yinf,ysup determining the new object plot
    133 test_line= isequal(ObjectData.Type,'points')||isequal(ObjectData.Type,'line')||isequal(ObjectData.Type,'line_x')||isequal(ObjectData.Type,'line_y')||...
     133test_line= isequal(ObjectData.Type,'points')||isequal(ObjectData.Type,'line')||...
    134134    isequal(ObjectData.Type,'polyline')||isequal(ObjectData.Type,'polygon')|| isequal(ObjectData.Type,'plane')|| isequal(ObjectData.Type,'volume');
    135135test_patch=isequal(ObjectData.ProjMode,'inside')||isequal(ObjectData.ProjMode,'outside')||isequal(ObjectData.Type,'volume')...
     
    395395    if test_patch
    396396        for iobj=1:length(PlotData.SubObject)
    397             objtype=get(PlotData.SubObject(iobj),'Type');
    398             if isequal(objtype,'image')
    399                 set(PlotData.SubObject(iobj),'CData',imflag,'AlphaData',(flag)*0.2)
    400                 set(PlotData.SubObject(iobj),'XData',[xlim(1)+dx/2 xlim(2)-dx/2])
    401                 set(PlotData.SubObject(iobj),'YData',[ylim(1)+dy/2 ylim(2)-dy/2])
     397            if ~ishandle(PlotData.SubObject(iobj))
     398                hold on
     399                hhh=image([xlim(1)+dx/2 xlim(2)-dx/2],[ylim(1)+dy/2 ylim(2)-dy/2],imflag,'Tag','proj_object','HitTest','off');
     400                set(hhh,'AlphaData',(flag)*0.2)% set partial transparency to the filling color
     401                PlotData.SubObject(iobj)=hhh;
     402            else
     403                objtype=get(PlotData.SubObject(iobj),'Type');
     404                if isequal(objtype,'image')
     405                    set(PlotData.SubObject(iobj),'CData',imflag,'AlphaData',(flag)*0.2)
     406                    set(PlotData.SubObject(iobj),'XData',[xlim(1)+dx/2 xlim(2)-dx/2])
     407                    set(PlotData.SubObject(iobj),'YData',[ylim(1)+dy/2 ylim(2)-dy/2])
     408                end
     409            end
     410        end     
     411    else% no patch image requested, erase existing ones
     412        for iobj=1:length(PlotData.SubObject)
     413            if ishandle(PlotData.SubObject(iobj)) && strcmp(get(PlotData.SubObject(iobj),'Type'),'image')
     414                delete(PlotData.SubObject(iobj))
    402415            end
    403416        end
Note: See TracChangeset for help on using the changeset viewer.